rl.gl.matrixMode
Choose the current matrix to be transformed
Zigfn matrixMode(mode: i32) voidCvoid rlMatrixMode(int mode);Used in textures_portal_window.
rlgl, raylib's OpenGL layer (as rl.gl). 163 functions, from raylib's rlgl.
Choose the current matrix to be transformed
Zigfn matrixMode(mode: i32) voidCvoid rlMatrixMode(int mode);Used in textures_portal_window.
Push the current matrix to stack
Zigfn pushMatrix() voidCvoid rlPushMatrix(void);Used in core_2d_camera_mouse_zoom, textures_portal_window, text_3d_drawing, models_rlgl_solar_system.
Pop latest inserted matrix from stack
Zigfn popMatrix() voidCvoid rlPopMatrix(void);Used in core_2d_camera_mouse_zoom, textures_portal_window, text_3d_drawing, models_rlgl_solar_system.
Reset current matrix to identity matrix
Zigfn loadIdentity() voidCvoid rlLoadIdentity(void);Used in textures_portal_window.
Multiply the current matrix by a translation matrix
Zigfn translatef(x: f32, y: f32, z: f32) voidCvoid rlTranslatef(float x, float y, float z);Used in core_2d_camera_mouse_zoom, text_3d_drawing, models_rlgl_solar_system.
Multiply the current matrix by a rotation matrix
Zigfn rotatef(angle: f32, x: f32, y: f32, z: f32) voidCvoid rlRotatef(float angle, float x, float y, float z);Used in core_2d_camera_mouse_zoom, text_3d_drawing, models_rlgl_solar_system.
Multiply the current matrix by a scaling matrix
Zigfn scalef(x: f32, y: f32, z: f32) voidCvoid rlScalef(float x, float y, float z);Used in models_rlgl_solar_system.
Multiply the current matrix by another matrix
Multiply the current matrix by another matrix (column-major float[16])
Zigfn multMatrixf(matf: *const [16]f32) voidCvoid rlMultMatrixf(const float *matf);Used in textures_portal_window.
Zigfn frustum(left: f64, right: f64, bottom: f64, top: f64, znear: f64, zfar: f64) voidCvoid rlFrustum(double left, double right, double bottom, double top, double znear, double zfar);Zigfn ortho(left: f64, right: f64, bottom: f64, top: f64, znear: f64, zfar: f64) voidCvoid rlOrtho(double left, double right, double bottom, double top, double znear, double zfar);Set the viewport area
Zigfn viewport(x: i32, y: i32, width: i32, height: i32) voidCvoid rlViewport(int x, int y, int width, int height);Used in models_skybox_rendering.
Set clip planes distances
Zigfn setClipPlanes(nearPlane: f64, farPlane: f64) voidCvoid rlSetClipPlanes(double nearPlane, double farPlane);Get cull plane distance near
Zigfn getCullDistanceNear() f64Cdouble rlGetCullDistanceNear(void);Used in models_skybox_rendering.
Get cull plane distance far
Zigfn getCullDistanceFar() f64Cdouble rlGetCullDistanceFar(void);Used in models_skybox_rendering.
Initialize drawing mode (how to organize vertex)
Zigfn begin(mode: i32) voidCvoid rlBegin(int mode);Used in shapes_rectangle_advanced, shapes_rlgl_color_wheel, shapes_rlgl_triangle, textures_polygon_drawing, textures_textured_curve, textures_portal_window and 3 more.
Finish vertex providing
Zigfn end() voidCvoid rlEnd(void);Used in shapes_rectangle_advanced, shapes_rlgl_color_wheel, shapes_rlgl_triangle, textures_polygon_drawing, textures_textured_curve, textures_portal_window and 3 more.
Define one vertex (position) - 2 int
Zigfn vertex2i(x: i32, y: i32) voidCvoid rlVertex2i(int x, int y);Define one vertex (position) - 2 float
Zigfn vertex2f(x: f32, y: f32) voidCvoid rlVertex2f(float x, float y);Used in shapes_rectangle_advanced, shapes_rlgl_color_wheel, shapes_rlgl_triangle, textures_polygon_drawing, textures_textured_curve.
Define one vertex (position) - 3 float
Zigfn vertex3f(x: f32, y: f32, z: f32) voidCvoid rlVertex3f(float x, float y, float z);Used in textures_portal_window, text_3d_drawing, models_rlgl_solar_system, models_textured_cube.
Define one vertex (texture coordinate) - 2 float
Zigfn texCoord2f(x: f32, y: f32) voidCvoid rlTexCoord2f(float x, float y);Used in textures_polygon_drawing, textures_textured_curve, textures_portal_window, text_3d_drawing, models_textured_cube.
Define one vertex (normal) - 3 float
Zigfn normal3f(x: f32, y: f32, z: f32) voidCvoid rlNormal3f(float x, float y, float z);Used in textures_textured_curve, textures_portal_window, text_3d_drawing, models_textured_cube.
Define one vertex (color) - 4 byte
Zigfn color4ub(r: u8, g: u8, b: u8, a: u8) voidCvoid rlColor4ub(unsigned char r, unsigned char g, unsigned char b, unsigned char a);Used in shapes_rectangle_advanced, shapes_rlgl_color_wheel, shapes_rlgl_triangle, textures_polygon_drawing, textures_textured_curve, textures_portal_window and 3 more.
Define one vertex (color) - 3 float
Zigfn color3f(x: f32, y: f32, z: f32) voidCvoid rlColor3f(float x, float y, float z);Define one vertex (color) - 4 float
Zigfn color4f(x: f32, y: f32, z: f32, w: f32) voidCvoid rlColor4f(float x, float y, float z, float w);Used in shapes_rlgl_color_wheel.
Enable vertex array (VAO, if supported)
Zigfn enableVertexArray(vaoId: u32) boolCbool rlEnableVertexArray(unsigned int vaoId);Used in shaders_lightmap_rendering.
Disable vertex array (VAO, if supported)
Zigfn disableVertexArray() voidCvoid rlDisableVertexArray(void);Used in shaders_lightmap_rendering.
Enable vertex buffer (VBO)
Zigfn enableVertexBuffer(id: u32) voidCvoid rlEnableVertexBuffer(unsigned int id);Disable vertex buffer (VBO)
Zigfn disableVertexBuffer() voidCvoid rlDisableVertexBuffer(void);Enable vertex buffer element (VBO element)
Zigfn enableVertexBufferElement(id: u32) voidCvoid rlEnableVertexBufferElement(unsigned int id);Disable vertex buffer element (VBO element)
Zigfn disableVertexBufferElement() voidCvoid rlDisableVertexBufferElement(void);Enable vertex attribute index
Zigfn enableVertexAttribute(index: u32) voidCvoid rlEnableVertexAttribute(unsigned int index);Used in shaders_lightmap_rendering.
Disable vertex attribute index
Zigfn disableVertexAttribute(index: u32) voidCvoid rlDisableVertexAttribute(unsigned int index);Enable attribute state pointer
Zigfn enableStatePointer(vertexAttribType: i32, buffer: ?*anyopaque) voidCvoid rlEnableStatePointer(int vertexAttribType, void *buffer);Disable attribute state pointer
Zigfn disableStatePointer(vertexAttribType: i32) voidCvoid rlDisableStatePointer(int vertexAttribType);Select and active a texture slot
Zigfn activeTextureSlot(slot: i32) voidCvoid rlActiveTextureSlot(int slot);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_shadowmap_rendering, shaders_vertex_displacement.
Enable texture
Zigfn enableTexture(id: u32) voidCvoid rlEnableTexture(unsigned int id);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_shadowmap_rendering, shaders_vertex_displacement.
Disable texture
Zigfn disableTexture() voidCvoid rlDisableTexture(void);Used in models_skybox_rendering, shaders_shadowmap_rendering.
Enable texture cubemap
Zigfn enableTextureCubemap(id: u32) voidCvoid rlEnableTextureCubemap(unsigned int id);Disable texture cubemap
Zigfn disableTextureCubemap() voidCvoid rlDisableTextureCubemap(void);Set texture parameters (filter, wrap)
Zigfn textureParameters(id: u32, param: i32, value: i32) voidCvoid rlTextureParameters(unsigned int id, int param, int value);Set cubemap parameters (filter, wrap)
Zigfn cubemapParameters(id: u32, param: i32, value: i32) voidCvoid rlCubemapParameters(unsigned int id, int param, int value);Enable shader program
Zigfn enableShader(id: u32) voidCvoid rlEnableShader(unsigned int id);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_shadowmap_rendering, shaders_vertex_displacement, shaders_rlgl_compute.
Disable shader program
Zigfn disableShader() voidCvoid rlDisableShader(void);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_rlgl_compute.
Enable render texture (fbo)
Zigfn enableFramebuffer(id: u32) voidCvoid rlEnableFramebuffer(unsigned int id);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_hybrid_rendering, shaders_shadowmap_rendering, shaders_depth_writing, shaders_depth_rendering.
Disable render texture (fbo), return to default framebuffer
Zigfn disableFramebuffer() voidCvoid rlDisableFramebuffer(void);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_hybrid_rendering, shaders_shadowmap_rendering, shaders_depth_writing, shaders_depth_rendering.
Get the currently active render texture (fbo), 0 for default framebuffer
Zigfn getActiveFramebuffer() u32Cunsigned int rlGetActiveFramebuffer(void);Activate multiple draw color buffers
Zigfn activeDrawBuffers(count: i32) voidCvoid rlActiveDrawBuffers(int count);Used in shaders_deferred_rendering.
Blit active framebuffer to main framebuffer
Zigfn blitFramebuffer(srcX: i32, srcY: i32, srcWidth: i32, srcHeight: i32, dstX: i32, dstY: i32, dstWidth: i32, dstHeight: i32, bufferMask: i32) voidCvoid rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask);Used in shaders_deferred_rendering.
Bind framebuffer (FBO)
Zigfn bindFramebuffer(target: u32, framebuffer: u32) voidCvoid rlBindFramebuffer(unsigned int target, unsigned int framebuffer);Used in shaders_deferred_rendering.
Enable color blending
Zigfn enableColorBlend() voidCvoid rlEnableColorBlend(void);Used in shaders_deferred_rendering.
Disable color blending
Zigfn disableColorBlend() voidCvoid rlDisableColorBlend(void);Used in shaders_deferred_rendering.
Enable depth test
Zigfn enableDepthTest() voidCvoid rlEnableDepthTest(void);Used in textures_portal_window, shaders_deferred_rendering, shaders_hybrid_rendering.
Disable depth test
Zigfn disableDepthTest() voidCvoid rlDisableDepthTest(void);Used in textures_portal_window.
Enable depth write
Zigfn enableDepthMask() voidCvoid rlEnableDepthMask(void);Used in models_skybox_rendering.
Disable depth write
Zigfn disableDepthMask() voidCvoid rlDisableDepthMask(void);Used in models_skybox_rendering.
Enable backface culling
Zigfn enableBackfaceCulling() voidCvoid rlEnableBackfaceCulling(void);Used in shapes_rlgl_triangle, models_point_rendering, models_skybox_rendering.
Disable backface culling
Zigfn disableBackfaceCulling() voidCvoid rlDisableBackfaceCulling(void);Used in shapes_rlgl_triangle, models_point_rendering, models_skybox_rendering.
Color mask control
Zigfn colorMask(r: bool, g: bool, b: bool, a: bool) voidCvoid rlColorMask(bool r, bool g, bool b, bool a);Used in gl_scissor_shapes.
Set face culling mode
Zigfn setCullFace(mode: i32) voidCvoid rlSetCullFace(int mode);Used in shaders_cel_shading.
Enable scissor test
Zigfn enableScissorTest() voidCvoid rlEnableScissorTest(void);Disable scissor test
Zigfn disableScissorTest() voidCvoid rlDisableScissorTest(void);Scissor test
Zigfn scissor(x: i32, y: i32, width: i32, height: i32) voidCvoid rlScissor(int x, int y, int width, int height);Enable point mode
Zigfn enablePointMode() voidCvoid rlEnablePointMode(void);Used in models_point_rendering.
Disable point mode
Zigfn disablePointMode() voidCvoid rlDisablePointMode(void);Used in models_point_rendering.
Set the point drawing size
Zigfn setPointSize(size: f32) voidCvoid rlSetPointSize(float size);Get the point drawing size
Zigfn getPointSize() f32Cfloat rlGetPointSize(void);Enable wire mode
Zigfn enableWireMode() voidCvoid rlEnableWireMode(void);Disable wire mode
Zigfn disableWireMode() voidCvoid rlDisableWireMode(void);Set the line drawing width
Zigfn setLineWidth(width: f32) voidCvoid rlSetLineWidth(float width);Get the line drawing width
Zigfn getLineWidth() f32Cfloat rlGetLineWidth(void);Enable line aliasing
Zigfn enableSmoothLines() voidCvoid rlEnableSmoothLines(void);Disable line aliasing
Zigfn disableSmoothLines() voidCvoid rlDisableSmoothLines(void);Enable stereo rendering
Zigfn enableStereoRender() voidCvoid rlEnableStereoRender(void);Disable stereo rendering
Zigfn disableStereoRender() voidCvoid rlDisableStereoRender(void);Check if stereo render is enabled
Zigfn isStereoRenderEnabled() boolCbool rlIsStereoRenderEnabled(void);Clear color buffer with color
Zigfn clearColor(r: u8, g: u8, b: u8, a: u8) voidCvoid rlClearColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a);Used in shaders_deferred_rendering.
Clear used screen buffers (color and depth)
Zigfn clearScreenBuffers() voidCvoid rlClearScreenBuffers(void);Used in models_skybox_rendering, shaders_deferred_rendering.
Check and log OpenGL error codes
Zigfn checkErrors() voidCvoid rlCheckErrors(void);Set blending mode
Zigfn setBlendMode(mode: i32) voidCvoid rlSetBlendMode(int mode);Used in shapes_top_down_lights.
Set blending mode factor and equation (using OpenGL factors)
Zigfn setBlendFactors(glSrcFactor: i32, glDstFactor: i32, glEquation: i32) voidCvoid rlSetBlendFactors(int glSrcFactor, int glDstFactor, int glEquation);Used in shapes_top_down_lights.
Set blending mode factors and equations separately (using OpenGL factors)
Zigfn setBlendFactorsSeparate(glSrcRGB: i32, glDstRGB: i32, glSrcAlpha: i32, glDstAlpha: i32, glEqRGB: i32, glEqAlpha: i32) voidCvoid rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha);Used in textures_magnifying_glass.
Initialize rlgl (buffers, shaders, textures, states)
Zigfn init(width: i32, height: i32) voidCvoid rlglInit(int width, int height);De-initialize rlgl (buffers, shaders, textures)
Zigfn close() voidCvoid rlglClose(void);Load OpenGL extensions (loader function required)
Zigfn loadExtensions(loader: ?*anyopaque) voidCvoid rlLoadExtensions(void *loader);Get OpenGL procedure address
Zigfn getProcAddress(procName: [:0]const u8) ?*anyopaqueCvoid *rlGetProcAddress(const char *procName);Get current OpenGL version
Zigfn getVersion() i32Cint rlGetVersion(void);Set current framebuffer width
Zigfn setFramebufferWidth(width: i32) voidCvoid rlSetFramebufferWidth(int width);Get default framebuffer width
Zigfn getFramebufferWidth() i32Cint rlGetFramebufferWidth(void);Used in models_skybox_rendering.
Set current framebuffer height
Zigfn setFramebufferHeight(height: i32) voidCvoid rlSetFramebufferHeight(int height);Get default framebuffer height
Zigfn getFramebufferHeight() i32Cint rlGetFramebufferHeight(void);Used in models_skybox_rendering.
Get default texture id
Zigfn getTextureIdDefault() u32Cunsigned int rlGetTextureIdDefault(void);Get default shader id
Zigfn getShaderIdDefault() u32Cunsigned int rlGetShaderIdDefault(void);Get default shader locations
Get default shader locations (RL_MAX_SHADER_LOCATIONS entries)
Zigfn getShaderLocsDefault() [*]i32Cint *rlGetShaderLocsDefault(void);Load a render batch system
Zigfn loadRenderBatch(numBuffers: i32, bufferElements: i32) RenderBatchCrlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements);Unload render batch system
Zigfn unloadRenderBatch(batch: RenderBatch) voidCvoid rlUnloadRenderBatch(rlRenderBatch batch);Draw render batch data (Update->Draw->Reset)
Zigfn drawRenderBatch(batch: *RenderBatch) voidCvoid rlDrawRenderBatch(rlRenderBatch *batch);Set the active render batch for rlgl (NULL for default internal)
Set the active render batch for rlgl (null for default internal)
Zigfn setRenderBatchActive(batch: ?*RenderBatch) voidCvoid rlSetRenderBatchActive(rlRenderBatch *batch);Update and draw internal render batch
Zigfn drawRenderBatchActive() voidCvoid rlDrawRenderBatchActive(void);Used in core_custom_frame_control, shapes_top_down_lights, textures_portal_window, gl_scissor_shapes, raylib_opengl_interop.
Check internal buffer overflow for a given number of vertex
Zigfn checkRenderBatchLimit(vCount: i32) boolCbool rlCheckRenderBatchLimit(int vCount);Used in text_3d_drawing, models_rlgl_solar_system.
Set current texture for render batch and check buffers limits
Zigfn setTexture(id: u32) voidCvoid rlSetTexture(unsigned int id);Used in textures_polygon_drawing, textures_textured_curve, textures_portal_window, text_3d_drawing, models_textured_cube.
Load vertex array (vao) if supported
Zigfn loadVertexArray() u32Cunsigned int rlLoadVertexArray(void);Load a vertex buffer object
Zigfn loadVertexBuffer(buffer: []const u8, dynamic: bool) u32Cunsigned int rlLoadVertexBuffer(const void *buffer, int size, bool dynamic);Used in shaders_lightmap_rendering.
Load vertex buffer elements object
Zigfn loadVertexBufferElement(buffer: []const u8, dynamic: bool) u32Cunsigned int rlLoadVertexBufferElement(const void *buffer, int size, bool dynamic);Update vertex buffer object data on GPU buffer
Zigfn updateVertexBuffer(bufferId: u32, data: []const u8, offset: i32) voidCvoid rlUpdateVertexBuffer(unsigned int bufferId, const void *data, int dataSize, int offset);Used in models_animation_blend_custom.
Update vertex buffer elements data on GPU buffer
Zigfn updateVertexBufferElements(id: u32, data: []const u8, offset: i32) voidCvoid rlUpdateVertexBufferElements(unsigned int id, const void *data, int dataSize, int offset);Unload vertex array (vao)
Zigfn unloadVertexArray(vaoId: u32) voidCvoid rlUnloadVertexArray(unsigned int vaoId);Unload vertex buffer object
Zigfn unloadVertexBuffer(vboId: u32) voidCvoid rlUnloadVertexBuffer(unsigned int vboId);Set vertex attribute data configuration
Zigfn setVertexAttribute(index: u32, compSize: i32, @"type": i32, normalized: bool, stride: i32, offset: i32) voidCvoid rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, int offset);Used in shaders_lightmap_rendering.
Set vertex attribute data divisor
Zigfn setVertexAttributeDivisor(index: u32, divisor: i32) voidCvoid rlSetVertexAttributeDivisor(unsigned int index, int divisor);Set vertex attribute default value, when attribute to provided
Zigfn setVertexAttributeDefault(locIndex: i32, value: ?*const anyopaque, attribType: i32, count: i32) voidCvoid rlSetVertexAttributeDefault(int locIndex, const void *value, int attribType, int count);Draw vertex array (currently active vao)
Zigfn drawVertexArray(offset: i32, count: i32) voidCvoid rlDrawVertexArray(int offset, int count);Draw vertex array elements
Zigfn drawVertexArrayElements(offset: i32, count: i32, buffer: ?*const anyopaque) voidCvoid rlDrawVertexArrayElements(int offset, int count, const void *buffer);Draw vertex array (currently active vao) with instancing
Zigfn drawVertexArrayInstanced(offset: i32, count: i32, instances: i32) voidCvoid rlDrawVertexArrayInstanced(int offset, int count, int instances);Draw vertex array elements with instancing
Zigfn drawVertexArrayElementsInstanced(offset: i32, count: i32, buffer: ?*const anyopaque, instances: i32) voidCvoid rlDrawVertexArrayElementsInstanced(int offset, int count, const void *buffer, int instances);Load texture data
Zigfn loadTexture(data: ?*const anyopaque, width: i32, height: i32, format: i32, mipmapCount: i32) u32Cunsigned int rlLoadTexture(const void *data, int width, int height, int format, int mipmapCount);Used in shaders_deferred_rendering, shaders_hybrid_rendering, shaders_depth_writing, shaders_depth_rendering.
Load depth texture/renderbuffer (to be attached to fbo)
Zigfn loadTextureDepth(width: i32, height: i32, useRenderBuffer: bool) u32Cunsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_hybrid_rendering, shaders_shadowmap_rendering, shaders_depth_writing, shaders_depth_rendering.
Load texture cubemap data
Zigfn loadTextureCubemap(data: ?*const anyopaque, size: i32, format: i32, mipmapCount: i32) u32Cunsigned int rlLoadTextureCubemap(const void *data, int size, int format, int mipmapCount);Used in models_skybox_rendering.
Update texture with new data on GPU
Zigfn updateTexture(id: u32, offsetX: i32, offsetY: i32, width: i32, height: i32, format: i32, data: ?*const anyopaque) voidCvoid rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data);Get OpenGL internal formats
Zigfn getGlTextureFormats(format: i32, glInternalFormat: *c_uint, glFormat: *c_uint, glType: *c_uint) voidCvoid rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType);Get name string for pixel format
Zigfn getPixelFormatName(format: u32) [:0]const u8Cconst char *rlGetPixelFormatName(unsigned int format);Unload texture from GPU memory
Zigfn unloadTexture(id: u32) voidCvoid rlUnloadTexture(unsigned int id);Used in shaders_deferred_rendering, shaders_hybrid_rendering, shaders_depth_writing, shaders_depth_rendering.
Generate mipmap data for selected texture
Zigfn genTextureMipmaps(id: u32, width: i32, height: i32, format: i32, mipmaps: *c_int) voidCvoid rlGenTextureMipmaps(unsigned int id, int width, int height, int format, int *mipmaps);Read texture pixel data
Zigfn readTexturePixels(id: u32, width: i32, height: i32, format: i32) ?*anyopaqueCvoid *rlReadTexturePixels(unsigned int id, int width, int height, int format);Read screen pixel data (color buffer)
Read screen pixel data (color buffer, RGBA). Free with `rl.memFree`.
Zigfn readScreenPixels(width: i32, height: i32) ?[]u8Cunsigned char *rlReadScreenPixels(int width, int height);Load an empty framebuffer
Zigfn loadFramebuffer() u32Cunsigned int rlLoadFramebuffer(void);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_hybrid_rendering, shaders_shadowmap_rendering, shaders_depth_writing, shaders_depth_rendering.
Attach texture/renderbuffer to a framebuffer
Zigfn framebufferAttach(id: u32, texId: u32, attachType: i32, texType: i32, mipLevel: i32) voidCvoid rlFramebufferAttach(unsigned int id, unsigned int texId, int attachType, int texType, int mipLevel);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_hybrid_rendering, shaders_shadowmap_rendering, shaders_depth_writing, shaders_depth_rendering.
Verify framebuffer is complete
Zigfn framebufferComplete(id: u32) boolCbool rlFramebufferComplete(unsigned int id);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_hybrid_rendering, shaders_shadowmap_rendering, shaders_depth_writing, shaders_depth_rendering.
Delete framebuffer from GPU
Zigfn unloadFramebuffer(id: u32) voidCvoid rlUnloadFramebuffer(unsigned int id);Used in models_skybox_rendering, shaders_deferred_rendering, shaders_hybrid_rendering, shaders_shadowmap_rendering, shaders_depth_writing, shaders_depth_rendering.
Copy framebuffer pixel data to internal buffer
Zigfn copyFramebuffer(x: i32, y: i32, width: i32, height: i32, format: i32, pixels: ?*anyopaque) voidCvoid rlCopyFramebuffer(int x, int y, int width, int height, int format, void *pixels);Resize internal framebuffer
Zigfn resizeFramebuffer(width: i32, height: i32) voidCvoid rlResizeFramebuffer(int width, int height);Load (compile) shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
Zigfn loadShader(code: [:0]const u8, @"type": i32) u32Cunsigned int rlLoadShader(const char *code, int type);Used in shaders_rlgl_compute.
Load shader from code strings
Zigfn loadShaderProgram(vsCode: [:0]const u8, fsCode: [:0]const u8) u32Cunsigned int rlLoadShaderProgram(const char *vsCode, const char *fsCode);Load shader program, using already loaded shader ids
Zigfn loadShaderProgramEx(vsId: u32, fsId: u32) u32Cunsigned int rlLoadShaderProgramEx(unsigned int vsId, unsigned int fsId);Load compute shader program
Zigfn loadShaderProgramCompute(csId: u32) u32Cunsigned int rlLoadShaderProgramCompute(unsigned int csId);Used in shaders_rlgl_compute.
Unload shader, loaded with rlLoadShader()
Zigfn unloadShader(id: u32) voidCvoid rlUnloadShader(unsigned int id);Used in shaders_rlgl_compute.
Unload shader program
Zigfn unloadShaderProgram(id: u32) voidCvoid rlUnloadShaderProgram(unsigned int id);Used in shaders_rlgl_compute.
Get shader location uniform, requires shader program id
Zigfn getLocationUniform(id: u32, uniformName: [:0]const u8) i32Cint rlGetLocationUniform(unsigned int id, const char *uniformName);Used in shaders_deferred_rendering.
Get shader location attribute, requires shader program id
Zigfn getLocationAttrib(id: u32, attribName: [:0]const u8) i32Cint rlGetLocationAttrib(unsigned int id, const char *attribName);Set shader value uniform
Zigfn setUniform(locIndex: i32, value: ?*const anyopaque, uniformType: i32, count: i32) voidCvoid rlSetUniform(int locIndex, const void *value, int uniformType, int count);Used in shaders_shadowmap_rendering.
Set shader value matrix
Zigfn setUniformMatrix(locIndex: i32, mat: Matrix) voidCvoid rlSetUniformMatrix(int locIndex, Matrix mat);Used in models_skybox_rendering.
Set shader value matrices
Zigfn setUniformMatrices(locIndex: i32, mat: []const Matrix) voidCvoid rlSetUniformMatrices(int locIndex, const Matrix *mat, int count);Set shader value sampler
Zigfn setUniformSampler(locIndex: i32, textureId: u32) voidCvoid rlSetUniformSampler(int locIndex, unsigned int textureId);Used in shaders_vertex_displacement.
Set shader currently active (id and locations)
Zigfn setShader(id: u32, locs: [*]i32) voidCvoid rlSetShader(unsigned int id, int *locs);Dispatch compute shader (equivalent to *draw* for graphics pipeline)
Zigfn computeShaderDispatch(groupX: u32, groupY: u32, groupZ: u32) voidCvoid rlComputeShaderDispatch(unsigned int groupX, unsigned int groupY, unsigned int groupZ);Used in shaders_rlgl_compute.
Load shader storage buffer object (SSBO)
Zigfn loadShaderBuffer(size: u32, data: ?*const anyopaque, usageHint: i32) u32Cunsigned int rlLoadShaderBuffer(unsigned int size, const void *data, int usageHint);Used in shaders_rlgl_compute.
Unload shader storage buffer object (SSBO)
Zigfn unloadShaderBuffer(ssboId: u32) voidCvoid rlUnloadShaderBuffer(unsigned int ssboId);Used in shaders_rlgl_compute.
Update SSBO buffer data
Zigfn updateShaderBuffer(id: u32, data: []const u8, offset: u32) voidCvoid rlUpdateShaderBuffer(unsigned int id, const void *data, unsigned int dataSize, unsigned int offset);Used in shaders_rlgl_compute.
Bind SSBO buffer
Zigfn bindShaderBuffer(id: u32, index: u32) voidCvoid rlBindShaderBuffer(unsigned int id, unsigned int index);Used in shaders_rlgl_compute.
Read SSBO buffer data (GPU->CPU)
Zigfn readShaderBuffer(id: u32, dest: ?*anyopaque, count: u32, offset: u32) voidCvoid rlReadShaderBuffer(unsigned int id, void *dest, unsigned int count, unsigned int offset);Copy SSBO data between buffers
Zigfn copyShaderBuffer(destId: u32, srcId: u32, destOffset: u32, srcOffset: u32, count: u32) voidCvoid rlCopyShaderBuffer(unsigned int destId, unsigned int srcId, unsigned int destOffset, unsigned int srcOffset, unsigned int count);Get SSBO buffer size
Zigfn getShaderBufferSize(id: u32) u32Cunsigned int rlGetShaderBufferSize(unsigned int id);Bind image texture
Zigfn bindImageTexture(id: u32, index: u32, format: i32, readonly: bool) voidCvoid rlBindImageTexture(unsigned int id, unsigned int index, int format, bool readonly);Get internal modelview matrix
Zigfn getMatrixModelview() MatrixCMatrix rlGetMatrixModelview(void);Get internal projection matrix
Zigfn getMatrixProjection() MatrixCMatrix rlGetMatrixProjection(void);Get internal accumulated transform matrix
Zigfn getMatrixTransform() MatrixCMatrix rlGetMatrixTransform(void);Get internal projection matrix for stereo render (selected eye)
Zigfn getMatrixProjectionStereo(eye: i32) MatrixCMatrix rlGetMatrixProjectionStereo(int eye);Get internal view offset matrix for stereo render (selected eye)
Zigfn getMatrixViewOffsetStereo(eye: i32) MatrixCMatrix rlGetMatrixViewOffsetStereo(int eye);Set a custom projection matrix (replaces internal projection matrix)
Zigfn setMatrixProjection(proj: Matrix) voidCvoid rlSetMatrixProjection(Matrix proj);Used in textures_portal_window.
Set a custom modelview matrix (replaces internal modelview matrix)
Zigfn setMatrixModelview(view: Matrix) voidCvoid rlSetMatrixModelview(Matrix view);Set eyes projection matrices for stereo rendering
Zigfn setMatrixProjectionStereo(right: Matrix, left: Matrix) voidCvoid rlSetMatrixProjectionStereo(Matrix right, Matrix left);Set eyes view offsets matrices for stereo rendering
Zigfn setMatrixViewOffsetStereo(right: Matrix, left: Matrix) voidCvoid rlSetMatrixViewOffsetStereo(Matrix right, Matrix left);Load and draw a cube
Zigfn loadDrawCube() voidCvoid rlLoadDrawCube(void);Used in models_skybox_rendering.
Load and draw a quad
Zigfn loadDrawQuad() voidCvoid rlLoadDrawQuad(void);Used in shaders_deferred_rendering.