raylib-bindings 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/lib/rlgl.rb CHANGED
@@ -1,658 +1,658 @@
1
- # Yet another raylib wrapper for Ruby
2
- #
3
- # * https://github.com/vaiorabbit/raylib-bindings
4
- #
5
- # [NOTICE] This is an automatically generated file.
6
-
7
- require 'ffi'
8
-
9
- module Raylib
10
- extend FFI::Library
11
- # Define/Macro
12
-
13
- RLGL_VERSION = "4.0"
14
- RL_DEFAULT_BATCH_BUFFER_ELEMENTS = 8192
15
- RL_DEFAULT_BATCH_BUFFERS = 1
16
- RL_DEFAULT_BATCH_DRAWCALLS = 256
17
- RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS = 4
18
- RL_MAX_MATRIX_STACK_SIZE = 32
19
- RL_MAX_SHADER_LOCATIONS = 32
20
- RL_CULL_DISTANCE_NEAR = 0.01
21
- RL_CULL_DISTANCE_FAR = 1000.0
22
- RL_TEXTURE_WRAP_S = 0x2802
23
- RL_TEXTURE_WRAP_T = 0x2803
24
- RL_TEXTURE_MAG_FILTER = 0x2800
25
- RL_TEXTURE_MIN_FILTER = 0x2801
26
- RL_TEXTURE_FILTER_NEAREST = 0x2600
27
- RL_TEXTURE_FILTER_LINEAR = 0x2601
28
- RL_TEXTURE_FILTER_MIP_NEAREST = 0x2700
29
- RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR = 0x2702
30
- RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST = 0x2701
31
- RL_TEXTURE_FILTER_MIP_LINEAR = 0x2703
32
- RL_TEXTURE_FILTER_ANISOTROPIC = 0x3000
33
- RL_TEXTURE_WRAP_REPEAT = 0x2901
34
- RL_TEXTURE_WRAP_CLAMP = 0x812F
35
- RL_TEXTURE_WRAP_MIRROR_REPEAT = 0x8370
36
- RL_TEXTURE_WRAP_MIRROR_CLAMP = 0x8742
37
- RL_MODELVIEW = 0x1700
38
- RL_PROJECTION = 0x1701
39
- RL_TEXTURE = 0x1702
40
- RL_LINES = 0x0001
41
- RL_TRIANGLES = 0x0004
42
- RL_QUADS = 0x0007
43
- RL_UNSIGNED_BYTE = 0x1401
44
- RL_FLOAT = 0x1406
45
- RL_STREAM_DRAW = 0x88E0
46
- RL_STREAM_READ = 0x88E1
47
- RL_STREAM_COPY = 0x88E2
48
- RL_STATIC_DRAW = 0x88E4
49
- RL_STATIC_READ = 0x88E5
50
- RL_STATIC_COPY = 0x88E6
51
- RL_DYNAMIC_DRAW = 0x88E8
52
- RL_DYNAMIC_READ = 0x88E9
53
- RL_DYNAMIC_COPY = 0x88EA
54
- RL_FRAGMENT_SHADER = 0x8B30
55
- RL_VERTEX_SHADER = 0x8B31
56
- RL_COMPUTE_SHADER = 0x91B9
57
-
58
- # Enum
59
-
60
- OPENGL_11 = 1
61
- OPENGL_21 = 2
62
- OPENGL_33 = 3
63
- OPENGL_43 = 4
64
- OPENGL_ES_20 = 5
65
- RL_ATTACHMENT_COLOR_CHANNEL0 = 0
66
- RL_ATTACHMENT_COLOR_CHANNEL1 = 1
67
- RL_ATTACHMENT_COLOR_CHANNEL2 = 2
68
- RL_ATTACHMENT_COLOR_CHANNEL3 = 3
69
- RL_ATTACHMENT_COLOR_CHANNEL4 = 4
70
- RL_ATTACHMENT_COLOR_CHANNEL5 = 5
71
- RL_ATTACHMENT_COLOR_CHANNEL6 = 6
72
- RL_ATTACHMENT_COLOR_CHANNEL7 = 7
73
- RL_ATTACHMENT_DEPTH = 100
74
- RL_ATTACHMENT_STENCIL = 200
75
- RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0
76
- RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1
77
- RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2
78
- RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3
79
- RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4
80
- RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5
81
- RL_ATTACHMENT_TEXTURE2D = 100
82
- RL_ATTACHMENT_RENDERBUFFER = 200
83
- RL_LOG_ALL = 0
84
- RL_LOG_TRACE = 1
85
- RL_LOG_DEBUG = 2
86
- RL_LOG_INFO = 3
87
- RL_LOG_WARNING = 4
88
- RL_LOG_ERROR = 5
89
- RL_LOG_FATAL = 6
90
- RL_LOG_NONE = 7
91
- RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1
92
- RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2
93
- RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3
94
- RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4
95
- RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5
96
- RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6
97
- RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7
98
- RL_PIXELFORMAT_UNCOMPRESSED_R32 = 8
99
- RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9
100
- RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10
101
- RL_PIXELFORMAT_COMPRESSED_DXT1_RGB = 11
102
- RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12
103
- RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13
104
- RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14
105
- RL_PIXELFORMAT_COMPRESSED_ETC1_RGB = 15
106
- RL_PIXELFORMAT_COMPRESSED_ETC2_RGB = 16
107
- RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17
108
- RL_PIXELFORMAT_COMPRESSED_PVRT_RGB = 18
109
- RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19
110
- RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20
111
- RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21
112
- RL_TEXTURE_FILTER_POINT = 0
113
- RL_TEXTURE_FILTER_BILINEAR = 1
114
- RL_TEXTURE_FILTER_TRILINEAR = 2
115
- RL_TEXTURE_FILTER_ANISOTROPIC_4X = 3
116
- RL_TEXTURE_FILTER_ANISOTROPIC_8X = 4
117
- RL_TEXTURE_FILTER_ANISOTROPIC_16X = 5
118
- RL_BLEND_ALPHA = 0
119
- RL_BLEND_ADDITIVE = 1
120
- RL_BLEND_MULTIPLIED = 2
121
- RL_BLEND_ADD_COLORS = 3
122
- RL_BLEND_SUBTRACT_COLORS = 4
123
- RL_BLEND_ALPHA_PREMUL = 5
124
- RL_BLEND_CUSTOM = 6
125
- RL_SHADER_LOC_VERTEX_POSITION = 0
126
- RL_SHADER_LOC_VERTEX_TEXCOORD01 = 1
127
- RL_SHADER_LOC_VERTEX_TEXCOORD02 = 2
128
- RL_SHADER_LOC_VERTEX_NORMAL = 3
129
- RL_SHADER_LOC_VERTEX_TANGENT = 4
130
- RL_SHADER_LOC_VERTEX_COLOR = 5
131
- RL_SHADER_LOC_MATRIX_MVP = 6
132
- RL_SHADER_LOC_MATRIX_VIEW = 7
133
- RL_SHADER_LOC_MATRIX_PROJECTION = 8
134
- RL_SHADER_LOC_MATRIX_MODEL = 9
135
- RL_SHADER_LOC_MATRIX_NORMAL = 10
136
- RL_SHADER_LOC_VECTOR_VIEW = 11
137
- RL_SHADER_LOC_COLOR_DIFFUSE = 12
138
- RL_SHADER_LOC_COLOR_SPECULAR = 13
139
- RL_SHADER_LOC_COLOR_AMBIENT = 14
140
- RL_SHADER_LOC_MAP_ALBEDO = 15
141
- RL_SHADER_LOC_MAP_METALNESS = 16
142
- RL_SHADER_LOC_MAP_NORMAL = 17
143
- RL_SHADER_LOC_MAP_ROUGHNESS = 18
144
- RL_SHADER_LOC_MAP_OCCLUSION = 19
145
- RL_SHADER_LOC_MAP_EMISSION = 20
146
- RL_SHADER_LOC_MAP_HEIGHT = 21
147
- RL_SHADER_LOC_MAP_CUBEMAP = 22
148
- RL_SHADER_LOC_MAP_IRRADIANCE = 23
149
- RL_SHADER_LOC_MAP_PREFILTER = 24
150
- RL_SHADER_LOC_MAP_BRDF = 25
151
- RL_SHADER_UNIFORM_FLOAT = 0
152
- RL_SHADER_UNIFORM_VEC2 = 1
153
- RL_SHADER_UNIFORM_VEC3 = 2
154
- RL_SHADER_UNIFORM_VEC4 = 3
155
- RL_SHADER_UNIFORM_INT = 4
156
- RL_SHADER_UNIFORM_IVEC2 = 5
157
- RL_SHADER_UNIFORM_IVEC3 = 6
158
- RL_SHADER_UNIFORM_IVEC4 = 7
159
- RL_SHADER_UNIFORM_SAMPLER2D = 8
160
- RL_SHADER_ATTRIB_FLOAT = 0
161
- RL_SHADER_ATTRIB_VEC2 = 1
162
- RL_SHADER_ATTRIB_VEC3 = 2
163
- RL_SHADER_ATTRIB_VEC4 = 3
164
-
165
- # Typedef
166
-
167
- typedef :int, :rlGlVersion
168
- typedef :int, :rlFramebufferAttachType
169
- typedef :int, :rlFramebufferAttachTextureType
170
- typedef :int, :rlTraceLogLevel
171
- typedef :int, :rlPixelFormat
172
- typedef :int, :rlTextureFilter
173
- typedef :int, :rlBlendMode
174
- typedef :int, :rlShaderLocationIndex
175
- typedef :int, :rlShaderUniformDataType
176
- typedef :int, :rlShaderAttributeDataType
177
-
178
- # Struct
179
-
180
- class RlVertexBuffer < FFI::Struct
181
- layout(
182
- :elementCount, :int,
183
- :vertices, :pointer,
184
- :texcoords, :pointer,
185
- :colors, :pointer,
186
- :indices, :pointer,
187
- :vaoId, :uint,
188
- :vboId, [:uint, 4],
189
- )
190
- end
191
-
192
- class RlDrawCall < FFI::Struct
193
- layout(
194
- :mode, :int,
195
- :vertexCount, :int,
196
- :vertexAlignment, :int,
197
- :textureId, :uint,
198
- )
199
- end
200
-
201
- class RlRenderBatch < FFI::Struct
202
- layout(
203
- :bufferCount, :int,
204
- :currentBuffer, :int,
205
- :vertexBuffer, :pointer,
206
- :draws, :pointer,
207
- :drawCounter, :int,
208
- :currentDepth, :float,
209
- )
210
- end
211
-
212
-
213
- # Function
214
-
215
- def self.setup_rlgl_symbols()
216
- symbols = [
217
- :rlMatrixMode,
218
- :rlPushMatrix,
219
- :rlPopMatrix,
220
- :rlLoadIdentity,
221
- :rlTranslatef,
222
- :rlRotatef,
223
- :rlScalef,
224
- :rlMultMatrixf,
225
- :rlFrustum,
226
- :rlOrtho,
227
- :rlViewport,
228
- :rlBegin,
229
- :rlEnd,
230
- :rlVertex2i,
231
- :rlVertex2f,
232
- :rlVertex3f,
233
- :rlTexCoord2f,
234
- :rlNormal3f,
235
- :rlColor4ub,
236
- :rlColor3f,
237
- :rlColor4f,
238
- :rlEnableVertexArray,
239
- :rlDisableVertexArray,
240
- :rlEnableVertexBuffer,
241
- :rlDisableVertexBuffer,
242
- :rlEnableVertexBufferElement,
243
- :rlDisableVertexBufferElement,
244
- :rlEnableVertexAttribute,
245
- :rlDisableVertexAttribute,
246
- :rlActiveTextureSlot,
247
- :rlEnableTexture,
248
- :rlDisableTexture,
249
- :rlEnableTextureCubemap,
250
- :rlDisableTextureCubemap,
251
- :rlTextureParameters,
252
- :rlEnableShader,
253
- :rlDisableShader,
254
- :rlEnableFramebuffer,
255
- :rlDisableFramebuffer,
256
- :rlActiveDrawBuffers,
257
- :rlEnableColorBlend,
258
- :rlDisableColorBlend,
259
- :rlEnableDepthTest,
260
- :rlDisableDepthTest,
261
- :rlEnableDepthMask,
262
- :rlDisableDepthMask,
263
- :rlEnableBackfaceCulling,
264
- :rlDisableBackfaceCulling,
265
- :rlEnableScissorTest,
266
- :rlDisableScissorTest,
267
- :rlScissor,
268
- :rlEnableWireMode,
269
- :rlDisableWireMode,
270
- :rlSetLineWidth,
271
- :rlGetLineWidth,
272
- :rlEnableSmoothLines,
273
- :rlDisableSmoothLines,
274
- :rlEnableStereoRender,
275
- :rlDisableStereoRender,
276
- :rlIsStereoRenderEnabled,
277
- :rlClearColor,
278
- :rlClearScreenBuffers,
279
- :rlCheckErrors,
280
- :rlSetBlendMode,
281
- :rlSetBlendFactors,
282
- :rlglInit,
283
- :rlglClose,
284
- :rlLoadExtensions,
285
- :rlGetVersion,
286
- :rlSetFramebufferWidth,
287
- :rlGetFramebufferWidth,
288
- :rlSetFramebufferHeight,
289
- :rlGetFramebufferHeight,
290
- :rlGetTextureIdDefault,
291
- :rlGetShaderIdDefault,
292
- :rlGetShaderLocsDefault,
293
- :rlLoadRenderBatch,
294
- :rlUnloadRenderBatch,
295
- :rlDrawRenderBatch,
296
- :rlSetRenderBatchActive,
297
- :rlDrawRenderBatchActive,
298
- :rlCheckRenderBatchLimit,
299
- :rlSetTexture,
300
- :rlLoadVertexArray,
301
- :rlLoadVertexBuffer,
302
- :rlLoadVertexBufferElement,
303
- :rlUpdateVertexBuffer,
304
- :rlUpdateVertexBufferElements,
305
- :rlUnloadVertexArray,
306
- :rlUnloadVertexBuffer,
307
- :rlSetVertexAttribute,
308
- :rlSetVertexAttributeDivisor,
309
- :rlSetVertexAttributeDefault,
310
- :rlDrawVertexArray,
311
- :rlDrawVertexArrayElements,
312
- :rlDrawVertexArrayInstanced,
313
- :rlDrawVertexArrayElementsInstanced,
314
- :rlLoadTexture,
315
- :rlLoadTextureDepth,
316
- :rlLoadTextureCubemap,
317
- :rlUpdateTexture,
318
- :rlGetGlTextureFormats,
319
- :rlGetPixelFormatName,
320
- :rlUnloadTexture,
321
- :rlGenTextureMipmaps,
322
- :rlReadTexturePixels,
323
- :rlReadScreenPixels,
324
- :rlLoadFramebuffer,
325
- :rlFramebufferAttach,
326
- :rlFramebufferComplete,
327
- :rlUnloadFramebuffer,
328
- :rlLoadShaderCode,
329
- :rlCompileShader,
330
- :rlLoadShaderProgram,
331
- :rlUnloadShaderProgram,
332
- :rlGetLocationUniform,
333
- :rlGetLocationAttrib,
334
- :rlSetUniform,
335
- :rlSetUniformMatrix,
336
- :rlSetUniformSampler,
337
- :rlSetShader,
338
- :rlLoadComputeShaderProgram,
339
- :rlComputeShaderDispatch,
340
- :rlLoadShaderBuffer,
341
- :rlUnloadShaderBuffer,
342
- :rlUpdateShaderBufferElements,
343
- :rlGetShaderBufferSize,
344
- :rlReadShaderBufferElements,
345
- :rlBindShaderBuffer,
346
- :rlCopyBuffersElements,
347
- :rlBindImageTexture,
348
- :rlGetMatrixModelview,
349
- :rlGetMatrixProjection,
350
- :rlGetMatrixTransform,
351
- :rlGetMatrixProjectionStereo,
352
- :rlGetMatrixViewOffsetStereo,
353
- :rlSetMatrixProjection,
354
- :rlSetMatrixModelview,
355
- :rlSetMatrixProjectionStereo,
356
- :rlSetMatrixViewOffsetStereo,
357
- :rlLoadDrawCube,
358
- :rlLoadDrawQuad,
359
- ]
360
- args = {
361
- :rlMatrixMode => [:int],
362
- :rlPushMatrix => [],
363
- :rlPopMatrix => [],
364
- :rlLoadIdentity => [],
365
- :rlTranslatef => [:float, :float, :float],
366
- :rlRotatef => [:float, :float, :float, :float],
367
- :rlScalef => [:float, :float, :float],
368
- :rlMultMatrixf => [:pointer],
369
- :rlFrustum => [:double, :double, :double, :double, :double, :double],
370
- :rlOrtho => [:double, :double, :double, :double, :double, :double],
371
- :rlViewport => [:int, :int, :int, :int],
372
- :rlBegin => [:int],
373
- :rlEnd => [],
374
- :rlVertex2i => [:int, :int],
375
- :rlVertex2f => [:float, :float],
376
- :rlVertex3f => [:float, :float, :float],
377
- :rlTexCoord2f => [:float, :float],
378
- :rlNormal3f => [:float, :float, :float],
379
- :rlColor4ub => [:uchar, :uchar, :uchar, :uchar],
380
- :rlColor3f => [:float, :float, :float],
381
- :rlColor4f => [:float, :float, :float, :float],
382
- :rlEnableVertexArray => [:uint],
383
- :rlDisableVertexArray => [],
384
- :rlEnableVertexBuffer => [:uint],
385
- :rlDisableVertexBuffer => [],
386
- :rlEnableVertexBufferElement => [:uint],
387
- :rlDisableVertexBufferElement => [],
388
- :rlEnableVertexAttribute => [:uint],
389
- :rlDisableVertexAttribute => [:uint],
390
- :rlActiveTextureSlot => [:int],
391
- :rlEnableTexture => [:uint],
392
- :rlDisableTexture => [],
393
- :rlEnableTextureCubemap => [:uint],
394
- :rlDisableTextureCubemap => [],
395
- :rlTextureParameters => [:uint, :int, :int],
396
- :rlEnableShader => [:uint],
397
- :rlDisableShader => [],
398
- :rlEnableFramebuffer => [:uint],
399
- :rlDisableFramebuffer => [],
400
- :rlActiveDrawBuffers => [:int],
401
- :rlEnableColorBlend => [],
402
- :rlDisableColorBlend => [],
403
- :rlEnableDepthTest => [],
404
- :rlDisableDepthTest => [],
405
- :rlEnableDepthMask => [],
406
- :rlDisableDepthMask => [],
407
- :rlEnableBackfaceCulling => [],
408
- :rlDisableBackfaceCulling => [],
409
- :rlEnableScissorTest => [],
410
- :rlDisableScissorTest => [],
411
- :rlScissor => [:int, :int, :int, :int],
412
- :rlEnableWireMode => [],
413
- :rlDisableWireMode => [],
414
- :rlSetLineWidth => [:float],
415
- :rlGetLineWidth => [],
416
- :rlEnableSmoothLines => [],
417
- :rlDisableSmoothLines => [],
418
- :rlEnableStereoRender => [],
419
- :rlDisableStereoRender => [],
420
- :rlIsStereoRenderEnabled => [],
421
- :rlClearColor => [:uchar, :uchar, :uchar, :uchar],
422
- :rlClearScreenBuffers => [],
423
- :rlCheckErrors => [],
424
- :rlSetBlendMode => [:int],
425
- :rlSetBlendFactors => [:int, :int, :int],
426
- :rlglInit => [:int, :int],
427
- :rlglClose => [],
428
- :rlLoadExtensions => [:pointer],
429
- :rlGetVersion => [],
430
- :rlSetFramebufferWidth => [:int],
431
- :rlGetFramebufferWidth => [],
432
- :rlSetFramebufferHeight => [:int],
433
- :rlGetFramebufferHeight => [],
434
- :rlGetTextureIdDefault => [],
435
- :rlGetShaderIdDefault => [],
436
- :rlGetShaderLocsDefault => [],
437
- :rlLoadRenderBatch => [:int, :int],
438
- :rlUnloadRenderBatch => [RlRenderBatch.by_value],
439
- :rlDrawRenderBatch => [:pointer],
440
- :rlSetRenderBatchActive => [:pointer],
441
- :rlDrawRenderBatchActive => [],
442
- :rlCheckRenderBatchLimit => [:int],
443
- :rlSetTexture => [:uint],
444
- :rlLoadVertexArray => [],
445
- :rlLoadVertexBuffer => [:pointer, :int, :bool],
446
- :rlLoadVertexBufferElement => [:pointer, :int, :bool],
447
- :rlUpdateVertexBuffer => [:uint, :pointer, :int, :int],
448
- :rlUpdateVertexBufferElements => [:uint, :pointer, :int, :int],
449
- :rlUnloadVertexArray => [:uint],
450
- :rlUnloadVertexBuffer => [:uint],
451
- :rlSetVertexAttribute => [:uint, :int, :int, :bool, :int, :pointer],
452
- :rlSetVertexAttributeDivisor => [:uint, :int],
453
- :rlSetVertexAttributeDefault => [:int, :pointer, :int, :int],
454
- :rlDrawVertexArray => [:int, :int],
455
- :rlDrawVertexArrayElements => [:int, :int, :pointer],
456
- :rlDrawVertexArrayInstanced => [:int, :int, :int],
457
- :rlDrawVertexArrayElementsInstanced => [:int, :int, :pointer, :int],
458
- :rlLoadTexture => [:pointer, :int, :int, :int, :int],
459
- :rlLoadTextureDepth => [:int, :int, :bool],
460
- :rlLoadTextureCubemap => [:pointer, :int, :int],
461
- :rlUpdateTexture => [:uint, :int, :int, :int, :int, :int, :pointer],
462
- :rlGetGlTextureFormats => [:int, :pointer, :pointer, :pointer],
463
- :rlGetPixelFormatName => [:uint],
464
- :rlUnloadTexture => [:uint],
465
- :rlGenTextureMipmaps => [:uint, :int, :int, :int, :pointer],
466
- :rlReadTexturePixels => [:uint, :int, :int, :int],
467
- :rlReadScreenPixels => [:int, :int],
468
- :rlLoadFramebuffer => [:int, :int],
469
- :rlFramebufferAttach => [:uint, :uint, :int, :int, :int],
470
- :rlFramebufferComplete => [:uint],
471
- :rlUnloadFramebuffer => [:uint],
472
- :rlLoadShaderCode => [:pointer, :pointer],
473
- :rlCompileShader => [:pointer, :int],
474
- :rlLoadShaderProgram => [:uint, :uint],
475
- :rlUnloadShaderProgram => [:uint],
476
- :rlGetLocationUniform => [:uint, :pointer],
477
- :rlGetLocationAttrib => [:uint, :pointer],
478
- :rlSetUniform => [:int, :pointer, :int, :int],
479
- :rlSetUniformMatrix => [:int, Matrix.by_value],
480
- :rlSetUniformSampler => [:int, :uint],
481
- :rlSetShader => [:uint, :pointer],
482
- :rlLoadComputeShaderProgram => [:uint],
483
- :rlComputeShaderDispatch => [:uint, :uint, :uint],
484
- :rlLoadShaderBuffer => [:ulong_long, :pointer, :int],
485
- :rlUnloadShaderBuffer => [:uint],
486
- :rlUpdateShaderBufferElements => [:uint, :pointer, :ulong_long, :ulong_long],
487
- :rlGetShaderBufferSize => [:uint],
488
- :rlReadShaderBufferElements => [:uint, :pointer, :ulong_long, :ulong_long],
489
- :rlBindShaderBuffer => [:uint, :uint],
490
- :rlCopyBuffersElements => [:uint, :uint, :ulong_long, :ulong_long, :ulong_long],
491
- :rlBindImageTexture => [:uint, :uint, :uint, :int],
492
- :rlGetMatrixModelview => [],
493
- :rlGetMatrixProjection => [],
494
- :rlGetMatrixTransform => [],
495
- :rlGetMatrixProjectionStereo => [:int],
496
- :rlGetMatrixViewOffsetStereo => [:int],
497
- :rlSetMatrixProjection => [Matrix.by_value],
498
- :rlSetMatrixModelview => [Matrix.by_value],
499
- :rlSetMatrixProjectionStereo => [Matrix.by_value, Matrix.by_value],
500
- :rlSetMatrixViewOffsetStereo => [Matrix.by_value, Matrix.by_value],
501
- :rlLoadDrawCube => [],
502
- :rlLoadDrawQuad => [],
503
- }
504
- retvals = {
505
- :rlMatrixMode => :void,
506
- :rlPushMatrix => :void,
507
- :rlPopMatrix => :void,
508
- :rlLoadIdentity => :void,
509
- :rlTranslatef => :void,
510
- :rlRotatef => :void,
511
- :rlScalef => :void,
512
- :rlMultMatrixf => :void,
513
- :rlFrustum => :void,
514
- :rlOrtho => :void,
515
- :rlViewport => :void,
516
- :rlBegin => :void,
517
- :rlEnd => :void,
518
- :rlVertex2i => :void,
519
- :rlVertex2f => :void,
520
- :rlVertex3f => :void,
521
- :rlTexCoord2f => :void,
522
- :rlNormal3f => :void,
523
- :rlColor4ub => :void,
524
- :rlColor3f => :void,
525
- :rlColor4f => :void,
526
- :rlEnableVertexArray => :bool,
527
- :rlDisableVertexArray => :void,
528
- :rlEnableVertexBuffer => :void,
529
- :rlDisableVertexBuffer => :void,
530
- :rlEnableVertexBufferElement => :void,
531
- :rlDisableVertexBufferElement => :void,
532
- :rlEnableVertexAttribute => :void,
533
- :rlDisableVertexAttribute => :void,
534
- :rlActiveTextureSlot => :void,
535
- :rlEnableTexture => :void,
536
- :rlDisableTexture => :void,
537
- :rlEnableTextureCubemap => :void,
538
- :rlDisableTextureCubemap => :void,
539
- :rlTextureParameters => :void,
540
- :rlEnableShader => :void,
541
- :rlDisableShader => :void,
542
- :rlEnableFramebuffer => :void,
543
- :rlDisableFramebuffer => :void,
544
- :rlActiveDrawBuffers => :void,
545
- :rlEnableColorBlend => :void,
546
- :rlDisableColorBlend => :void,
547
- :rlEnableDepthTest => :void,
548
- :rlDisableDepthTest => :void,
549
- :rlEnableDepthMask => :void,
550
- :rlDisableDepthMask => :void,
551
- :rlEnableBackfaceCulling => :void,
552
- :rlDisableBackfaceCulling => :void,
553
- :rlEnableScissorTest => :void,
554
- :rlDisableScissorTest => :void,
555
- :rlScissor => :void,
556
- :rlEnableWireMode => :void,
557
- :rlDisableWireMode => :void,
558
- :rlSetLineWidth => :void,
559
- :rlGetLineWidth => :float,
560
- :rlEnableSmoothLines => :void,
561
- :rlDisableSmoothLines => :void,
562
- :rlEnableStereoRender => :void,
563
- :rlDisableStereoRender => :void,
564
- :rlIsStereoRenderEnabled => :bool,
565
- :rlClearColor => :void,
566
- :rlClearScreenBuffers => :void,
567
- :rlCheckErrors => :void,
568
- :rlSetBlendMode => :void,
569
- :rlSetBlendFactors => :void,
570
- :rlglInit => :void,
571
- :rlglClose => :void,
572
- :rlLoadExtensions => :void,
573
- :rlGetVersion => :int,
574
- :rlSetFramebufferWidth => :void,
575
- :rlGetFramebufferWidth => :int,
576
- :rlSetFramebufferHeight => :void,
577
- :rlGetFramebufferHeight => :int,
578
- :rlGetTextureIdDefault => :uint,
579
- :rlGetShaderIdDefault => :uint,
580
- :rlGetShaderLocsDefault => :pointer,
581
- :rlLoadRenderBatch => RlRenderBatch.by_value,
582
- :rlUnloadRenderBatch => :void,
583
- :rlDrawRenderBatch => :void,
584
- :rlSetRenderBatchActive => :void,
585
- :rlDrawRenderBatchActive => :void,
586
- :rlCheckRenderBatchLimit => :bool,
587
- :rlSetTexture => :void,
588
- :rlLoadVertexArray => :uint,
589
- :rlLoadVertexBuffer => :uint,
590
- :rlLoadVertexBufferElement => :uint,
591
- :rlUpdateVertexBuffer => :void,
592
- :rlUpdateVertexBufferElements => :void,
593
- :rlUnloadVertexArray => :void,
594
- :rlUnloadVertexBuffer => :void,
595
- :rlSetVertexAttribute => :void,
596
- :rlSetVertexAttributeDivisor => :void,
597
- :rlSetVertexAttributeDefault => :void,
598
- :rlDrawVertexArray => :void,
599
- :rlDrawVertexArrayElements => :void,
600
- :rlDrawVertexArrayInstanced => :void,
601
- :rlDrawVertexArrayElementsInstanced => :void,
602
- :rlLoadTexture => :uint,
603
- :rlLoadTextureDepth => :uint,
604
- :rlLoadTextureCubemap => :uint,
605
- :rlUpdateTexture => :void,
606
- :rlGetGlTextureFormats => :void,
607
- :rlGetPixelFormatName => :pointer,
608
- :rlUnloadTexture => :void,
609
- :rlGenTextureMipmaps => :void,
610
- :rlReadTexturePixels => :pointer,
611
- :rlReadScreenPixels => :pointer,
612
- :rlLoadFramebuffer => :uint,
613
- :rlFramebufferAttach => :void,
614
- :rlFramebufferComplete => :bool,
615
- :rlUnloadFramebuffer => :void,
616
- :rlLoadShaderCode => :uint,
617
- :rlCompileShader => :uint,
618
- :rlLoadShaderProgram => :uint,
619
- :rlUnloadShaderProgram => :void,
620
- :rlGetLocationUniform => :int,
621
- :rlGetLocationAttrib => :int,
622
- :rlSetUniform => :void,
623
- :rlSetUniformMatrix => :void,
624
- :rlSetUniformSampler => :void,
625
- :rlSetShader => :void,
626
- :rlLoadComputeShaderProgram => :uint,
627
- :rlComputeShaderDispatch => :void,
628
- :rlLoadShaderBuffer => :uint,
629
- :rlUnloadShaderBuffer => :void,
630
- :rlUpdateShaderBufferElements => :void,
631
- :rlGetShaderBufferSize => :ulong_long,
632
- :rlReadShaderBufferElements => :void,
633
- :rlBindShaderBuffer => :void,
634
- :rlCopyBuffersElements => :void,
635
- :rlBindImageTexture => :void,
636
- :rlGetMatrixModelview => Matrix.by_value,
637
- :rlGetMatrixProjection => Matrix.by_value,
638
- :rlGetMatrixTransform => Matrix.by_value,
639
- :rlGetMatrixProjectionStereo => Matrix.by_value,
640
- :rlGetMatrixViewOffsetStereo => Matrix.by_value,
641
- :rlSetMatrixProjection => :void,
642
- :rlSetMatrixModelview => :void,
643
- :rlSetMatrixProjectionStereo => :void,
644
- :rlSetMatrixViewOffsetStereo => :void,
645
- :rlLoadDrawCube => :void,
646
- :rlLoadDrawQuad => :void,
647
- }
648
- symbols.each do |sym|
649
- begin
650
- attach_function sym, args[sym], retvals[sym]
651
- rescue FFI::NotFoundError => error
652
- $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
653
- end
654
- end
655
- end
656
-
657
- end
658
-
1
+ # Yet another raylib wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/raylib-bindings
4
+ #
5
+ # [NOTICE] This is an automatically generated file.
6
+
7
+ require 'ffi'
8
+
9
+ module Raylib
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+ RLGL_VERSION = "4.0"
14
+ RL_DEFAULT_BATCH_BUFFER_ELEMENTS = 8192
15
+ RL_DEFAULT_BATCH_BUFFERS = 1
16
+ RL_DEFAULT_BATCH_DRAWCALLS = 256
17
+ RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS = 4
18
+ RL_MAX_MATRIX_STACK_SIZE = 32
19
+ RL_MAX_SHADER_LOCATIONS = 32
20
+ RL_CULL_DISTANCE_NEAR = 0.01
21
+ RL_CULL_DISTANCE_FAR = 1000.0
22
+ RL_TEXTURE_WRAP_S = 0x2802
23
+ RL_TEXTURE_WRAP_T = 0x2803
24
+ RL_TEXTURE_MAG_FILTER = 0x2800
25
+ RL_TEXTURE_MIN_FILTER = 0x2801
26
+ RL_TEXTURE_FILTER_NEAREST = 0x2600
27
+ RL_TEXTURE_FILTER_LINEAR = 0x2601
28
+ RL_TEXTURE_FILTER_MIP_NEAREST = 0x2700
29
+ RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR = 0x2702
30
+ RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST = 0x2701
31
+ RL_TEXTURE_FILTER_MIP_LINEAR = 0x2703
32
+ RL_TEXTURE_FILTER_ANISOTROPIC = 0x3000
33
+ RL_TEXTURE_WRAP_REPEAT = 0x2901
34
+ RL_TEXTURE_WRAP_CLAMP = 0x812F
35
+ RL_TEXTURE_WRAP_MIRROR_REPEAT = 0x8370
36
+ RL_TEXTURE_WRAP_MIRROR_CLAMP = 0x8742
37
+ RL_MODELVIEW = 0x1700
38
+ RL_PROJECTION = 0x1701
39
+ RL_TEXTURE = 0x1702
40
+ RL_LINES = 0x0001
41
+ RL_TRIANGLES = 0x0004
42
+ RL_QUADS = 0x0007
43
+ RL_UNSIGNED_BYTE = 0x1401
44
+ RL_FLOAT = 0x1406
45
+ RL_STREAM_DRAW = 0x88E0
46
+ RL_STREAM_READ = 0x88E1
47
+ RL_STREAM_COPY = 0x88E2
48
+ RL_STATIC_DRAW = 0x88E4
49
+ RL_STATIC_READ = 0x88E5
50
+ RL_STATIC_COPY = 0x88E6
51
+ RL_DYNAMIC_DRAW = 0x88E8
52
+ RL_DYNAMIC_READ = 0x88E9
53
+ RL_DYNAMIC_COPY = 0x88EA
54
+ RL_FRAGMENT_SHADER = 0x8B30
55
+ RL_VERTEX_SHADER = 0x8B31
56
+ RL_COMPUTE_SHADER = 0x91B9
57
+
58
+ # Enum
59
+
60
+ OPENGL_11 = 1
61
+ OPENGL_21 = 2
62
+ OPENGL_33 = 3
63
+ OPENGL_43 = 4
64
+ OPENGL_ES_20 = 5
65
+ RL_ATTACHMENT_COLOR_CHANNEL0 = 0
66
+ RL_ATTACHMENT_COLOR_CHANNEL1 = 1
67
+ RL_ATTACHMENT_COLOR_CHANNEL2 = 2
68
+ RL_ATTACHMENT_COLOR_CHANNEL3 = 3
69
+ RL_ATTACHMENT_COLOR_CHANNEL4 = 4
70
+ RL_ATTACHMENT_COLOR_CHANNEL5 = 5
71
+ RL_ATTACHMENT_COLOR_CHANNEL6 = 6
72
+ RL_ATTACHMENT_COLOR_CHANNEL7 = 7
73
+ RL_ATTACHMENT_DEPTH = 100
74
+ RL_ATTACHMENT_STENCIL = 200
75
+ RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0
76
+ RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1
77
+ RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2
78
+ RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3
79
+ RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4
80
+ RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5
81
+ RL_ATTACHMENT_TEXTURE2D = 100
82
+ RL_ATTACHMENT_RENDERBUFFER = 200
83
+ RL_LOG_ALL = 0
84
+ RL_LOG_TRACE = 1
85
+ RL_LOG_DEBUG = 2
86
+ RL_LOG_INFO = 3
87
+ RL_LOG_WARNING = 4
88
+ RL_LOG_ERROR = 5
89
+ RL_LOG_FATAL = 6
90
+ RL_LOG_NONE = 7
91
+ RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1
92
+ RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2
93
+ RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3
94
+ RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4
95
+ RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5
96
+ RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6
97
+ RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7
98
+ RL_PIXELFORMAT_UNCOMPRESSED_R32 = 8
99
+ RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9
100
+ RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10
101
+ RL_PIXELFORMAT_COMPRESSED_DXT1_RGB = 11
102
+ RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12
103
+ RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13
104
+ RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14
105
+ RL_PIXELFORMAT_COMPRESSED_ETC1_RGB = 15
106
+ RL_PIXELFORMAT_COMPRESSED_ETC2_RGB = 16
107
+ RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17
108
+ RL_PIXELFORMAT_COMPRESSED_PVRT_RGB = 18
109
+ RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19
110
+ RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20
111
+ RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21
112
+ RL_TEXTURE_FILTER_POINT = 0
113
+ RL_TEXTURE_FILTER_BILINEAR = 1
114
+ RL_TEXTURE_FILTER_TRILINEAR = 2
115
+ RL_TEXTURE_FILTER_ANISOTROPIC_4X = 3
116
+ RL_TEXTURE_FILTER_ANISOTROPIC_8X = 4
117
+ RL_TEXTURE_FILTER_ANISOTROPIC_16X = 5
118
+ RL_BLEND_ALPHA = 0
119
+ RL_BLEND_ADDITIVE = 1
120
+ RL_BLEND_MULTIPLIED = 2
121
+ RL_BLEND_ADD_COLORS = 3
122
+ RL_BLEND_SUBTRACT_COLORS = 4
123
+ RL_BLEND_ALPHA_PREMULTIPLY = 5
124
+ RL_BLEND_CUSTOM = 6
125
+ RL_SHADER_LOC_VERTEX_POSITION = 0
126
+ RL_SHADER_LOC_VERTEX_TEXCOORD01 = 1
127
+ RL_SHADER_LOC_VERTEX_TEXCOORD02 = 2
128
+ RL_SHADER_LOC_VERTEX_NORMAL = 3
129
+ RL_SHADER_LOC_VERTEX_TANGENT = 4
130
+ RL_SHADER_LOC_VERTEX_COLOR = 5
131
+ RL_SHADER_LOC_MATRIX_MVP = 6
132
+ RL_SHADER_LOC_MATRIX_VIEW = 7
133
+ RL_SHADER_LOC_MATRIX_PROJECTION = 8
134
+ RL_SHADER_LOC_MATRIX_MODEL = 9
135
+ RL_SHADER_LOC_MATRIX_NORMAL = 10
136
+ RL_SHADER_LOC_VECTOR_VIEW = 11
137
+ RL_SHADER_LOC_COLOR_DIFFUSE = 12
138
+ RL_SHADER_LOC_COLOR_SPECULAR = 13
139
+ RL_SHADER_LOC_COLOR_AMBIENT = 14
140
+ RL_SHADER_LOC_MAP_ALBEDO = 15
141
+ RL_SHADER_LOC_MAP_METALNESS = 16
142
+ RL_SHADER_LOC_MAP_NORMAL = 17
143
+ RL_SHADER_LOC_MAP_ROUGHNESS = 18
144
+ RL_SHADER_LOC_MAP_OCCLUSION = 19
145
+ RL_SHADER_LOC_MAP_EMISSION = 20
146
+ RL_SHADER_LOC_MAP_HEIGHT = 21
147
+ RL_SHADER_LOC_MAP_CUBEMAP = 22
148
+ RL_SHADER_LOC_MAP_IRRADIANCE = 23
149
+ RL_SHADER_LOC_MAP_PREFILTER = 24
150
+ RL_SHADER_LOC_MAP_BRDF = 25
151
+ RL_SHADER_UNIFORM_FLOAT = 0
152
+ RL_SHADER_UNIFORM_VEC2 = 1
153
+ RL_SHADER_UNIFORM_VEC3 = 2
154
+ RL_SHADER_UNIFORM_VEC4 = 3
155
+ RL_SHADER_UNIFORM_INT = 4
156
+ RL_SHADER_UNIFORM_IVEC2 = 5
157
+ RL_SHADER_UNIFORM_IVEC3 = 6
158
+ RL_SHADER_UNIFORM_IVEC4 = 7
159
+ RL_SHADER_UNIFORM_SAMPLER2D = 8
160
+ RL_SHADER_ATTRIB_FLOAT = 0
161
+ RL_SHADER_ATTRIB_VEC2 = 1
162
+ RL_SHADER_ATTRIB_VEC3 = 2
163
+ RL_SHADER_ATTRIB_VEC4 = 3
164
+
165
+ # Typedef
166
+
167
+ typedef :int, :rlGlVersion
168
+ typedef :int, :rlFramebufferAttachType
169
+ typedef :int, :rlFramebufferAttachTextureType
170
+ typedef :int, :rlTraceLogLevel
171
+ typedef :int, :rlPixelFormat
172
+ typedef :int, :rlTextureFilter
173
+ typedef :int, :rlBlendMode
174
+ typedef :int, :rlShaderLocationIndex
175
+ typedef :int, :rlShaderUniformDataType
176
+ typedef :int, :rlShaderAttributeDataType
177
+
178
+ # Struct
179
+
180
+ class RlVertexBuffer < FFI::Struct
181
+ layout(
182
+ :elementCount, :int,
183
+ :vertices, :pointer,
184
+ :texcoords, :pointer,
185
+ :colors, :pointer,
186
+ :indices, :pointer,
187
+ :vaoId, :uint,
188
+ :vboId, [:uint, 4],
189
+ )
190
+ end
191
+
192
+ class RlDrawCall < FFI::Struct
193
+ layout(
194
+ :mode, :int,
195
+ :vertexCount, :int,
196
+ :vertexAlignment, :int,
197
+ :textureId, :uint,
198
+ )
199
+ end
200
+
201
+ class RlRenderBatch < FFI::Struct
202
+ layout(
203
+ :bufferCount, :int,
204
+ :currentBuffer, :int,
205
+ :vertexBuffer, :pointer,
206
+ :draws, :pointer,
207
+ :drawCounter, :int,
208
+ :currentDepth, :float,
209
+ )
210
+ end
211
+
212
+
213
+ # Function
214
+
215
+ def self.setup_rlgl_symbols()
216
+ symbols = [
217
+ :rlMatrixMode,
218
+ :rlPushMatrix,
219
+ :rlPopMatrix,
220
+ :rlLoadIdentity,
221
+ :rlTranslatef,
222
+ :rlRotatef,
223
+ :rlScalef,
224
+ :rlMultMatrixf,
225
+ :rlFrustum,
226
+ :rlOrtho,
227
+ :rlViewport,
228
+ :rlBegin,
229
+ :rlEnd,
230
+ :rlVertex2i,
231
+ :rlVertex2f,
232
+ :rlVertex3f,
233
+ :rlTexCoord2f,
234
+ :rlNormal3f,
235
+ :rlColor4ub,
236
+ :rlColor3f,
237
+ :rlColor4f,
238
+ :rlEnableVertexArray,
239
+ :rlDisableVertexArray,
240
+ :rlEnableVertexBuffer,
241
+ :rlDisableVertexBuffer,
242
+ :rlEnableVertexBufferElement,
243
+ :rlDisableVertexBufferElement,
244
+ :rlEnableVertexAttribute,
245
+ :rlDisableVertexAttribute,
246
+ :rlActiveTextureSlot,
247
+ :rlEnableTexture,
248
+ :rlDisableTexture,
249
+ :rlEnableTextureCubemap,
250
+ :rlDisableTextureCubemap,
251
+ :rlTextureParameters,
252
+ :rlEnableShader,
253
+ :rlDisableShader,
254
+ :rlEnableFramebuffer,
255
+ :rlDisableFramebuffer,
256
+ :rlActiveDrawBuffers,
257
+ :rlEnableColorBlend,
258
+ :rlDisableColorBlend,
259
+ :rlEnableDepthTest,
260
+ :rlDisableDepthTest,
261
+ :rlEnableDepthMask,
262
+ :rlDisableDepthMask,
263
+ :rlEnableBackfaceCulling,
264
+ :rlDisableBackfaceCulling,
265
+ :rlEnableScissorTest,
266
+ :rlDisableScissorTest,
267
+ :rlScissor,
268
+ :rlEnableWireMode,
269
+ :rlDisableWireMode,
270
+ :rlSetLineWidth,
271
+ :rlGetLineWidth,
272
+ :rlEnableSmoothLines,
273
+ :rlDisableSmoothLines,
274
+ :rlEnableStereoRender,
275
+ :rlDisableStereoRender,
276
+ :rlIsStereoRenderEnabled,
277
+ :rlClearColor,
278
+ :rlClearScreenBuffers,
279
+ :rlCheckErrors,
280
+ :rlSetBlendMode,
281
+ :rlSetBlendFactors,
282
+ :rlglInit,
283
+ :rlglClose,
284
+ :rlLoadExtensions,
285
+ :rlGetVersion,
286
+ :rlSetFramebufferWidth,
287
+ :rlGetFramebufferWidth,
288
+ :rlSetFramebufferHeight,
289
+ :rlGetFramebufferHeight,
290
+ :rlGetTextureIdDefault,
291
+ :rlGetShaderIdDefault,
292
+ :rlGetShaderLocsDefault,
293
+ :rlLoadRenderBatch,
294
+ :rlUnloadRenderBatch,
295
+ :rlDrawRenderBatch,
296
+ :rlSetRenderBatchActive,
297
+ :rlDrawRenderBatchActive,
298
+ :rlCheckRenderBatchLimit,
299
+ :rlSetTexture,
300
+ :rlLoadVertexArray,
301
+ :rlLoadVertexBuffer,
302
+ :rlLoadVertexBufferElement,
303
+ :rlUpdateVertexBuffer,
304
+ :rlUpdateVertexBufferElements,
305
+ :rlUnloadVertexArray,
306
+ :rlUnloadVertexBuffer,
307
+ :rlSetVertexAttribute,
308
+ :rlSetVertexAttributeDivisor,
309
+ :rlSetVertexAttributeDefault,
310
+ :rlDrawVertexArray,
311
+ :rlDrawVertexArrayElements,
312
+ :rlDrawVertexArrayInstanced,
313
+ :rlDrawVertexArrayElementsInstanced,
314
+ :rlLoadTexture,
315
+ :rlLoadTextureDepth,
316
+ :rlLoadTextureCubemap,
317
+ :rlUpdateTexture,
318
+ :rlGetGlTextureFormats,
319
+ :rlGetPixelFormatName,
320
+ :rlUnloadTexture,
321
+ :rlGenTextureMipmaps,
322
+ :rlReadTexturePixels,
323
+ :rlReadScreenPixels,
324
+ :rlLoadFramebuffer,
325
+ :rlFramebufferAttach,
326
+ :rlFramebufferComplete,
327
+ :rlUnloadFramebuffer,
328
+ :rlLoadShaderCode,
329
+ :rlCompileShader,
330
+ :rlLoadShaderProgram,
331
+ :rlUnloadShaderProgram,
332
+ :rlGetLocationUniform,
333
+ :rlGetLocationAttrib,
334
+ :rlSetUniform,
335
+ :rlSetUniformMatrix,
336
+ :rlSetUniformSampler,
337
+ :rlSetShader,
338
+ :rlLoadComputeShaderProgram,
339
+ :rlComputeShaderDispatch,
340
+ :rlLoadShaderBuffer,
341
+ :rlUnloadShaderBuffer,
342
+ :rlUpdateShaderBufferElements,
343
+ :rlGetShaderBufferSize,
344
+ :rlReadShaderBufferElements,
345
+ :rlBindShaderBuffer,
346
+ :rlCopyBuffersElements,
347
+ :rlBindImageTexture,
348
+ :rlGetMatrixModelview,
349
+ :rlGetMatrixProjection,
350
+ :rlGetMatrixTransform,
351
+ :rlGetMatrixProjectionStereo,
352
+ :rlGetMatrixViewOffsetStereo,
353
+ :rlSetMatrixProjection,
354
+ :rlSetMatrixModelview,
355
+ :rlSetMatrixProjectionStereo,
356
+ :rlSetMatrixViewOffsetStereo,
357
+ :rlLoadDrawCube,
358
+ :rlLoadDrawQuad,
359
+ ]
360
+ args = {
361
+ :rlMatrixMode => [:int],
362
+ :rlPushMatrix => [],
363
+ :rlPopMatrix => [],
364
+ :rlLoadIdentity => [],
365
+ :rlTranslatef => [:float, :float, :float],
366
+ :rlRotatef => [:float, :float, :float, :float],
367
+ :rlScalef => [:float, :float, :float],
368
+ :rlMultMatrixf => [:pointer],
369
+ :rlFrustum => [:double, :double, :double, :double, :double, :double],
370
+ :rlOrtho => [:double, :double, :double, :double, :double, :double],
371
+ :rlViewport => [:int, :int, :int, :int],
372
+ :rlBegin => [:int],
373
+ :rlEnd => [],
374
+ :rlVertex2i => [:int, :int],
375
+ :rlVertex2f => [:float, :float],
376
+ :rlVertex3f => [:float, :float, :float],
377
+ :rlTexCoord2f => [:float, :float],
378
+ :rlNormal3f => [:float, :float, :float],
379
+ :rlColor4ub => [:uchar, :uchar, :uchar, :uchar],
380
+ :rlColor3f => [:float, :float, :float],
381
+ :rlColor4f => [:float, :float, :float, :float],
382
+ :rlEnableVertexArray => [:uint],
383
+ :rlDisableVertexArray => [],
384
+ :rlEnableVertexBuffer => [:uint],
385
+ :rlDisableVertexBuffer => [],
386
+ :rlEnableVertexBufferElement => [:uint],
387
+ :rlDisableVertexBufferElement => [],
388
+ :rlEnableVertexAttribute => [:uint],
389
+ :rlDisableVertexAttribute => [:uint],
390
+ :rlActiveTextureSlot => [:int],
391
+ :rlEnableTexture => [:uint],
392
+ :rlDisableTexture => [],
393
+ :rlEnableTextureCubemap => [:uint],
394
+ :rlDisableTextureCubemap => [],
395
+ :rlTextureParameters => [:uint, :int, :int],
396
+ :rlEnableShader => [:uint],
397
+ :rlDisableShader => [],
398
+ :rlEnableFramebuffer => [:uint],
399
+ :rlDisableFramebuffer => [],
400
+ :rlActiveDrawBuffers => [:int],
401
+ :rlEnableColorBlend => [],
402
+ :rlDisableColorBlend => [],
403
+ :rlEnableDepthTest => [],
404
+ :rlDisableDepthTest => [],
405
+ :rlEnableDepthMask => [],
406
+ :rlDisableDepthMask => [],
407
+ :rlEnableBackfaceCulling => [],
408
+ :rlDisableBackfaceCulling => [],
409
+ :rlEnableScissorTest => [],
410
+ :rlDisableScissorTest => [],
411
+ :rlScissor => [:int, :int, :int, :int],
412
+ :rlEnableWireMode => [],
413
+ :rlDisableWireMode => [],
414
+ :rlSetLineWidth => [:float],
415
+ :rlGetLineWidth => [],
416
+ :rlEnableSmoothLines => [],
417
+ :rlDisableSmoothLines => [],
418
+ :rlEnableStereoRender => [],
419
+ :rlDisableStereoRender => [],
420
+ :rlIsStereoRenderEnabled => [],
421
+ :rlClearColor => [:uchar, :uchar, :uchar, :uchar],
422
+ :rlClearScreenBuffers => [],
423
+ :rlCheckErrors => [],
424
+ :rlSetBlendMode => [:int],
425
+ :rlSetBlendFactors => [:int, :int, :int],
426
+ :rlglInit => [:int, :int],
427
+ :rlglClose => [],
428
+ :rlLoadExtensions => [:pointer],
429
+ :rlGetVersion => [],
430
+ :rlSetFramebufferWidth => [:int],
431
+ :rlGetFramebufferWidth => [],
432
+ :rlSetFramebufferHeight => [:int],
433
+ :rlGetFramebufferHeight => [],
434
+ :rlGetTextureIdDefault => [],
435
+ :rlGetShaderIdDefault => [],
436
+ :rlGetShaderLocsDefault => [],
437
+ :rlLoadRenderBatch => [:int, :int],
438
+ :rlUnloadRenderBatch => [RlRenderBatch.by_value],
439
+ :rlDrawRenderBatch => [:pointer],
440
+ :rlSetRenderBatchActive => [:pointer],
441
+ :rlDrawRenderBatchActive => [],
442
+ :rlCheckRenderBatchLimit => [:int],
443
+ :rlSetTexture => [:uint],
444
+ :rlLoadVertexArray => [],
445
+ :rlLoadVertexBuffer => [:pointer, :int, :bool],
446
+ :rlLoadVertexBufferElement => [:pointer, :int, :bool],
447
+ :rlUpdateVertexBuffer => [:uint, :pointer, :int, :int],
448
+ :rlUpdateVertexBufferElements => [:uint, :pointer, :int, :int],
449
+ :rlUnloadVertexArray => [:uint],
450
+ :rlUnloadVertexBuffer => [:uint],
451
+ :rlSetVertexAttribute => [:uint, :int, :int, :bool, :int, :pointer],
452
+ :rlSetVertexAttributeDivisor => [:uint, :int],
453
+ :rlSetVertexAttributeDefault => [:int, :pointer, :int, :int],
454
+ :rlDrawVertexArray => [:int, :int],
455
+ :rlDrawVertexArrayElements => [:int, :int, :pointer],
456
+ :rlDrawVertexArrayInstanced => [:int, :int, :int],
457
+ :rlDrawVertexArrayElementsInstanced => [:int, :int, :pointer, :int],
458
+ :rlLoadTexture => [:pointer, :int, :int, :int, :int],
459
+ :rlLoadTextureDepth => [:int, :int, :bool],
460
+ :rlLoadTextureCubemap => [:pointer, :int, :int],
461
+ :rlUpdateTexture => [:uint, :int, :int, :int, :int, :int, :pointer],
462
+ :rlGetGlTextureFormats => [:int, :pointer, :pointer, :pointer],
463
+ :rlGetPixelFormatName => [:uint],
464
+ :rlUnloadTexture => [:uint],
465
+ :rlGenTextureMipmaps => [:uint, :int, :int, :int, :pointer],
466
+ :rlReadTexturePixels => [:uint, :int, :int, :int],
467
+ :rlReadScreenPixels => [:int, :int],
468
+ :rlLoadFramebuffer => [:int, :int],
469
+ :rlFramebufferAttach => [:uint, :uint, :int, :int, :int],
470
+ :rlFramebufferComplete => [:uint],
471
+ :rlUnloadFramebuffer => [:uint],
472
+ :rlLoadShaderCode => [:pointer, :pointer],
473
+ :rlCompileShader => [:pointer, :int],
474
+ :rlLoadShaderProgram => [:uint, :uint],
475
+ :rlUnloadShaderProgram => [:uint],
476
+ :rlGetLocationUniform => [:uint, :pointer],
477
+ :rlGetLocationAttrib => [:uint, :pointer],
478
+ :rlSetUniform => [:int, :pointer, :int, :int],
479
+ :rlSetUniformMatrix => [:int, Matrix.by_value],
480
+ :rlSetUniformSampler => [:int, :uint],
481
+ :rlSetShader => [:uint, :pointer],
482
+ :rlLoadComputeShaderProgram => [:uint],
483
+ :rlComputeShaderDispatch => [:uint, :uint, :uint],
484
+ :rlLoadShaderBuffer => [:ulong_long, :pointer, :int],
485
+ :rlUnloadShaderBuffer => [:uint],
486
+ :rlUpdateShaderBufferElements => [:uint, :pointer, :ulong_long, :ulong_long],
487
+ :rlGetShaderBufferSize => [:uint],
488
+ :rlReadShaderBufferElements => [:uint, :pointer, :ulong_long, :ulong_long],
489
+ :rlBindShaderBuffer => [:uint, :uint],
490
+ :rlCopyBuffersElements => [:uint, :uint, :ulong_long, :ulong_long, :ulong_long],
491
+ :rlBindImageTexture => [:uint, :uint, :uint, :int],
492
+ :rlGetMatrixModelview => [],
493
+ :rlGetMatrixProjection => [],
494
+ :rlGetMatrixTransform => [],
495
+ :rlGetMatrixProjectionStereo => [:int],
496
+ :rlGetMatrixViewOffsetStereo => [:int],
497
+ :rlSetMatrixProjection => [Matrix.by_value],
498
+ :rlSetMatrixModelview => [Matrix.by_value],
499
+ :rlSetMatrixProjectionStereo => [Matrix.by_value, Matrix.by_value],
500
+ :rlSetMatrixViewOffsetStereo => [Matrix.by_value, Matrix.by_value],
501
+ :rlLoadDrawCube => [],
502
+ :rlLoadDrawQuad => [],
503
+ }
504
+ retvals = {
505
+ :rlMatrixMode => :void,
506
+ :rlPushMatrix => :void,
507
+ :rlPopMatrix => :void,
508
+ :rlLoadIdentity => :void,
509
+ :rlTranslatef => :void,
510
+ :rlRotatef => :void,
511
+ :rlScalef => :void,
512
+ :rlMultMatrixf => :void,
513
+ :rlFrustum => :void,
514
+ :rlOrtho => :void,
515
+ :rlViewport => :void,
516
+ :rlBegin => :void,
517
+ :rlEnd => :void,
518
+ :rlVertex2i => :void,
519
+ :rlVertex2f => :void,
520
+ :rlVertex3f => :void,
521
+ :rlTexCoord2f => :void,
522
+ :rlNormal3f => :void,
523
+ :rlColor4ub => :void,
524
+ :rlColor3f => :void,
525
+ :rlColor4f => :void,
526
+ :rlEnableVertexArray => :bool,
527
+ :rlDisableVertexArray => :void,
528
+ :rlEnableVertexBuffer => :void,
529
+ :rlDisableVertexBuffer => :void,
530
+ :rlEnableVertexBufferElement => :void,
531
+ :rlDisableVertexBufferElement => :void,
532
+ :rlEnableVertexAttribute => :void,
533
+ :rlDisableVertexAttribute => :void,
534
+ :rlActiveTextureSlot => :void,
535
+ :rlEnableTexture => :void,
536
+ :rlDisableTexture => :void,
537
+ :rlEnableTextureCubemap => :void,
538
+ :rlDisableTextureCubemap => :void,
539
+ :rlTextureParameters => :void,
540
+ :rlEnableShader => :void,
541
+ :rlDisableShader => :void,
542
+ :rlEnableFramebuffer => :void,
543
+ :rlDisableFramebuffer => :void,
544
+ :rlActiveDrawBuffers => :void,
545
+ :rlEnableColorBlend => :void,
546
+ :rlDisableColorBlend => :void,
547
+ :rlEnableDepthTest => :void,
548
+ :rlDisableDepthTest => :void,
549
+ :rlEnableDepthMask => :void,
550
+ :rlDisableDepthMask => :void,
551
+ :rlEnableBackfaceCulling => :void,
552
+ :rlDisableBackfaceCulling => :void,
553
+ :rlEnableScissorTest => :void,
554
+ :rlDisableScissorTest => :void,
555
+ :rlScissor => :void,
556
+ :rlEnableWireMode => :void,
557
+ :rlDisableWireMode => :void,
558
+ :rlSetLineWidth => :void,
559
+ :rlGetLineWidth => :float,
560
+ :rlEnableSmoothLines => :void,
561
+ :rlDisableSmoothLines => :void,
562
+ :rlEnableStereoRender => :void,
563
+ :rlDisableStereoRender => :void,
564
+ :rlIsStereoRenderEnabled => :bool,
565
+ :rlClearColor => :void,
566
+ :rlClearScreenBuffers => :void,
567
+ :rlCheckErrors => :void,
568
+ :rlSetBlendMode => :void,
569
+ :rlSetBlendFactors => :void,
570
+ :rlglInit => :void,
571
+ :rlglClose => :void,
572
+ :rlLoadExtensions => :void,
573
+ :rlGetVersion => :int,
574
+ :rlSetFramebufferWidth => :void,
575
+ :rlGetFramebufferWidth => :int,
576
+ :rlSetFramebufferHeight => :void,
577
+ :rlGetFramebufferHeight => :int,
578
+ :rlGetTextureIdDefault => :uint,
579
+ :rlGetShaderIdDefault => :uint,
580
+ :rlGetShaderLocsDefault => :pointer,
581
+ :rlLoadRenderBatch => RlRenderBatch.by_value,
582
+ :rlUnloadRenderBatch => :void,
583
+ :rlDrawRenderBatch => :void,
584
+ :rlSetRenderBatchActive => :void,
585
+ :rlDrawRenderBatchActive => :void,
586
+ :rlCheckRenderBatchLimit => :bool,
587
+ :rlSetTexture => :void,
588
+ :rlLoadVertexArray => :uint,
589
+ :rlLoadVertexBuffer => :uint,
590
+ :rlLoadVertexBufferElement => :uint,
591
+ :rlUpdateVertexBuffer => :void,
592
+ :rlUpdateVertexBufferElements => :void,
593
+ :rlUnloadVertexArray => :void,
594
+ :rlUnloadVertexBuffer => :void,
595
+ :rlSetVertexAttribute => :void,
596
+ :rlSetVertexAttributeDivisor => :void,
597
+ :rlSetVertexAttributeDefault => :void,
598
+ :rlDrawVertexArray => :void,
599
+ :rlDrawVertexArrayElements => :void,
600
+ :rlDrawVertexArrayInstanced => :void,
601
+ :rlDrawVertexArrayElementsInstanced => :void,
602
+ :rlLoadTexture => :uint,
603
+ :rlLoadTextureDepth => :uint,
604
+ :rlLoadTextureCubemap => :uint,
605
+ :rlUpdateTexture => :void,
606
+ :rlGetGlTextureFormats => :void,
607
+ :rlGetPixelFormatName => :pointer,
608
+ :rlUnloadTexture => :void,
609
+ :rlGenTextureMipmaps => :void,
610
+ :rlReadTexturePixels => :pointer,
611
+ :rlReadScreenPixels => :pointer,
612
+ :rlLoadFramebuffer => :uint,
613
+ :rlFramebufferAttach => :void,
614
+ :rlFramebufferComplete => :bool,
615
+ :rlUnloadFramebuffer => :void,
616
+ :rlLoadShaderCode => :uint,
617
+ :rlCompileShader => :uint,
618
+ :rlLoadShaderProgram => :uint,
619
+ :rlUnloadShaderProgram => :void,
620
+ :rlGetLocationUniform => :int,
621
+ :rlGetLocationAttrib => :int,
622
+ :rlSetUniform => :void,
623
+ :rlSetUniformMatrix => :void,
624
+ :rlSetUniformSampler => :void,
625
+ :rlSetShader => :void,
626
+ :rlLoadComputeShaderProgram => :uint,
627
+ :rlComputeShaderDispatch => :void,
628
+ :rlLoadShaderBuffer => :uint,
629
+ :rlUnloadShaderBuffer => :void,
630
+ :rlUpdateShaderBufferElements => :void,
631
+ :rlGetShaderBufferSize => :ulong_long,
632
+ :rlReadShaderBufferElements => :void,
633
+ :rlBindShaderBuffer => :void,
634
+ :rlCopyBuffersElements => :void,
635
+ :rlBindImageTexture => :void,
636
+ :rlGetMatrixModelview => Matrix.by_value,
637
+ :rlGetMatrixProjection => Matrix.by_value,
638
+ :rlGetMatrixTransform => Matrix.by_value,
639
+ :rlGetMatrixProjectionStereo => Matrix.by_value,
640
+ :rlGetMatrixViewOffsetStereo => Matrix.by_value,
641
+ :rlSetMatrixProjection => :void,
642
+ :rlSetMatrixModelview => :void,
643
+ :rlSetMatrixProjectionStereo => :void,
644
+ :rlSetMatrixViewOffsetStereo => :void,
645
+ :rlLoadDrawCube => :void,
646
+ :rlLoadDrawQuad => :void,
647
+ }
648
+ symbols.each do |sym|
649
+ begin
650
+ attach_function sym, args[sym], retvals[sym]
651
+ rescue FFI::NotFoundError => error
652
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
653
+ end
654
+ end
655
+ end
656
+
657
+ end
658
+