raylib 4.5.0.alpha1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +16 -0
- data/README.md +97 -0
- data/lib/raylib/core/callbacks.rb +19 -0
- data/lib/raylib/core/colors.rb +32 -0
- data/lib/raylib/core/enums.rb +694 -0
- data/lib/raylib/core/functions.rb +1552 -0
- data/lib/raylib/core/structs/audio_stream.rb +71 -0
- data/lib/raylib/core/structs/bone_info.rb +38 -0
- data/lib/raylib/core/structs/bounding_box.rb +38 -0
- data/lib/raylib/core/structs/camera2_d.rb +60 -0
- data/lib/raylib/core/structs/camera3_d.rb +74 -0
- data/lib/raylib/core/structs/color.rb +60 -0
- data/lib/raylib/core/structs/file_path_list.rb +51 -0
- data/lib/raylib/core/structs/font.rb +82 -0
- data/lib/raylib/core/structs/glyph_info.rb +71 -0
- data/lib/raylib/core/structs/image.rb +71 -0
- data/lib/raylib/core/structs/material.rb +49 -0
- data/lib/raylib/core/structs/material_map.rb +49 -0
- data/lib/raylib/core/structs/matrix.rb +192 -0
- data/lib/raylib/core/structs/mesh.rb +181 -0
- data/lib/raylib/core/structs/model.rb +115 -0
- data/lib/raylib/core/structs/model_animation.rb +60 -0
- data/lib/raylib/core/structs/music.rb +71 -0
- data/lib/raylib/core/structs/n_patch_info.rb +82 -0
- data/lib/raylib/core/structs/ray.rb +38 -0
- data/lib/raylib/core/structs/ray_collision.rb +60 -0
- data/lib/raylib/core/structs/rectangle.rb +60 -0
- data/lib/raylib/core/structs/render_texture.rb +52 -0
- data/lib/raylib/core/structs/shader.rb +38 -0
- data/lib/raylib/core/structs/sound.rb +38 -0
- data/lib/raylib/core/structs/texture.rb +77 -0
- data/lib/raylib/core/structs/transform.rb +49 -0
- data/lib/raylib/core/structs/vector2.rb +38 -0
- data/lib/raylib/core/structs/vector3.rb +49 -0
- data/lib/raylib/core/structs/vector4.rb +63 -0
- data/lib/raylib/core/structs/vr_device_info.rb +126 -0
- data/lib/raylib/core/structs/vr_stereo_config.rb +104 -0
- data/lib/raylib/core/structs/wave.rb +71 -0
- data/lib/raylib/core/structs.rb +32 -0
- data/lib/raylib/core.rb +5 -0
- data/lib/raylib/dsl.rb +2 -0
- data/lib/raylib/raymath/functions.rb +337 -0
- data/lib/raylib/raymath/structs/float16.rb +27 -0
- data/lib/raylib/raymath/structs/float3.rb +27 -0
- data/lib/raylib/raymath/structs.rb +2 -0
- data/lib/raylib/raymath.rb +2 -0
- data/lib/raylib/rlgl/callbacks.rb +4 -0
- data/lib/raylib/rlgl/enums.rb +270 -0
- data/lib/raylib/rlgl/functions.rb +448 -0
- data/lib/raylib/rlgl/structs/rl_draw_call.rb +60 -0
- data/lib/raylib/rlgl/structs/rl_render_batch.rb +82 -0
- data/lib/raylib/rlgl/structs/rl_vertex_buffer.rb +93 -0
- data/lib/raylib/rlgl/structs.rb +3 -0
- data/lib/raylib/rlgl.rb +4 -0
- data/lib/raylib/version.rb +5 -0
- data/lib/raylib.rb +12 -0
- metadata +162 -0
@@ -0,0 +1,27 @@
|
|
1
|
+
module Raylib
|
2
|
+
#
|
3
|
+
class Float16 < FFI::Struct
|
4
|
+
layout(
|
5
|
+
:v, [:float, 16], #
|
6
|
+
)
|
7
|
+
|
8
|
+
def self.create(v)
|
9
|
+
new.tap do |instance|
|
10
|
+
instance[:v] = v
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_s
|
15
|
+
"Raylib::Float16##{object_id} v=#{v}"
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# @return [float[16]] v
|
20
|
+
def v = self[:v]
|
21
|
+
|
22
|
+
# Sets
|
23
|
+
def v=(new_v)
|
24
|
+
self[:v] = new_v
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Raylib
|
2
|
+
# NOTE: Helper types to be used instead of array return types for *ToFloat functions
|
3
|
+
class Float3 < FFI::Struct
|
4
|
+
layout(
|
5
|
+
:v, [:float, 3], #
|
6
|
+
)
|
7
|
+
|
8
|
+
def self.create(v)
|
9
|
+
new.tap do |instance|
|
10
|
+
instance[:v] = v
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_s
|
15
|
+
"Raylib::Float3##{object_id} v=#{v}"
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# @return [float[3]] v
|
20
|
+
def v = self[:v]
|
21
|
+
|
22
|
+
# Sets
|
23
|
+
def v=(new_v)
|
24
|
+
self[:v] = new_v
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,270 @@
|
|
1
|
+
module Raylib
|
2
|
+
# ----------------------------------------------------------------------------------------------------
|
3
|
+
# rlGlVersion - OpenGL version
|
4
|
+
# ----------------------------------------------------------------------------------------------------
|
5
|
+
|
6
|
+
# OpenGL 1.1
|
7
|
+
RL_OPENGL_11 = 1
|
8
|
+
# OpenGL 2.1 (GLSL 120)
|
9
|
+
RL_OPENGL_21 = 2
|
10
|
+
# OpenGL 3.3 (GLSL 330)
|
11
|
+
RL_OPENGL_33 = 3
|
12
|
+
# OpenGL 4.3 (using GLSL 330)
|
13
|
+
RL_OPENGL_43 = 4
|
14
|
+
# OpenGL ES 2.0 (GLSL 100)
|
15
|
+
RL_OPENGL_ES_20 = 5
|
16
|
+
|
17
|
+
# ----------------------------------------------------------------------------------------------------
|
18
|
+
# rlTraceLogLevel - Trace log level
|
19
|
+
# ----------------------------------------------------------------------------------------------------
|
20
|
+
|
21
|
+
# Display all logs
|
22
|
+
RL_LOG_ALL = 0
|
23
|
+
# Trace logging, intended for internal use only
|
24
|
+
RL_LOG_TRACE = 1
|
25
|
+
# Debug logging, used for internal debugging, it should be disabled on release builds
|
26
|
+
RL_LOG_DEBUG = 2
|
27
|
+
# Info logging, used for program execution info
|
28
|
+
RL_LOG_INFO = 3
|
29
|
+
# Warning logging, used on recoverable failures
|
30
|
+
RL_LOG_WARNING = 4
|
31
|
+
# Error logging, used on unrecoverable failures
|
32
|
+
RL_LOG_ERROR = 5
|
33
|
+
# Fatal logging, used to abort program: exit(EXIT_FAILURE)
|
34
|
+
RL_LOG_FATAL = 6
|
35
|
+
# Disable logging
|
36
|
+
RL_LOG_NONE = 7
|
37
|
+
|
38
|
+
# ----------------------------------------------------------------------------------------------------
|
39
|
+
# rlPixelFormat - Texture pixel formats
|
40
|
+
# ----------------------------------------------------------------------------------------------------
|
41
|
+
|
42
|
+
# 8 bit per pixel (no alpha)
|
43
|
+
RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1
|
44
|
+
# 8*2 bpp (2 channels)
|
45
|
+
RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2
|
46
|
+
# 16 bpp
|
47
|
+
RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3
|
48
|
+
# 24 bpp
|
49
|
+
RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4
|
50
|
+
# 16 bpp (1 bit alpha)
|
51
|
+
RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5
|
52
|
+
# 16 bpp (4 bit alpha)
|
53
|
+
RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6
|
54
|
+
# 32 bpp
|
55
|
+
RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7
|
56
|
+
# 32 bpp (1 channel - float)
|
57
|
+
RL_PIXELFORMAT_UNCOMPRESSED_R32 = 8
|
58
|
+
# 32*3 bpp (3 channels - float)
|
59
|
+
RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9
|
60
|
+
# 32*4 bpp (4 channels - float)
|
61
|
+
RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10
|
62
|
+
# 4 bpp (no alpha)
|
63
|
+
RL_PIXELFORMAT_COMPRESSED_DXT1_RGB = 11
|
64
|
+
# 4 bpp (1 bit alpha)
|
65
|
+
RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12
|
66
|
+
# 8 bpp
|
67
|
+
RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13
|
68
|
+
# 8 bpp
|
69
|
+
RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14
|
70
|
+
# 4 bpp
|
71
|
+
RL_PIXELFORMAT_COMPRESSED_ETC1_RGB = 15
|
72
|
+
# 4 bpp
|
73
|
+
RL_PIXELFORMAT_COMPRESSED_ETC2_RGB = 16
|
74
|
+
# 8 bpp
|
75
|
+
RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17
|
76
|
+
# 4 bpp
|
77
|
+
RL_PIXELFORMAT_COMPRESSED_PVRT_RGB = 18
|
78
|
+
# 4 bpp
|
79
|
+
RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19
|
80
|
+
# 8 bpp
|
81
|
+
RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20
|
82
|
+
# 2 bpp
|
83
|
+
RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21
|
84
|
+
|
85
|
+
# ----------------------------------------------------------------------------------------------------
|
86
|
+
# rlTextureFilter - Texture parameters: filter mode
|
87
|
+
# ----------------------------------------------------------------------------------------------------
|
88
|
+
|
89
|
+
# No filter, just pixel approximation
|
90
|
+
RL_TEXTURE_FILTER_POINT = 0
|
91
|
+
# Linear filtering
|
92
|
+
RL_TEXTURE_FILTER_BILINEAR = 1
|
93
|
+
# Trilinear filtering (linear with mipmaps)
|
94
|
+
RL_TEXTURE_FILTER_TRILINEAR = 2
|
95
|
+
# Anisotropic filtering 4x
|
96
|
+
RL_TEXTURE_FILTER_ANISOTROPIC_4X = 3
|
97
|
+
# Anisotropic filtering 8x
|
98
|
+
RL_TEXTURE_FILTER_ANISOTROPIC_8X = 4
|
99
|
+
# Anisotropic filtering 16x
|
100
|
+
RL_TEXTURE_FILTER_ANISOTROPIC_16X = 5
|
101
|
+
|
102
|
+
# ----------------------------------------------------------------------------------------------------
|
103
|
+
# rlBlendMode - Color blending modes (pre-defined)
|
104
|
+
# ----------------------------------------------------------------------------------------------------
|
105
|
+
|
106
|
+
# Blend textures considering alpha (default)
|
107
|
+
RL_BLEND_ALPHA = 0
|
108
|
+
# Blend textures adding colors
|
109
|
+
RL_BLEND_ADDITIVE = 1
|
110
|
+
# Blend textures multiplying colors
|
111
|
+
RL_BLEND_MULTIPLIED = 2
|
112
|
+
# Blend textures adding colors (alternative)
|
113
|
+
RL_BLEND_ADD_COLORS = 3
|
114
|
+
# Blend textures subtracting colors (alternative)
|
115
|
+
RL_BLEND_SUBTRACT_COLORS = 4
|
116
|
+
# Blend premultiplied textures considering alpha
|
117
|
+
RL_BLEND_ALPHA_PREMULTIPLY = 5
|
118
|
+
# Blend textures using custom src/dst factors (use rlSetBlendFactors())
|
119
|
+
RL_BLEND_CUSTOM = 6
|
120
|
+
# Blend textures using custom src/dst factors (use rlSetBlendFactorsSeparate())
|
121
|
+
RL_BLEND_CUSTOM_SEPARATE = 7
|
122
|
+
|
123
|
+
# ----------------------------------------------------------------------------------------------------
|
124
|
+
# rlShaderLocationIndex - Shader location point type
|
125
|
+
# ----------------------------------------------------------------------------------------------------
|
126
|
+
|
127
|
+
# Shader location: vertex attribute: position
|
128
|
+
RL_SHADER_LOC_VERTEX_POSITION = 0
|
129
|
+
# Shader location: vertex attribute: texcoord01
|
130
|
+
RL_SHADER_LOC_VERTEX_TEXCOORD01 = 1
|
131
|
+
# Shader location: vertex attribute: texcoord02
|
132
|
+
RL_SHADER_LOC_VERTEX_TEXCOORD02 = 2
|
133
|
+
# Shader location: vertex attribute: normal
|
134
|
+
RL_SHADER_LOC_VERTEX_NORMAL = 3
|
135
|
+
# Shader location: vertex attribute: tangent
|
136
|
+
RL_SHADER_LOC_VERTEX_TANGENT = 4
|
137
|
+
# Shader location: vertex attribute: color
|
138
|
+
RL_SHADER_LOC_VERTEX_COLOR = 5
|
139
|
+
# Shader location: matrix uniform: model-view-projection
|
140
|
+
RL_SHADER_LOC_MATRIX_MVP = 6
|
141
|
+
# Shader location: matrix uniform: view (camera transform)
|
142
|
+
RL_SHADER_LOC_MATRIX_VIEW = 7
|
143
|
+
# Shader location: matrix uniform: projection
|
144
|
+
RL_SHADER_LOC_MATRIX_PROJECTION = 8
|
145
|
+
# Shader location: matrix uniform: model (transform)
|
146
|
+
RL_SHADER_LOC_MATRIX_MODEL = 9
|
147
|
+
# Shader location: matrix uniform: normal
|
148
|
+
RL_SHADER_LOC_MATRIX_NORMAL = 10
|
149
|
+
# Shader location: vector uniform: view
|
150
|
+
RL_SHADER_LOC_VECTOR_VIEW = 11
|
151
|
+
# Shader location: vector uniform: diffuse color
|
152
|
+
RL_SHADER_LOC_COLOR_DIFFUSE = 12
|
153
|
+
# Shader location: vector uniform: specular color
|
154
|
+
RL_SHADER_LOC_COLOR_SPECULAR = 13
|
155
|
+
# Shader location: vector uniform: ambient color
|
156
|
+
RL_SHADER_LOC_COLOR_AMBIENT = 14
|
157
|
+
# Shader location: sampler2d texture: albedo (same as: RL_SHADER_LOC_MAP_DIFFUSE)
|
158
|
+
RL_SHADER_LOC_MAP_ALBEDO = 15
|
159
|
+
# Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR)
|
160
|
+
RL_SHADER_LOC_MAP_METALNESS = 16
|
161
|
+
# Shader location: sampler2d texture: normal
|
162
|
+
RL_SHADER_LOC_MAP_NORMAL = 17
|
163
|
+
# Shader location: sampler2d texture: roughness
|
164
|
+
RL_SHADER_LOC_MAP_ROUGHNESS = 18
|
165
|
+
# Shader location: sampler2d texture: occlusion
|
166
|
+
RL_SHADER_LOC_MAP_OCCLUSION = 19
|
167
|
+
# Shader location: sampler2d texture: emission
|
168
|
+
RL_SHADER_LOC_MAP_EMISSION = 20
|
169
|
+
# Shader location: sampler2d texture: height
|
170
|
+
RL_SHADER_LOC_MAP_HEIGHT = 21
|
171
|
+
# Shader location: samplerCube texture: cubemap
|
172
|
+
RL_SHADER_LOC_MAP_CUBEMAP = 22
|
173
|
+
# Shader location: samplerCube texture: irradiance
|
174
|
+
RL_SHADER_LOC_MAP_IRRADIANCE = 23
|
175
|
+
# Shader location: samplerCube texture: prefilter
|
176
|
+
RL_SHADER_LOC_MAP_PREFILTER = 24
|
177
|
+
# Shader location: sampler2d texture: brdf
|
178
|
+
RL_SHADER_LOC_MAP_BRDF = 25
|
179
|
+
|
180
|
+
# ----------------------------------------------------------------------------------------------------
|
181
|
+
# rlShaderUniformDataType - Shader uniform data type
|
182
|
+
# ----------------------------------------------------------------------------------------------------
|
183
|
+
|
184
|
+
# Shader uniform type: float
|
185
|
+
RL_SHADER_UNIFORM_FLOAT = 0
|
186
|
+
# Shader uniform type: vec2 (2 float)
|
187
|
+
RL_SHADER_UNIFORM_VEC2 = 1
|
188
|
+
# Shader uniform type: vec3 (3 float)
|
189
|
+
RL_SHADER_UNIFORM_VEC3 = 2
|
190
|
+
# Shader uniform type: vec4 (4 float)
|
191
|
+
RL_SHADER_UNIFORM_VEC4 = 3
|
192
|
+
# Shader uniform type: int
|
193
|
+
RL_SHADER_UNIFORM_INT = 4
|
194
|
+
# Shader uniform type: ivec2 (2 int)
|
195
|
+
RL_SHADER_UNIFORM_IVEC2 = 5
|
196
|
+
# Shader uniform type: ivec3 (3 int)
|
197
|
+
RL_SHADER_UNIFORM_IVEC3 = 6
|
198
|
+
# Shader uniform type: ivec4 (4 int)
|
199
|
+
RL_SHADER_UNIFORM_IVEC4 = 7
|
200
|
+
# Shader uniform type: sampler2d
|
201
|
+
RL_SHADER_UNIFORM_SAMPLER2D = 8
|
202
|
+
|
203
|
+
# ----------------------------------------------------------------------------------------------------
|
204
|
+
# rlShaderAttributeDataType - Shader attribute data types
|
205
|
+
# ----------------------------------------------------------------------------------------------------
|
206
|
+
|
207
|
+
# Shader attribute type: float
|
208
|
+
RL_SHADER_ATTRIB_FLOAT = 0
|
209
|
+
# Shader attribute type: vec2 (2 float)
|
210
|
+
RL_SHADER_ATTRIB_VEC2 = 1
|
211
|
+
# Shader attribute type: vec3 (3 float)
|
212
|
+
RL_SHADER_ATTRIB_VEC3 = 2
|
213
|
+
# Shader attribute type: vec4 (4 float)
|
214
|
+
RL_SHADER_ATTRIB_VEC4 = 3
|
215
|
+
|
216
|
+
# ----------------------------------------------------------------------------------------------------
|
217
|
+
# rlFramebufferAttachType - Framebuffer attachment type
|
218
|
+
# ----------------------------------------------------------------------------------------------------
|
219
|
+
|
220
|
+
# Framebuffer attachment type: color 0
|
221
|
+
RL_ATTACHMENT_COLOR_CHANNEL0 = 0
|
222
|
+
# Framebuffer attachment type: color 1
|
223
|
+
RL_ATTACHMENT_COLOR_CHANNEL1 = 1
|
224
|
+
# Framebuffer attachment type: color 2
|
225
|
+
RL_ATTACHMENT_COLOR_CHANNEL2 = 2
|
226
|
+
# Framebuffer attachment type: color 3
|
227
|
+
RL_ATTACHMENT_COLOR_CHANNEL3 = 3
|
228
|
+
# Framebuffer attachment type: color 4
|
229
|
+
RL_ATTACHMENT_COLOR_CHANNEL4 = 4
|
230
|
+
# Framebuffer attachment type: color 5
|
231
|
+
RL_ATTACHMENT_COLOR_CHANNEL5 = 5
|
232
|
+
# Framebuffer attachment type: color 6
|
233
|
+
RL_ATTACHMENT_COLOR_CHANNEL6 = 6
|
234
|
+
# Framebuffer attachment type: color 7
|
235
|
+
RL_ATTACHMENT_COLOR_CHANNEL7 = 7
|
236
|
+
# Framebuffer attachment type: depth
|
237
|
+
RL_ATTACHMENT_DEPTH = 100
|
238
|
+
# Framebuffer attachment type: stencil
|
239
|
+
RL_ATTACHMENT_STENCIL = 200
|
240
|
+
|
241
|
+
# ----------------------------------------------------------------------------------------------------
|
242
|
+
# rlFramebufferAttachTextureType - Framebuffer texture attachment type
|
243
|
+
# ----------------------------------------------------------------------------------------------------
|
244
|
+
|
245
|
+
# Framebuffer texture attachment type: cubemap, +X side
|
246
|
+
RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0
|
247
|
+
# Framebuffer texture attachment type: cubemap, -X side
|
248
|
+
RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1
|
249
|
+
# Framebuffer texture attachment type: cubemap, +Y side
|
250
|
+
RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2
|
251
|
+
# Framebuffer texture attachment type: cubemap, -Y side
|
252
|
+
RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3
|
253
|
+
# Framebuffer texture attachment type: cubemap, +Z side
|
254
|
+
RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4
|
255
|
+
# Framebuffer texture attachment type: cubemap, -Z side
|
256
|
+
RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5
|
257
|
+
# Framebuffer texture attachment type: texture2d
|
258
|
+
RL_ATTACHMENT_TEXTURE2D = 100
|
259
|
+
# Framebuffer texture attachment type: renderbuffer
|
260
|
+
RL_ATTACHMENT_RENDERBUFFER = 200
|
261
|
+
|
262
|
+
# ----------------------------------------------------------------------------------------------------
|
263
|
+
# rlCullMode - Face culling mode
|
264
|
+
# ----------------------------------------------------------------------------------------------------
|
265
|
+
|
266
|
+
# TODO
|
267
|
+
RL_CULL_FACE_FRONT = 0
|
268
|
+
# TODO
|
269
|
+
RL_CULL_FACE_BACK = 1
|
270
|
+
end
|