Watch
2
0
Fork
You've already forked raylib-cs
0

Fixed-up comments on first ~500 lines

This commit is contained in:
Ben Parsons 2021-10-02 21:41:05 +10:00
commit b8e87ac5ef

View file

@ -5,7 +5,9 @@ using System.Security;
namespace Raylib_cs namespace Raylib_cs
{ {
/// <summary>Color type, RGBA (32bit)</summary> /// <summary>
/// Color type, RGBA (32bit)
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Color public struct Color
{ {
@ -65,7 +67,9 @@ namespace Raylib_cs
} }
} }
/// <summary>Rectangle type</summary> /// <summary>
/// Rectangle type
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Rectangle public struct Rectangle
{ {
@ -83,83 +87,232 @@ namespace Raylib_cs
} }
} }
/// <summary>Image type, bpp always RGBA (32bit) /// <summary>
/// NOTE: Data stored in CPU memory (RAM)</summary> /// Image type, bpp always RGBA (32bit)
/// <br/>
/// NOTE: Data stored in CPU memory (RAM)
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Image public struct Image
{ {
public IntPtr data; // Image raw data (void *) /// <summary>
public int width; // Image base width /// Image raw data (void *)
public int height; // Image base height /// </summary>
public int mipmaps; // Mipmap levels, 1 by default public IntPtr data;
public PixelFormat format; // Data format (PixelFormat type)
/// <summary>
/// Image base width
/// </summary>
public int width;
/// <summary>
/// Image base height
/// </summary>
public int height;
/// <summary>
/// Mipmap levels, 1 by default
/// </summary>
public int mipmaps;
/// <summary>
/// Data format (PixelFormat type)
/// </summary>
public PixelFormat format;
} }
/// <summary>Texture2D type /// <summary>
/// NOTE: Data stored in GPU memory</summary> /// Texture2D type
/// <br />
/// NOTE: Data stored in GPU memory
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Texture2D public struct Texture2D
{ {
public uint id; // OpenGL texture id /// <summary>
public int width; // Texture base width /// OpenGL texture id
public int height; // Texture base height /// </summary>
public int mipmaps; // Mipmap levels, 1 by default public uint id;
public PixelFormat format; // Data format (PixelFormat type)
/// <summary>
/// Texture base width
/// </summary>
public int width;
/// <summary>
/// Texture base height
/// </summary>
public int height;
/// <summary>
/// Mipmap levels, 1 by default
/// </summary>
public int mipmaps;
/// <summary>
/// Data format (PixelFormat type)
/// </summary>
public PixelFormat format;
} }
/// <summary>RenderTexture2D type, for texture rendering</summary> /// <summary>
/// RenderTexture2D type, for texture rendering
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct RenderTexture2D public struct RenderTexture2D
{ {
public uint id; // OpenGL Framebuffer Object (FBO) id /// <summary>
public Texture2D texture; // Color buffer attachment texture /// OpenGL Framebuffer Object (FBO) id
public Texture2D depth; // Depth buffer attachment texture /// </summary>
public uint id;
/// <summary>
/// Color buffer attachment texture
/// </summary>
public Texture2D texture;
/// <summary>
/// Depth buffer attachment texture
/// </summary>
public Texture2D depth;
} }
/// <summary>N-Patch layout info</summary> /// <summary>
/// N-Patch layout info
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct NPatchInfo public struct NPatchInfo
{ {
public Rectangle sourceRec; // Region in the texture /// <summary>
public int left; // left border offset /// Region in the texture
public int top; // top border offset /// </summary>
public int right; // right border offset public Rectangle sourceRec;
public int bottom; // bottom border offset
public NPatchLayout layout; // layout of the n-patch: 3x3, 1x3 or 3x1 /// <summary>
/// left border offset
/// </summary>
public int left;
/// <summary>
/// top border offset
/// </summary>
public int top;
/// <summary>
/// right border offset
/// </summary>
public int right;
/// <summary>
/// bottom border offset
/// </summary>
public int bottom;
/// <summary>
/// layout of the n-patch: 3x3, 1x3 or 3x1
/// </summary>
public NPatchLayout layout;
} }
/// <summary>Font character info</summary> /// <summary>
/// Font character info
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct CharInfo public struct CharInfo
{ {
public int value; // Character value (Unicode) /// <summary>
public int offsetX; // Character offset X when drawing /// Character value (Unicode)
public int offsetY; // Character offset Y when drawing /// </summary>
public int advanceX; // Character advance position X public int value;
public Image image; // Character image data
/// <summary>
/// Character offset X when drawing
/// </summary>
public int offsetX;
/// <summary>
/// Character offset Y when drawing
/// </summary>
public int offsetY;
/// <summary>
/// Character advance position X
/// </summary>
public int advanceX;
/// <summary>
/// Character image data
/// </summary>
public Image image;
} }
/// <summary>Font type, includes texture and charSet array data</summary> /// <summary>
/// Font type, includes texture and charSet array data
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Font public struct Font
{ {
public int baseSize; // Base size (default chars height) /// <summary>
public int charsCount; // Number of characters /// Base size (default chars height)
public int charsPadding; // Padding around the chars /// </summary>
public Texture2D texture; // Characters texture atals public int baseSize;
public IntPtr recs; // Characters rectangles in texture (Rectangle *)
public IntPtr chars; // Characters info data (CharInfo *) /// <summary>
/// Number of characters
/// </summary>
public int charsCount;
/// <summary>
/// Padding around the chars
/// </summary>
public int charsPadding;
/// <summary>
/// Characters texture atals
/// </summary>
public Texture2D texture;
/// <summary>
/// Characters rectangles in texture (Rectangle *)
/// </summary>
public IntPtr recs;
/// <summary>
/// Characters info data (CharInfo *)
/// </summary>
public IntPtr chars;
} }
/// <summary>Camera type, defines a camera position/orientation in 3d space</summary> /// <summary>
/// Camera type, defines a camera position/orientation in 3d space
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Camera3D public struct Camera3D
{ {
public Vector3 position; // Camera position /// <summary>
public Vector3 target; // Camera target it looks-at /// Camera position
public Vector3 up; // Camera up vector (rotation over its axis) /// </summary>
public float fovy; // Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic public Vector3 position;
public CameraProjection projection; // Camera type, defines projection type: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC
/// <summary>
/// Camera target it looks-at
/// </summary>
public Vector3 target;
/// <summary>
/// Camera up vector (rotation over its axis)
/// </summary>
public Vector3 up;
/// <summary>
/// Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic
/// </summary>
public float fovy;
/// <summary>
/// Camera type, defines projection type: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC
/// </summary>
public CameraProjection projection;
public Camera3D(Vector3 position, Vector3 target, Vector3 up, float fovy, CameraProjection projection) public Camera3D(Vector3 position, Vector3 target, Vector3 up, float fovy, CameraProjection projection)
{ {
@ -175,10 +328,25 @@ namespace Raylib_cs
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Camera2D public struct Camera2D
{ {
public Vector2 offset; // Camera offset (displacement from target) /// <summary>
public Vector2 target; // Camera target (rotation and zoom origin) /// Camera offset (displacement from target)
public float rotation; // Camera rotation in degrees /// </summary>
public float zoom; // Camera zoom (scaling), should be 1.0f by default public Vector2 offset;
/// <summary>
/// Camera target (rotation and zoom origin)
/// </summary>
public Vector2 target;
/// <summary>
/// Camera rotation in degrees
/// </summary>
public float rotation;
/// <summary>
/// Camera zoom (scaling), should be 1.0f by default
/// </summary>
public float zoom;
public Camera2D(Vector2 offset, Vector2 target, float rotation, float zoom) public Camera2D(Vector2 offset, Vector2 target, float rotation, float zoom)
{ {
@ -189,70 +357,187 @@ namespace Raylib_cs
} }
} }
/// <summary>Vertex data definning a mesh /// <summary>
/// NOTE: Data stored in CPU memory (and GPU)</summary> /// Vertex data definning a mesh
/// NOTE: Data stored in CPU memory (and GPU)
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Mesh public struct Mesh
{ {
public int vertexCount; // Number of vertices stored in arrays /// <summary>
public int triangleCount; // Number of triangles stored (indexed or not) /// Number of vertices stored in arrays
/// </summary>
public int vertexCount;
// Default vertex data /// <summary>
public IntPtr vertices; // Vertex position (XYZ - 3 components per vertex) (shader-location = 0, float *) /// Number of triangles stored (indexed or not)
public IntPtr texcoords; // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1, float *) /// </summary>
public IntPtr texcoords2; // Vertex second texture coordinates (useful for lightmaps) (shader-location = 5, float *) public int triangleCount;
public IntPtr normals; // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2, float *)
public IntPtr tangents; // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4, float *)
public IntPtr colors; // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3, unsigned char *)
public IntPtr indices; // Vertex indices (in case vertex data comes indexed, unsigned short *)
// Animation vertex data #region Default vertex data
public IntPtr animVertices; // Animated vertex positions (after bones transformations, float *)
public IntPtr animNormals; // Animated normals (after bones transformations, float *)
public IntPtr boneIds; // Vertex bone ids, up to 4 bones influence by vertex (skinning, int *)
public IntPtr boneWeights; // Vertex bone weight, up to 4 bones influence by vertex (skinning, float *)
// OpenGL identifiers /// <summary>
public uint vaoId; // OpenGL Vertex Array Object id /// Vertex position (XYZ - 3 components per vertex) (shader-location = 0, float *)
public IntPtr vboId; // OpenGL Vertex Buffer Objects id (default vertex data, uint[]) /// </summary>
public IntPtr vertices;
/// <summary>
/// Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1, float *)
/// </summary>
public IntPtr texcoords;
/// <summary>
/// Vertex second texture coordinates (useful for lightmaps) (shader-location = 5, float *)
/// </summary>
public IntPtr texcoords2;
/// <summary>
/// Vertex normals (XYZ - 3 components per vertex) (shader-location = 2, float *)
/// </summary>
public IntPtr normals;
/// <summary>
/// Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4, float *)
/// </summary>
public IntPtr tangents;
/// <summary>
/// Vertex colors (RGBA - 4 components per vertex) (shader-location = 3, unsigned char *)
/// </summary>
public IntPtr colors;
/// <summary>
/// Vertex indices (in case vertex data comes indexed, unsigned short *)
/// </summary>
public IntPtr indices;
#endregion
#region Animation vertex data
/// <summary>
/// Animated vertex positions (after bones transformations, float *)
/// </summary>
public IntPtr animVertices;
/// <summary>
/// Animated normals (after bones transformations, float *)
/// </summary>
public IntPtr animNormals;
/// <summary>
/// Vertex bone ids, up to 4 bones influence by vertex (skinning, int *)
/// </summary>
public IntPtr boneIds;
/// <summary>
/// Vertex bone weight, up to 4 bones influence by vertex (skinning, float *)
/// </summary>
public IntPtr boneWeights;
#endregion
#region OpenGL identifiers
/// <summary>
/// OpenGL Vertex Array Object id
/// </summary>
public uint vaoId;
/// <summary>
/// OpenGL Vertex Buffer Objects id (default vertex data, uint[])
/// </summary>
public IntPtr vboId;
#endregion
} }
/// <summary>Shader type (generic)</summary> /// <summary>
/// Shader type (generic)
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Shader public struct Shader
{ {
public uint id; // Shader program id /// <summary>
public IntPtr locs; // Shader locations array (MAX_SHADER_LOCATIONS, int *) /// Shader program id
/// </summary>
public uint id;
/// <summary>
/// Shader locations array (MAX_SHADER_LOCATIONS, int *)
/// </summary>
public IntPtr locs;
} }
/// <summary>Material texture map</summary> /// <summary>
/// Material texture map
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct MaterialMap public struct MaterialMap
{ {
public Texture2D texture; // Material map texture /// <summary>
public Color color; // Material map color /// Material map texture
public float value; // Material map value /// </summary>
public Texture2D texture;
/// <summary>
/// Material map color
/// </summary>
public Color color;
/// <summary>
/// Material map value
/// </summary>
public float value;
} }
/// <summary>Material type (generic)</summary> /// <summary>
/// Material type (generic)
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Material public struct Material
{ {
public Shader shader; // Material shader /// <summary>
public IntPtr maps; // Material maps (MaterialMap *) /// Material shader
public IntPtr param; // Material generic parameters (if required, float *) /// </summary>
public Shader shader;
/// <summary>
/// Material maps (MaterialMap *)
/// </summary>
public IntPtr maps;
/// <summary>
/// Material generic parameters (if required, float *)
/// </summary>
public IntPtr param;
} }
/// <summary>Transformation properties</summary> /// <summary>
/// Transformation properties
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct Transform public struct Transform
{ {
public Vector3 translation; // Translation /// <summary>
public Vector4 rotation; // Rotation /// Translation
public Vector3 scale; // Scale /// </summary>
public Vector3 translation;
/// <summary>
/// Rotation
/// </summary>
public Vector4 rotation;
/// <summary>
/// Scale
/// </summary>
public Vector3 scale;
} }
/// <summary>Bone information</summary> /// <summary>
/// Bone information
/// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct BoneInfo public struct BoneInfo
{ {