raylib-bindings 0.5.8pre1-aarch64-linux → 0.6.0-aarch64-linux

Sign up to get free protection for your applications and to get access to all the features.
data/lib/rlgl.rb CHANGED
@@ -1,1311 +1,1311 @@
1
- # Yet another raylib wrapper for Ruby
2
- #
3
- # * https://github.com/vaiorabbit/raylib-bindings
4
- #
5
- # [NOTICE] Autogenerated. Do not edit.
6
-
7
- require 'ffi'
8
-
9
- module Raylib
10
- extend FFI::Library
11
-
12
- # Define/Macro
13
-
14
- RLGL_VERSION = "4.5"
15
- RL_DEFAULT_BATCH_BUFFER_ELEMENTS = 8192
16
- RL_TEXTURE_WRAP_S = 0x2802 # GL_TEXTURE_WRAP_S
17
- RL_TEXTURE_WRAP_T = 0x2803 # GL_TEXTURE_WRAP_T
18
- RL_TEXTURE_MAG_FILTER = 0x2800 # GL_TEXTURE_MAG_FILTER
19
- RL_TEXTURE_MIN_FILTER = 0x2801 # GL_TEXTURE_MIN_FILTER
20
- RL_TEXTURE_FILTER_NEAREST = 0x2600 # GL_NEAREST
21
- RL_TEXTURE_FILTER_LINEAR = 0x2601 # GL_LINEAR
22
- RL_TEXTURE_FILTER_MIP_NEAREST = 0x2700 # GL_NEAREST_MIPMAP_NEAREST
23
- RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR = 0x2702 # GL_NEAREST_MIPMAP_LINEAR
24
- RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST = 0x2701 # GL_LINEAR_MIPMAP_NEAREST
25
- RL_TEXTURE_FILTER_MIP_LINEAR = 0x2703 # GL_LINEAR_MIPMAP_LINEAR
26
- RL_TEXTURE_FILTER_ANISOTROPIC = 0x3000 # Anisotropic filter (custom identifier)
27
- RL_TEXTURE_MIPMAP_BIAS_RATIO = 0x4000 # Texture mipmap bias, percentage ratio (custom identifier)
28
- RL_TEXTURE_WRAP_REPEAT = 0x2901 # GL_REPEAT
29
- RL_TEXTURE_WRAP_CLAMP = 0x812F # GL_CLAMP_TO_EDGE
30
- RL_TEXTURE_WRAP_MIRROR_REPEAT = 0x8370 # GL_MIRRORED_REPEAT
31
- RL_TEXTURE_WRAP_MIRROR_CLAMP = 0x8742 # GL_MIRROR_CLAMP_EXT
32
- RL_MODELVIEW = 0x1700 # GL_MODELVIEW
33
- RL_PROJECTION = 0x1701 # GL_PROJECTION
34
- RL_TEXTURE = 0x1702 # GL_TEXTURE
35
- RL_LINES = 0x0001 # GL_LINES
36
- RL_TRIANGLES = 0x0004 # GL_TRIANGLES
37
- RL_QUADS = 0x0007 # GL_QUADS
38
- RL_UNSIGNED_BYTE = 0x1401 # GL_UNSIGNED_BYTE
39
- RL_FLOAT = 0x1406 # GL_FLOAT
40
- RL_STREAM_DRAW = 0x88E0 # GL_STREAM_DRAW
41
- RL_STREAM_READ = 0x88E1 # GL_STREAM_READ
42
- RL_STREAM_COPY = 0x88E2 # GL_STREAM_COPY
43
- RL_STATIC_DRAW = 0x88E4 # GL_STATIC_DRAW
44
- RL_STATIC_READ = 0x88E5 # GL_STATIC_READ
45
- RL_STATIC_COPY = 0x88E6 # GL_STATIC_COPY
46
- RL_DYNAMIC_DRAW = 0x88E8 # GL_DYNAMIC_DRAW
47
- RL_DYNAMIC_READ = 0x88E9 # GL_DYNAMIC_READ
48
- RL_DYNAMIC_COPY = 0x88EA # GL_DYNAMIC_COPY
49
- RL_FRAGMENT_SHADER = 0x8B30 # GL_FRAGMENT_SHADER
50
- RL_VERTEX_SHADER = 0x8B31 # GL_VERTEX_SHADER
51
- RL_COMPUTE_SHADER = 0x91B9 # GL_COMPUTE_SHADER
52
- RL_ZERO = 0 # GL_ZERO
53
- RL_ONE = 1 # GL_ONE
54
- RL_SRC_COLOR = 0x0300 # GL_SRC_COLOR
55
- RL_ONE_MINUS_SRC_COLOR = 0x0301 # GL_ONE_MINUS_SRC_COLOR
56
- RL_SRC_ALPHA = 0x0302 # GL_SRC_ALPHA
57
- RL_ONE_MINUS_SRC_ALPHA = 0x0303 # GL_ONE_MINUS_SRC_ALPHA
58
- RL_DST_ALPHA = 0x0304 # GL_DST_ALPHA
59
- RL_ONE_MINUS_DST_ALPHA = 0x0305 # GL_ONE_MINUS_DST_ALPHA
60
- RL_DST_COLOR = 0x0306 # GL_DST_COLOR
61
- RL_ONE_MINUS_DST_COLOR = 0x0307 # GL_ONE_MINUS_DST_COLOR
62
- RL_SRC_ALPHA_SATURATE = 0x0308 # GL_SRC_ALPHA_SATURATE
63
- RL_CONSTANT_COLOR = 0x8001 # GL_CONSTANT_COLOR
64
- RL_ONE_MINUS_CONSTANT_COLOR = 0x8002 # GL_ONE_MINUS_CONSTANT_COLOR
65
- RL_CONSTANT_ALPHA = 0x8003 # GL_CONSTANT_ALPHA
66
- RL_ONE_MINUS_CONSTANT_ALPHA = 0x8004 # GL_ONE_MINUS_CONSTANT_ALPHA
67
- RL_FUNC_ADD = 0x8006 # GL_FUNC_ADD
68
- RL_MIN = 0x8007 # GL_MIN
69
- RL_MAX = 0x8008 # GL_MAX
70
- RL_FUNC_SUBTRACT = 0x800A # GL_FUNC_SUBTRACT
71
- RL_FUNC_REVERSE_SUBTRACT = 0x800B # GL_FUNC_REVERSE_SUBTRACT
72
- RL_BLEND_EQUATION = 0x8009 # GL_BLEND_EQUATION
73
- RL_BLEND_EQUATION_RGB = 0x8009 # GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)
74
- RL_BLEND_EQUATION_ALPHA = 0x883D # GL_BLEND_EQUATION_ALPHA
75
- RL_BLEND_DST_RGB = 0x80C8 # GL_BLEND_DST_RGB
76
- RL_BLEND_SRC_RGB = 0x80C9 # GL_BLEND_SRC_RGB
77
- RL_BLEND_DST_ALPHA = 0x80CA # GL_BLEND_DST_ALPHA
78
- RL_BLEND_SRC_ALPHA = 0x80CB # GL_BLEND_SRC_ALPHA
79
- RL_BLEND_COLOR = 0x8005 # GL_BLEND_COLOR
80
-
81
- # Enum
82
-
83
- # enum rlGlVersion
84
- # OpenGL version
85
- RL_OPENGL_11 = 1 # OpenGL 1.1
86
- RL_OPENGL_21 = 2 # OpenGL 2.1 (GLSL 120)
87
- RL_OPENGL_33 = 3 # OpenGL 3.3 (GLSL 330)
88
- RL_OPENGL_43 = 4 # OpenGL 4.3 (using GLSL 330)
89
- RL_OPENGL_ES_20 = 5 # OpenGL ES 2.0 (GLSL 100)
90
- RL_OPENGL_ES_30 = 6 # OpenGL ES 3.0 (GLSL 300 es)
91
-
92
- # enum rlTraceLogLevel
93
- # Trace log level
94
- RL_LOG_ALL = 0 # Display all logs
95
- RL_LOG_TRACE = 1 # Trace logging, intended for internal use only
96
- RL_LOG_DEBUG = 2 # Debug logging, used for internal debugging, it should be disabled on release builds
97
- RL_LOG_INFO = 3 # Info logging, used for program execution info
98
- RL_LOG_WARNING = 4 # Warning logging, used on recoverable failures
99
- RL_LOG_ERROR = 5 # Error logging, used on unrecoverable failures
100
- RL_LOG_FATAL = 6 # Fatal logging, used to abort program: exit(EXIT_FAILURE)
101
- RL_LOG_NONE = 7 # Disable logging
102
-
103
- # enum rlPixelFormat
104
- # Texture pixel formats
105
- RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1 # 8 bit per pixel (no alpha)
106
- RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2 # 8*2 bpp (2 channels)
107
- RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3 # 16 bpp
108
- RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4 # 24 bpp
109
- RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5 # 16 bpp (1 bit alpha)
110
- RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6 # 16 bpp (4 bit alpha)
111
- RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7 # 32 bpp
112
- RL_PIXELFORMAT_UNCOMPRESSED_R32 = 8 # 32 bpp (1 channel - float)
113
- RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9 # 32*3 bpp (3 channels - float)
114
- RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10 # 32*4 bpp (4 channels - float)
115
- RL_PIXELFORMAT_UNCOMPRESSED_R16 = 11 # 16 bpp (1 channel - half float)
116
- RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12 # 16*3 bpp (3 channels - half float)
117
- RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13 # 16*4 bpp (4 channels - half float)
118
- RL_PIXELFORMAT_COMPRESSED_DXT1_RGB = 14 # 4 bpp (no alpha)
119
- RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA = 15 # 4 bpp (1 bit alpha)
120
- RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA = 16 # 8 bpp
121
- RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA = 17 # 8 bpp
122
- RL_PIXELFORMAT_COMPRESSED_ETC1_RGB = 18 # 4 bpp
123
- RL_PIXELFORMAT_COMPRESSED_ETC2_RGB = 19 # 4 bpp
124
- RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 20 # 8 bpp
125
- RL_PIXELFORMAT_COMPRESSED_PVRT_RGB = 21 # 4 bpp
126
- RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA = 22 # 4 bpp
127
- RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 23 # 8 bpp
128
- RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 24 # 2 bpp
129
-
130
- # enum rlTextureFilter
131
- # Texture parameters: filter mode
132
- RL_TEXTURE_FILTER_POINT = 0 # No filter, just pixel approximation
133
- RL_TEXTURE_FILTER_BILINEAR = 1 # Linear filtering
134
- RL_TEXTURE_FILTER_TRILINEAR = 2 # Trilinear filtering (linear with mipmaps)
135
- RL_TEXTURE_FILTER_ANISOTROPIC_4X = 3 # Anisotropic filtering 4x
136
- RL_TEXTURE_FILTER_ANISOTROPIC_8X = 4 # Anisotropic filtering 8x
137
- RL_TEXTURE_FILTER_ANISOTROPIC_16X = 5 # Anisotropic filtering 16x
138
-
139
- # enum rlBlendMode
140
- # Color blending modes (pre-defined)
141
- RL_BLEND_ALPHA = 0 # Blend textures considering alpha (default)
142
- RL_BLEND_ADDITIVE = 1 # Blend textures adding colors
143
- RL_BLEND_MULTIPLIED = 2 # Blend textures multiplying colors
144
- RL_BLEND_ADD_COLORS = 3 # Blend textures adding colors (alternative)
145
- RL_BLEND_SUBTRACT_COLORS = 4 # Blend textures subtracting colors (alternative)
146
- RL_BLEND_ALPHA_PREMULTIPLY = 5 # Blend premultiplied textures considering alpha
147
- RL_BLEND_CUSTOM = 6 # Blend textures using custom src/dst factors (use rlSetBlendFactors())
148
- RL_BLEND_CUSTOM_SEPARATE = 7 # Blend textures using custom src/dst factors (use rlSetBlendFactorsSeparate())
149
-
150
- # enum rlShaderLocationIndex
151
- # Shader location point type
152
- RL_SHADER_LOC_VERTEX_POSITION = 0 # Shader location: vertex attribute: position
153
- RL_SHADER_LOC_VERTEX_TEXCOORD01 = 1 # Shader location: vertex attribute: texcoord01
154
- RL_SHADER_LOC_VERTEX_TEXCOORD02 = 2 # Shader location: vertex attribute: texcoord02
155
- RL_SHADER_LOC_VERTEX_NORMAL = 3 # Shader location: vertex attribute: normal
156
- RL_SHADER_LOC_VERTEX_TANGENT = 4 # Shader location: vertex attribute: tangent
157
- RL_SHADER_LOC_VERTEX_COLOR = 5 # Shader location: vertex attribute: color
158
- RL_SHADER_LOC_MATRIX_MVP = 6 # Shader location: matrix uniform: model-view-projection
159
- RL_SHADER_LOC_MATRIX_VIEW = 7 # Shader location: matrix uniform: view (camera transform)
160
- RL_SHADER_LOC_MATRIX_PROJECTION = 8 # Shader location: matrix uniform: projection
161
- RL_SHADER_LOC_MATRIX_MODEL = 9 # Shader location: matrix uniform: model (transform)
162
- RL_SHADER_LOC_MATRIX_NORMAL = 10 # Shader location: matrix uniform: normal
163
- RL_SHADER_LOC_VECTOR_VIEW = 11 # Shader location: vector uniform: view
164
- RL_SHADER_LOC_COLOR_DIFFUSE = 12 # Shader location: vector uniform: diffuse color
165
- RL_SHADER_LOC_COLOR_SPECULAR = 13 # Shader location: vector uniform: specular color
166
- RL_SHADER_LOC_COLOR_AMBIENT = 14 # Shader location: vector uniform: ambient color
167
- RL_SHADER_LOC_MAP_ALBEDO = 15 # Shader location: sampler2d texture: albedo (same as: RL_SHADER_LOC_MAP_DIFFUSE)
168
- RL_SHADER_LOC_MAP_METALNESS = 16 # Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR)
169
- RL_SHADER_LOC_MAP_NORMAL = 17 # Shader location: sampler2d texture: normal
170
- RL_SHADER_LOC_MAP_ROUGHNESS = 18 # Shader location: sampler2d texture: roughness
171
- RL_SHADER_LOC_MAP_OCCLUSION = 19 # Shader location: sampler2d texture: occlusion
172
- RL_SHADER_LOC_MAP_EMISSION = 20 # Shader location: sampler2d texture: emission
173
- RL_SHADER_LOC_MAP_HEIGHT = 21 # Shader location: sampler2d texture: height
174
- RL_SHADER_LOC_MAP_CUBEMAP = 22 # Shader location: samplerCube texture: cubemap
175
- RL_SHADER_LOC_MAP_IRRADIANCE = 23 # Shader location: samplerCube texture: irradiance
176
- RL_SHADER_LOC_MAP_PREFILTER = 24 # Shader location: samplerCube texture: prefilter
177
- RL_SHADER_LOC_MAP_BRDF = 25 # Shader location: sampler2d texture: brdf
178
-
179
- # enum rlShaderUniformDataType
180
- # Shader uniform data type
181
- RL_SHADER_UNIFORM_FLOAT = 0 # Shader uniform type: float
182
- RL_SHADER_UNIFORM_VEC2 = 1 # Shader uniform type: vec2 (2 float)
183
- RL_SHADER_UNIFORM_VEC3 = 2 # Shader uniform type: vec3 (3 float)
184
- RL_SHADER_UNIFORM_VEC4 = 3 # Shader uniform type: vec4 (4 float)
185
- RL_SHADER_UNIFORM_INT = 4 # Shader uniform type: int
186
- RL_SHADER_UNIFORM_IVEC2 = 5 # Shader uniform type: ivec2 (2 int)
187
- RL_SHADER_UNIFORM_IVEC3 = 6 # Shader uniform type: ivec3 (3 int)
188
- RL_SHADER_UNIFORM_IVEC4 = 7 # Shader uniform type: ivec4 (4 int)
189
- RL_SHADER_UNIFORM_SAMPLER2D = 8 # Shader uniform type: sampler2d
190
-
191
- # enum rlShaderAttributeDataType
192
- # Shader attribute data types
193
- RL_SHADER_ATTRIB_FLOAT = 0 # Shader attribute type: float
194
- RL_SHADER_ATTRIB_VEC2 = 1 # Shader attribute type: vec2 (2 float)
195
- RL_SHADER_ATTRIB_VEC3 = 2 # Shader attribute type: vec3 (3 float)
196
- RL_SHADER_ATTRIB_VEC4 = 3 # Shader attribute type: vec4 (4 float)
197
-
198
- # enum rlFramebufferAttachType
199
- # Framebuffer attachment type
200
- RL_ATTACHMENT_COLOR_CHANNEL0 = 0 # Framebuffer attachment type: color 0
201
- RL_ATTACHMENT_COLOR_CHANNEL1 = 1 # Framebuffer attachment type: color 1
202
- RL_ATTACHMENT_COLOR_CHANNEL2 = 2 # Framebuffer attachment type: color 2
203
- RL_ATTACHMENT_COLOR_CHANNEL3 = 3 # Framebuffer attachment type: color 3
204
- RL_ATTACHMENT_COLOR_CHANNEL4 = 4 # Framebuffer attachment type: color 4
205
- RL_ATTACHMENT_COLOR_CHANNEL5 = 5 # Framebuffer attachment type: color 5
206
- RL_ATTACHMENT_COLOR_CHANNEL6 = 6 # Framebuffer attachment type: color 6
207
- RL_ATTACHMENT_COLOR_CHANNEL7 = 7 # Framebuffer attachment type: color 7
208
- RL_ATTACHMENT_DEPTH = 100 # Framebuffer attachment type: depth
209
- RL_ATTACHMENT_STENCIL = 200 # Framebuffer attachment type: stencil
210
-
211
- # enum rlFramebufferAttachTextureType
212
- # Framebuffer texture attachment type
213
- RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0 # Framebuffer texture attachment type: cubemap, +X side
214
- RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1 # Framebuffer texture attachment type: cubemap, -X side
215
- RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2 # Framebuffer texture attachment type: cubemap, +Y side
216
- RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3 # Framebuffer texture attachment type: cubemap, -Y side
217
- RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4 # Framebuffer texture attachment type: cubemap, +Z side
218
- RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5 # Framebuffer texture attachment type: cubemap, -Z side
219
- RL_ATTACHMENT_TEXTURE2D = 100 # Framebuffer texture attachment type: texture2d
220
- RL_ATTACHMENT_RENDERBUFFER = 200 # Framebuffer texture attachment type: renderbuffer
221
-
222
- # enum rlCullMode
223
- # Face culling mode
224
- RL_CULL_FACE_FRONT = 0
225
- RL_CULL_FACE_BACK = 1
226
-
227
-
228
- # Typedef
229
-
230
- typedef :int, :rlGlVersion
231
- typedef :int, :rlTraceLogLevel
232
- typedef :int, :rlPixelFormat
233
- typedef :int, :rlTextureFilter
234
- typedef :int, :rlBlendMode
235
- typedef :int, :rlShaderLocationIndex
236
- typedef :int, :rlShaderUniformDataType
237
- typedef :int, :rlShaderAttributeDataType
238
- typedef :int, :rlFramebufferAttachType
239
- typedef :int, :rlFramebufferAttachTextureType
240
- typedef :int, :rlCullMode
241
-
242
- # Struct
243
-
244
- # Dynamic vertex buffers (position + texcoords + colors + indices arrays)
245
- class RlVertexBuffer < FFI::Struct
246
- layout(
247
- :elementCount, :int, # Number of elements in the buffer (QUADS)
248
- :vertices, :pointer, # Vertex position (XYZ - 3 components per vertex) (shader-location = 0)
249
- :texcoords, :pointer, # Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)
250
- :colors, :pointer, # Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)
251
- :indices, :pointer, # Vertex indices (in case vertex data comes indexed) (6 indices per quad)
252
- :vaoId, :uint, # OpenGL Vertex Array Object id
253
- :vboId, [:uint, 4], # OpenGL Vertex Buffer Objects id (4 types of vertex data)
254
- )
255
- def elementCount = self[:elementCount]
256
- def elementCount=(v) self[:elementCount] = v end
257
- def vertices = self[:vertices]
258
- def vertices=(v) self[:vertices] = v end
259
- def texcoords = self[:texcoords]
260
- def texcoords=(v) self[:texcoords] = v end
261
- def colors = self[:colors]
262
- def colors=(v) self[:colors] = v end
263
- def indices = self[:indices]
264
- def indices=(v) self[:indices] = v end
265
- def vaoId = self[:vaoId]
266
- def vaoId=(v) self[:vaoId] = v end
267
- def vboId = self[:vboId]
268
- def vboId=(v) self[:vboId] = v end
269
- end
270
-
271
- # of those state-change happens (this is done in core module)
272
- class RlDrawCall < FFI::Struct
273
- layout(
274
- :mode, :int, # Drawing mode: LINES, TRIANGLES, QUADS
275
- :vertexCount, :int, # Number of vertex of the draw
276
- :vertexAlignment, :int, # Number of vertex required for index alignment (LINES, TRIANGLES)
277
- :textureId, :uint, # Texture id to be used on the draw -> Use to create new draw call if changes
278
- )
279
- def mode = self[:mode]
280
- def mode=(v) self[:mode] = v end
281
- def vertexCount = self[:vertexCount]
282
- def vertexCount=(v) self[:vertexCount] = v end
283
- def vertexAlignment = self[:vertexAlignment]
284
- def vertexAlignment=(v) self[:vertexAlignment] = v end
285
- def textureId = self[:textureId]
286
- def textureId=(v) self[:textureId] = v end
287
- end
288
-
289
- # rlRenderBatch type
290
- class RlRenderBatch < FFI::Struct
291
- layout(
292
- :bufferCount, :int, # Number of vertex buffers (multi-buffering support)
293
- :currentBuffer, :int, # Current buffer tracking in case of multi-buffering
294
- :vertexBuffer, :pointer, # Dynamic buffer(s) for vertex data
295
- :draws, :pointer, # Draw calls array, depends on textureId
296
- :drawCounter, :int, # Draw calls counter
297
- :currentDepth, :float, # Current depth value for next draw
298
- )
299
- def bufferCount = self[:bufferCount]
300
- def bufferCount=(v) self[:bufferCount] = v end
301
- def currentBuffer = self[:currentBuffer]
302
- def currentBuffer=(v) self[:currentBuffer] = v end
303
- def vertexBuffer = self[:vertexBuffer]
304
- def vertexBuffer=(v) self[:vertexBuffer] = v end
305
- def draws = self[:draws]
306
- def draws=(v) self[:draws] = v end
307
- def drawCounter = self[:drawCounter]
308
- def drawCounter=(v) self[:drawCounter] = v end
309
- def currentDepth = self[:currentDepth]
310
- def currentDepth=(v) self[:currentDepth] = v end
311
- end
312
-
313
-
314
- # Function
315
-
316
- def self.setup_rlgl_symbols
317
- entries = [
318
-
319
- # @!method rlMatrixMode(mode)
320
- # rlMatrixMode : Choose the current matrix to be transformed
321
- # @param mode [int]
322
- # @return [void]
323
- [:rlMatrixMode, :rlMatrixMode, [:int], :void],
324
-
325
- # @!method rlPushMatrix()
326
- # rlPushMatrix : Push the current matrix to stack
327
- # @return [void]
328
- [:rlPushMatrix, :rlPushMatrix, [], :void],
329
-
330
- # @!method rlPopMatrix()
331
- # rlPopMatrix : Pop latest inserted matrix from stack
332
- # @return [void]
333
- [:rlPopMatrix, :rlPopMatrix, [], :void],
334
-
335
- # @!method rlLoadIdentity()
336
- # rlLoadIdentity : Reset current matrix to identity matrix
337
- # @return [void]
338
- [:rlLoadIdentity, :rlLoadIdentity, [], :void],
339
-
340
- # @!method rlTranslatef(x, y, z)
341
- # rlTranslatef : Multiply the current matrix by a translation matrix
342
- # @param x [float]
343
- # @param y [float]
344
- # @param z [float]
345
- # @return [void]
346
- [:rlTranslatef, :rlTranslatef, [:float, :float, :float], :void],
347
-
348
- # @!method rlRotatef(angle, x, y, z)
349
- # rlRotatef : Multiply the current matrix by a rotation matrix
350
- # @param angle [float]
351
- # @param x [float]
352
- # @param y [float]
353
- # @param z [float]
354
- # @return [void]
355
- [:rlRotatef, :rlRotatef, [:float, :float, :float, :float], :void],
356
-
357
- # @!method rlScalef(x, y, z)
358
- # rlScalef : Multiply the current matrix by a scaling matrix
359
- # @param x [float]
360
- # @param y [float]
361
- # @param z [float]
362
- # @return [void]
363
- [:rlScalef, :rlScalef, [:float, :float, :float], :void],
364
-
365
- # @!method rlMultMatrixf(matf)
366
- # rlMultMatrixf : Multiply the current matrix by another matrix
367
- # @param matf [const float *]
368
- # @return [void]
369
- [:rlMultMatrixf, :rlMultMatrixf, [:pointer], :void],
370
-
371
- # @!method rlFrustum(left, right, bottom, top, znear, zfar)
372
- # rlFrustum
373
- # @param left [double]
374
- # @param right [double]
375
- # @param bottom [double]
376
- # @param top [double]
377
- # @param znear [double]
378
- # @param zfar [double]
379
- # @return [void]
380
- [:rlFrustum, :rlFrustum, [:double, :double, :double, :double, :double, :double], :void],
381
-
382
- # @!method rlOrtho(left, right, bottom, top, znear, zfar)
383
- # rlOrtho
384
- # @param left [double]
385
- # @param right [double]
386
- # @param bottom [double]
387
- # @param top [double]
388
- # @param znear [double]
389
- # @param zfar [double]
390
- # @return [void]
391
- [:rlOrtho, :rlOrtho, [:double, :double, :double, :double, :double, :double], :void],
392
-
393
- # @!method rlViewport(x, y, width, height)
394
- # rlViewport : Set the viewport area
395
- # @param x [int]
396
- # @param y [int]
397
- # @param width [int]
398
- # @param height [int]
399
- # @return [void]
400
- [:rlViewport, :rlViewport, [:int, :int, :int, :int], :void],
401
-
402
- # @!method rlBegin(mode)
403
- # rlBegin : Initialize drawing mode (how to organize vertex)
404
- # @param mode [int]
405
- # @return [void]
406
- [:rlBegin, :rlBegin, [:int], :void],
407
-
408
- # @!method rlEnd()
409
- # rlEnd : Finish vertex providing
410
- # @return [void]
411
- [:rlEnd, :rlEnd, [], :void],
412
-
413
- # @!method rlVertex2i(x, y)
414
- # rlVertex2i : Define one vertex (position) - 2 int
415
- # @param x [int]
416
- # @param y [int]
417
- # @return [void]
418
- [:rlVertex2i, :rlVertex2i, [:int, :int], :void],
419
-
420
- # @!method rlVertex2f(x, y)
421
- # rlVertex2f : Define one vertex (position) - 2 float
422
- # @param x [float]
423
- # @param y [float]
424
- # @return [void]
425
- [:rlVertex2f, :rlVertex2f, [:float, :float], :void],
426
-
427
- # @!method rlVertex3f(x, y, z)
428
- # rlVertex3f : Define one vertex (position) - 3 float
429
- # @param x [float]
430
- # @param y [float]
431
- # @param z [float]
432
- # @return [void]
433
- [:rlVertex3f, :rlVertex3f, [:float, :float, :float], :void],
434
-
435
- # @!method rlTexCoord2f(x, y)
436
- # rlTexCoord2f : Define one vertex (texture coordinate) - 2 float
437
- # @param x [float]
438
- # @param y [float]
439
- # @return [void]
440
- [:rlTexCoord2f, :rlTexCoord2f, [:float, :float], :void],
441
-
442
- # @!method rlNormal3f(x, y, z)
443
- # rlNormal3f : Define one vertex (normal) - 3 float
444
- # @param x [float]
445
- # @param y [float]
446
- # @param z [float]
447
- # @return [void]
448
- [:rlNormal3f, :rlNormal3f, [:float, :float, :float], :void],
449
-
450
- # @!method rlColor4ub(r, g, b, a)
451
- # rlColor4ub : Define one vertex (color) - 4 byte
452
- # @param r [unsigned char]
453
- # @param g [unsigned char]
454
- # @param b [unsigned char]
455
- # @param a [unsigned char]
456
- # @return [void]
457
- [:rlColor4ub, :rlColor4ub, [:uchar, :uchar, :uchar, :uchar], :void],
458
-
459
- # @!method rlColor3f(x, y, z)
460
- # rlColor3f : Define one vertex (color) - 3 float
461
- # @param x [float]
462
- # @param y [float]
463
- # @param z [float]
464
- # @return [void]
465
- [:rlColor3f, :rlColor3f, [:float, :float, :float], :void],
466
-
467
- # @!method rlColor4f(x, y, z, w)
468
- # rlColor4f : Define one vertex (color) - 4 float
469
- # @param x [float]
470
- # @param y [float]
471
- # @param z [float]
472
- # @param w [float]
473
- # @return [void]
474
- [:rlColor4f, :rlColor4f, [:float, :float, :float, :float], :void],
475
-
476
- # @!method rlEnableVertexArray(vaoId)
477
- # rlEnableVertexArray : Enable vertex array (VAO, if supported)
478
- # @param vaoId [unsigned int]
479
- # @return [bool]
480
- [:rlEnableVertexArray, :rlEnableVertexArray, [:uint], :bool],
481
-
482
- # @!method rlDisableVertexArray()
483
- # rlDisableVertexArray : Disable vertex array (VAO, if supported)
484
- # @return [void]
485
- [:rlDisableVertexArray, :rlDisableVertexArray, [], :void],
486
-
487
- # @!method rlEnableVertexBuffer(id)
488
- # rlEnableVertexBuffer : Enable vertex buffer (VBO)
489
- # @param id [unsigned int]
490
- # @return [void]
491
- [:rlEnableVertexBuffer, :rlEnableVertexBuffer, [:uint], :void],
492
-
493
- # @!method rlDisableVertexBuffer()
494
- # rlDisableVertexBuffer : Disable vertex buffer (VBO)
495
- # @return [void]
496
- [:rlDisableVertexBuffer, :rlDisableVertexBuffer, [], :void],
497
-
498
- # @!method rlEnableVertexBufferElement(id)
499
- # rlEnableVertexBufferElement : Enable vertex buffer element (VBO element)
500
- # @param id [unsigned int]
501
- # @return [void]
502
- [:rlEnableVertexBufferElement, :rlEnableVertexBufferElement, [:uint], :void],
503
-
504
- # @!method rlDisableVertexBufferElement()
505
- # rlDisableVertexBufferElement : Disable vertex buffer element (VBO element)
506
- # @return [void]
507
- [:rlDisableVertexBufferElement, :rlDisableVertexBufferElement, [], :void],
508
-
509
- # @!method rlEnableVertexAttribute(index)
510
- # rlEnableVertexAttribute : Enable vertex attribute index
511
- # @param index [unsigned int]
512
- # @return [void]
513
- [:rlEnableVertexAttribute, :rlEnableVertexAttribute, [:uint], :void],
514
-
515
- # @!method rlDisableVertexAttribute(index)
516
- # rlDisableVertexAttribute : Disable vertex attribute index
517
- # @param index [unsigned int]
518
- # @return [void]
519
- [:rlDisableVertexAttribute, :rlDisableVertexAttribute, [:uint], :void],
520
-
521
- # @!method rlActiveTextureSlot(slot)
522
- # rlActiveTextureSlot : Select and active a texture slot
523
- # @param slot [int]
524
- # @return [void]
525
- [:rlActiveTextureSlot, :rlActiveTextureSlot, [:int], :void],
526
-
527
- # @!method rlEnableTexture(id)
528
- # rlEnableTexture : Enable texture
529
- # @param id [unsigned int]
530
- # @return [void]
531
- [:rlEnableTexture, :rlEnableTexture, [:uint], :void],
532
-
533
- # @!method rlDisableTexture()
534
- # rlDisableTexture : Disable texture
535
- # @return [void]
536
- [:rlDisableTexture, :rlDisableTexture, [], :void],
537
-
538
- # @!method rlEnableTextureCubemap(id)
539
- # rlEnableTextureCubemap : Enable texture cubemap
540
- # @param id [unsigned int]
541
- # @return [void]
542
- [:rlEnableTextureCubemap, :rlEnableTextureCubemap, [:uint], :void],
543
-
544
- # @!method rlDisableTextureCubemap()
545
- # rlDisableTextureCubemap : Disable texture cubemap
546
- # @return [void]
547
- [:rlDisableTextureCubemap, :rlDisableTextureCubemap, [], :void],
548
-
549
- # @!method rlTextureParameters(id, param, value)
550
- # rlTextureParameters : Set texture parameters (filter, wrap)
551
- # @param id [unsigned int]
552
- # @param param [int]
553
- # @param value [int]
554
- # @return [void]
555
- [:rlTextureParameters, :rlTextureParameters, [:uint, :int, :int], :void],
556
-
557
- # @!method rlCubemapParameters(id, param, value)
558
- # rlCubemapParameters : Set cubemap parameters (filter, wrap)
559
- # @param id [unsigned int]
560
- # @param param [int]
561
- # @param value [int]
562
- # @return [void]
563
- [:rlCubemapParameters, :rlCubemapParameters, [:uint, :int, :int], :void],
564
-
565
- # @!method rlEnableShader(id)
566
- # rlEnableShader : Enable shader program
567
- # @param id [unsigned int]
568
- # @return [void]
569
- [:rlEnableShader, :rlEnableShader, [:uint], :void],
570
-
571
- # @!method rlDisableShader()
572
- # rlDisableShader : Disable shader program
573
- # @return [void]
574
- [:rlDisableShader, :rlDisableShader, [], :void],
575
-
576
- # @!method rlEnableFramebuffer(id)
577
- # rlEnableFramebuffer : Enable render texture (fbo)
578
- # @param id [unsigned int]
579
- # @return [void]
580
- [:rlEnableFramebuffer, :rlEnableFramebuffer, [:uint], :void],
581
-
582
- # @!method rlDisableFramebuffer()
583
- # rlDisableFramebuffer : Disable render texture (fbo), return to default framebuffer
584
- # @return [void]
585
- [:rlDisableFramebuffer, :rlDisableFramebuffer, [], :void],
586
-
587
- # @!method rlActiveDrawBuffers(count)
588
- # rlActiveDrawBuffers : Activate multiple draw color buffers
589
- # @param count [int]
590
- # @return [void]
591
- [:rlActiveDrawBuffers, :rlActiveDrawBuffers, [:int], :void],
592
-
593
- # @!method rlBlitFramebuffer(srcX, srcY, srcWidth, srcHeight, dstX, dstY, dstWidth, dstHeight, bufferMask)
594
- # rlBlitFramebuffer : Blit active framebuffer to main framebuffer
595
- # @param srcX [int]
596
- # @param srcY [int]
597
- # @param srcWidth [int]
598
- # @param srcHeight [int]
599
- # @param dstX [int]
600
- # @param dstY [int]
601
- # @param dstWidth [int]
602
- # @param dstHeight [int]
603
- # @param bufferMask [int]
604
- # @return [void]
605
- [:rlBlitFramebuffer, :rlBlitFramebuffer, [:int, :int, :int, :int, :int, :int, :int, :int, :int], :void],
606
-
607
- # @!method rlEnableColorBlend()
608
- # rlEnableColorBlend : Enable color blending
609
- # @return [void]
610
- [:rlEnableColorBlend, :rlEnableColorBlend, [], :void],
611
-
612
- # @!method rlDisableColorBlend()
613
- # rlDisableColorBlend : Disable color blending
614
- # @return [void]
615
- [:rlDisableColorBlend, :rlDisableColorBlend, [], :void],
616
-
617
- # @!method rlEnableDepthTest()
618
- # rlEnableDepthTest : Enable depth test
619
- # @return [void]
620
- [:rlEnableDepthTest, :rlEnableDepthTest, [], :void],
621
-
622
- # @!method rlDisableDepthTest()
623
- # rlDisableDepthTest : Disable depth test
624
- # @return [void]
625
- [:rlDisableDepthTest, :rlDisableDepthTest, [], :void],
626
-
627
- # @!method rlEnableDepthMask()
628
- # rlEnableDepthMask : Enable depth write
629
- # @return [void]
630
- [:rlEnableDepthMask, :rlEnableDepthMask, [], :void],
631
-
632
- # @!method rlDisableDepthMask()
633
- # rlDisableDepthMask : Disable depth write
634
- # @return [void]
635
- [:rlDisableDepthMask, :rlDisableDepthMask, [], :void],
636
-
637
- # @!method rlEnableBackfaceCulling()
638
- # rlEnableBackfaceCulling : Enable backface culling
639
- # @return [void]
640
- [:rlEnableBackfaceCulling, :rlEnableBackfaceCulling, [], :void],
641
-
642
- # @!method rlDisableBackfaceCulling()
643
- # rlDisableBackfaceCulling : Disable backface culling
644
- # @return [void]
645
- [:rlDisableBackfaceCulling, :rlDisableBackfaceCulling, [], :void],
646
-
647
- # @!method rlSetCullFace(mode)
648
- # rlSetCullFace : Set face culling mode
649
- # @param mode [int]
650
- # @return [void]
651
- [:rlSetCullFace, :rlSetCullFace, [:int], :void],
652
-
653
- # @!method rlEnableScissorTest()
654
- # rlEnableScissorTest : Enable scissor test
655
- # @return [void]
656
- [:rlEnableScissorTest, :rlEnableScissorTest, [], :void],
657
-
658
- # @!method rlDisableScissorTest()
659
- # rlDisableScissorTest : Disable scissor test
660
- # @return [void]
661
- [:rlDisableScissorTest, :rlDisableScissorTest, [], :void],
662
-
663
- # @!method rlScissor(x, y, width, height)
664
- # rlScissor : Scissor test
665
- # @param x [int]
666
- # @param y [int]
667
- # @param width [int]
668
- # @param height [int]
669
- # @return [void]
670
- [:rlScissor, :rlScissor, [:int, :int, :int, :int], :void],
671
-
672
- # @!method rlEnableWireMode()
673
- # rlEnableWireMode : Enable wire mode
674
- # @return [void]
675
- [:rlEnableWireMode, :rlEnableWireMode, [], :void],
676
-
677
- # @!method rlEnablePointMode()
678
- # rlEnablePointMode : Enable point mode
679
- # @return [void]
680
- [:rlEnablePointMode, :rlEnablePointMode, [], :void],
681
-
682
- # @!method rlDisableWireMode()
683
- # rlDisableWireMode : Disable wire mode ( and point ) maybe rename
684
- # @return [void]
685
- [:rlDisableWireMode, :rlDisableWireMode, [], :void],
686
-
687
- # @!method rlSetLineWidth(width)
688
- # rlSetLineWidth : Set the line drawing width
689
- # @param width [float]
690
- # @return [void]
691
- [:rlSetLineWidth, :rlSetLineWidth, [:float], :void],
692
-
693
- # @!method rlGetLineWidth()
694
- # rlGetLineWidth : Get the line drawing width
695
- # @return [float]
696
- [:rlGetLineWidth, :rlGetLineWidth, [], :float],
697
-
698
- # @!method rlEnableSmoothLines()
699
- # rlEnableSmoothLines : Enable line aliasing
700
- # @return [void]
701
- [:rlEnableSmoothLines, :rlEnableSmoothLines, [], :void],
702
-
703
- # @!method rlDisableSmoothLines()
704
- # rlDisableSmoothLines : Disable line aliasing
705
- # @return [void]
706
- [:rlDisableSmoothLines, :rlDisableSmoothLines, [], :void],
707
-
708
- # @!method rlEnableStereoRender()
709
- # rlEnableStereoRender : Enable stereo rendering
710
- # @return [void]
711
- [:rlEnableStereoRender, :rlEnableStereoRender, [], :void],
712
-
713
- # @!method rlDisableStereoRender()
714
- # rlDisableStereoRender : Disable stereo rendering
715
- # @return [void]
716
- [:rlDisableStereoRender, :rlDisableStereoRender, [], :void],
717
-
718
- # @!method rlIsStereoRenderEnabled()
719
- # rlIsStereoRenderEnabled : Check if stereo render is enabled
720
- # @return [bool]
721
- [:rlIsStereoRenderEnabled, :rlIsStereoRenderEnabled, [], :bool],
722
-
723
- # @!method rlClearColor(r, g, b, a)
724
- # rlClearColor : Clear color buffer with color
725
- # @param r [unsigned char]
726
- # @param g [unsigned char]
727
- # @param b [unsigned char]
728
- # @param a [unsigned char]
729
- # @return [void]
730
- [:rlClearColor, :rlClearColor, [:uchar, :uchar, :uchar, :uchar], :void],
731
-
732
- # @!method rlClearScreenBuffers()
733
- # rlClearScreenBuffers : Clear used screen buffers (color and depth)
734
- # @return [void]
735
- [:rlClearScreenBuffers, :rlClearScreenBuffers, [], :void],
736
-
737
- # @!method rlCheckErrors()
738
- # rlCheckErrors : Check and log OpenGL error codes
739
- # @return [void]
740
- [:rlCheckErrors, :rlCheckErrors, [], :void],
741
-
742
- # @!method rlSetBlendMode(mode)
743
- # rlSetBlendMode : Set blending mode
744
- # @param mode [int]
745
- # @return [void]
746
- [:rlSetBlendMode, :rlSetBlendMode, [:int], :void],
747
-
748
- # @!method rlSetBlendFactors(glSrcFactor, glDstFactor, glEquation)
749
- # rlSetBlendFactors : Set blending mode factor and equation (using OpenGL factors)
750
- # @param glSrcFactor [int]
751
- # @param glDstFactor [int]
752
- # @param glEquation [int]
753
- # @return [void]
754
- [:rlSetBlendFactors, :rlSetBlendFactors, [:int, :int, :int], :void],
755
-
756
- # @!method rlSetBlendFactorsSeparate(glSrcRGB, glDstRGB, glSrcAlpha, glDstAlpha, glEqRGB, glEqAlpha)
757
- # rlSetBlendFactorsSeparate : Set blending mode factors and equations separately (using OpenGL factors)
758
- # @param glSrcRGB [int]
759
- # @param glDstRGB [int]
760
- # @param glSrcAlpha [int]
761
- # @param glDstAlpha [int]
762
- # @param glEqRGB [int]
763
- # @param glEqAlpha [int]
764
- # @return [void]
765
- [:rlSetBlendFactorsSeparate, :rlSetBlendFactorsSeparate, [:int, :int, :int, :int, :int, :int], :void],
766
-
767
- # @!method rlglInit(width, height)
768
- # rlglInit : Initialize rlgl (buffers, shaders, textures, states)
769
- # @param width [int]
770
- # @param height [int]
771
- # @return [void]
772
- [:rlglInit, :rlglInit, [:int, :int], :void],
773
-
774
- # @!method rlglClose()
775
- # rlglClose : De-initialize rlgl (buffers, shaders, textures)
776
- # @return [void]
777
- [:rlglClose, :rlglClose, [], :void],
778
-
779
- # @!method rlLoadExtensions(loader)
780
- # rlLoadExtensions : Load OpenGL extensions (loader function required)
781
- # @param loader [void *]
782
- # @return [void]
783
- [:rlLoadExtensions, :rlLoadExtensions, [:pointer], :void],
784
-
785
- # @!method rlGetVersion()
786
- # rlGetVersion : Get current OpenGL version
787
- # @return [int]
788
- [:rlGetVersion, :rlGetVersion, [], :int],
789
-
790
- # @!method rlSetFramebufferWidth(width)
791
- # rlSetFramebufferWidth : Set current framebuffer width
792
- # @param width [int]
793
- # @return [void]
794
- [:rlSetFramebufferWidth, :rlSetFramebufferWidth, [:int], :void],
795
-
796
- # @!method rlGetFramebufferWidth()
797
- # rlGetFramebufferWidth : Get default framebuffer width
798
- # @return [int]
799
- [:rlGetFramebufferWidth, :rlGetFramebufferWidth, [], :int],
800
-
801
- # @!method rlSetFramebufferHeight(height)
802
- # rlSetFramebufferHeight : Set current framebuffer height
803
- # @param height [int]
804
- # @return [void]
805
- [:rlSetFramebufferHeight, :rlSetFramebufferHeight, [:int], :void],
806
-
807
- # @!method rlGetFramebufferHeight()
808
- # rlGetFramebufferHeight : Get default framebuffer height
809
- # @return [int]
810
- [:rlGetFramebufferHeight, :rlGetFramebufferHeight, [], :int],
811
-
812
- # @!method rlGetTextureIdDefault()
813
- # rlGetTextureIdDefault : Get default texture id
814
- # @return [unsigned int]
815
- [:rlGetTextureIdDefault, :rlGetTextureIdDefault, [], :uint],
816
-
817
- # @!method rlGetShaderIdDefault()
818
- # rlGetShaderIdDefault : Get default shader id
819
- # @return [unsigned int]
820
- [:rlGetShaderIdDefault, :rlGetShaderIdDefault, [], :uint],
821
-
822
- # @!method rlGetShaderLocsDefault()
823
- # rlGetShaderLocsDefault : Get default shader locations
824
- # @return [int *]
825
- [:rlGetShaderLocsDefault, :rlGetShaderLocsDefault, [], :pointer],
826
-
827
- # @!method rlLoadRenderBatch(numBuffers, bufferElements)
828
- # rlLoadRenderBatch : Load a render batch system
829
- # @param numBuffers [int]
830
- # @param bufferElements [int]
831
- # @return [rlRenderBatch]
832
- [:rlLoadRenderBatch, :rlLoadRenderBatch, [:int, :int], RlRenderBatch.by_value],
833
-
834
- # @!method rlUnloadRenderBatch(batch)
835
- # rlUnloadRenderBatch : Unload render batch system
836
- # @param batch [rlRenderBatch]
837
- # @return [void]
838
- [:rlUnloadRenderBatch, :rlUnloadRenderBatch, [RlRenderBatch.by_value], :void],
839
-
840
- # @!method rlDrawRenderBatch(batch)
841
- # rlDrawRenderBatch : Draw render batch data (Update->Draw->Reset)
842
- # @param batch [rlRenderBatch *]
843
- # @return [void]
844
- [:rlDrawRenderBatch, :rlDrawRenderBatch, [:pointer], :void],
845
-
846
- # @!method rlSetRenderBatchActive(batch)
847
- # rlSetRenderBatchActive : Set the active render batch for rlgl (NULL for default internal)
848
- # @param batch [rlRenderBatch *]
849
- # @return [void]
850
- [:rlSetRenderBatchActive, :rlSetRenderBatchActive, [:pointer], :void],
851
-
852
- # @!method rlDrawRenderBatchActive()
853
- # rlDrawRenderBatchActive : Update and draw internal render batch
854
- # @return [void]
855
- [:rlDrawRenderBatchActive, :rlDrawRenderBatchActive, [], :void],
856
-
857
- # @!method rlCheckRenderBatchLimit(vCount)
858
- # rlCheckRenderBatchLimit : Check internal buffer overflow for a given number of vertex
859
- # @param vCount [int]
860
- # @return [bool]
861
- [:rlCheckRenderBatchLimit, :rlCheckRenderBatchLimit, [:int], :bool],
862
-
863
- # @!method rlSetTexture(id)
864
- # rlSetTexture : Set current texture for render batch and check buffers limits
865
- # @param id [unsigned int]
866
- # @return [void]
867
- [:rlSetTexture, :rlSetTexture, [:uint], :void],
868
-
869
- # @!method rlLoadVertexArray()
870
- # rlLoadVertexArray : Load vertex array (vao) if supported
871
- # @return [unsigned int]
872
- [:rlLoadVertexArray, :rlLoadVertexArray, [], :uint],
873
-
874
- # @!method rlLoadVertexBuffer(buffer, size, dynamic)
875
- # rlLoadVertexBuffer : Load a vertex buffer attribute
876
- # @param buffer [const void *]
877
- # @param size [int]
878
- # @param dynamic [bool]
879
- # @return [unsigned int]
880
- [:rlLoadVertexBuffer, :rlLoadVertexBuffer, [:pointer, :int, :bool], :uint],
881
-
882
- # @!method rlLoadVertexBufferElement(buffer, size, dynamic)
883
- # rlLoadVertexBufferElement : Load a new attributes element buffer
884
- # @param buffer [const void *]
885
- # @param size [int]
886
- # @param dynamic [bool]
887
- # @return [unsigned int]
888
- [:rlLoadVertexBufferElement, :rlLoadVertexBufferElement, [:pointer, :int, :bool], :uint],
889
-
890
- # @!method rlUpdateVertexBuffer(bufferId, data, dataSize, offset)
891
- # rlUpdateVertexBuffer : Update GPU buffer with new data
892
- # @param bufferId [unsigned int]
893
- # @param data [const void *]
894
- # @param dataSize [int]
895
- # @param offset [int]
896
- # @return [void]
897
- [:rlUpdateVertexBuffer, :rlUpdateVertexBuffer, [:uint, :pointer, :int, :int], :void],
898
-
899
- # @!method rlUpdateVertexBufferElements(id, data, dataSize, offset)
900
- # rlUpdateVertexBufferElements : Update vertex buffer elements with new data
901
- # @param id [unsigned int]
902
- # @param data [const void *]
903
- # @param dataSize [int]
904
- # @param offset [int]
905
- # @return [void]
906
- [:rlUpdateVertexBufferElements, :rlUpdateVertexBufferElements, [:uint, :pointer, :int, :int], :void],
907
-
908
- # @!method rlUnloadVertexArray(vaoId)
909
- # rlUnloadVertexArray
910
- # @param vaoId [unsigned int]
911
- # @return [void]
912
- [:rlUnloadVertexArray, :rlUnloadVertexArray, [:uint], :void],
913
-
914
- # @!method rlUnloadVertexBuffer(vboId)
915
- # rlUnloadVertexBuffer
916
- # @param vboId [unsigned int]
917
- # @return [void]
918
- [:rlUnloadVertexBuffer, :rlUnloadVertexBuffer, [:uint], :void],
919
-
920
- # @!method rlSetVertexAttribute(index, compSize, type, normalized, stride, pointer)
921
- # rlSetVertexAttribute
922
- # @param index [unsigned int]
923
- # @param compSize [int]
924
- # @param type [int]
925
- # @param normalized [bool]
926
- # @param stride [int]
927
- # @param pointer [const void *]
928
- # @return [void]
929
- [:rlSetVertexAttribute, :rlSetVertexAttribute, [:uint, :int, :int, :bool, :int, :pointer], :void],
930
-
931
- # @!method rlSetVertexAttributeDivisor(index, divisor)
932
- # rlSetVertexAttributeDivisor
933
- # @param index [unsigned int]
934
- # @param divisor [int]
935
- # @return [void]
936
- [:rlSetVertexAttributeDivisor, :rlSetVertexAttributeDivisor, [:uint, :int], :void],
937
-
938
- # @!method rlSetVertexAttributeDefault(locIndex, value, attribType, count)
939
- # rlSetVertexAttributeDefault : Set vertex attribute default value
940
- # @param locIndex [int]
941
- # @param value [const void *]
942
- # @param attribType [int]
943
- # @param count [int]
944
- # @return [void]
945
- [:rlSetVertexAttributeDefault, :rlSetVertexAttributeDefault, [:int, :pointer, :int, :int], :void],
946
-
947
- # @!method rlDrawVertexArray(offset, count)
948
- # rlDrawVertexArray
949
- # @param offset [int]
950
- # @param count [int]
951
- # @return [void]
952
- [:rlDrawVertexArray, :rlDrawVertexArray, [:int, :int], :void],
953
-
954
- # @!method rlDrawVertexArrayElements(offset, count, buffer)
955
- # rlDrawVertexArrayElements
956
- # @param offset [int]
957
- # @param count [int]
958
- # @param buffer [const void *]
959
- # @return [void]
960
- [:rlDrawVertexArrayElements, :rlDrawVertexArrayElements, [:int, :int, :pointer], :void],
961
-
962
- # @!method rlDrawVertexArrayInstanced(offset, count, instances)
963
- # rlDrawVertexArrayInstanced
964
- # @param offset [int]
965
- # @param count [int]
966
- # @param instances [int]
967
- # @return [void]
968
- [:rlDrawVertexArrayInstanced, :rlDrawVertexArrayInstanced, [:int, :int, :int], :void],
969
-
970
- # @!method rlDrawVertexArrayElementsInstanced(offset, count, buffer, instances)
971
- # rlDrawVertexArrayElementsInstanced
972
- # @param offset [int]
973
- # @param count [int]
974
- # @param buffer [const void *]
975
- # @param instances [int]
976
- # @return [void]
977
- [:rlDrawVertexArrayElementsInstanced, :rlDrawVertexArrayElementsInstanced, [:int, :int, :pointer, :int], :void],
978
-
979
- # @!method rlLoadTexture(data, width, height, format, mipmapCount)
980
- # rlLoadTexture : Load texture in GPU
981
- # @param data [const void *]
982
- # @param width [int]
983
- # @param height [int]
984
- # @param format [int]
985
- # @param mipmapCount [int]
986
- # @return [unsigned int]
987
- [:rlLoadTexture, :rlLoadTexture, [:pointer, :int, :int, :int, :int], :uint],
988
-
989
- # @!method rlLoadTextureDepth(width, height, useRenderBuffer)
990
- # rlLoadTextureDepth : Load depth texture/renderbuffer (to be attached to fbo)
991
- # @param width [int]
992
- # @param height [int]
993
- # @param useRenderBuffer [bool]
994
- # @return [unsigned int]
995
- [:rlLoadTextureDepth, :rlLoadTextureDepth, [:int, :int, :bool], :uint],
996
-
997
- # @!method rlLoadTextureCubemap(data, size, format)
998
- # rlLoadTextureCubemap : Load texture cubemap
999
- # @param data [const void *]
1000
- # @param size [int]
1001
- # @param format [int]
1002
- # @return [unsigned int]
1003
- [:rlLoadTextureCubemap, :rlLoadTextureCubemap, [:pointer, :int, :int], :uint],
1004
-
1005
- # @!method rlUpdateTexture(id, offsetX, offsetY, width, height, format, data)
1006
- # rlUpdateTexture : Update GPU texture with new data
1007
- # @param id [unsigned int]
1008
- # @param offsetX [int]
1009
- # @param offsetY [int]
1010
- # @param width [int]
1011
- # @param height [int]
1012
- # @param format [int]
1013
- # @param data [const void *]
1014
- # @return [void]
1015
- [:rlUpdateTexture, :rlUpdateTexture, [:uint, :int, :int, :int, :int, :int, :pointer], :void],
1016
-
1017
- # @!method rlGetGlTextureFormats(format, glInternalFormat, glFormat, glType)
1018
- # rlGetGlTextureFormats : Get OpenGL internal formats
1019
- # @param format [int]
1020
- # @param glInternalFormat [unsigned int *]
1021
- # @param glFormat [unsigned int *]
1022
- # @param glType [unsigned int *]
1023
- # @return [void]
1024
- [:rlGetGlTextureFormats, :rlGetGlTextureFormats, [:int, :pointer, :pointer, :pointer], :void],
1025
-
1026
- # @!method rlGetPixelFormatName(format)
1027
- # rlGetPixelFormatName : Get name string for pixel format
1028
- # @param format [unsigned int]
1029
- # @return [const char *]
1030
- [:rlGetPixelFormatName, :rlGetPixelFormatName, [:uint], :pointer],
1031
-
1032
- # @!method rlUnloadTexture(id)
1033
- # rlUnloadTexture : Unload texture from GPU memory
1034
- # @param id [unsigned int]
1035
- # @return [void]
1036
- [:rlUnloadTexture, :rlUnloadTexture, [:uint], :void],
1037
-
1038
- # @!method rlGenTextureMipmaps(id, width, height, format, mipmaps)
1039
- # rlGenTextureMipmaps : Generate mipmap data for selected texture
1040
- # @param id [unsigned int]
1041
- # @param width [int]
1042
- # @param height [int]
1043
- # @param format [int]
1044
- # @param mipmaps [int *]
1045
- # @return [void]
1046
- [:rlGenTextureMipmaps, :rlGenTextureMipmaps, [:uint, :int, :int, :int, :pointer], :void],
1047
-
1048
- # @!method rlReadTexturePixels(id, width, height, format)
1049
- # rlReadTexturePixels : Read texture pixel data
1050
- # @param id [unsigned int]
1051
- # @param width [int]
1052
- # @param height [int]
1053
- # @param format [int]
1054
- # @return [void *]
1055
- [:rlReadTexturePixels, :rlReadTexturePixels, [:uint, :int, :int, :int], :pointer],
1056
-
1057
- # @!method rlReadScreenPixels(width, height)
1058
- # rlReadScreenPixels : Read screen pixel data (color buffer)
1059
- # @param width [int]
1060
- # @param height [int]
1061
- # @return [unsigned char *]
1062
- [:rlReadScreenPixels, :rlReadScreenPixels, [:int, :int], :pointer],
1063
-
1064
- # @!method rlLoadFramebuffer(width, height)
1065
- # rlLoadFramebuffer : Load an empty framebuffer
1066
- # @param width [int]
1067
- # @param height [int]
1068
- # @return [unsigned int]
1069
- [:rlLoadFramebuffer, :rlLoadFramebuffer, [:int, :int], :uint],
1070
-
1071
- # @!method rlFramebufferAttach(fboId, texId, attachType, texType, mipLevel)
1072
- # rlFramebufferAttach : Attach texture/renderbuffer to a framebuffer
1073
- # @param fboId [unsigned int]
1074
- # @param texId [unsigned int]
1075
- # @param attachType [int]
1076
- # @param texType [int]
1077
- # @param mipLevel [int]
1078
- # @return [void]
1079
- [:rlFramebufferAttach, :rlFramebufferAttach, [:uint, :uint, :int, :int, :int], :void],
1080
-
1081
- # @!method rlFramebufferComplete(id)
1082
- # rlFramebufferComplete : Verify framebuffer is complete
1083
- # @param id [unsigned int]
1084
- # @return [bool]
1085
- [:rlFramebufferComplete, :rlFramebufferComplete, [:uint], :bool],
1086
-
1087
- # @!method rlUnloadFramebuffer(id)
1088
- # rlUnloadFramebuffer : Delete framebuffer from GPU
1089
- # @param id [unsigned int]
1090
- # @return [void]
1091
- [:rlUnloadFramebuffer, :rlUnloadFramebuffer, [:uint], :void],
1092
-
1093
- # @!method rlLoadShaderCode(vsCode, fsCode)
1094
- # rlLoadShaderCode : Load shader from code strings
1095
- # @param vsCode [const char *]
1096
- # @param fsCode [const char *]
1097
- # @return [unsigned int]
1098
- [:rlLoadShaderCode, :rlLoadShaderCode, [:pointer, :pointer], :uint],
1099
-
1100
- # @!method rlCompileShader(shaderCode, type)
1101
- # rlCompileShader : Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
1102
- # @param shaderCode [const char *]
1103
- # @param type [int]
1104
- # @return [unsigned int]
1105
- [:rlCompileShader, :rlCompileShader, [:pointer, :int], :uint],
1106
-
1107
- # @!method rlLoadShaderProgram(vShaderId, fShaderId)
1108
- # rlLoadShaderProgram : Load custom shader program
1109
- # @param vShaderId [unsigned int]
1110
- # @param fShaderId [unsigned int]
1111
- # @return [unsigned int]
1112
- [:rlLoadShaderProgram, :rlLoadShaderProgram, [:uint, :uint], :uint],
1113
-
1114
- # @!method rlUnloadShaderProgram(id)
1115
- # rlUnloadShaderProgram : Unload shader program
1116
- # @param id [unsigned int]
1117
- # @return [void]
1118
- [:rlUnloadShaderProgram, :rlUnloadShaderProgram, [:uint], :void],
1119
-
1120
- # @!method rlGetLocationUniform(shaderId, uniformName)
1121
- # rlGetLocationUniform : Get shader location uniform
1122
- # @param shaderId [unsigned int]
1123
- # @param uniformName [const char *]
1124
- # @return [int]
1125
- [:rlGetLocationUniform, :rlGetLocationUniform, [:uint, :pointer], :int],
1126
-
1127
- # @!method rlGetLocationAttrib(shaderId, attribName)
1128
- # rlGetLocationAttrib : Get shader location attribute
1129
- # @param shaderId [unsigned int]
1130
- # @param attribName [const char *]
1131
- # @return [int]
1132
- [:rlGetLocationAttrib, :rlGetLocationAttrib, [:uint, :pointer], :int],
1133
-
1134
- # @!method rlSetUniform(locIndex, value, uniformType, count)
1135
- # rlSetUniform : Set shader value uniform
1136
- # @param locIndex [int]
1137
- # @param value [const void *]
1138
- # @param uniformType [int]
1139
- # @param count [int]
1140
- # @return [void]
1141
- [:rlSetUniform, :rlSetUniform, [:int, :pointer, :int, :int], :void],
1142
-
1143
- # @!method rlSetUniformMatrix(locIndex, mat)
1144
- # rlSetUniformMatrix : Set shader value matrix
1145
- # @param locIndex [int]
1146
- # @param mat [Matrix]
1147
- # @return [void]
1148
- [:rlSetUniformMatrix, :rlSetUniformMatrix, [:int, Matrix.by_value], :void],
1149
-
1150
- # @!method rlSetUniformSampler(locIndex, textureId)
1151
- # rlSetUniformSampler : Set shader value sampler
1152
- # @param locIndex [int]
1153
- # @param textureId [unsigned int]
1154
- # @return [void]
1155
- [:rlSetUniformSampler, :rlSetUniformSampler, [:int, :uint], :void],
1156
-
1157
- # @!method rlSetShader(id, locs)
1158
- # rlSetShader : Set shader currently active (id and locations)
1159
- # @param id [unsigned int]
1160
- # @param locs [int *]
1161
- # @return [void]
1162
- [:rlSetShader, :rlSetShader, [:uint, :pointer], :void],
1163
-
1164
- # @!method rlLoadComputeShaderProgram(shaderId)
1165
- # rlLoadComputeShaderProgram : Load compute shader program
1166
- # @param shaderId [unsigned int]
1167
- # @return [unsigned int]
1168
- [:rlLoadComputeShaderProgram, :rlLoadComputeShaderProgram, [:uint], :uint],
1169
-
1170
- # @!method rlComputeShaderDispatch(groupX, groupY, groupZ)
1171
- # rlComputeShaderDispatch : Dispatch compute shader (equivalent to *draw* for graphics pipeline)
1172
- # @param groupX [unsigned int]
1173
- # @param groupY [unsigned int]
1174
- # @param groupZ [unsigned int]
1175
- # @return [void]
1176
- [:rlComputeShaderDispatch, :rlComputeShaderDispatch, [:uint, :uint, :uint], :void],
1177
-
1178
- # @!method rlLoadShaderBuffer(size, data, usageHint)
1179
- # rlLoadShaderBuffer : Load shader storage buffer object (SSBO)
1180
- # @param size [unsigned int]
1181
- # @param data [const void *]
1182
- # @param usageHint [int]
1183
- # @return [unsigned int]
1184
- [:rlLoadShaderBuffer, :rlLoadShaderBuffer, [:uint, :pointer, :int], :uint],
1185
-
1186
- # @!method rlUnloadShaderBuffer(ssboId)
1187
- # rlUnloadShaderBuffer : Unload shader storage buffer object (SSBO)
1188
- # @param ssboId [unsigned int]
1189
- # @return [void]
1190
- [:rlUnloadShaderBuffer, :rlUnloadShaderBuffer, [:uint], :void],
1191
-
1192
- # @!method rlUpdateShaderBuffer(id, data, dataSize, offset)
1193
- # rlUpdateShaderBuffer : Update SSBO buffer data
1194
- # @param id [unsigned int]
1195
- # @param data [const void *]
1196
- # @param dataSize [unsigned int]
1197
- # @param offset [unsigned int]
1198
- # @return [void]
1199
- [:rlUpdateShaderBuffer, :rlUpdateShaderBuffer, [:uint, :pointer, :uint, :uint], :void],
1200
-
1201
- # @!method rlBindShaderBuffer(id, index)
1202
- # rlBindShaderBuffer : Bind SSBO buffer
1203
- # @param id [unsigned int]
1204
- # @param index [unsigned int]
1205
- # @return [void]
1206
- [:rlBindShaderBuffer, :rlBindShaderBuffer, [:uint, :uint], :void],
1207
-
1208
- # @!method rlReadShaderBuffer(id, dest, count, offset)
1209
- # rlReadShaderBuffer : Read SSBO buffer data (GPU->CPU)
1210
- # @param id [unsigned int]
1211
- # @param dest [void *]
1212
- # @param count [unsigned int]
1213
- # @param offset [unsigned int]
1214
- # @return [void]
1215
- [:rlReadShaderBuffer, :rlReadShaderBuffer, [:uint, :pointer, :uint, :uint], :void],
1216
-
1217
- # @!method rlCopyShaderBuffer(destId, srcId, destOffset, srcOffset, count)
1218
- # rlCopyShaderBuffer : Copy SSBO data between buffers
1219
- # @param destId [unsigned int]
1220
- # @param srcId [unsigned int]
1221
- # @param destOffset [unsigned int]
1222
- # @param srcOffset [unsigned int]
1223
- # @param count [unsigned int]
1224
- # @return [void]
1225
- [:rlCopyShaderBuffer, :rlCopyShaderBuffer, [:uint, :uint, :uint, :uint, :uint], :void],
1226
-
1227
- # @!method rlGetShaderBufferSize(id)
1228
- # rlGetShaderBufferSize : Get SSBO buffer size
1229
- # @param id [unsigned int]
1230
- # @return [unsigned int]
1231
- [:rlGetShaderBufferSize, :rlGetShaderBufferSize, [:uint], :uint],
1232
-
1233
- # @!method rlBindImageTexture(id, index, format, readonly)
1234
- # rlBindImageTexture : Bind image texture
1235
- # @param id [unsigned int]
1236
- # @param index [unsigned int]
1237
- # @param format [int]
1238
- # @param readonly [bool]
1239
- # @return [void]
1240
- [:rlBindImageTexture, :rlBindImageTexture, [:uint, :uint, :int, :bool], :void],
1241
-
1242
- # @!method rlGetMatrixModelview()
1243
- # rlGetMatrixModelview : Get internal modelview matrix
1244
- # @return [Matrix]
1245
- [:rlGetMatrixModelview, :rlGetMatrixModelview, [], Matrix.by_value],
1246
-
1247
- # @!method rlGetMatrixProjection()
1248
- # rlGetMatrixProjection : Get internal projection matrix
1249
- # @return [Matrix]
1250
- [:rlGetMatrixProjection, :rlGetMatrixProjection, [], Matrix.by_value],
1251
-
1252
- # @!method rlGetMatrixTransform()
1253
- # rlGetMatrixTransform : Get internal accumulated transform matrix
1254
- # @return [Matrix]
1255
- [:rlGetMatrixTransform, :rlGetMatrixTransform, [], Matrix.by_value],
1256
-
1257
- # @!method rlGetMatrixProjectionStereo(eye)
1258
- # rlGetMatrixProjectionStereo : Get internal projection matrix for stereo render (selected eye)
1259
- # @param eye [int]
1260
- # @return [Matrix]
1261
- [:rlGetMatrixProjectionStereo, :rlGetMatrixProjectionStereo, [:int], Matrix.by_value],
1262
-
1263
- # @!method rlGetMatrixViewOffsetStereo(eye)
1264
- # rlGetMatrixViewOffsetStereo : Get internal view offset matrix for stereo render (selected eye)
1265
- # @param eye [int]
1266
- # @return [Matrix]
1267
- [:rlGetMatrixViewOffsetStereo, :rlGetMatrixViewOffsetStereo, [:int], Matrix.by_value],
1268
-
1269
- # @!method rlSetMatrixProjection(proj)
1270
- # rlSetMatrixProjection : Set a custom projection matrix (replaces internal projection matrix)
1271
- # @param proj [Matrix]
1272
- # @return [void]
1273
- [:rlSetMatrixProjection, :rlSetMatrixProjection, [Matrix.by_value], :void],
1274
-
1275
- # @!method rlSetMatrixModelview(view)
1276
- # rlSetMatrixModelview : Set a custom modelview matrix (replaces internal modelview matrix)
1277
- # @param view [Matrix]
1278
- # @return [void]
1279
- [:rlSetMatrixModelview, :rlSetMatrixModelview, [Matrix.by_value], :void],
1280
-
1281
- # @!method rlSetMatrixProjectionStereo(right, left)
1282
- # rlSetMatrixProjectionStereo : Set eyes projection matrices for stereo rendering
1283
- # @param right [Matrix]
1284
- # @param left [Matrix]
1285
- # @return [void]
1286
- [:rlSetMatrixProjectionStereo, :rlSetMatrixProjectionStereo, [Matrix.by_value, Matrix.by_value], :void],
1287
-
1288
- # @!method rlSetMatrixViewOffsetStereo(right, left)
1289
- # rlSetMatrixViewOffsetStereo : Set eyes view offsets matrices for stereo rendering
1290
- # @param right [Matrix]
1291
- # @param left [Matrix]
1292
- # @return [void]
1293
- [:rlSetMatrixViewOffsetStereo, :rlSetMatrixViewOffsetStereo, [Matrix.by_value, Matrix.by_value], :void],
1294
-
1295
- # @!method rlLoadDrawCube()
1296
- # rlLoadDrawCube : Load and draw a cube
1297
- # @return [void]
1298
- [:rlLoadDrawCube, :rlLoadDrawCube, [], :void],
1299
-
1300
- # @!method rlLoadDrawQuad()
1301
- # rlLoadDrawQuad : Load and draw a quad
1302
- # @return [void]
1303
- [:rlLoadDrawQuad, :rlLoadDrawQuad, [], :void],
1304
- ]
1305
- entries.each do |entry|
1306
- attach_function entry[0], entry[1], entry[2], entry[3]
1307
- rescue FFI::NotFoundError => e
1308
- warn "[Warning] Failed to import #{entry[0]} (#{e})."
1309
- end
1310
- end
1311
- end
1
+ # Yet another raylib wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/raylib-bindings
4
+ #
5
+ # [NOTICE] Autogenerated. Do not edit.
6
+
7
+ require 'ffi'
8
+
9
+ module Raylib
10
+ extend FFI::Library
11
+
12
+ # Define/Macro
13
+
14
+ RLGL_VERSION = "4.5"
15
+ RL_DEFAULT_BATCH_BUFFER_ELEMENTS = 8192
16
+ RL_TEXTURE_WRAP_S = 0x2802 # GL_TEXTURE_WRAP_S
17
+ RL_TEXTURE_WRAP_T = 0x2803 # GL_TEXTURE_WRAP_T
18
+ RL_TEXTURE_MAG_FILTER = 0x2800 # GL_TEXTURE_MAG_FILTER
19
+ RL_TEXTURE_MIN_FILTER = 0x2801 # GL_TEXTURE_MIN_FILTER
20
+ RL_TEXTURE_FILTER_NEAREST = 0x2600 # GL_NEAREST
21
+ RL_TEXTURE_FILTER_LINEAR = 0x2601 # GL_LINEAR
22
+ RL_TEXTURE_FILTER_MIP_NEAREST = 0x2700 # GL_NEAREST_MIPMAP_NEAREST
23
+ RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR = 0x2702 # GL_NEAREST_MIPMAP_LINEAR
24
+ RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST = 0x2701 # GL_LINEAR_MIPMAP_NEAREST
25
+ RL_TEXTURE_FILTER_MIP_LINEAR = 0x2703 # GL_LINEAR_MIPMAP_LINEAR
26
+ RL_TEXTURE_FILTER_ANISOTROPIC = 0x3000 # Anisotropic filter (custom identifier)
27
+ RL_TEXTURE_MIPMAP_BIAS_RATIO = 0x4000 # Texture mipmap bias, percentage ratio (custom identifier)
28
+ RL_TEXTURE_WRAP_REPEAT = 0x2901 # GL_REPEAT
29
+ RL_TEXTURE_WRAP_CLAMP = 0x812F # GL_CLAMP_TO_EDGE
30
+ RL_TEXTURE_WRAP_MIRROR_REPEAT = 0x8370 # GL_MIRRORED_REPEAT
31
+ RL_TEXTURE_WRAP_MIRROR_CLAMP = 0x8742 # GL_MIRROR_CLAMP_EXT
32
+ RL_MODELVIEW = 0x1700 # GL_MODELVIEW
33
+ RL_PROJECTION = 0x1701 # GL_PROJECTION
34
+ RL_TEXTURE = 0x1702 # GL_TEXTURE
35
+ RL_LINES = 0x0001 # GL_LINES
36
+ RL_TRIANGLES = 0x0004 # GL_TRIANGLES
37
+ RL_QUADS = 0x0007 # GL_QUADS
38
+ RL_UNSIGNED_BYTE = 0x1401 # GL_UNSIGNED_BYTE
39
+ RL_FLOAT = 0x1406 # GL_FLOAT
40
+ RL_STREAM_DRAW = 0x88E0 # GL_STREAM_DRAW
41
+ RL_STREAM_READ = 0x88E1 # GL_STREAM_READ
42
+ RL_STREAM_COPY = 0x88E2 # GL_STREAM_COPY
43
+ RL_STATIC_DRAW = 0x88E4 # GL_STATIC_DRAW
44
+ RL_STATIC_READ = 0x88E5 # GL_STATIC_READ
45
+ RL_STATIC_COPY = 0x88E6 # GL_STATIC_COPY
46
+ RL_DYNAMIC_DRAW = 0x88E8 # GL_DYNAMIC_DRAW
47
+ RL_DYNAMIC_READ = 0x88E9 # GL_DYNAMIC_READ
48
+ RL_DYNAMIC_COPY = 0x88EA # GL_DYNAMIC_COPY
49
+ RL_FRAGMENT_SHADER = 0x8B30 # GL_FRAGMENT_SHADER
50
+ RL_VERTEX_SHADER = 0x8B31 # GL_VERTEX_SHADER
51
+ RL_COMPUTE_SHADER = 0x91B9 # GL_COMPUTE_SHADER
52
+ RL_ZERO = 0 # GL_ZERO
53
+ RL_ONE = 1 # GL_ONE
54
+ RL_SRC_COLOR = 0x0300 # GL_SRC_COLOR
55
+ RL_ONE_MINUS_SRC_COLOR = 0x0301 # GL_ONE_MINUS_SRC_COLOR
56
+ RL_SRC_ALPHA = 0x0302 # GL_SRC_ALPHA
57
+ RL_ONE_MINUS_SRC_ALPHA = 0x0303 # GL_ONE_MINUS_SRC_ALPHA
58
+ RL_DST_ALPHA = 0x0304 # GL_DST_ALPHA
59
+ RL_ONE_MINUS_DST_ALPHA = 0x0305 # GL_ONE_MINUS_DST_ALPHA
60
+ RL_DST_COLOR = 0x0306 # GL_DST_COLOR
61
+ RL_ONE_MINUS_DST_COLOR = 0x0307 # GL_ONE_MINUS_DST_COLOR
62
+ RL_SRC_ALPHA_SATURATE = 0x0308 # GL_SRC_ALPHA_SATURATE
63
+ RL_CONSTANT_COLOR = 0x8001 # GL_CONSTANT_COLOR
64
+ RL_ONE_MINUS_CONSTANT_COLOR = 0x8002 # GL_ONE_MINUS_CONSTANT_COLOR
65
+ RL_CONSTANT_ALPHA = 0x8003 # GL_CONSTANT_ALPHA
66
+ RL_ONE_MINUS_CONSTANT_ALPHA = 0x8004 # GL_ONE_MINUS_CONSTANT_ALPHA
67
+ RL_FUNC_ADD = 0x8006 # GL_FUNC_ADD
68
+ RL_MIN = 0x8007 # GL_MIN
69
+ RL_MAX = 0x8008 # GL_MAX
70
+ RL_FUNC_SUBTRACT = 0x800A # GL_FUNC_SUBTRACT
71
+ RL_FUNC_REVERSE_SUBTRACT = 0x800B # GL_FUNC_REVERSE_SUBTRACT
72
+ RL_BLEND_EQUATION = 0x8009 # GL_BLEND_EQUATION
73
+ RL_BLEND_EQUATION_RGB = 0x8009 # GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)
74
+ RL_BLEND_EQUATION_ALPHA = 0x883D # GL_BLEND_EQUATION_ALPHA
75
+ RL_BLEND_DST_RGB = 0x80C8 # GL_BLEND_DST_RGB
76
+ RL_BLEND_SRC_RGB = 0x80C9 # GL_BLEND_SRC_RGB
77
+ RL_BLEND_DST_ALPHA = 0x80CA # GL_BLEND_DST_ALPHA
78
+ RL_BLEND_SRC_ALPHA = 0x80CB # GL_BLEND_SRC_ALPHA
79
+ RL_BLEND_COLOR = 0x8005 # GL_BLEND_COLOR
80
+
81
+ # Enum
82
+
83
+ # enum rlGlVersion
84
+ # OpenGL version
85
+ RL_OPENGL_11 = 1 # OpenGL 1.1
86
+ RL_OPENGL_21 = 2 # OpenGL 2.1 (GLSL 120)
87
+ RL_OPENGL_33 = 3 # OpenGL 3.3 (GLSL 330)
88
+ RL_OPENGL_43 = 4 # OpenGL 4.3 (using GLSL 330)
89
+ RL_OPENGL_ES_20 = 5 # OpenGL ES 2.0 (GLSL 100)
90
+ RL_OPENGL_ES_30 = 6 # OpenGL ES 3.0 (GLSL 300 es)
91
+
92
+ # enum rlTraceLogLevel
93
+ # Trace log level
94
+ RL_LOG_ALL = 0 # Display all logs
95
+ RL_LOG_TRACE = 1 # Trace logging, intended for internal use only
96
+ RL_LOG_DEBUG = 2 # Debug logging, used for internal debugging, it should be disabled on release builds
97
+ RL_LOG_INFO = 3 # Info logging, used for program execution info
98
+ RL_LOG_WARNING = 4 # Warning logging, used on recoverable failures
99
+ RL_LOG_ERROR = 5 # Error logging, used on unrecoverable failures
100
+ RL_LOG_FATAL = 6 # Fatal logging, used to abort program: exit(EXIT_FAILURE)
101
+ RL_LOG_NONE = 7 # Disable logging
102
+
103
+ # enum rlPixelFormat
104
+ # Texture pixel formats
105
+ RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1 # 8 bit per pixel (no alpha)
106
+ RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2 # 8*2 bpp (2 channels)
107
+ RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3 # 16 bpp
108
+ RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4 # 24 bpp
109
+ RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5 # 16 bpp (1 bit alpha)
110
+ RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6 # 16 bpp (4 bit alpha)
111
+ RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7 # 32 bpp
112
+ RL_PIXELFORMAT_UNCOMPRESSED_R32 = 8 # 32 bpp (1 channel - float)
113
+ RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9 # 32*3 bpp (3 channels - float)
114
+ RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10 # 32*4 bpp (4 channels - float)
115
+ RL_PIXELFORMAT_UNCOMPRESSED_R16 = 11 # 16 bpp (1 channel - half float)
116
+ RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12 # 16*3 bpp (3 channels - half float)
117
+ RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13 # 16*4 bpp (4 channels - half float)
118
+ RL_PIXELFORMAT_COMPRESSED_DXT1_RGB = 14 # 4 bpp (no alpha)
119
+ RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA = 15 # 4 bpp (1 bit alpha)
120
+ RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA = 16 # 8 bpp
121
+ RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA = 17 # 8 bpp
122
+ RL_PIXELFORMAT_COMPRESSED_ETC1_RGB = 18 # 4 bpp
123
+ RL_PIXELFORMAT_COMPRESSED_ETC2_RGB = 19 # 4 bpp
124
+ RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 20 # 8 bpp
125
+ RL_PIXELFORMAT_COMPRESSED_PVRT_RGB = 21 # 4 bpp
126
+ RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA = 22 # 4 bpp
127
+ RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 23 # 8 bpp
128
+ RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 24 # 2 bpp
129
+
130
+ # enum rlTextureFilter
131
+ # Texture parameters: filter mode
132
+ RL_TEXTURE_FILTER_POINT = 0 # No filter, just pixel approximation
133
+ RL_TEXTURE_FILTER_BILINEAR = 1 # Linear filtering
134
+ RL_TEXTURE_FILTER_TRILINEAR = 2 # Trilinear filtering (linear with mipmaps)
135
+ RL_TEXTURE_FILTER_ANISOTROPIC_4X = 3 # Anisotropic filtering 4x
136
+ RL_TEXTURE_FILTER_ANISOTROPIC_8X = 4 # Anisotropic filtering 8x
137
+ RL_TEXTURE_FILTER_ANISOTROPIC_16X = 5 # Anisotropic filtering 16x
138
+
139
+ # enum rlBlendMode
140
+ # Color blending modes (pre-defined)
141
+ RL_BLEND_ALPHA = 0 # Blend textures considering alpha (default)
142
+ RL_BLEND_ADDITIVE = 1 # Blend textures adding colors
143
+ RL_BLEND_MULTIPLIED = 2 # Blend textures multiplying colors
144
+ RL_BLEND_ADD_COLORS = 3 # Blend textures adding colors (alternative)
145
+ RL_BLEND_SUBTRACT_COLORS = 4 # Blend textures subtracting colors (alternative)
146
+ RL_BLEND_ALPHA_PREMULTIPLY = 5 # Blend premultiplied textures considering alpha
147
+ RL_BLEND_CUSTOM = 6 # Blend textures using custom src/dst factors (use rlSetBlendFactors())
148
+ RL_BLEND_CUSTOM_SEPARATE = 7 # Blend textures using custom src/dst factors (use rlSetBlendFactorsSeparate())
149
+
150
+ # enum rlShaderLocationIndex
151
+ # Shader location point type
152
+ RL_SHADER_LOC_VERTEX_POSITION = 0 # Shader location: vertex attribute: position
153
+ RL_SHADER_LOC_VERTEX_TEXCOORD01 = 1 # Shader location: vertex attribute: texcoord01
154
+ RL_SHADER_LOC_VERTEX_TEXCOORD02 = 2 # Shader location: vertex attribute: texcoord02
155
+ RL_SHADER_LOC_VERTEX_NORMAL = 3 # Shader location: vertex attribute: normal
156
+ RL_SHADER_LOC_VERTEX_TANGENT = 4 # Shader location: vertex attribute: tangent
157
+ RL_SHADER_LOC_VERTEX_COLOR = 5 # Shader location: vertex attribute: color
158
+ RL_SHADER_LOC_MATRIX_MVP = 6 # Shader location: matrix uniform: model-view-projection
159
+ RL_SHADER_LOC_MATRIX_VIEW = 7 # Shader location: matrix uniform: view (camera transform)
160
+ RL_SHADER_LOC_MATRIX_PROJECTION = 8 # Shader location: matrix uniform: projection
161
+ RL_SHADER_LOC_MATRIX_MODEL = 9 # Shader location: matrix uniform: model (transform)
162
+ RL_SHADER_LOC_MATRIX_NORMAL = 10 # Shader location: matrix uniform: normal
163
+ RL_SHADER_LOC_VECTOR_VIEW = 11 # Shader location: vector uniform: view
164
+ RL_SHADER_LOC_COLOR_DIFFUSE = 12 # Shader location: vector uniform: diffuse color
165
+ RL_SHADER_LOC_COLOR_SPECULAR = 13 # Shader location: vector uniform: specular color
166
+ RL_SHADER_LOC_COLOR_AMBIENT = 14 # Shader location: vector uniform: ambient color
167
+ RL_SHADER_LOC_MAP_ALBEDO = 15 # Shader location: sampler2d texture: albedo (same as: RL_SHADER_LOC_MAP_DIFFUSE)
168
+ RL_SHADER_LOC_MAP_METALNESS = 16 # Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR)
169
+ RL_SHADER_LOC_MAP_NORMAL = 17 # Shader location: sampler2d texture: normal
170
+ RL_SHADER_LOC_MAP_ROUGHNESS = 18 # Shader location: sampler2d texture: roughness
171
+ RL_SHADER_LOC_MAP_OCCLUSION = 19 # Shader location: sampler2d texture: occlusion
172
+ RL_SHADER_LOC_MAP_EMISSION = 20 # Shader location: sampler2d texture: emission
173
+ RL_SHADER_LOC_MAP_HEIGHT = 21 # Shader location: sampler2d texture: height
174
+ RL_SHADER_LOC_MAP_CUBEMAP = 22 # Shader location: samplerCube texture: cubemap
175
+ RL_SHADER_LOC_MAP_IRRADIANCE = 23 # Shader location: samplerCube texture: irradiance
176
+ RL_SHADER_LOC_MAP_PREFILTER = 24 # Shader location: samplerCube texture: prefilter
177
+ RL_SHADER_LOC_MAP_BRDF = 25 # Shader location: sampler2d texture: brdf
178
+
179
+ # enum rlShaderUniformDataType
180
+ # Shader uniform data type
181
+ RL_SHADER_UNIFORM_FLOAT = 0 # Shader uniform type: float
182
+ RL_SHADER_UNIFORM_VEC2 = 1 # Shader uniform type: vec2 (2 float)
183
+ RL_SHADER_UNIFORM_VEC3 = 2 # Shader uniform type: vec3 (3 float)
184
+ RL_SHADER_UNIFORM_VEC4 = 3 # Shader uniform type: vec4 (4 float)
185
+ RL_SHADER_UNIFORM_INT = 4 # Shader uniform type: int
186
+ RL_SHADER_UNIFORM_IVEC2 = 5 # Shader uniform type: ivec2 (2 int)
187
+ RL_SHADER_UNIFORM_IVEC3 = 6 # Shader uniform type: ivec3 (3 int)
188
+ RL_SHADER_UNIFORM_IVEC4 = 7 # Shader uniform type: ivec4 (4 int)
189
+ RL_SHADER_UNIFORM_SAMPLER2D = 8 # Shader uniform type: sampler2d
190
+
191
+ # enum rlShaderAttributeDataType
192
+ # Shader attribute data types
193
+ RL_SHADER_ATTRIB_FLOAT = 0 # Shader attribute type: float
194
+ RL_SHADER_ATTRIB_VEC2 = 1 # Shader attribute type: vec2 (2 float)
195
+ RL_SHADER_ATTRIB_VEC3 = 2 # Shader attribute type: vec3 (3 float)
196
+ RL_SHADER_ATTRIB_VEC4 = 3 # Shader attribute type: vec4 (4 float)
197
+
198
+ # enum rlFramebufferAttachType
199
+ # Framebuffer attachment type
200
+ RL_ATTACHMENT_COLOR_CHANNEL0 = 0 # Framebuffer attachment type: color 0
201
+ RL_ATTACHMENT_COLOR_CHANNEL1 = 1 # Framebuffer attachment type: color 1
202
+ RL_ATTACHMENT_COLOR_CHANNEL2 = 2 # Framebuffer attachment type: color 2
203
+ RL_ATTACHMENT_COLOR_CHANNEL3 = 3 # Framebuffer attachment type: color 3
204
+ RL_ATTACHMENT_COLOR_CHANNEL4 = 4 # Framebuffer attachment type: color 4
205
+ RL_ATTACHMENT_COLOR_CHANNEL5 = 5 # Framebuffer attachment type: color 5
206
+ RL_ATTACHMENT_COLOR_CHANNEL6 = 6 # Framebuffer attachment type: color 6
207
+ RL_ATTACHMENT_COLOR_CHANNEL7 = 7 # Framebuffer attachment type: color 7
208
+ RL_ATTACHMENT_DEPTH = 100 # Framebuffer attachment type: depth
209
+ RL_ATTACHMENT_STENCIL = 200 # Framebuffer attachment type: stencil
210
+
211
+ # enum rlFramebufferAttachTextureType
212
+ # Framebuffer texture attachment type
213
+ RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0 # Framebuffer texture attachment type: cubemap, +X side
214
+ RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1 # Framebuffer texture attachment type: cubemap, -X side
215
+ RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2 # Framebuffer texture attachment type: cubemap, +Y side
216
+ RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3 # Framebuffer texture attachment type: cubemap, -Y side
217
+ RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4 # Framebuffer texture attachment type: cubemap, +Z side
218
+ RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5 # Framebuffer texture attachment type: cubemap, -Z side
219
+ RL_ATTACHMENT_TEXTURE2D = 100 # Framebuffer texture attachment type: texture2d
220
+ RL_ATTACHMENT_RENDERBUFFER = 200 # Framebuffer texture attachment type: renderbuffer
221
+
222
+ # enum rlCullMode
223
+ # Face culling mode
224
+ RL_CULL_FACE_FRONT = 0
225
+ RL_CULL_FACE_BACK = 1
226
+
227
+
228
+ # Typedef
229
+
230
+ typedef :int, :rlGlVersion
231
+ typedef :int, :rlTraceLogLevel
232
+ typedef :int, :rlPixelFormat
233
+ typedef :int, :rlTextureFilter
234
+ typedef :int, :rlBlendMode
235
+ typedef :int, :rlShaderLocationIndex
236
+ typedef :int, :rlShaderUniformDataType
237
+ typedef :int, :rlShaderAttributeDataType
238
+ typedef :int, :rlFramebufferAttachType
239
+ typedef :int, :rlFramebufferAttachTextureType
240
+ typedef :int, :rlCullMode
241
+
242
+ # Struct
243
+
244
+ # Dynamic vertex buffers (position + texcoords + colors + indices arrays)
245
+ class RlVertexBuffer < FFI::Struct
246
+ layout(
247
+ :elementCount, :int, # Number of elements in the buffer (QUADS)
248
+ :vertices, :pointer, # Vertex position (XYZ - 3 components per vertex) (shader-location = 0)
249
+ :texcoords, :pointer, # Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)
250
+ :colors, :pointer, # Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)
251
+ :indices, :pointer, # Vertex indices (in case vertex data comes indexed) (6 indices per quad)
252
+ :vaoId, :uint, # OpenGL Vertex Array Object id
253
+ :vboId, [:uint, 4], # OpenGL Vertex Buffer Objects id (4 types of vertex data)
254
+ )
255
+ def elementCount = self[:elementCount]
256
+ def elementCount=(v) self[:elementCount] = v end
257
+ def vertices = self[:vertices]
258
+ def vertices=(v) self[:vertices] = v end
259
+ def texcoords = self[:texcoords]
260
+ def texcoords=(v) self[:texcoords] = v end
261
+ def colors = self[:colors]
262
+ def colors=(v) self[:colors] = v end
263
+ def indices = self[:indices]
264
+ def indices=(v) self[:indices] = v end
265
+ def vaoId = self[:vaoId]
266
+ def vaoId=(v) self[:vaoId] = v end
267
+ def vboId = self[:vboId]
268
+ def vboId=(v) self[:vboId] = v end
269
+ end
270
+
271
+ # of those state-change happens (this is done in core module)
272
+ class RlDrawCall < FFI::Struct
273
+ layout(
274
+ :mode, :int, # Drawing mode: LINES, TRIANGLES, QUADS
275
+ :vertexCount, :int, # Number of vertex of the draw
276
+ :vertexAlignment, :int, # Number of vertex required for index alignment (LINES, TRIANGLES)
277
+ :textureId, :uint, # Texture id to be used on the draw -> Use to create new draw call if changes
278
+ )
279
+ def mode = self[:mode]
280
+ def mode=(v) self[:mode] = v end
281
+ def vertexCount = self[:vertexCount]
282
+ def vertexCount=(v) self[:vertexCount] = v end
283
+ def vertexAlignment = self[:vertexAlignment]
284
+ def vertexAlignment=(v) self[:vertexAlignment] = v end
285
+ def textureId = self[:textureId]
286
+ def textureId=(v) self[:textureId] = v end
287
+ end
288
+
289
+ # rlRenderBatch type
290
+ class RlRenderBatch < FFI::Struct
291
+ layout(
292
+ :bufferCount, :int, # Number of vertex buffers (multi-buffering support)
293
+ :currentBuffer, :int, # Current buffer tracking in case of multi-buffering
294
+ :vertexBuffer, :pointer, # Dynamic buffer(s) for vertex data
295
+ :draws, :pointer, # Draw calls array, depends on textureId
296
+ :drawCounter, :int, # Draw calls counter
297
+ :currentDepth, :float, # Current depth value for next draw
298
+ )
299
+ def bufferCount = self[:bufferCount]
300
+ def bufferCount=(v) self[:bufferCount] = v end
301
+ def currentBuffer = self[:currentBuffer]
302
+ def currentBuffer=(v) self[:currentBuffer] = v end
303
+ def vertexBuffer = self[:vertexBuffer]
304
+ def vertexBuffer=(v) self[:vertexBuffer] = v end
305
+ def draws = self[:draws]
306
+ def draws=(v) self[:draws] = v end
307
+ def drawCounter = self[:drawCounter]
308
+ def drawCounter=(v) self[:drawCounter] = v end
309
+ def currentDepth = self[:currentDepth]
310
+ def currentDepth=(v) self[:currentDepth] = v end
311
+ end
312
+
313
+
314
+ # Function
315
+
316
+ def self.setup_rlgl_symbols
317
+ entries = [
318
+
319
+ # @!method rlMatrixMode(mode)
320
+ # rlMatrixMode : Choose the current matrix to be transformed
321
+ # @param mode [int]
322
+ # @return [void]
323
+ [:rlMatrixMode, :rlMatrixMode, [:int], :void],
324
+
325
+ # @!method rlPushMatrix()
326
+ # rlPushMatrix : Push the current matrix to stack
327
+ # @return [void]
328
+ [:rlPushMatrix, :rlPushMatrix, [], :void],
329
+
330
+ # @!method rlPopMatrix()
331
+ # rlPopMatrix : Pop latest inserted matrix from stack
332
+ # @return [void]
333
+ [:rlPopMatrix, :rlPopMatrix, [], :void],
334
+
335
+ # @!method rlLoadIdentity()
336
+ # rlLoadIdentity : Reset current matrix to identity matrix
337
+ # @return [void]
338
+ [:rlLoadIdentity, :rlLoadIdentity, [], :void],
339
+
340
+ # @!method rlTranslatef(x, y, z)
341
+ # rlTranslatef : Multiply the current matrix by a translation matrix
342
+ # @param x [float]
343
+ # @param y [float]
344
+ # @param z [float]
345
+ # @return [void]
346
+ [:rlTranslatef, :rlTranslatef, [:float, :float, :float], :void],
347
+
348
+ # @!method rlRotatef(angle, x, y, z)
349
+ # rlRotatef : Multiply the current matrix by a rotation matrix
350
+ # @param angle [float]
351
+ # @param x [float]
352
+ # @param y [float]
353
+ # @param z [float]
354
+ # @return [void]
355
+ [:rlRotatef, :rlRotatef, [:float, :float, :float, :float], :void],
356
+
357
+ # @!method rlScalef(x, y, z)
358
+ # rlScalef : Multiply the current matrix by a scaling matrix
359
+ # @param x [float]
360
+ # @param y [float]
361
+ # @param z [float]
362
+ # @return [void]
363
+ [:rlScalef, :rlScalef, [:float, :float, :float], :void],
364
+
365
+ # @!method rlMultMatrixf(matf)
366
+ # rlMultMatrixf : Multiply the current matrix by another matrix
367
+ # @param matf [const float *]
368
+ # @return [void]
369
+ [:rlMultMatrixf, :rlMultMatrixf, [:pointer], :void],
370
+
371
+ # @!method rlFrustum(left, right, bottom, top, znear, zfar)
372
+ # rlFrustum
373
+ # @param left [double]
374
+ # @param right [double]
375
+ # @param bottom [double]
376
+ # @param top [double]
377
+ # @param znear [double]
378
+ # @param zfar [double]
379
+ # @return [void]
380
+ [:rlFrustum, :rlFrustum, [:double, :double, :double, :double, :double, :double], :void],
381
+
382
+ # @!method rlOrtho(left, right, bottom, top, znear, zfar)
383
+ # rlOrtho
384
+ # @param left [double]
385
+ # @param right [double]
386
+ # @param bottom [double]
387
+ # @param top [double]
388
+ # @param znear [double]
389
+ # @param zfar [double]
390
+ # @return [void]
391
+ [:rlOrtho, :rlOrtho, [:double, :double, :double, :double, :double, :double], :void],
392
+
393
+ # @!method rlViewport(x, y, width, height)
394
+ # rlViewport : Set the viewport area
395
+ # @param x [int]
396
+ # @param y [int]
397
+ # @param width [int]
398
+ # @param height [int]
399
+ # @return [void]
400
+ [:rlViewport, :rlViewport, [:int, :int, :int, :int], :void],
401
+
402
+ # @!method rlBegin(mode)
403
+ # rlBegin : Initialize drawing mode (how to organize vertex)
404
+ # @param mode [int]
405
+ # @return [void]
406
+ [:rlBegin, :rlBegin, [:int], :void],
407
+
408
+ # @!method rlEnd()
409
+ # rlEnd : Finish vertex providing
410
+ # @return [void]
411
+ [:rlEnd, :rlEnd, [], :void],
412
+
413
+ # @!method rlVertex2i(x, y)
414
+ # rlVertex2i : Define one vertex (position) - 2 int
415
+ # @param x [int]
416
+ # @param y [int]
417
+ # @return [void]
418
+ [:rlVertex2i, :rlVertex2i, [:int, :int], :void],
419
+
420
+ # @!method rlVertex2f(x, y)
421
+ # rlVertex2f : Define one vertex (position) - 2 float
422
+ # @param x [float]
423
+ # @param y [float]
424
+ # @return [void]
425
+ [:rlVertex2f, :rlVertex2f, [:float, :float], :void],
426
+
427
+ # @!method rlVertex3f(x, y, z)
428
+ # rlVertex3f : Define one vertex (position) - 3 float
429
+ # @param x [float]
430
+ # @param y [float]
431
+ # @param z [float]
432
+ # @return [void]
433
+ [:rlVertex3f, :rlVertex3f, [:float, :float, :float], :void],
434
+
435
+ # @!method rlTexCoord2f(x, y)
436
+ # rlTexCoord2f : Define one vertex (texture coordinate) - 2 float
437
+ # @param x [float]
438
+ # @param y [float]
439
+ # @return [void]
440
+ [:rlTexCoord2f, :rlTexCoord2f, [:float, :float], :void],
441
+
442
+ # @!method rlNormal3f(x, y, z)
443
+ # rlNormal3f : Define one vertex (normal) - 3 float
444
+ # @param x [float]
445
+ # @param y [float]
446
+ # @param z [float]
447
+ # @return [void]
448
+ [:rlNormal3f, :rlNormal3f, [:float, :float, :float], :void],
449
+
450
+ # @!method rlColor4ub(r, g, b, a)
451
+ # rlColor4ub : Define one vertex (color) - 4 byte
452
+ # @param r [unsigned char]
453
+ # @param g [unsigned char]
454
+ # @param b [unsigned char]
455
+ # @param a [unsigned char]
456
+ # @return [void]
457
+ [:rlColor4ub, :rlColor4ub, [:uchar, :uchar, :uchar, :uchar], :void],
458
+
459
+ # @!method rlColor3f(x, y, z)
460
+ # rlColor3f : Define one vertex (color) - 3 float
461
+ # @param x [float]
462
+ # @param y [float]
463
+ # @param z [float]
464
+ # @return [void]
465
+ [:rlColor3f, :rlColor3f, [:float, :float, :float], :void],
466
+
467
+ # @!method rlColor4f(x, y, z, w)
468
+ # rlColor4f : Define one vertex (color) - 4 float
469
+ # @param x [float]
470
+ # @param y [float]
471
+ # @param z [float]
472
+ # @param w [float]
473
+ # @return [void]
474
+ [:rlColor4f, :rlColor4f, [:float, :float, :float, :float], :void],
475
+
476
+ # @!method rlEnableVertexArray(vaoId)
477
+ # rlEnableVertexArray : Enable vertex array (VAO, if supported)
478
+ # @param vaoId [unsigned int]
479
+ # @return [bool]
480
+ [:rlEnableVertexArray, :rlEnableVertexArray, [:uint], :bool],
481
+
482
+ # @!method rlDisableVertexArray()
483
+ # rlDisableVertexArray : Disable vertex array (VAO, if supported)
484
+ # @return [void]
485
+ [:rlDisableVertexArray, :rlDisableVertexArray, [], :void],
486
+
487
+ # @!method rlEnableVertexBuffer(id)
488
+ # rlEnableVertexBuffer : Enable vertex buffer (VBO)
489
+ # @param id [unsigned int]
490
+ # @return [void]
491
+ [:rlEnableVertexBuffer, :rlEnableVertexBuffer, [:uint], :void],
492
+
493
+ # @!method rlDisableVertexBuffer()
494
+ # rlDisableVertexBuffer : Disable vertex buffer (VBO)
495
+ # @return [void]
496
+ [:rlDisableVertexBuffer, :rlDisableVertexBuffer, [], :void],
497
+
498
+ # @!method rlEnableVertexBufferElement(id)
499
+ # rlEnableVertexBufferElement : Enable vertex buffer element (VBO element)
500
+ # @param id [unsigned int]
501
+ # @return [void]
502
+ [:rlEnableVertexBufferElement, :rlEnableVertexBufferElement, [:uint], :void],
503
+
504
+ # @!method rlDisableVertexBufferElement()
505
+ # rlDisableVertexBufferElement : Disable vertex buffer element (VBO element)
506
+ # @return [void]
507
+ [:rlDisableVertexBufferElement, :rlDisableVertexBufferElement, [], :void],
508
+
509
+ # @!method rlEnableVertexAttribute(index)
510
+ # rlEnableVertexAttribute : Enable vertex attribute index
511
+ # @param index [unsigned int]
512
+ # @return [void]
513
+ [:rlEnableVertexAttribute, :rlEnableVertexAttribute, [:uint], :void],
514
+
515
+ # @!method rlDisableVertexAttribute(index)
516
+ # rlDisableVertexAttribute : Disable vertex attribute index
517
+ # @param index [unsigned int]
518
+ # @return [void]
519
+ [:rlDisableVertexAttribute, :rlDisableVertexAttribute, [:uint], :void],
520
+
521
+ # @!method rlActiveTextureSlot(slot)
522
+ # rlActiveTextureSlot : Select and active a texture slot
523
+ # @param slot [int]
524
+ # @return [void]
525
+ [:rlActiveTextureSlot, :rlActiveTextureSlot, [:int], :void],
526
+
527
+ # @!method rlEnableTexture(id)
528
+ # rlEnableTexture : Enable texture
529
+ # @param id [unsigned int]
530
+ # @return [void]
531
+ [:rlEnableTexture, :rlEnableTexture, [:uint], :void],
532
+
533
+ # @!method rlDisableTexture()
534
+ # rlDisableTexture : Disable texture
535
+ # @return [void]
536
+ [:rlDisableTexture, :rlDisableTexture, [], :void],
537
+
538
+ # @!method rlEnableTextureCubemap(id)
539
+ # rlEnableTextureCubemap : Enable texture cubemap
540
+ # @param id [unsigned int]
541
+ # @return [void]
542
+ [:rlEnableTextureCubemap, :rlEnableTextureCubemap, [:uint], :void],
543
+
544
+ # @!method rlDisableTextureCubemap()
545
+ # rlDisableTextureCubemap : Disable texture cubemap
546
+ # @return [void]
547
+ [:rlDisableTextureCubemap, :rlDisableTextureCubemap, [], :void],
548
+
549
+ # @!method rlTextureParameters(id, param, value)
550
+ # rlTextureParameters : Set texture parameters (filter, wrap)
551
+ # @param id [unsigned int]
552
+ # @param param [int]
553
+ # @param value [int]
554
+ # @return [void]
555
+ [:rlTextureParameters, :rlTextureParameters, [:uint, :int, :int], :void],
556
+
557
+ # @!method rlCubemapParameters(id, param, value)
558
+ # rlCubemapParameters : Set cubemap parameters (filter, wrap)
559
+ # @param id [unsigned int]
560
+ # @param param [int]
561
+ # @param value [int]
562
+ # @return [void]
563
+ [:rlCubemapParameters, :rlCubemapParameters, [:uint, :int, :int], :void],
564
+
565
+ # @!method rlEnableShader(id)
566
+ # rlEnableShader : Enable shader program
567
+ # @param id [unsigned int]
568
+ # @return [void]
569
+ [:rlEnableShader, :rlEnableShader, [:uint], :void],
570
+
571
+ # @!method rlDisableShader()
572
+ # rlDisableShader : Disable shader program
573
+ # @return [void]
574
+ [:rlDisableShader, :rlDisableShader, [], :void],
575
+
576
+ # @!method rlEnableFramebuffer(id)
577
+ # rlEnableFramebuffer : Enable render texture (fbo)
578
+ # @param id [unsigned int]
579
+ # @return [void]
580
+ [:rlEnableFramebuffer, :rlEnableFramebuffer, [:uint], :void],
581
+
582
+ # @!method rlDisableFramebuffer()
583
+ # rlDisableFramebuffer : Disable render texture (fbo), return to default framebuffer
584
+ # @return [void]
585
+ [:rlDisableFramebuffer, :rlDisableFramebuffer, [], :void],
586
+
587
+ # @!method rlActiveDrawBuffers(count)
588
+ # rlActiveDrawBuffers : Activate multiple draw color buffers
589
+ # @param count [int]
590
+ # @return [void]
591
+ [:rlActiveDrawBuffers, :rlActiveDrawBuffers, [:int], :void],
592
+
593
+ # @!method rlBlitFramebuffer(srcX, srcY, srcWidth, srcHeight, dstX, dstY, dstWidth, dstHeight, bufferMask)
594
+ # rlBlitFramebuffer : Blit active framebuffer to main framebuffer
595
+ # @param srcX [int]
596
+ # @param srcY [int]
597
+ # @param srcWidth [int]
598
+ # @param srcHeight [int]
599
+ # @param dstX [int]
600
+ # @param dstY [int]
601
+ # @param dstWidth [int]
602
+ # @param dstHeight [int]
603
+ # @param bufferMask [int]
604
+ # @return [void]
605
+ [:rlBlitFramebuffer, :rlBlitFramebuffer, [:int, :int, :int, :int, :int, :int, :int, :int, :int], :void],
606
+
607
+ # @!method rlEnableColorBlend()
608
+ # rlEnableColorBlend : Enable color blending
609
+ # @return [void]
610
+ [:rlEnableColorBlend, :rlEnableColorBlend, [], :void],
611
+
612
+ # @!method rlDisableColorBlend()
613
+ # rlDisableColorBlend : Disable color blending
614
+ # @return [void]
615
+ [:rlDisableColorBlend, :rlDisableColorBlend, [], :void],
616
+
617
+ # @!method rlEnableDepthTest()
618
+ # rlEnableDepthTest : Enable depth test
619
+ # @return [void]
620
+ [:rlEnableDepthTest, :rlEnableDepthTest, [], :void],
621
+
622
+ # @!method rlDisableDepthTest()
623
+ # rlDisableDepthTest : Disable depth test
624
+ # @return [void]
625
+ [:rlDisableDepthTest, :rlDisableDepthTest, [], :void],
626
+
627
+ # @!method rlEnableDepthMask()
628
+ # rlEnableDepthMask : Enable depth write
629
+ # @return [void]
630
+ [:rlEnableDepthMask, :rlEnableDepthMask, [], :void],
631
+
632
+ # @!method rlDisableDepthMask()
633
+ # rlDisableDepthMask : Disable depth write
634
+ # @return [void]
635
+ [:rlDisableDepthMask, :rlDisableDepthMask, [], :void],
636
+
637
+ # @!method rlEnableBackfaceCulling()
638
+ # rlEnableBackfaceCulling : Enable backface culling
639
+ # @return [void]
640
+ [:rlEnableBackfaceCulling, :rlEnableBackfaceCulling, [], :void],
641
+
642
+ # @!method rlDisableBackfaceCulling()
643
+ # rlDisableBackfaceCulling : Disable backface culling
644
+ # @return [void]
645
+ [:rlDisableBackfaceCulling, :rlDisableBackfaceCulling, [], :void],
646
+
647
+ # @!method rlSetCullFace(mode)
648
+ # rlSetCullFace : Set face culling mode
649
+ # @param mode [int]
650
+ # @return [void]
651
+ [:rlSetCullFace, :rlSetCullFace, [:int], :void],
652
+
653
+ # @!method rlEnableScissorTest()
654
+ # rlEnableScissorTest : Enable scissor test
655
+ # @return [void]
656
+ [:rlEnableScissorTest, :rlEnableScissorTest, [], :void],
657
+
658
+ # @!method rlDisableScissorTest()
659
+ # rlDisableScissorTest : Disable scissor test
660
+ # @return [void]
661
+ [:rlDisableScissorTest, :rlDisableScissorTest, [], :void],
662
+
663
+ # @!method rlScissor(x, y, width, height)
664
+ # rlScissor : Scissor test
665
+ # @param x [int]
666
+ # @param y [int]
667
+ # @param width [int]
668
+ # @param height [int]
669
+ # @return [void]
670
+ [:rlScissor, :rlScissor, [:int, :int, :int, :int], :void],
671
+
672
+ # @!method rlEnableWireMode()
673
+ # rlEnableWireMode : Enable wire mode
674
+ # @return [void]
675
+ [:rlEnableWireMode, :rlEnableWireMode, [], :void],
676
+
677
+ # @!method rlEnablePointMode()
678
+ # rlEnablePointMode : Enable point mode
679
+ # @return [void]
680
+ [:rlEnablePointMode, :rlEnablePointMode, [], :void],
681
+
682
+ # @!method rlDisableWireMode()
683
+ # rlDisableWireMode : Disable wire mode ( and point ) maybe rename
684
+ # @return [void]
685
+ [:rlDisableWireMode, :rlDisableWireMode, [], :void],
686
+
687
+ # @!method rlSetLineWidth(width)
688
+ # rlSetLineWidth : Set the line drawing width
689
+ # @param width [float]
690
+ # @return [void]
691
+ [:rlSetLineWidth, :rlSetLineWidth, [:float], :void],
692
+
693
+ # @!method rlGetLineWidth()
694
+ # rlGetLineWidth : Get the line drawing width
695
+ # @return [float]
696
+ [:rlGetLineWidth, :rlGetLineWidth, [], :float],
697
+
698
+ # @!method rlEnableSmoothLines()
699
+ # rlEnableSmoothLines : Enable line aliasing
700
+ # @return [void]
701
+ [:rlEnableSmoothLines, :rlEnableSmoothLines, [], :void],
702
+
703
+ # @!method rlDisableSmoothLines()
704
+ # rlDisableSmoothLines : Disable line aliasing
705
+ # @return [void]
706
+ [:rlDisableSmoothLines, :rlDisableSmoothLines, [], :void],
707
+
708
+ # @!method rlEnableStereoRender()
709
+ # rlEnableStereoRender : Enable stereo rendering
710
+ # @return [void]
711
+ [:rlEnableStereoRender, :rlEnableStereoRender, [], :void],
712
+
713
+ # @!method rlDisableStereoRender()
714
+ # rlDisableStereoRender : Disable stereo rendering
715
+ # @return [void]
716
+ [:rlDisableStereoRender, :rlDisableStereoRender, [], :void],
717
+
718
+ # @!method rlIsStereoRenderEnabled()
719
+ # rlIsStereoRenderEnabled : Check if stereo render is enabled
720
+ # @return [bool]
721
+ [:rlIsStereoRenderEnabled, :rlIsStereoRenderEnabled, [], :bool],
722
+
723
+ # @!method rlClearColor(r, g, b, a)
724
+ # rlClearColor : Clear color buffer with color
725
+ # @param r [unsigned char]
726
+ # @param g [unsigned char]
727
+ # @param b [unsigned char]
728
+ # @param a [unsigned char]
729
+ # @return [void]
730
+ [:rlClearColor, :rlClearColor, [:uchar, :uchar, :uchar, :uchar], :void],
731
+
732
+ # @!method rlClearScreenBuffers()
733
+ # rlClearScreenBuffers : Clear used screen buffers (color and depth)
734
+ # @return [void]
735
+ [:rlClearScreenBuffers, :rlClearScreenBuffers, [], :void],
736
+
737
+ # @!method rlCheckErrors()
738
+ # rlCheckErrors : Check and log OpenGL error codes
739
+ # @return [void]
740
+ [:rlCheckErrors, :rlCheckErrors, [], :void],
741
+
742
+ # @!method rlSetBlendMode(mode)
743
+ # rlSetBlendMode : Set blending mode
744
+ # @param mode [int]
745
+ # @return [void]
746
+ [:rlSetBlendMode, :rlSetBlendMode, [:int], :void],
747
+
748
+ # @!method rlSetBlendFactors(glSrcFactor, glDstFactor, glEquation)
749
+ # rlSetBlendFactors : Set blending mode factor and equation (using OpenGL factors)
750
+ # @param glSrcFactor [int]
751
+ # @param glDstFactor [int]
752
+ # @param glEquation [int]
753
+ # @return [void]
754
+ [:rlSetBlendFactors, :rlSetBlendFactors, [:int, :int, :int], :void],
755
+
756
+ # @!method rlSetBlendFactorsSeparate(glSrcRGB, glDstRGB, glSrcAlpha, glDstAlpha, glEqRGB, glEqAlpha)
757
+ # rlSetBlendFactorsSeparate : Set blending mode factors and equations separately (using OpenGL factors)
758
+ # @param glSrcRGB [int]
759
+ # @param glDstRGB [int]
760
+ # @param glSrcAlpha [int]
761
+ # @param glDstAlpha [int]
762
+ # @param glEqRGB [int]
763
+ # @param glEqAlpha [int]
764
+ # @return [void]
765
+ [:rlSetBlendFactorsSeparate, :rlSetBlendFactorsSeparate, [:int, :int, :int, :int, :int, :int], :void],
766
+
767
+ # @!method rlglInit(width, height)
768
+ # rlglInit : Initialize rlgl (buffers, shaders, textures, states)
769
+ # @param width [int]
770
+ # @param height [int]
771
+ # @return [void]
772
+ [:rlglInit, :rlglInit, [:int, :int], :void],
773
+
774
+ # @!method rlglClose()
775
+ # rlglClose : De-initialize rlgl (buffers, shaders, textures)
776
+ # @return [void]
777
+ [:rlglClose, :rlglClose, [], :void],
778
+
779
+ # @!method rlLoadExtensions(loader)
780
+ # rlLoadExtensions : Load OpenGL extensions (loader function required)
781
+ # @param loader [void *]
782
+ # @return [void]
783
+ [:rlLoadExtensions, :rlLoadExtensions, [:pointer], :void],
784
+
785
+ # @!method rlGetVersion()
786
+ # rlGetVersion : Get current OpenGL version
787
+ # @return [int]
788
+ [:rlGetVersion, :rlGetVersion, [], :int],
789
+
790
+ # @!method rlSetFramebufferWidth(width)
791
+ # rlSetFramebufferWidth : Set current framebuffer width
792
+ # @param width [int]
793
+ # @return [void]
794
+ [:rlSetFramebufferWidth, :rlSetFramebufferWidth, [:int], :void],
795
+
796
+ # @!method rlGetFramebufferWidth()
797
+ # rlGetFramebufferWidth : Get default framebuffer width
798
+ # @return [int]
799
+ [:rlGetFramebufferWidth, :rlGetFramebufferWidth, [], :int],
800
+
801
+ # @!method rlSetFramebufferHeight(height)
802
+ # rlSetFramebufferHeight : Set current framebuffer height
803
+ # @param height [int]
804
+ # @return [void]
805
+ [:rlSetFramebufferHeight, :rlSetFramebufferHeight, [:int], :void],
806
+
807
+ # @!method rlGetFramebufferHeight()
808
+ # rlGetFramebufferHeight : Get default framebuffer height
809
+ # @return [int]
810
+ [:rlGetFramebufferHeight, :rlGetFramebufferHeight, [], :int],
811
+
812
+ # @!method rlGetTextureIdDefault()
813
+ # rlGetTextureIdDefault : Get default texture id
814
+ # @return [unsigned int]
815
+ [:rlGetTextureIdDefault, :rlGetTextureIdDefault, [], :uint],
816
+
817
+ # @!method rlGetShaderIdDefault()
818
+ # rlGetShaderIdDefault : Get default shader id
819
+ # @return [unsigned int]
820
+ [:rlGetShaderIdDefault, :rlGetShaderIdDefault, [], :uint],
821
+
822
+ # @!method rlGetShaderLocsDefault()
823
+ # rlGetShaderLocsDefault : Get default shader locations
824
+ # @return [int *]
825
+ [:rlGetShaderLocsDefault, :rlGetShaderLocsDefault, [], :pointer],
826
+
827
+ # @!method rlLoadRenderBatch(numBuffers, bufferElements)
828
+ # rlLoadRenderBatch : Load a render batch system
829
+ # @param numBuffers [int]
830
+ # @param bufferElements [int]
831
+ # @return [rlRenderBatch]
832
+ [:rlLoadRenderBatch, :rlLoadRenderBatch, [:int, :int], RlRenderBatch.by_value],
833
+
834
+ # @!method rlUnloadRenderBatch(batch)
835
+ # rlUnloadRenderBatch : Unload render batch system
836
+ # @param batch [rlRenderBatch]
837
+ # @return [void]
838
+ [:rlUnloadRenderBatch, :rlUnloadRenderBatch, [RlRenderBatch.by_value], :void],
839
+
840
+ # @!method rlDrawRenderBatch(batch)
841
+ # rlDrawRenderBatch : Draw render batch data (Update->Draw->Reset)
842
+ # @param batch [rlRenderBatch *]
843
+ # @return [void]
844
+ [:rlDrawRenderBatch, :rlDrawRenderBatch, [:pointer], :void],
845
+
846
+ # @!method rlSetRenderBatchActive(batch)
847
+ # rlSetRenderBatchActive : Set the active render batch for rlgl (NULL for default internal)
848
+ # @param batch [rlRenderBatch *]
849
+ # @return [void]
850
+ [:rlSetRenderBatchActive, :rlSetRenderBatchActive, [:pointer], :void],
851
+
852
+ # @!method rlDrawRenderBatchActive()
853
+ # rlDrawRenderBatchActive : Update and draw internal render batch
854
+ # @return [void]
855
+ [:rlDrawRenderBatchActive, :rlDrawRenderBatchActive, [], :void],
856
+
857
+ # @!method rlCheckRenderBatchLimit(vCount)
858
+ # rlCheckRenderBatchLimit : Check internal buffer overflow for a given number of vertex
859
+ # @param vCount [int]
860
+ # @return [bool]
861
+ [:rlCheckRenderBatchLimit, :rlCheckRenderBatchLimit, [:int], :bool],
862
+
863
+ # @!method rlSetTexture(id)
864
+ # rlSetTexture : Set current texture for render batch and check buffers limits
865
+ # @param id [unsigned int]
866
+ # @return [void]
867
+ [:rlSetTexture, :rlSetTexture, [:uint], :void],
868
+
869
+ # @!method rlLoadVertexArray()
870
+ # rlLoadVertexArray : Load vertex array (vao) if supported
871
+ # @return [unsigned int]
872
+ [:rlLoadVertexArray, :rlLoadVertexArray, [], :uint],
873
+
874
+ # @!method rlLoadVertexBuffer(buffer, size, dynamic)
875
+ # rlLoadVertexBuffer : Load a vertex buffer attribute
876
+ # @param buffer [const void *]
877
+ # @param size [int]
878
+ # @param dynamic [bool]
879
+ # @return [unsigned int]
880
+ [:rlLoadVertexBuffer, :rlLoadVertexBuffer, [:pointer, :int, :bool], :uint],
881
+
882
+ # @!method rlLoadVertexBufferElement(buffer, size, dynamic)
883
+ # rlLoadVertexBufferElement : Load a new attributes element buffer
884
+ # @param buffer [const void *]
885
+ # @param size [int]
886
+ # @param dynamic [bool]
887
+ # @return [unsigned int]
888
+ [:rlLoadVertexBufferElement, :rlLoadVertexBufferElement, [:pointer, :int, :bool], :uint],
889
+
890
+ # @!method rlUpdateVertexBuffer(bufferId, data, dataSize, offset)
891
+ # rlUpdateVertexBuffer : Update GPU buffer with new data
892
+ # @param bufferId [unsigned int]
893
+ # @param data [const void *]
894
+ # @param dataSize [int]
895
+ # @param offset [int]
896
+ # @return [void]
897
+ [:rlUpdateVertexBuffer, :rlUpdateVertexBuffer, [:uint, :pointer, :int, :int], :void],
898
+
899
+ # @!method rlUpdateVertexBufferElements(id, data, dataSize, offset)
900
+ # rlUpdateVertexBufferElements : Update vertex buffer elements with new data
901
+ # @param id [unsigned int]
902
+ # @param data [const void *]
903
+ # @param dataSize [int]
904
+ # @param offset [int]
905
+ # @return [void]
906
+ [:rlUpdateVertexBufferElements, :rlUpdateVertexBufferElements, [:uint, :pointer, :int, :int], :void],
907
+
908
+ # @!method rlUnloadVertexArray(vaoId)
909
+ # rlUnloadVertexArray
910
+ # @param vaoId [unsigned int]
911
+ # @return [void]
912
+ [:rlUnloadVertexArray, :rlUnloadVertexArray, [:uint], :void],
913
+
914
+ # @!method rlUnloadVertexBuffer(vboId)
915
+ # rlUnloadVertexBuffer
916
+ # @param vboId [unsigned int]
917
+ # @return [void]
918
+ [:rlUnloadVertexBuffer, :rlUnloadVertexBuffer, [:uint], :void],
919
+
920
+ # @!method rlSetVertexAttribute(index, compSize, type, normalized, stride, pointer)
921
+ # rlSetVertexAttribute
922
+ # @param index [unsigned int]
923
+ # @param compSize [int]
924
+ # @param type [int]
925
+ # @param normalized [bool]
926
+ # @param stride [int]
927
+ # @param pointer [const void *]
928
+ # @return [void]
929
+ [:rlSetVertexAttribute, :rlSetVertexAttribute, [:uint, :int, :int, :bool, :int, :pointer], :void],
930
+
931
+ # @!method rlSetVertexAttributeDivisor(index, divisor)
932
+ # rlSetVertexAttributeDivisor
933
+ # @param index [unsigned int]
934
+ # @param divisor [int]
935
+ # @return [void]
936
+ [:rlSetVertexAttributeDivisor, :rlSetVertexAttributeDivisor, [:uint, :int], :void],
937
+
938
+ # @!method rlSetVertexAttributeDefault(locIndex, value, attribType, count)
939
+ # rlSetVertexAttributeDefault : Set vertex attribute default value
940
+ # @param locIndex [int]
941
+ # @param value [const void *]
942
+ # @param attribType [int]
943
+ # @param count [int]
944
+ # @return [void]
945
+ [:rlSetVertexAttributeDefault, :rlSetVertexAttributeDefault, [:int, :pointer, :int, :int], :void],
946
+
947
+ # @!method rlDrawVertexArray(offset, count)
948
+ # rlDrawVertexArray
949
+ # @param offset [int]
950
+ # @param count [int]
951
+ # @return [void]
952
+ [:rlDrawVertexArray, :rlDrawVertexArray, [:int, :int], :void],
953
+
954
+ # @!method rlDrawVertexArrayElements(offset, count, buffer)
955
+ # rlDrawVertexArrayElements
956
+ # @param offset [int]
957
+ # @param count [int]
958
+ # @param buffer [const void *]
959
+ # @return [void]
960
+ [:rlDrawVertexArrayElements, :rlDrawVertexArrayElements, [:int, :int, :pointer], :void],
961
+
962
+ # @!method rlDrawVertexArrayInstanced(offset, count, instances)
963
+ # rlDrawVertexArrayInstanced
964
+ # @param offset [int]
965
+ # @param count [int]
966
+ # @param instances [int]
967
+ # @return [void]
968
+ [:rlDrawVertexArrayInstanced, :rlDrawVertexArrayInstanced, [:int, :int, :int], :void],
969
+
970
+ # @!method rlDrawVertexArrayElementsInstanced(offset, count, buffer, instances)
971
+ # rlDrawVertexArrayElementsInstanced
972
+ # @param offset [int]
973
+ # @param count [int]
974
+ # @param buffer [const void *]
975
+ # @param instances [int]
976
+ # @return [void]
977
+ [:rlDrawVertexArrayElementsInstanced, :rlDrawVertexArrayElementsInstanced, [:int, :int, :pointer, :int], :void],
978
+
979
+ # @!method rlLoadTexture(data, width, height, format, mipmapCount)
980
+ # rlLoadTexture : Load texture in GPU
981
+ # @param data [const void *]
982
+ # @param width [int]
983
+ # @param height [int]
984
+ # @param format [int]
985
+ # @param mipmapCount [int]
986
+ # @return [unsigned int]
987
+ [:rlLoadTexture, :rlLoadTexture, [:pointer, :int, :int, :int, :int], :uint],
988
+
989
+ # @!method rlLoadTextureDepth(width, height, useRenderBuffer)
990
+ # rlLoadTextureDepth : Load depth texture/renderbuffer (to be attached to fbo)
991
+ # @param width [int]
992
+ # @param height [int]
993
+ # @param useRenderBuffer [bool]
994
+ # @return [unsigned int]
995
+ [:rlLoadTextureDepth, :rlLoadTextureDepth, [:int, :int, :bool], :uint],
996
+
997
+ # @!method rlLoadTextureCubemap(data, size, format)
998
+ # rlLoadTextureCubemap : Load texture cubemap
999
+ # @param data [const void *]
1000
+ # @param size [int]
1001
+ # @param format [int]
1002
+ # @return [unsigned int]
1003
+ [:rlLoadTextureCubemap, :rlLoadTextureCubemap, [:pointer, :int, :int], :uint],
1004
+
1005
+ # @!method rlUpdateTexture(id, offsetX, offsetY, width, height, format, data)
1006
+ # rlUpdateTexture : Update GPU texture with new data
1007
+ # @param id [unsigned int]
1008
+ # @param offsetX [int]
1009
+ # @param offsetY [int]
1010
+ # @param width [int]
1011
+ # @param height [int]
1012
+ # @param format [int]
1013
+ # @param data [const void *]
1014
+ # @return [void]
1015
+ [:rlUpdateTexture, :rlUpdateTexture, [:uint, :int, :int, :int, :int, :int, :pointer], :void],
1016
+
1017
+ # @!method rlGetGlTextureFormats(format, glInternalFormat, glFormat, glType)
1018
+ # rlGetGlTextureFormats : Get OpenGL internal formats
1019
+ # @param format [int]
1020
+ # @param glInternalFormat [unsigned int *]
1021
+ # @param glFormat [unsigned int *]
1022
+ # @param glType [unsigned int *]
1023
+ # @return [void]
1024
+ [:rlGetGlTextureFormats, :rlGetGlTextureFormats, [:int, :pointer, :pointer, :pointer], :void],
1025
+
1026
+ # @!method rlGetPixelFormatName(format)
1027
+ # rlGetPixelFormatName : Get name string for pixel format
1028
+ # @param format [unsigned int]
1029
+ # @return [const char *]
1030
+ [:rlGetPixelFormatName, :rlGetPixelFormatName, [:uint], :pointer],
1031
+
1032
+ # @!method rlUnloadTexture(id)
1033
+ # rlUnloadTexture : Unload texture from GPU memory
1034
+ # @param id [unsigned int]
1035
+ # @return [void]
1036
+ [:rlUnloadTexture, :rlUnloadTexture, [:uint], :void],
1037
+
1038
+ # @!method rlGenTextureMipmaps(id, width, height, format, mipmaps)
1039
+ # rlGenTextureMipmaps : Generate mipmap data for selected texture
1040
+ # @param id [unsigned int]
1041
+ # @param width [int]
1042
+ # @param height [int]
1043
+ # @param format [int]
1044
+ # @param mipmaps [int *]
1045
+ # @return [void]
1046
+ [:rlGenTextureMipmaps, :rlGenTextureMipmaps, [:uint, :int, :int, :int, :pointer], :void],
1047
+
1048
+ # @!method rlReadTexturePixels(id, width, height, format)
1049
+ # rlReadTexturePixels : Read texture pixel data
1050
+ # @param id [unsigned int]
1051
+ # @param width [int]
1052
+ # @param height [int]
1053
+ # @param format [int]
1054
+ # @return [void *]
1055
+ [:rlReadTexturePixels, :rlReadTexturePixels, [:uint, :int, :int, :int], :pointer],
1056
+
1057
+ # @!method rlReadScreenPixels(width, height)
1058
+ # rlReadScreenPixels : Read screen pixel data (color buffer)
1059
+ # @param width [int]
1060
+ # @param height [int]
1061
+ # @return [unsigned char *]
1062
+ [:rlReadScreenPixels, :rlReadScreenPixels, [:int, :int], :pointer],
1063
+
1064
+ # @!method rlLoadFramebuffer(width, height)
1065
+ # rlLoadFramebuffer : Load an empty framebuffer
1066
+ # @param width [int]
1067
+ # @param height [int]
1068
+ # @return [unsigned int]
1069
+ [:rlLoadFramebuffer, :rlLoadFramebuffer, [:int, :int], :uint],
1070
+
1071
+ # @!method rlFramebufferAttach(fboId, texId, attachType, texType, mipLevel)
1072
+ # rlFramebufferAttach : Attach texture/renderbuffer to a framebuffer
1073
+ # @param fboId [unsigned int]
1074
+ # @param texId [unsigned int]
1075
+ # @param attachType [int]
1076
+ # @param texType [int]
1077
+ # @param mipLevel [int]
1078
+ # @return [void]
1079
+ [:rlFramebufferAttach, :rlFramebufferAttach, [:uint, :uint, :int, :int, :int], :void],
1080
+
1081
+ # @!method rlFramebufferComplete(id)
1082
+ # rlFramebufferComplete : Verify framebuffer is complete
1083
+ # @param id [unsigned int]
1084
+ # @return [bool]
1085
+ [:rlFramebufferComplete, :rlFramebufferComplete, [:uint], :bool],
1086
+
1087
+ # @!method rlUnloadFramebuffer(id)
1088
+ # rlUnloadFramebuffer : Delete framebuffer from GPU
1089
+ # @param id [unsigned int]
1090
+ # @return [void]
1091
+ [:rlUnloadFramebuffer, :rlUnloadFramebuffer, [:uint], :void],
1092
+
1093
+ # @!method rlLoadShaderCode(vsCode, fsCode)
1094
+ # rlLoadShaderCode : Load shader from code strings
1095
+ # @param vsCode [const char *]
1096
+ # @param fsCode [const char *]
1097
+ # @return [unsigned int]
1098
+ [:rlLoadShaderCode, :rlLoadShaderCode, [:pointer, :pointer], :uint],
1099
+
1100
+ # @!method rlCompileShader(shaderCode, type)
1101
+ # rlCompileShader : Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
1102
+ # @param shaderCode [const char *]
1103
+ # @param type [int]
1104
+ # @return [unsigned int]
1105
+ [:rlCompileShader, :rlCompileShader, [:pointer, :int], :uint],
1106
+
1107
+ # @!method rlLoadShaderProgram(vShaderId, fShaderId)
1108
+ # rlLoadShaderProgram : Load custom shader program
1109
+ # @param vShaderId [unsigned int]
1110
+ # @param fShaderId [unsigned int]
1111
+ # @return [unsigned int]
1112
+ [:rlLoadShaderProgram, :rlLoadShaderProgram, [:uint, :uint], :uint],
1113
+
1114
+ # @!method rlUnloadShaderProgram(id)
1115
+ # rlUnloadShaderProgram : Unload shader program
1116
+ # @param id [unsigned int]
1117
+ # @return [void]
1118
+ [:rlUnloadShaderProgram, :rlUnloadShaderProgram, [:uint], :void],
1119
+
1120
+ # @!method rlGetLocationUniform(shaderId, uniformName)
1121
+ # rlGetLocationUniform : Get shader location uniform
1122
+ # @param shaderId [unsigned int]
1123
+ # @param uniformName [const char *]
1124
+ # @return [int]
1125
+ [:rlGetLocationUniform, :rlGetLocationUniform, [:uint, :pointer], :int],
1126
+
1127
+ # @!method rlGetLocationAttrib(shaderId, attribName)
1128
+ # rlGetLocationAttrib : Get shader location attribute
1129
+ # @param shaderId [unsigned int]
1130
+ # @param attribName [const char *]
1131
+ # @return [int]
1132
+ [:rlGetLocationAttrib, :rlGetLocationAttrib, [:uint, :pointer], :int],
1133
+
1134
+ # @!method rlSetUniform(locIndex, value, uniformType, count)
1135
+ # rlSetUniform : Set shader value uniform
1136
+ # @param locIndex [int]
1137
+ # @param value [const void *]
1138
+ # @param uniformType [int]
1139
+ # @param count [int]
1140
+ # @return [void]
1141
+ [:rlSetUniform, :rlSetUniform, [:int, :pointer, :int, :int], :void],
1142
+
1143
+ # @!method rlSetUniformMatrix(locIndex, mat)
1144
+ # rlSetUniformMatrix : Set shader value matrix
1145
+ # @param locIndex [int]
1146
+ # @param mat [Matrix]
1147
+ # @return [void]
1148
+ [:rlSetUniformMatrix, :rlSetUniformMatrix, [:int, Matrix.by_value], :void],
1149
+
1150
+ # @!method rlSetUniformSampler(locIndex, textureId)
1151
+ # rlSetUniformSampler : Set shader value sampler
1152
+ # @param locIndex [int]
1153
+ # @param textureId [unsigned int]
1154
+ # @return [void]
1155
+ [:rlSetUniformSampler, :rlSetUniformSampler, [:int, :uint], :void],
1156
+
1157
+ # @!method rlSetShader(id, locs)
1158
+ # rlSetShader : Set shader currently active (id and locations)
1159
+ # @param id [unsigned int]
1160
+ # @param locs [int *]
1161
+ # @return [void]
1162
+ [:rlSetShader, :rlSetShader, [:uint, :pointer], :void],
1163
+
1164
+ # @!method rlLoadComputeShaderProgram(shaderId)
1165
+ # rlLoadComputeShaderProgram : Load compute shader program
1166
+ # @param shaderId [unsigned int]
1167
+ # @return [unsigned int]
1168
+ [:rlLoadComputeShaderProgram, :rlLoadComputeShaderProgram, [:uint], :uint],
1169
+
1170
+ # @!method rlComputeShaderDispatch(groupX, groupY, groupZ)
1171
+ # rlComputeShaderDispatch : Dispatch compute shader (equivalent to *draw* for graphics pipeline)
1172
+ # @param groupX [unsigned int]
1173
+ # @param groupY [unsigned int]
1174
+ # @param groupZ [unsigned int]
1175
+ # @return [void]
1176
+ [:rlComputeShaderDispatch, :rlComputeShaderDispatch, [:uint, :uint, :uint], :void],
1177
+
1178
+ # @!method rlLoadShaderBuffer(size, data, usageHint)
1179
+ # rlLoadShaderBuffer : Load shader storage buffer object (SSBO)
1180
+ # @param size [unsigned int]
1181
+ # @param data [const void *]
1182
+ # @param usageHint [int]
1183
+ # @return [unsigned int]
1184
+ [:rlLoadShaderBuffer, :rlLoadShaderBuffer, [:uint, :pointer, :int], :uint],
1185
+
1186
+ # @!method rlUnloadShaderBuffer(ssboId)
1187
+ # rlUnloadShaderBuffer : Unload shader storage buffer object (SSBO)
1188
+ # @param ssboId [unsigned int]
1189
+ # @return [void]
1190
+ [:rlUnloadShaderBuffer, :rlUnloadShaderBuffer, [:uint], :void],
1191
+
1192
+ # @!method rlUpdateShaderBuffer(id, data, dataSize, offset)
1193
+ # rlUpdateShaderBuffer : Update SSBO buffer data
1194
+ # @param id [unsigned int]
1195
+ # @param data [const void *]
1196
+ # @param dataSize [unsigned int]
1197
+ # @param offset [unsigned int]
1198
+ # @return [void]
1199
+ [:rlUpdateShaderBuffer, :rlUpdateShaderBuffer, [:uint, :pointer, :uint, :uint], :void],
1200
+
1201
+ # @!method rlBindShaderBuffer(id, index)
1202
+ # rlBindShaderBuffer : Bind SSBO buffer
1203
+ # @param id [unsigned int]
1204
+ # @param index [unsigned int]
1205
+ # @return [void]
1206
+ [:rlBindShaderBuffer, :rlBindShaderBuffer, [:uint, :uint], :void],
1207
+
1208
+ # @!method rlReadShaderBuffer(id, dest, count, offset)
1209
+ # rlReadShaderBuffer : Read SSBO buffer data (GPU->CPU)
1210
+ # @param id [unsigned int]
1211
+ # @param dest [void *]
1212
+ # @param count [unsigned int]
1213
+ # @param offset [unsigned int]
1214
+ # @return [void]
1215
+ [:rlReadShaderBuffer, :rlReadShaderBuffer, [:uint, :pointer, :uint, :uint], :void],
1216
+
1217
+ # @!method rlCopyShaderBuffer(destId, srcId, destOffset, srcOffset, count)
1218
+ # rlCopyShaderBuffer : Copy SSBO data between buffers
1219
+ # @param destId [unsigned int]
1220
+ # @param srcId [unsigned int]
1221
+ # @param destOffset [unsigned int]
1222
+ # @param srcOffset [unsigned int]
1223
+ # @param count [unsigned int]
1224
+ # @return [void]
1225
+ [:rlCopyShaderBuffer, :rlCopyShaderBuffer, [:uint, :uint, :uint, :uint, :uint], :void],
1226
+
1227
+ # @!method rlGetShaderBufferSize(id)
1228
+ # rlGetShaderBufferSize : Get SSBO buffer size
1229
+ # @param id [unsigned int]
1230
+ # @return [unsigned int]
1231
+ [:rlGetShaderBufferSize, :rlGetShaderBufferSize, [:uint], :uint],
1232
+
1233
+ # @!method rlBindImageTexture(id, index, format, readonly)
1234
+ # rlBindImageTexture : Bind image texture
1235
+ # @param id [unsigned int]
1236
+ # @param index [unsigned int]
1237
+ # @param format [int]
1238
+ # @param readonly [bool]
1239
+ # @return [void]
1240
+ [:rlBindImageTexture, :rlBindImageTexture, [:uint, :uint, :int, :bool], :void],
1241
+
1242
+ # @!method rlGetMatrixModelview()
1243
+ # rlGetMatrixModelview : Get internal modelview matrix
1244
+ # @return [Matrix]
1245
+ [:rlGetMatrixModelview, :rlGetMatrixModelview, [], Matrix.by_value],
1246
+
1247
+ # @!method rlGetMatrixProjection()
1248
+ # rlGetMatrixProjection : Get internal projection matrix
1249
+ # @return [Matrix]
1250
+ [:rlGetMatrixProjection, :rlGetMatrixProjection, [], Matrix.by_value],
1251
+
1252
+ # @!method rlGetMatrixTransform()
1253
+ # rlGetMatrixTransform : Get internal accumulated transform matrix
1254
+ # @return [Matrix]
1255
+ [:rlGetMatrixTransform, :rlGetMatrixTransform, [], Matrix.by_value],
1256
+
1257
+ # @!method rlGetMatrixProjectionStereo(eye)
1258
+ # rlGetMatrixProjectionStereo : Get internal projection matrix for stereo render (selected eye)
1259
+ # @param eye [int]
1260
+ # @return [Matrix]
1261
+ [:rlGetMatrixProjectionStereo, :rlGetMatrixProjectionStereo, [:int], Matrix.by_value],
1262
+
1263
+ # @!method rlGetMatrixViewOffsetStereo(eye)
1264
+ # rlGetMatrixViewOffsetStereo : Get internal view offset matrix for stereo render (selected eye)
1265
+ # @param eye [int]
1266
+ # @return [Matrix]
1267
+ [:rlGetMatrixViewOffsetStereo, :rlGetMatrixViewOffsetStereo, [:int], Matrix.by_value],
1268
+
1269
+ # @!method rlSetMatrixProjection(proj)
1270
+ # rlSetMatrixProjection : Set a custom projection matrix (replaces internal projection matrix)
1271
+ # @param proj [Matrix]
1272
+ # @return [void]
1273
+ [:rlSetMatrixProjection, :rlSetMatrixProjection, [Matrix.by_value], :void],
1274
+
1275
+ # @!method rlSetMatrixModelview(view)
1276
+ # rlSetMatrixModelview : Set a custom modelview matrix (replaces internal modelview matrix)
1277
+ # @param view [Matrix]
1278
+ # @return [void]
1279
+ [:rlSetMatrixModelview, :rlSetMatrixModelview, [Matrix.by_value], :void],
1280
+
1281
+ # @!method rlSetMatrixProjectionStereo(right, left)
1282
+ # rlSetMatrixProjectionStereo : Set eyes projection matrices for stereo rendering
1283
+ # @param right [Matrix]
1284
+ # @param left [Matrix]
1285
+ # @return [void]
1286
+ [:rlSetMatrixProjectionStereo, :rlSetMatrixProjectionStereo, [Matrix.by_value, Matrix.by_value], :void],
1287
+
1288
+ # @!method rlSetMatrixViewOffsetStereo(right, left)
1289
+ # rlSetMatrixViewOffsetStereo : Set eyes view offsets matrices for stereo rendering
1290
+ # @param right [Matrix]
1291
+ # @param left [Matrix]
1292
+ # @return [void]
1293
+ [:rlSetMatrixViewOffsetStereo, :rlSetMatrixViewOffsetStereo, [Matrix.by_value, Matrix.by_value], :void],
1294
+
1295
+ # @!method rlLoadDrawCube()
1296
+ # rlLoadDrawCube : Load and draw a cube
1297
+ # @return [void]
1298
+ [:rlLoadDrawCube, :rlLoadDrawCube, [], :void],
1299
+
1300
+ # @!method rlLoadDrawQuad()
1301
+ # rlLoadDrawQuad : Load and draw a quad
1302
+ # @return [void]
1303
+ [:rlLoadDrawQuad, :rlLoadDrawQuad, [], :void],
1304
+ ]
1305
+ entries.each do |entry|
1306
+ attach_function entry[0], entry[1], entry[2], entry[3]
1307
+ rescue FFI::NotFoundError => e
1308
+ warn "[Warning] Failed to import #{entry[0]} (#{e})."
1309
+ end
1310
+ end
1311
+ end