raylib-beef/raylib-api/rlgl.lua
2023-03-19 12:57:34 -04:00

2529 lines
66 KiB
Lua

return {
defines = {
{
name = "RLGL_H",
type = "GUARD",
value = "",
description = ""
},
{
name = "RLGL_VERSION",
type = "STRING",
value = "4.5",
description = ""
},
{
name = "RLAPI",
type = "UNKNOWN",
value = "__declspec(dllexport)",
description = "We are building the library as a Win32 shared library (.dll)"
},
{
name = "TRACELOG(level, ...)",
type = "MACRO",
value = "(void)0",
description = ""
},
{
name = "TRACELOGD(...)",
type = "MACRO",
value = "(void)0",
description = ""
},
{
name = "RL_MALLOC(sz)",
type = "MACRO",
value = "malloc(sz)",
description = ""
},
{
name = "RL_CALLOC(n,sz)",
type = "MACRO",
value = "calloc(n,sz)",
description = ""
},
{
name = "RL_REALLOC(n,sz)",
type = "MACRO",
value = "realloc(n,sz)",
description = ""
},
{
name = "RL_FREE(p)",
type = "MACRO",
value = "free(p)",
description = ""
},
{
name = "GRAPHICS_API_OPENGL_33",
type = "GUARD",
value = "",
description = ""
},
{
name = "RLGL_RENDER_TEXTURES_HINT",
type = "GUARD",
value = "",
description = ""
},
{
name = "RL_DEFAULT_BATCH_BUFFER_ELEMENTS",
type = "INT",
value = 8192,
description = ""
},
{
name = "RL_DEFAULT_BATCH_BUFFERS",
type = "INT",
value = 1,
description = "Default number of batch buffers (multi-buffering)"
},
{
name = "RL_DEFAULT_BATCH_DRAWCALLS",
type = "INT",
value = 256,
description = "Default number of batch draw calls (by state changes: mode, texture)"
},
{
name = "RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS",
type = "INT",
value = 4,
description = "Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture())"
},
{
name = "RL_MAX_MATRIX_STACK_SIZE",
type = "INT",
value = 32,
description = "Maximum size of Matrix stack"
},
{
name = "RL_MAX_SHADER_LOCATIONS",
type = "INT",
value = 32,
description = "Maximum number of shader locations supported"
},
{
name = "RL_CULL_DISTANCE_NEAR",
type = "DOUBLE",
value = 0.01,
description = "Default near cull distance"
},
{
name = "RL_CULL_DISTANCE_FAR",
type = "DOUBLE",
value = 1000.0,
description = "Default far cull distance"
},
{
name = "RL_TEXTURE_WRAP_S",
type = "INT",
value = 0x2802,
description = "GL_TEXTURE_WRAP_S"
},
{
name = "RL_TEXTURE_WRAP_T",
type = "INT",
value = 0x2803,
description = "GL_TEXTURE_WRAP_T"
},
{
name = "RL_TEXTURE_MAG_FILTER",
type = "INT",
value = 0x2800,
description = "GL_TEXTURE_MAG_FILTER"
},
{
name = "RL_TEXTURE_MIN_FILTER",
type = "INT",
value = 0x2801,
description = "GL_TEXTURE_MIN_FILTER"
},
{
name = "RL_TEXTURE_FILTER_NEAREST",
type = "INT",
value = 0x2600,
description = "GL_NEAREST"
},
{
name = "RL_TEXTURE_FILTER_LINEAR",
type = "INT",
value = 0x2601,
description = "GL_LINEAR"
},
{
name = "RL_TEXTURE_FILTER_MIP_NEAREST",
type = "INT",
value = 0x2700,
description = "GL_NEAREST_MIPMAP_NEAREST"
},
{
name = "RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR",
type = "INT",
value = 0x2702,
description = "GL_NEAREST_MIPMAP_LINEAR"
},
{
name = "RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST",
type = "INT",
value = 0x2701,
description = "GL_LINEAR_MIPMAP_NEAREST"
},
{
name = "RL_TEXTURE_FILTER_MIP_LINEAR",
type = "INT",
value = 0x2703,
description = "GL_LINEAR_MIPMAP_LINEAR"
},
{
name = "RL_TEXTURE_FILTER_ANISOTROPIC",
type = "INT",
value = 0x3000,
description = "Anisotropic filter (custom identifier)"
},
{
name = "RL_TEXTURE_MIPMAP_BIAS_RATIO",
type = "INT",
value = 0x4000,
description = "Texture mipmap bias, percentage ratio (custom identifier)"
},
{
name = "RL_TEXTURE_WRAP_REPEAT",
type = "INT",
value = 0x2901,
description = "GL_REPEAT"
},
{
name = "RL_TEXTURE_WRAP_CLAMP",
type = "INT",
value = 0x812F,
description = "GL_CLAMP_TO_EDGE"
},
{
name = "RL_TEXTURE_WRAP_MIRROR_REPEAT",
type = "INT",
value = 0x8370,
description = "GL_MIRRORED_REPEAT"
},
{
name = "RL_TEXTURE_WRAP_MIRROR_CLAMP",
type = "INT",
value = 0x8742,
description = "GL_MIRROR_CLAMP_EXT"
},
{
name = "RL_MODELVIEW",
type = "INT",
value = 0x1700,
description = "GL_MODELVIEW"
},
{
name = "RL_PROJECTION",
type = "INT",
value = 0x1701,
description = "GL_PROJECTION"
},
{
name = "RL_TEXTURE",
type = "INT",
value = 0x1702,
description = "GL_TEXTURE"
},
{
name = "RL_LINES",
type = "INT",
value = 0x0001,
description = "GL_LINES"
},
{
name = "RL_TRIANGLES",
type = "INT",
value = 0x0004,
description = "GL_TRIANGLES"
},
{
name = "RL_QUADS",
type = "INT",
value = 0x0007,
description = "GL_QUADS"
},
{
name = "RL_UNSIGNED_BYTE",
type = "INT",
value = 0x1401,
description = "GL_UNSIGNED_BYTE"
},
{
name = "RL_FLOAT",
type = "INT",
value = 0x1406,
description = "GL_FLOAT"
},
{
name = "RL_STREAM_DRAW",
type = "INT",
value = 0x88E0,
description = "GL_STREAM_DRAW"
},
{
name = "RL_STREAM_READ",
type = "INT",
value = 0x88E1,
description = "GL_STREAM_READ"
},
{
name = "RL_STREAM_COPY",
type = "INT",
value = 0x88E2,
description = "GL_STREAM_COPY"
},
{
name = "RL_STATIC_DRAW",
type = "INT",
value = 0x88E4,
description = "GL_STATIC_DRAW"
},
{
name = "RL_STATIC_READ",
type = "INT",
value = 0x88E5,
description = "GL_STATIC_READ"
},
{
name = "RL_STATIC_COPY",
type = "INT",
value = 0x88E6,
description = "GL_STATIC_COPY"
},
{
name = "RL_DYNAMIC_DRAW",
type = "INT",
value = 0x88E8,
description = "GL_DYNAMIC_DRAW"
},
{
name = "RL_DYNAMIC_READ",
type = "INT",
value = 0x88E9,
description = "GL_DYNAMIC_READ"
},
{
name = "RL_DYNAMIC_COPY",
type = "INT",
value = 0x88EA,
description = "GL_DYNAMIC_COPY"
},
{
name = "RL_FRAGMENT_SHADER",
type = "INT",
value = 0x8B30,
description = "GL_FRAGMENT_SHADER"
},
{
name = "RL_VERTEX_SHADER",
type = "INT",
value = 0x8B31,
description = "GL_VERTEX_SHADER"
},
{
name = "RL_COMPUTE_SHADER",
type = "INT",
value = 0x91B9,
description = "GL_COMPUTE_SHADER"
},
{
name = "RL_ZERO",
type = "INT",
value = 0,
description = "GL_ZERO"
},
{
name = "RL_ONE",
type = "INT",
value = 1,
description = "GL_ONE"
},
{
name = "RL_SRC_COLOR",
type = "INT",
value = 0x0300,
description = "GL_SRC_COLOR"
},
{
name = "RL_ONE_MINUS_SRC_COLOR",
type = "INT",
value = 0x0301,
description = "GL_ONE_MINUS_SRC_COLOR"
},
{
name = "RL_SRC_ALPHA",
type = "INT",
value = 0x0302,
description = "GL_SRC_ALPHA"
},
{
name = "RL_ONE_MINUS_SRC_ALPHA",
type = "INT",
value = 0x0303,
description = "GL_ONE_MINUS_SRC_ALPHA"
},
{
name = "RL_DST_ALPHA",
type = "INT",
value = 0x0304,
description = "GL_DST_ALPHA"
},
{
name = "RL_ONE_MINUS_DST_ALPHA",
type = "INT",
value = 0x0305,
description = "GL_ONE_MINUS_DST_ALPHA"
},
{
name = "RL_DST_COLOR",
type = "INT",
value = 0x0306,
description = "GL_DST_COLOR"
},
{
name = "RL_ONE_MINUS_DST_COLOR",
type = "INT",
value = 0x0307,
description = "GL_ONE_MINUS_DST_COLOR"
},
{
name = "RL_SRC_ALPHA_SATURATE",
type = "INT",
value = 0x0308,
description = "GL_SRC_ALPHA_SATURATE"
},
{
name = "RL_CONSTANT_COLOR",
type = "INT",
value = 0x8001,
description = "GL_CONSTANT_COLOR"
},
{
name = "RL_ONE_MINUS_CONSTANT_COLOR",
type = "INT",
value = 0x8002,
description = "GL_ONE_MINUS_CONSTANT_COLOR"
},
{
name = "RL_CONSTANT_ALPHA",
type = "INT",
value = 0x8003,
description = "GL_CONSTANT_ALPHA"
},
{
name = "RL_ONE_MINUS_CONSTANT_ALPHA",
type = "INT",
value = 0x8004,
description = "GL_ONE_MINUS_CONSTANT_ALPHA"
},
{
name = "RL_FUNC_ADD",
type = "INT",
value = 0x8006,
description = "GL_FUNC_ADD"
},
{
name = "RL_MIN",
type = "INT",
value = 0x8007,
description = "GL_MIN"
},
{
name = "RL_MAX",
type = "INT",
value = 0x8008,
description = "GL_MAX"
},
{
name = "RL_FUNC_SUBTRACT",
type = "INT",
value = 0x800A,
description = "GL_FUNC_SUBTRACT"
},
{
name = "RL_FUNC_REVERSE_SUBTRACT",
type = "INT",
value = 0x800B,
description = "GL_FUNC_REVERSE_SUBTRACT"
},
{
name = "RL_BLEND_EQUATION",
type = "INT",
value = 0x8009,
description = "GL_BLEND_EQUATION"
},
{
name = "RL_BLEND_EQUATION_RGB",
type = "INT",
value = 0x8009,
description = "GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)"
},
{
name = "RL_BLEND_EQUATION_ALPHA",
type = "INT",
value = 0x883D,
description = "GL_BLEND_EQUATION_ALPHA"
},
{
name = "RL_BLEND_DST_RGB",
type = "INT",
value = 0x80C8,
description = "GL_BLEND_DST_RGB"
},
{
name = "RL_BLEND_SRC_RGB",
type = "INT",
value = 0x80C9,
description = "GL_BLEND_SRC_RGB"
},
{
name = "RL_BLEND_DST_ALPHA",
type = "INT",
value = 0x80CA,
description = "GL_BLEND_DST_ALPHA"
},
{
name = "RL_BLEND_SRC_ALPHA",
type = "INT",
value = 0x80CB,
description = "GL_BLEND_SRC_ALPHA"
},
{
name = "RL_BLEND_COLOR",
type = "INT",
value = 0x8005,
description = "GL_BLEND_COLOR"
},
{
name = "RL_MATRIX_TYPE",
type = "GUARD",
value = "",
description = ""
},
{
name = "RL_SHADER_LOC_MAP_DIFFUSE",
type = "UNKNOWN",
value = "RL_SHADER_LOC_MAP_ALBEDO",
description = ""
},
{
name = "RL_SHADER_LOC_MAP_SPECULAR",
type = "UNKNOWN",
value = "RL_SHADER_LOC_MAP_METALNESS",
description = ""
}
},
structs = {
{
name = "Matrix",
description = "Matrix, 4x4 components, column major, OpenGL style, right handed",
fields = {
{
type = "float",
name = "m0",
description = "Matrix first row (4 components)"
},
{
type = "float",
name = "m4",
description = "Matrix first row (4 components)"
},
{
type = "float",
name = "m8",
description = "Matrix first row (4 components)"
},
{
type = "float",
name = "m12",
description = "Matrix first row (4 components)"
},
{
type = "float",
name = "m1",
description = "Matrix second row (4 components)"
},
{
type = "float",
name = "m5",
description = "Matrix second row (4 components)"
},
{
type = "float",
name = "m9",
description = "Matrix second row (4 components)"
},
{
type = "float",
name = "m13",
description = "Matrix second row (4 components)"
},
{
type = "float",
name = "m2",
description = "Matrix third row (4 components)"
},
{
type = "float",
name = "m6",
description = "Matrix third row (4 components)"
},
{
type = "float",
name = "m10",
description = "Matrix third row (4 components)"
},
{
type = "float",
name = "m14",
description = "Matrix third row (4 components)"
},
{
type = "float",
name = "m3",
description = "Matrix fourth row (4 components)"
},
{
type = "float",
name = "m7",
description = "Matrix fourth row (4 components)"
},
{
type = "float",
name = "m11",
description = "Matrix fourth row (4 components)"
},
{
type = "float",
name = "m15",
description = "Matrix fourth row (4 components)"
}
}
},
{
name = "rlVertexBuffer",
description = "Dynamic vertex buffers (position + texcoords + colors + indices arrays)",
fields = {
{
type = "int",
name = "elementCount",
description = "Number of elements in the buffer (QUADS)"
},
{
type = "float *",
name = "vertices",
description = "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)"
},
{
type = "float *",
name = "texcoords",
description = "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)"
},
{
type = "unsigned char *",
name = "colors",
description = "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)"
},
{
type = "#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENunsigned int *",
name = "indices",
description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)"
},
{
type = "unsigned int *",
name = "indices",
description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)"
},
{
type = "#endif",
name = "indices",
description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)"
},
{
type = "#if defined(GRAPHICS_API_OPENGL_ES2)",
name = "indices",
description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)"
},
{
type = "unsigned short *",
name = "indices",
description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)"
},
{
type = "#endif",
name = "vaoId",
description = "OpenGL Vertex Array Object id"
},
{
type = "unsigned int",
name = "vaoId",
description = "OpenGL Vertex Array Object id"
},
{
type = "unsigned int[4]",
name = "vboId",
description = "OpenGL Vertex Buffer Objects id (4 types of vertex data)"
}
}
},
{
name = "rlDrawCall",
description = "of those state-change happens (this is done in core module)",
fields = {
{
type = "int",
name = "mode",
description = "Drawing mode: LINES, TRIANGLES, QUADS"
},
{
type = "int",
name = "vertexCount",
description = "Number of vertex of the draw"
},
{
type = "int",
name = "vertexAlignment",
description = "Number of vertex required for index alignment (LINES, TRIANGLES)"
},
{
type = "unsigned int",
name = "textureId",
description = "Texture id to be used on the draw -> Use to create new draw call if changes"
}
}
},
{
name = "rlRenderBatch",
description = "rlRenderBatch type",
fields = {
{
type = "int",
name = "bufferCount",
description = "Number of vertex buffers (multi-buffering support)"
},
{
type = "int",
name = "currentBuffer",
description = "Current buffer tracking in case of multi-buffering"
},
{
type = "rlVertexBuffer *",
name = "vertexBuffer",
description = "Dynamic buffer(s) for vertex data"
},
{
type = "rlDrawCall *",
name = "draws",
description = "Draw calls array, depends on textureId"
},
{
type = "int",
name = "drawCounter",
description = "Draw calls counter"
},
{
type = "float",
name = "currentDepth",
description = "Current depth value for next draw"
}
}
}
},
aliases = {
},
enums = {
{
name = "rlGlVersion",
description = "OpenGL version",
values = {
{
name = "RL_OPENGL_11",
value = 1,
description = "OpenGL 1.1"
},
{
name = "RL_OPENGL_21",
value = 2,
description = "OpenGL 2.1 (GLSL 120)"
},
{
name = "RL_OPENGL_33",
value = 3,
description = "OpenGL 3.3 (GLSL 330)"
},
{
name = "RL_OPENGL_43",
value = 4,
description = "OpenGL 4.3 (using GLSL 330)"
},
{
name = "RL_OPENGL_ES_20",
value = 5,
description = "OpenGL ES 2.0 (GLSL 100)"
}
}
},
{
name = "rlTraceLogLevel",
description = "Trace log level",
values = {
{
name = "RL_LOG_ALL",
value = 0,
description = "Display all logs"
},
{
name = "RL_LOG_TRACE",
value = 1,
description = "Trace logging, intended for internal use only"
},
{
name = "RL_LOG_DEBUG",
value = 2,
description = "Debug logging, used for internal debugging, it should be disabled on release builds"
},
{
name = "RL_LOG_INFO",
value = 3,
description = "Info logging, used for program execution info"
},
{
name = "RL_LOG_WARNING",
value = 4,
description = "Warning logging, used on recoverable failures"
},
{
name = "RL_LOG_ERROR",
value = 5,
description = "Error logging, used on unrecoverable failures"
},
{
name = "RL_LOG_FATAL",
value = 6,
description = "Fatal logging, used to abort program: exit(EXIT_FAILURE)"
},
{
name = "RL_LOG_NONE",
value = 7,
description = "Disable logging"
}
}
},
{
name = "rlPixelFormat",
description = "Texture pixel formats",
values = {
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE",
value = 1,
description = "8 bit per pixel (no alpha)"
},
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA",
value = 2,
description = "8*2 bpp (2 channels)"
},
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5",
value = 3,
description = "16 bpp"
},
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8",
value = 4,
description = "24 bpp"
},
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1",
value = 5,
description = "16 bpp (1 bit alpha)"
},
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4",
value = 6,
description = "16 bpp (4 bit alpha)"
},
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8",
value = 7,
description = "32 bpp"
},
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_R32",
value = 8,
description = "32 bpp (1 channel - float)"
},
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32",
value = 9,
description = "32*3 bpp (3 channels - float)"
},
{
name = "RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32",
value = 10,
description = "32*4 bpp (4 channels - float)"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_DXT1_RGB",
value = 11,
description = "4 bpp (no alpha)"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA",
value = 12,
description = "4 bpp (1 bit alpha)"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA",
value = 13,
description = "8 bpp"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA",
value = 14,
description = "8 bpp"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_ETC1_RGB",
value = 15,
description = "4 bpp"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_ETC2_RGB",
value = 16,
description = "4 bpp"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA",
value = 17,
description = "8 bpp"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_PVRT_RGB",
value = 18,
description = "4 bpp"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA",
value = 19,
description = "4 bpp"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA",
value = 20,
description = "8 bpp"
},
{
name = "RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA",
value = 21,
description = "2 bpp"
}
}
},
{
name = "rlTextureFilter",
description = "Texture parameters: filter mode",
values = {
{
name = "RL_TEXTURE_FILTER_POINT",
value = 0,
description = "No filter, just pixel approximation"
},
{
name = "RL_TEXTURE_FILTER_BILINEAR",
value = 1,
description = "Linear filtering"
},
{
name = "RL_TEXTURE_FILTER_TRILINEAR",
value = 2,
description = "Trilinear filtering (linear with mipmaps)"
},
{
name = "RL_TEXTURE_FILTER_ANISOTROPIC_4X",
value = 3,
description = "Anisotropic filtering 4x"
},
{
name = "RL_TEXTURE_FILTER_ANISOTROPIC_8X",
value = 4,
description = "Anisotropic filtering 8x"
},
{
name = "RL_TEXTURE_FILTER_ANISOTROPIC_16X",
value = 5,
description = "Anisotropic filtering 16x"
}
}
},
{
name = "rlBlendMode",
description = "Color blending modes (pre-defined)",
values = {
{
name = "RL_BLEND_ALPHA",
value = 0,
description = "Blend textures considering alpha (default)"
},
{
name = "RL_BLEND_ADDITIVE",
value = 1,
description = "Blend textures adding colors"
},
{
name = "RL_BLEND_MULTIPLIED",
value = 2,
description = "Blend textures multiplying colors"
},
{
name = "RL_BLEND_ADD_COLORS",
value = 3,
description = "Blend textures adding colors (alternative)"
},
{
name = "RL_BLEND_SUBTRACT_COLORS",
value = 4,
description = "Blend textures subtracting colors (alternative)"
},
{
name = "RL_BLEND_ALPHA_PREMULTIPLY",
value = 5,
description = "Blend premultiplied textures considering alpha"
},
{
name = "RL_BLEND_CUSTOM",
value = 6,
description = "Blend textures using custom src/dst factors (use rlSetBlendFactors())"
},
{
name = "RL_BLEND_CUSTOM_SEPARATE",
value = 7,
description = "Blend textures using custom src/dst factors (use rlSetBlendFactorsSeparate())"
}
}
},
{
name = "rlShaderLocationIndex",
description = "Shader location point type",
values = {
{
name = "RL_SHADER_LOC_VERTEX_POSITION",
value = 0,
description = "Shader location: vertex attribute: position"
},
{
name = "RL_SHADER_LOC_VERTEX_TEXCOORD01",
value = 1,
description = "Shader location: vertex attribute: texcoord01"
},
{
name = "RL_SHADER_LOC_VERTEX_TEXCOORD02",
value = 2,
description = "Shader location: vertex attribute: texcoord02"
},
{
name = "RL_SHADER_LOC_VERTEX_NORMAL",
value = 3,
description = "Shader location: vertex attribute: normal"
},
{
name = "RL_SHADER_LOC_VERTEX_TANGENT",
value = 4,
description = "Shader location: vertex attribute: tangent"
},
{
name = "RL_SHADER_LOC_VERTEX_COLOR",
value = 5,
description = "Shader location: vertex attribute: color"
},
{
name = "RL_SHADER_LOC_MATRIX_MVP",
value = 6,
description = "Shader location: matrix uniform: model-view-projection"
},
{
name = "RL_SHADER_LOC_MATRIX_VIEW",
value = 7,
description = "Shader location: matrix uniform: view (camera transform)"
},
{
name = "RL_SHADER_LOC_MATRIX_PROJECTION",
value = 8,
description = "Shader location: matrix uniform: projection"
},
{
name = "RL_SHADER_LOC_MATRIX_MODEL",
value = 9,
description = "Shader location: matrix uniform: model (transform)"
},
{
name = "RL_SHADER_LOC_MATRIX_NORMAL",
value = 10,
description = "Shader location: matrix uniform: normal"
},
{
name = "RL_SHADER_LOC_VECTOR_VIEW",
value = 11,
description = "Shader location: vector uniform: view"
},
{
name = "RL_SHADER_LOC_COLOR_DIFFUSE",
value = 12,
description = "Shader location: vector uniform: diffuse color"
},
{
name = "RL_SHADER_LOC_COLOR_SPECULAR",
value = 13,
description = "Shader location: vector uniform: specular color"
},
{
name = "RL_SHADER_LOC_COLOR_AMBIENT",
value = 14,
description = "Shader location: vector uniform: ambient color"
},
{
name = "RL_SHADER_LOC_MAP_ALBEDO",
value = 15,
description = "Shader location: sampler2d texture: albedo (same as: RL_SHADER_LOC_MAP_DIFFUSE)"
},
{
name = "RL_SHADER_LOC_MAP_METALNESS",
value = 16,
description = "Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR)"
},
{
name = "RL_SHADER_LOC_MAP_NORMAL",
value = 17,
description = "Shader location: sampler2d texture: normal"
},
{
name = "RL_SHADER_LOC_MAP_ROUGHNESS",
value = 18,
description = "Shader location: sampler2d texture: roughness"
},
{
name = "RL_SHADER_LOC_MAP_OCCLUSION",
value = 19,
description = "Shader location: sampler2d texture: occlusion"
},
{
name = "RL_SHADER_LOC_MAP_EMISSION",
value = 20,
description = "Shader location: sampler2d texture: emission"
},
{
name = "RL_SHADER_LOC_MAP_HEIGHT",
value = 21,
description = "Shader location: sampler2d texture: height"
},
{
name = "RL_SHADER_LOC_MAP_CUBEMAP",
value = 22,
description = "Shader location: samplerCube texture: cubemap"
},
{
name = "RL_SHADER_LOC_MAP_IRRADIANCE",
value = 23,
description = "Shader location: samplerCube texture: irradiance"
},
{
name = "RL_SHADER_LOC_MAP_PREFILTER",
value = 24,
description = "Shader location: samplerCube texture: prefilter"
},
{
name = "RL_SHADER_LOC_MAP_BRDF",
value = 25,
description = "Shader location: sampler2d texture: brdf"
}
}
},
{
name = "rlShaderUniformDataType",
description = "Shader uniform data type",
values = {
{
name = "RL_SHADER_UNIFORM_FLOAT",
value = 0,
description = "Shader uniform type: float"
},
{
name = "RL_SHADER_UNIFORM_VEC2",
value = 1,
description = "Shader uniform type: vec2 (2 float)"
},
{
name = "RL_SHADER_UNIFORM_VEC3",
value = 2,
description = "Shader uniform type: vec3 (3 float)"
},
{
name = "RL_SHADER_UNIFORM_VEC4",
value = 3,
description = "Shader uniform type: vec4 (4 float)"
},
{
name = "RL_SHADER_UNIFORM_INT",
value = 4,
description = "Shader uniform type: int"
},
{
name = "RL_SHADER_UNIFORM_IVEC2",
value = 5,
description = "Shader uniform type: ivec2 (2 int)"
},
{
name = "RL_SHADER_UNIFORM_IVEC3",
value = 6,
description = "Shader uniform type: ivec3 (3 int)"
},
{
name = "RL_SHADER_UNIFORM_IVEC4",
value = 7,
description = "Shader uniform type: ivec4 (4 int)"
},
{
name = "RL_SHADER_UNIFORM_SAMPLER2D",
value = 8,
description = "Shader uniform type: sampler2d"
}
}
},
{
name = "rlShaderAttributeDataType",
description = "Shader attribute data types",
values = {
{
name = "RL_SHADER_ATTRIB_FLOAT",
value = 0,
description = "Shader attribute type: float"
},
{
name = "RL_SHADER_ATTRIB_VEC2",
value = 1,
description = "Shader attribute type: vec2 (2 float)"
},
{
name = "RL_SHADER_ATTRIB_VEC3",
value = 2,
description = "Shader attribute type: vec3 (3 float)"
},
{
name = "RL_SHADER_ATTRIB_VEC4",
value = 3,
description = "Shader attribute type: vec4 (4 float)"
}
}
},
{
name = "rlFramebufferAttachType",
description = "Framebuffer attachment type",
values = {
{
name = "RL_ATTACHMENT_COLOR_CHANNEL0",
value = 0,
description = "Framebuffer attachment type: color 0"
},
{
name = "RL_ATTACHMENT_COLOR_CHANNEL1",
value = 1,
description = "Framebuffer attachment type: color 1"
},
{
name = "RL_ATTACHMENT_COLOR_CHANNEL2",
value = 2,
description = "Framebuffer attachment type: color 2"
},
{
name = "RL_ATTACHMENT_COLOR_CHANNEL3",
value = 3,
description = "Framebuffer attachment type: color 3"
},
{
name = "RL_ATTACHMENT_COLOR_CHANNEL4",
value = 4,
description = "Framebuffer attachment type: color 4"
},
{
name = "RL_ATTACHMENT_COLOR_CHANNEL5",
value = 5,
description = "Framebuffer attachment type: color 5"
},
{
name = "RL_ATTACHMENT_COLOR_CHANNEL6",
value = 6,
description = "Framebuffer attachment type: color 6"
},
{
name = "RL_ATTACHMENT_COLOR_CHANNEL7",
value = 7,
description = "Framebuffer attachment type: color 7"
},
{
name = "RL_ATTACHMENT_DEPTH",
value = 100,
description = "Framebuffer attachment type: depth"
},
{
name = "RL_ATTACHMENT_STENCIL",
value = 200,
description = "Framebuffer attachment type: stencil"
}
}
},
{
name = "rlFramebufferAttachTextureType",
description = "Framebuffer texture attachment type",
values = {
{
name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_X",
value = 0,
description = "Framebuffer texture attachment type: cubemap, +X side"
},
{
name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_X",
value = 1,
description = "Framebuffer texture attachment type: cubemap, -X side"
},
{
name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_Y",
value = 2,
description = "Framebuffer texture attachment type: cubemap, +Y side"
},
{
name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y",
value = 3,
description = "Framebuffer texture attachment type: cubemap, -Y side"
},
{
name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_Z",
value = 4,
description = "Framebuffer texture attachment type: cubemap, +Z side"
},
{
name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z",
value = 5,
description = "Framebuffer texture attachment type: cubemap, -Z side"
},
{
name = "RL_ATTACHMENT_TEXTURE2D",
value = 100,
description = "Framebuffer texture attachment type: texture2d"
},
{
name = "RL_ATTACHMENT_RENDERBUFFER",
value = 200,
description = "Framebuffer texture attachment type: renderbuffer"
}
}
},
{
name = "rlCullMode",
description = "Face culling mode",
values = {
{
name = "RL_CULL_FACE_FRONT",
value = 0,
description = ""
},
{
name = "RL_CULL_FACE_BACK",
value = 1,
description = ""
}
}
}
},
callbacks = {
},
functions = {
{
name = "rlMatrixMode",
description = "Choose the current matrix to be transformed",
returnType = "void",
params = {
{type = "int", name = "mode"}
}
},
{
name = "rlPushMatrix",
description = "Push the current matrix to stack",
returnType = "void"
},
{
name = "rlPopMatrix",
description = "Pop latest inserted matrix from stack",
returnType = "void"
},
{
name = "rlLoadIdentity",
description = "Reset current matrix to identity matrix",
returnType = "void"
},
{
name = "rlTranslatef",
description = "Multiply the current matrix by a translation matrix",
returnType = "void",
params = {
{type = "float", name = "x"},
{type = "float", name = "y"},
{type = "float", name = "z"}
}
},
{
name = "rlRotatef",
description = "Multiply the current matrix by a rotation matrix",
returnType = "void",
params = {
{type = "float", name = "angle"},
{type = "float", name = "x"},
{type = "float", name = "y"},
{type = "float", name = "z"}
}
},
{
name = "rlScalef",
description = "Multiply the current matrix by a scaling matrix",
returnType = "void",
params = {
{type = "float", name = "x"},
{type = "float", name = "y"},
{type = "float", name = "z"}
}
},
{
name = "rlMultMatrixf",
description = "Multiply the current matrix by another matrix",
returnType = "void",
params = {
{type = "const float *", name = "matf"}
}
},
{
name = "rlFrustum",
description = "",
returnType = "void",
params = {
{type = "double", name = "left"},
{type = "double", name = "right"},
{type = "double", name = "bottom"},
{type = "double", name = "top"},
{type = "double", name = "znear"},
{type = "double", name = "zfar"}
}
},
{
name = "rlOrtho",
description = "",
returnType = "void",
params = {
{type = "double", name = "left"},
{type = "double", name = "right"},
{type = "double", name = "bottom"},
{type = "double", name = "top"},
{type = "double", name = "znear"},
{type = "double", name = "zfar"}
}
},
{
name = "rlViewport",
description = "Set the viewport area",
returnType = "void",
params = {
{type = "int", name = "x"},
{type = "int", name = "y"},
{type = "int", name = "width"},
{type = "int", name = "height"}
}
},
{
name = "rlBegin",
description = "Initialize drawing mode (how to organize vertex)",
returnType = "void",
params = {
{type = "int", name = "mode"}
}
},
{
name = "rlEnd",
description = "Finish vertex providing",
returnType = "void"
},
{
name = "rlVertex2i",
description = "Define one vertex (position) - 2 int",
returnType = "void",
params = {
{type = "int", name = "x"},
{type = "int", name = "y"}
}
},
{
name = "rlVertex2f",
description = "Define one vertex (position) - 2 float",
returnType = "void",
params = {
{type = "float", name = "x"},
{type = "float", name = "y"}
}
},
{
name = "rlVertex3f",
description = "Define one vertex (position) - 3 float",
returnType = "void",
params = {
{type = "float", name = "x"},
{type = "float", name = "y"},
{type = "float", name = "z"}
}
},
{
name = "rlTexCoord2f",
description = "Define one vertex (texture coordinate) - 2 float",
returnType = "void",
params = {
{type = "float", name = "x"},
{type = "float", name = "y"}
}
},
{
name = "rlNormal3f",
description = "Define one vertex (normal) - 3 float",
returnType = "void",
params = {
{type = "float", name = "x"},
{type = "float", name = "y"},
{type = "float", name = "z"}
}
},
{
name = "rlColor4ub",
description = "Define one vertex (color) - 4 byte",
returnType = "void",
params = {
{type = "unsigned char", name = "r"},
{type = "unsigned char", name = "g"},
{type = "unsigned char", name = "b"},
{type = "unsigned char", name = "a"}
}
},
{
name = "rlColor3f",
description = "Define one vertex (color) - 3 float",
returnType = "void",
params = {
{type = "float", name = "x"},
{type = "float", name = "y"},
{type = "float", name = "z"}
}
},
{
name = "rlColor4f",
description = "Define one vertex (color) - 4 float",
returnType = "void",
params = {
{type = "float", name = "x"},
{type = "float", name = "y"},
{type = "float", name = "z"},
{type = "float", name = "w"}
}
},
{
name = "rlEnableVertexArray",
description = "Enable vertex array (VAO, if supported)",
returnType = "bool",
params = {
{type = "unsigned int", name = "vaoId"}
}
},
{
name = "rlDisableVertexArray",
description = "Disable vertex array (VAO, if supported)",
returnType = "void"
},
{
name = "rlEnableVertexBuffer",
description = "Enable vertex buffer (VBO)",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlDisableVertexBuffer",
description = "Disable vertex buffer (VBO)",
returnType = "void"
},
{
name = "rlEnableVertexBufferElement",
description = "Enable vertex buffer element (VBO element)",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlDisableVertexBufferElement",
description = "Disable vertex buffer element (VBO element)",
returnType = "void"
},
{
name = "rlEnableVertexAttribute",
description = "Enable vertex attribute index",
returnType = "void",
params = {
{type = "unsigned int", name = "index"}
}
},
{
name = "rlDisableVertexAttribute",
description = "Disable vertex attribute index",
returnType = "void",
params = {
{type = "unsigned int", name = "index"}
}
},
{
name = "rlEnableStatePointer",
description = "Enable attribute state pointer",
returnType = "void",
params = {
{type = "int", name = "vertexAttribType"},
{type = "void *", name = "buffer"}
}
},
{
name = "rlDisableStatePointer",
description = "Disable attribute state pointer",
returnType = "void",
params = {
{type = "int", name = "vertexAttribType"}
}
},
{
name = "rlActiveTextureSlot",
description = "Select and active a texture slot",
returnType = "void",
params = {
{type = "int", name = "slot"}
}
},
{
name = "rlEnableTexture",
description = "Enable texture",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlDisableTexture",
description = "Disable texture",
returnType = "void"
},
{
name = "rlEnableTextureCubemap",
description = "Enable texture cubemap",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlDisableTextureCubemap",
description = "Disable texture cubemap",
returnType = "void"
},
{
name = "rlTextureParameters",
description = "Set texture parameters (filter, wrap)",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "int", name = "param"},
{type = "int", name = "value"}
}
},
{
name = "rlCubemapParameters",
description = "Set cubemap parameters (filter, wrap)",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "int", name = "param"},
{type = "int", name = "value"}
}
},
{
name = "rlEnableShader",
description = "Enable shader program",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlDisableShader",
description = "Disable shader program",
returnType = "void"
},
{
name = "rlEnableFramebuffer",
description = "Enable render texture (fbo)",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlDisableFramebuffer",
description = "Disable render texture (fbo), return to default framebuffer",
returnType = "void"
},
{
name = "rlActiveDrawBuffers",
description = "Activate multiple draw color buffers",
returnType = "void",
params = {
{type = "int", name = "count"}
}
},
{
name = "rlEnableColorBlend",
description = "Enable color blending",
returnType = "void"
},
{
name = "rlDisableColorBlend",
description = "Disable color blending",
returnType = "void"
},
{
name = "rlEnableDepthTest",
description = "Enable depth test",
returnType = "void"
},
{
name = "rlDisableDepthTest",
description = "Disable depth test",
returnType = "void"
},
{
name = "rlEnableDepthMask",
description = "Enable depth write",
returnType = "void"
},
{
name = "rlDisableDepthMask",
description = "Disable depth write",
returnType = "void"
},
{
name = "rlEnableBackfaceCulling",
description = "Enable backface culling",
returnType = "void"
},
{
name = "rlDisableBackfaceCulling",
description = "Disable backface culling",
returnType = "void"
},
{
name = "rlSetCullFace",
description = "Set face culling mode",
returnType = "void",
params = {
{type = "int", name = "mode"}
}
},
{
name = "rlEnableScissorTest",
description = "Enable scissor test",
returnType = "void"
},
{
name = "rlDisableScissorTest",
description = "Disable scissor test",
returnType = "void"
},
{
name = "rlScissor",
description = "Scissor test",
returnType = "void",
params = {
{type = "int", name = "x"},
{type = "int", name = "y"},
{type = "int", name = "width"},
{type = "int", name = "height"}
}
},
{
name = "rlEnableWireMode",
description = "Enable wire mode",
returnType = "void"
},
{
name = "rlDisableWireMode",
description = "Disable wire mode",
returnType = "void"
},
{
name = "rlSetLineWidth",
description = "Set the line drawing width",
returnType = "void",
params = {
{type = "float", name = "width"}
}
},
{
name = "rlGetLineWidth",
description = "Get the line drawing width",
returnType = "float"
},
{
name = "rlEnableSmoothLines",
description = "Enable line aliasing",
returnType = "void"
},
{
name = "rlDisableSmoothLines",
description = "Disable line aliasing",
returnType = "void"
},
{
name = "rlEnableStereoRender",
description = "Enable stereo rendering",
returnType = "void"
},
{
name = "rlDisableStereoRender",
description = "Disable stereo rendering",
returnType = "void"
},
{
name = "rlIsStereoRenderEnabled",
description = "Check if stereo render is enabled",
returnType = "bool"
},
{
name = "rlClearColor",
description = "Clear color buffer with color",
returnType = "void",
params = {
{type = "unsigned char", name = "r"},
{type = "unsigned char", name = "g"},
{type = "unsigned char", name = "b"},
{type = "unsigned char", name = "a"}
}
},
{
name = "rlClearScreenBuffers",
description = "Clear used screen buffers (color and depth)",
returnType = "void"
},
{
name = "rlCheckErrors",
description = "Check and log OpenGL error codes",
returnType = "void"
},
{
name = "rlSetBlendMode",
description = "Set blending mode",
returnType = "void",
params = {
{type = "int", name = "mode"}
}
},
{
name = "rlSetBlendFactors",
description = "Set blending mode factor and equation (using OpenGL factors)",
returnType = "void",
params = {
{type = "int", name = "glSrcFactor"},
{type = "int", name = "glDstFactor"},
{type = "int", name = "glEquation"}
}
},
{
name = "rlSetBlendFactorsSeparate",
description = "Set blending mode factors and equations separately (using OpenGL factors)",
returnType = "void",
params = {
{type = "int", name = "glSrcRGB"},
{type = "int", name = "glDstRGB"},
{type = "int", name = "glSrcAlpha"},
{type = "int", name = "glDstAlpha"},
{type = "int", name = "glEqRGB"},
{type = "int", name = "glEqAlpha"}
}
},
{
name = "rlglInit",
description = "Initialize rlgl (buffers, shaders, textures, states)",
returnType = "void",
params = {
{type = "int", name = "width"},
{type = "int", name = "height"}
}
},
{
name = "rlglClose",
description = "De-initialize rlgl (buffers, shaders, textures)",
returnType = "void"
},
{
name = "rlLoadExtensions",
description = "Load OpenGL extensions (loader function required)",
returnType = "void",
params = {
{type = "void *", name = "loader"}
}
},
{
name = "rlGetVersion",
description = "Get current OpenGL version",
returnType = "int"
},
{
name = "rlSetFramebufferWidth",
description = "Set current framebuffer width",
returnType = "void",
params = {
{type = "int", name = "width"}
}
},
{
name = "rlGetFramebufferWidth",
description = "Get default framebuffer width",
returnType = "int"
},
{
name = "rlSetFramebufferHeight",
description = "Set current framebuffer height",
returnType = "void",
params = {
{type = "int", name = "height"}
}
},
{
name = "rlGetFramebufferHeight",
description = "Get default framebuffer height",
returnType = "int"
},
{
name = "rlGetTextureIdDefault",
description = "Get default texture id",
returnType = "unsigned int"
},
{
name = "rlGetShaderIdDefault",
description = "Get default shader id",
returnType = "unsigned int"
},
{
name = "rlGetShaderLocsDefault",
description = "Get default shader locations",
returnType = "int *"
},
{
name = "rlLoadRenderBatch",
description = "Load a render batch system",
returnType = "rlRenderBatch",
params = {
{type = "int", name = "numBuffers"},
{type = "int", name = "bufferElements"}
}
},
{
name = "rlUnloadRenderBatch",
description = "Unload render batch system",
returnType = "void",
params = {
{type = "rlRenderBatch", name = "batch"}
}
},
{
name = "rlDrawRenderBatch",
description = "Draw render batch data (Update->Draw->Reset)",
returnType = "void",
params = {
{type = "rlRenderBatch *", name = "batch"}
}
},
{
name = "rlSetRenderBatchActive",
description = "Set the active render batch for rlgl (NULL for default internal)",
returnType = "void",
params = {
{type = "rlRenderBatch *", name = "batch"}
}
},
{
name = "rlDrawRenderBatchActive",
description = "Update and draw internal render batch",
returnType = "void"
},
{
name = "rlCheckRenderBatchLimit",
description = "Check internal buffer overflow for a given number of vertex",
returnType = "bool",
params = {
{type = "int", name = "vCount"}
}
},
{
name = "rlSetTexture",
description = "Set current texture for render batch and check buffers limits",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlLoadVertexArray",
description = "Load vertex array (vao) if supported",
returnType = "unsigned int"
},
{
name = "rlLoadVertexBuffer",
description = "Load a vertex buffer attribute",
returnType = "unsigned int",
params = {
{type = "const void *", name = "buffer"},
{type = "int", name = "size"},
{type = "bool", name = "dynamic"}
}
},
{
name = "rlLoadVertexBufferElement",
description = "Load a new attributes element buffer",
returnType = "unsigned int",
params = {
{type = "const void *", name = "buffer"},
{type = "int", name = "size"},
{type = "bool", name = "dynamic"}
}
},
{
name = "rlUpdateVertexBuffer",
description = "Update GPU buffer with new data",
returnType = "void",
params = {
{type = "unsigned int", name = "bufferId"},
{type = "const void *", name = "data"},
{type = "int", name = "dataSize"},
{type = "int", name = "offset"}
}
},
{
name = "rlUpdateVertexBufferElements",
description = "Update vertex buffer elements with new data",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "const void *", name = "data"},
{type = "int", name = "dataSize"},
{type = "int", name = "offset"}
}
},
{
name = "rlUnloadVertexArray",
description = "",
returnType = "void",
params = {
{type = "unsigned int", name = "vaoId"}
}
},
{
name = "rlUnloadVertexBuffer",
description = "",
returnType = "void",
params = {
{type = "unsigned int", name = "vboId"}
}
},
{
name = "rlSetVertexAttribute",
description = "",
returnType = "void",
params = {
{type = "unsigned int", name = "index"},
{type = "int", name = "compSize"},
{type = "int", name = "type"},
{type = "bool", name = "normalized"},
{type = "int", name = "stride"},
{type = "const void *", name = "pointer"}
}
},
{
name = "rlSetVertexAttributeDivisor",
description = "",
returnType = "void",
params = {
{type = "unsigned int", name = "index"},
{type = "int", name = "divisor"}
}
},
{
name = "rlSetVertexAttributeDefault",
description = "Set vertex attribute default value",
returnType = "void",
params = {
{type = "int", name = "locIndex"},
{type = "const void *", name = "value"},
{type = "int", name = "attribType"},
{type = "int", name = "count"}
}
},
{
name = "rlDrawVertexArray",
description = "",
returnType = "void",
params = {
{type = "int", name = "offset"},
{type = "int", name = "count"}
}
},
{
name = "rlDrawVertexArrayElements",
description = "",
returnType = "void",
params = {
{type = "int", name = "offset"},
{type = "int", name = "count"},
{type = "const void *", name = "buffer"}
}
},
{
name = "rlDrawVertexArrayInstanced",
description = "",
returnType = "void",
params = {
{type = "int", name = "offset"},
{type = "int", name = "count"},
{type = "int", name = "instances"}
}
},
{
name = "rlDrawVertexArrayElementsInstanced",
description = "",
returnType = "void",
params = {
{type = "int", name = "offset"},
{type = "int", name = "count"},
{type = "const void *", name = "buffer"},
{type = "int", name = "instances"}
}
},
{
name = "rlLoadTexture",
description = "Load texture in GPU",
returnType = "unsigned int",
params = {
{type = "const void *", name = "data"},
{type = "int", name = "width"},
{type = "int", name = "height"},
{type = "int", name = "format"},
{type = "int", name = "mipmapCount"}
}
},
{
name = "rlLoadTextureDepth",
description = "Load depth texture/renderbuffer (to be attached to fbo)",
returnType = "unsigned int",
params = {
{type = "int", name = "width"},
{type = "int", name = "height"},
{type = "bool", name = "useRenderBuffer"}
}
},
{
name = "rlLoadTextureCubemap",
description = "Load texture cubemap",
returnType = "unsigned int",
params = {
{type = "const void *", name = "data"},
{type = "int", name = "size"},
{type = "int", name = "format"}
}
},
{
name = "rlUpdateTexture",
description = "Update GPU texture with new data",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "int", name = "offsetX"},
{type = "int", name = "offsetY"},
{type = "int", name = "width"},
{type = "int", name = "height"},
{type = "int", name = "format"},
{type = "const void *", name = "data"}
}
},
{
name = "rlGetGlTextureFormats",
description = "Get OpenGL internal formats",
returnType = "void",
params = {
{type = "int", name = "format"},
{type = "unsigned int *", name = "glInternalFormat"},
{type = "unsigned int *", name = "glFormat"},
{type = "unsigned int *", name = "glType"}
}
},
{
name = "rlGetPixelFormatName",
description = "Get name string for pixel format",
returnType = "const char *",
params = {
{type = "unsigned int", name = "format"}
}
},
{
name = "rlUnloadTexture",
description = "Unload texture from GPU memory",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlGenTextureMipmaps",
description = "Generate mipmap data for selected texture",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "int", name = "width"},
{type = "int", name = "height"},
{type = "int", name = "format"},
{type = "int *", name = "mipmaps"}
}
},
{
name = "rlReadTexturePixels",
description = "Read texture pixel data",
returnType = "void *",
params = {
{type = "unsigned int", name = "id"},
{type = "int", name = "width"},
{type = "int", name = "height"},
{type = "int", name = "format"}
}
},
{
name = "rlReadScreenPixels",
description = "Read screen pixel data (color buffer)",
returnType = "unsigned char *",
params = {
{type = "int", name = "width"},
{type = "int", name = "height"}
}
},
{
name = "rlLoadFramebuffer",
description = "Load an empty framebuffer",
returnType = "unsigned int",
params = {
{type = "int", name = "width"},
{type = "int", name = "height"}
}
},
{
name = "rlFramebufferAttach",
description = "Attach texture/renderbuffer to a framebuffer",
returnType = "void",
params = {
{type = "unsigned int", name = "fboId"},
{type = "unsigned int", name = "texId"},
{type = "int", name = "attachType"},
{type = "int", name = "texType"},
{type = "int", name = "mipLevel"}
}
},
{
name = "rlFramebufferComplete",
description = "Verify framebuffer is complete",
returnType = "bool",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlUnloadFramebuffer",
description = "Delete framebuffer from GPU",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlLoadShaderCode",
description = "Load shader from code strings",
returnType = "unsigned int",
params = {
{type = "const char *", name = "vsCode"},
{type = "const char *", name = "fsCode"}
}
},
{
name = "rlCompileShader",
description = "Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)",
returnType = "unsigned int",
params = {
{type = "const char *", name = "shaderCode"},
{type = "int", name = "type"}
}
},
{
name = "rlLoadShaderProgram",
description = "Load custom shader program",
returnType = "unsigned int",
params = {
{type = "unsigned int", name = "vShaderId"},
{type = "unsigned int", name = "fShaderId"}
}
},
{
name = "rlUnloadShaderProgram",
description = "Unload shader program",
returnType = "void",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlGetLocationUniform",
description = "Get shader location uniform",
returnType = "int",
params = {
{type = "unsigned int", name = "shaderId"},
{type = "const char *", name = "uniformName"}
}
},
{
name = "rlGetLocationAttrib",
description = "Get shader location attribute",
returnType = "int",
params = {
{type = "unsigned int", name = "shaderId"},
{type = "const char *", name = "attribName"}
}
},
{
name = "rlSetUniform",
description = "Set shader value uniform",
returnType = "void",
params = {
{type = "int", name = "locIndex"},
{type = "const void *", name = "value"},
{type = "int", name = "uniformType"},
{type = "int", name = "count"}
}
},
{
name = "rlSetUniformMatrix",
description = "Set shader value matrix",
returnType = "void",
params = {
{type = "int", name = "locIndex"},
{type = "Matrix", name = "mat"}
}
},
{
name = "rlSetUniformSampler",
description = "Set shader value sampler",
returnType = "void",
params = {
{type = "int", name = "locIndex"},
{type = "unsigned int", name = "textureId"}
}
},
{
name = "rlSetShader",
description = "Set shader currently active (id and locations)",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "int *", name = "locs"}
}
},
{
name = "rlLoadComputeShaderProgram",
description = "Load compute shader program",
returnType = "unsigned int",
params = {
{type = "unsigned int", name = "shaderId"}
}
},
{
name = "rlComputeShaderDispatch",
description = "Dispatch compute shader (equivalent to *draw* for graphics pipeline)",
returnType = "void",
params = {
{type = "unsigned int", name = "groupX"},
{type = "unsigned int", name = "groupY"},
{type = "unsigned int", name = "groupZ"}
}
},
{
name = "rlLoadShaderBuffer",
description = "Load shader storage buffer object (SSBO)",
returnType = "unsigned int",
params = {
{type = "unsigned int", name = "size"},
{type = "const void *", name = "data"},
{type = "int", name = "usageHint"}
}
},
{
name = "rlUnloadShaderBuffer",
description = "Unload shader storage buffer object (SSBO)",
returnType = "void",
params = {
{type = "unsigned int", name = "ssboId"}
}
},
{
name = "rlUpdateShaderBuffer",
description = "Update SSBO buffer data",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "const void *", name = "data"},
{type = "unsigned int", name = "dataSize"},
{type = "unsigned int", name = "offset"}
}
},
{
name = "rlBindShaderBuffer",
description = "Bind SSBO buffer",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "unsigned int", name = "index"}
}
},
{
name = "rlReadShaderBuffer",
description = "Read SSBO buffer data (GPU->CPU)",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "void *", name = "dest"},
{type = "unsigned int", name = "count"},
{type = "unsigned int", name = "offset"}
}
},
{
name = "rlCopyShaderBuffer",
description = "Copy SSBO data between buffers",
returnType = "void",
params = {
{type = "unsigned int", name = "destId"},
{type = "unsigned int", name = "srcId"},
{type = "unsigned int", name = "destOffset"},
{type = "unsigned int", name = "srcOffset"},
{type = "unsigned int", name = "count"}
}
},
{
name = "rlGetShaderBufferSize",
description = "Get SSBO buffer size",
returnType = "unsigned int",
params = {
{type = "unsigned int", name = "id"}
}
},
{
name = "rlBindImageTexture",
description = "Bind image texture",
returnType = "void",
params = {
{type = "unsigned int", name = "id"},
{type = "unsigned int", name = "index"},
{type = "int", name = "format"},
{type = "bool", name = "readonly"}
}
},
{
name = "rlGetMatrixModelview",
description = "Get internal modelview matrix",
returnType = "Matrix"
},
{
name = "rlGetMatrixProjection",
description = "Get internal projection matrix",
returnType = "Matrix"
},
{
name = "rlGetMatrixTransform",
description = "Get internal accumulated transform matrix",
returnType = "Matrix"
},
{
name = "rlGetMatrixProjectionStereo",
description = "Get internal projection matrix for stereo render (selected eye)",
returnType = "Matrix",
params = {
{type = "int", name = "eye"}
}
},
{
name = "rlGetMatrixViewOffsetStereo",
description = "Get internal view offset matrix for stereo render (selected eye)",
returnType = "Matrix",
params = {
{type = "int", name = "eye"}
}
},
{
name = "rlSetMatrixProjection",
description = "Set a custom projection matrix (replaces internal projection matrix)",
returnType = "void",
params = {
{type = "Matrix", name = "proj"}
}
},
{
name = "rlSetMatrixModelview",
description = "Set a custom modelview matrix (replaces internal modelview matrix)",
returnType = "void",
params = {
{type = "Matrix", name = "view"}
}
},
{
name = "rlSetMatrixProjectionStereo",
description = "Set eyes projection matrices for stereo rendering",
returnType = "void",
params = {
{type = "Matrix", name = "right"},
{type = "Matrix", name = "left"}
}
},
{
name = "rlSetMatrixViewOffsetStereo",
description = "Set eyes view offsets matrices for stereo rendering",
returnType = "void",
params = {
{type = "Matrix", name = "right"},
{type = "Matrix", name = "left"}
}
},
{
name = "rlLoadDrawCube",
description = "Load and draw a cube",
returnType = "void"
},
{
name = "rlLoadDrawQuad",
description = "Load and draw a quad",
returnType = "void"
}
}
}