raylib-bindings 0.5.8pre1-x86_64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ChangeLog +399 -0
- data/LICENSE.txt +21 -0
- data/README.md +176 -0
- data/examples/template.rb +143 -0
- data/lib/config.rb +103 -0
- data/lib/libraylib.x86_64.so +0 -0
- data/lib/physac.rb +322 -0
- data/lib/physac.x86_64.so +0 -0
- data/lib/raygui.x86_64.so +0 -0
- data/lib/raygui_helper.rb +127 -0
- data/lib/raygui_main.rb +890 -0
- data/lib/raylib.rb +62 -0
- data/lib/raylib_helper.rb +400 -0
- data/lib/raylib_main.rb +5088 -0
- data/lib/raymath.rb +845 -0
- data/lib/rcamera.rb +117 -0
- data/lib/rlgl.rb +1311 -0
- metadata +92 -0
data/lib/raymath.rb
ADDED
@@ -0,0 +1,845 @@
|
|
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
|
+
EPSILON = 0.000001
|
15
|
+
|
16
|
+
# Typedef
|
17
|
+
|
18
|
+
|
19
|
+
# Struct
|
20
|
+
|
21
|
+
# NOTE: Helper types to be used instead of array return types for *ToFloat functions
|
22
|
+
class Float3 < FFI::Struct
|
23
|
+
layout(
|
24
|
+
:v, [:float, 3],
|
25
|
+
)
|
26
|
+
def v = self[:v]
|
27
|
+
def v=(v) self[:v] = v end
|
28
|
+
end
|
29
|
+
|
30
|
+
class Float16 < FFI::Struct
|
31
|
+
layout(
|
32
|
+
:v, [:float, 16],
|
33
|
+
)
|
34
|
+
def v = self[:v]
|
35
|
+
def v=(v) self[:v] = v end
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
# Function
|
40
|
+
|
41
|
+
def self.setup_raymath_symbols
|
42
|
+
entries = [
|
43
|
+
|
44
|
+
# @!method Clamp(value, min, max)
|
45
|
+
# Clamp
|
46
|
+
# @param value [float]
|
47
|
+
# @param min [float]
|
48
|
+
# @param max [float]
|
49
|
+
# @return [float]
|
50
|
+
[:Clamp, :Clamp, [:float, :float, :float], :float],
|
51
|
+
|
52
|
+
# @!method Lerp(start, end, amount)
|
53
|
+
# Lerp
|
54
|
+
# @param start [float]
|
55
|
+
# @param end [float]
|
56
|
+
# @param amount [float]
|
57
|
+
# @return [float]
|
58
|
+
[:Lerp, :Lerp, [:float, :float, :float], :float],
|
59
|
+
|
60
|
+
# @!method Normalize(value, start, end)
|
61
|
+
# Normalize
|
62
|
+
# @param value [float]
|
63
|
+
# @param start [float]
|
64
|
+
# @param end [float]
|
65
|
+
# @return [float]
|
66
|
+
[:Normalize, :Normalize, [:float, :float, :float], :float],
|
67
|
+
|
68
|
+
# @!method Remap(value, inputStart, inputEnd, outputStart, outputEnd)
|
69
|
+
# Remap
|
70
|
+
# @param value [float]
|
71
|
+
# @param inputStart [float]
|
72
|
+
# @param inputEnd [float]
|
73
|
+
# @param outputStart [float]
|
74
|
+
# @param outputEnd [float]
|
75
|
+
# @return [float]
|
76
|
+
[:Remap, :Remap, [:float, :float, :float, :float, :float], :float],
|
77
|
+
|
78
|
+
# @!method Wrap(value, min, max)
|
79
|
+
# Wrap
|
80
|
+
# @param value [float]
|
81
|
+
# @param min [float]
|
82
|
+
# @param max [float]
|
83
|
+
# @return [float]
|
84
|
+
[:Wrap, :Wrap, [:float, :float, :float], :float],
|
85
|
+
|
86
|
+
# @!method FloatEquals(x, y)
|
87
|
+
# FloatEquals
|
88
|
+
# @param x [float]
|
89
|
+
# @param y [float]
|
90
|
+
# @return [int]
|
91
|
+
[:FloatEquals, :FloatEquals, [:float, :float], :int],
|
92
|
+
|
93
|
+
# @!method Vector2Zero()
|
94
|
+
# Vector2Zero
|
95
|
+
# @return [Vector2]
|
96
|
+
[:Vector2Zero, :Vector2Zero, [], Vector2.by_value],
|
97
|
+
|
98
|
+
# @!method Vector2One()
|
99
|
+
# Vector2One
|
100
|
+
# @return [Vector2]
|
101
|
+
[:Vector2One, :Vector2One, [], Vector2.by_value],
|
102
|
+
|
103
|
+
# @!method Vector2Add(v1, v2)
|
104
|
+
# Vector2Add
|
105
|
+
# @param v1 [Vector2]
|
106
|
+
# @param v2 [Vector2]
|
107
|
+
# @return [Vector2]
|
108
|
+
[:Vector2Add, :Vector2Add, [Vector2.by_value, Vector2.by_value], Vector2.by_value],
|
109
|
+
|
110
|
+
# @!method Vector2AddValue(v, add)
|
111
|
+
# Vector2AddValue
|
112
|
+
# @param v [Vector2]
|
113
|
+
# @param add [float]
|
114
|
+
# @return [Vector2]
|
115
|
+
[:Vector2AddValue, :Vector2AddValue, [Vector2.by_value, :float], Vector2.by_value],
|
116
|
+
|
117
|
+
# @!method Vector2Subtract(v1, v2)
|
118
|
+
# Vector2Subtract
|
119
|
+
# @param v1 [Vector2]
|
120
|
+
# @param v2 [Vector2]
|
121
|
+
# @return [Vector2]
|
122
|
+
[:Vector2Subtract, :Vector2Subtract, [Vector2.by_value, Vector2.by_value], Vector2.by_value],
|
123
|
+
|
124
|
+
# @!method Vector2SubtractValue(v, sub)
|
125
|
+
# Vector2SubtractValue
|
126
|
+
# @param v [Vector2]
|
127
|
+
# @param sub [float]
|
128
|
+
# @return [Vector2]
|
129
|
+
[:Vector2SubtractValue, :Vector2SubtractValue, [Vector2.by_value, :float], Vector2.by_value],
|
130
|
+
|
131
|
+
# @!method Vector2Length(v)
|
132
|
+
# Vector2Length
|
133
|
+
# @param v [Vector2]
|
134
|
+
# @return [float]
|
135
|
+
[:Vector2Length, :Vector2Length, [Vector2.by_value], :float],
|
136
|
+
|
137
|
+
# @!method Vector2LengthSqr(v)
|
138
|
+
# Vector2LengthSqr
|
139
|
+
# @param v [Vector2]
|
140
|
+
# @return [float]
|
141
|
+
[:Vector2LengthSqr, :Vector2LengthSqr, [Vector2.by_value], :float],
|
142
|
+
|
143
|
+
# @!method Vector2DotProduct(v1, v2)
|
144
|
+
# Vector2DotProduct
|
145
|
+
# @param v1 [Vector2]
|
146
|
+
# @param v2 [Vector2]
|
147
|
+
# @return [float]
|
148
|
+
[:Vector2DotProduct, :Vector2DotProduct, [Vector2.by_value, Vector2.by_value], :float],
|
149
|
+
|
150
|
+
# @!method Vector2Distance(v1, v2)
|
151
|
+
# Vector2Distance
|
152
|
+
# @param v1 [Vector2]
|
153
|
+
# @param v2 [Vector2]
|
154
|
+
# @return [float]
|
155
|
+
[:Vector2Distance, :Vector2Distance, [Vector2.by_value, Vector2.by_value], :float],
|
156
|
+
|
157
|
+
# @!method Vector2DistanceSqr(v1, v2)
|
158
|
+
# Vector2DistanceSqr
|
159
|
+
# @param v1 [Vector2]
|
160
|
+
# @param v2 [Vector2]
|
161
|
+
# @return [float]
|
162
|
+
[:Vector2DistanceSqr, :Vector2DistanceSqr, [Vector2.by_value, Vector2.by_value], :float],
|
163
|
+
|
164
|
+
# @!method Vector2Angle(v1, v2)
|
165
|
+
# Vector2Angle
|
166
|
+
# @param v1 [Vector2]
|
167
|
+
# @param v2 [Vector2]
|
168
|
+
# @return [float]
|
169
|
+
[:Vector2Angle, :Vector2Angle, [Vector2.by_value, Vector2.by_value], :float],
|
170
|
+
|
171
|
+
# @!method Vector2LineAngle(start, end)
|
172
|
+
# Vector2LineAngle
|
173
|
+
# @param start [Vector2]
|
174
|
+
# @param end [Vector2]
|
175
|
+
# @return [float]
|
176
|
+
[:Vector2LineAngle, :Vector2LineAngle, [Vector2.by_value, Vector2.by_value], :float],
|
177
|
+
|
178
|
+
# @!method Vector2Scale(v, scale)
|
179
|
+
# Vector2Scale
|
180
|
+
# @param v [Vector2]
|
181
|
+
# @param scale [float]
|
182
|
+
# @return [Vector2]
|
183
|
+
[:Vector2Scale, :Vector2Scale, [Vector2.by_value, :float], Vector2.by_value],
|
184
|
+
|
185
|
+
# @!method Vector2Multiply(v1, v2)
|
186
|
+
# Vector2Multiply
|
187
|
+
# @param v1 [Vector2]
|
188
|
+
# @param v2 [Vector2]
|
189
|
+
# @return [Vector2]
|
190
|
+
[:Vector2Multiply, :Vector2Multiply, [Vector2.by_value, Vector2.by_value], Vector2.by_value],
|
191
|
+
|
192
|
+
# @!method Vector2Negate(v)
|
193
|
+
# Vector2Negate
|
194
|
+
# @param v [Vector2]
|
195
|
+
# @return [Vector2]
|
196
|
+
[:Vector2Negate, :Vector2Negate, [Vector2.by_value], Vector2.by_value],
|
197
|
+
|
198
|
+
# @!method Vector2Divide(v1, v2)
|
199
|
+
# Vector2Divide
|
200
|
+
# @param v1 [Vector2]
|
201
|
+
# @param v2 [Vector2]
|
202
|
+
# @return [Vector2]
|
203
|
+
[:Vector2Divide, :Vector2Divide, [Vector2.by_value, Vector2.by_value], Vector2.by_value],
|
204
|
+
|
205
|
+
# @!method Vector2Normalize(v)
|
206
|
+
# Vector2Normalize
|
207
|
+
# @param v [Vector2]
|
208
|
+
# @return [Vector2]
|
209
|
+
[:Vector2Normalize, :Vector2Normalize, [Vector2.by_value], Vector2.by_value],
|
210
|
+
|
211
|
+
# @!method Vector2Transform(v, mat)
|
212
|
+
# Vector2Transform
|
213
|
+
# @param v [Vector2]
|
214
|
+
# @param mat [Matrix]
|
215
|
+
# @return [Vector2]
|
216
|
+
[:Vector2Transform, :Vector2Transform, [Vector2.by_value, Matrix.by_value], Vector2.by_value],
|
217
|
+
|
218
|
+
# @!method Vector2Lerp(v1, v2, amount)
|
219
|
+
# Vector2Lerp
|
220
|
+
# @param v1 [Vector2]
|
221
|
+
# @param v2 [Vector2]
|
222
|
+
# @param amount [float]
|
223
|
+
# @return [Vector2]
|
224
|
+
[:Vector2Lerp, :Vector2Lerp, [Vector2.by_value, Vector2.by_value, :float], Vector2.by_value],
|
225
|
+
|
226
|
+
# @!method Vector2Reflect(v, normal)
|
227
|
+
# Vector2Reflect
|
228
|
+
# @param v [Vector2]
|
229
|
+
# @param normal [Vector2]
|
230
|
+
# @return [Vector2]
|
231
|
+
[:Vector2Reflect, :Vector2Reflect, [Vector2.by_value, Vector2.by_value], Vector2.by_value],
|
232
|
+
|
233
|
+
# @!method Vector2Rotate(v, angle)
|
234
|
+
# Vector2Rotate
|
235
|
+
# @param v [Vector2]
|
236
|
+
# @param angle [float]
|
237
|
+
# @return [Vector2]
|
238
|
+
[:Vector2Rotate, :Vector2Rotate, [Vector2.by_value, :float], Vector2.by_value],
|
239
|
+
|
240
|
+
# @!method Vector2MoveTowards(v, target, maxDistance)
|
241
|
+
# Vector2MoveTowards
|
242
|
+
# @param v [Vector2]
|
243
|
+
# @param target [Vector2]
|
244
|
+
# @param maxDistance [float]
|
245
|
+
# @return [Vector2]
|
246
|
+
[:Vector2MoveTowards, :Vector2MoveTowards, [Vector2.by_value, Vector2.by_value, :float], Vector2.by_value],
|
247
|
+
|
248
|
+
# @!method Vector2Invert(v)
|
249
|
+
# Vector2Invert
|
250
|
+
# @param v [Vector2]
|
251
|
+
# @return [Vector2]
|
252
|
+
[:Vector2Invert, :Vector2Invert, [Vector2.by_value], Vector2.by_value],
|
253
|
+
|
254
|
+
# @!method Vector2Clamp(v, min, max)
|
255
|
+
# Vector2Clamp
|
256
|
+
# @param v [Vector2]
|
257
|
+
# @param min [Vector2]
|
258
|
+
# @param max [Vector2]
|
259
|
+
# @return [Vector2]
|
260
|
+
[:Vector2Clamp, :Vector2Clamp, [Vector2.by_value, Vector2.by_value, Vector2.by_value], Vector2.by_value],
|
261
|
+
|
262
|
+
# @!method Vector2ClampValue(v, min, max)
|
263
|
+
# Vector2ClampValue
|
264
|
+
# @param v [Vector2]
|
265
|
+
# @param min [float]
|
266
|
+
# @param max [float]
|
267
|
+
# @return [Vector2]
|
268
|
+
[:Vector2ClampValue, :Vector2ClampValue, [Vector2.by_value, :float, :float], Vector2.by_value],
|
269
|
+
|
270
|
+
# @!method Vector2Equals(p, q)
|
271
|
+
# Vector2Equals
|
272
|
+
# @param p [Vector2]
|
273
|
+
# @param q [Vector2]
|
274
|
+
# @return [int]
|
275
|
+
[:Vector2Equals, :Vector2Equals, [Vector2.by_value, Vector2.by_value], :int],
|
276
|
+
|
277
|
+
# @!method Vector3Zero()
|
278
|
+
# Vector3Zero
|
279
|
+
# @return [Vector3]
|
280
|
+
[:Vector3Zero, :Vector3Zero, [], Vector3.by_value],
|
281
|
+
|
282
|
+
# @!method Vector3One()
|
283
|
+
# Vector3One
|
284
|
+
# @return [Vector3]
|
285
|
+
[:Vector3One, :Vector3One, [], Vector3.by_value],
|
286
|
+
|
287
|
+
# @!method Vector3Add(v1, v2)
|
288
|
+
# Vector3Add
|
289
|
+
# @param v1 [Vector3]
|
290
|
+
# @param v2 [Vector3]
|
291
|
+
# @return [Vector3]
|
292
|
+
[:Vector3Add, :Vector3Add, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
293
|
+
|
294
|
+
# @!method Vector3AddValue(v, add)
|
295
|
+
# Vector3AddValue
|
296
|
+
# @param v [Vector3]
|
297
|
+
# @param add [float]
|
298
|
+
# @return [Vector3]
|
299
|
+
[:Vector3AddValue, :Vector3AddValue, [Vector3.by_value, :float], Vector3.by_value],
|
300
|
+
|
301
|
+
# @!method Vector3Subtract(v1, v2)
|
302
|
+
# Vector3Subtract
|
303
|
+
# @param v1 [Vector3]
|
304
|
+
# @param v2 [Vector3]
|
305
|
+
# @return [Vector3]
|
306
|
+
[:Vector3Subtract, :Vector3Subtract, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
307
|
+
|
308
|
+
# @!method Vector3SubtractValue(v, sub)
|
309
|
+
# Vector3SubtractValue
|
310
|
+
# @param v [Vector3]
|
311
|
+
# @param sub [float]
|
312
|
+
# @return [Vector3]
|
313
|
+
[:Vector3SubtractValue, :Vector3SubtractValue, [Vector3.by_value, :float], Vector3.by_value],
|
314
|
+
|
315
|
+
# @!method Vector3Scale(v, scalar)
|
316
|
+
# Vector3Scale
|
317
|
+
# @param v [Vector3]
|
318
|
+
# @param scalar [float]
|
319
|
+
# @return [Vector3]
|
320
|
+
[:Vector3Scale, :Vector3Scale, [Vector3.by_value, :float], Vector3.by_value],
|
321
|
+
|
322
|
+
# @!method Vector3Multiply(v1, v2)
|
323
|
+
# Vector3Multiply
|
324
|
+
# @param v1 [Vector3]
|
325
|
+
# @param v2 [Vector3]
|
326
|
+
# @return [Vector3]
|
327
|
+
[:Vector3Multiply, :Vector3Multiply, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
328
|
+
|
329
|
+
# @!method Vector3CrossProduct(v1, v2)
|
330
|
+
# Vector3CrossProduct
|
331
|
+
# @param v1 [Vector3]
|
332
|
+
# @param v2 [Vector3]
|
333
|
+
# @return [Vector3]
|
334
|
+
[:Vector3CrossProduct, :Vector3CrossProduct, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
335
|
+
|
336
|
+
# @!method Vector3Perpendicular(v)
|
337
|
+
# Vector3Perpendicular
|
338
|
+
# @param v [Vector3]
|
339
|
+
# @return [Vector3]
|
340
|
+
[:Vector3Perpendicular, :Vector3Perpendicular, [Vector3.by_value], Vector3.by_value],
|
341
|
+
|
342
|
+
# @!method Vector3Length(v)
|
343
|
+
# Vector3Length
|
344
|
+
# @param v [const Vector3]
|
345
|
+
# @return [float]
|
346
|
+
[:Vector3Length, :Vector3Length, [Vector3.by_value], :float],
|
347
|
+
|
348
|
+
# @!method Vector3LengthSqr(v)
|
349
|
+
# Vector3LengthSqr
|
350
|
+
# @param v [const Vector3]
|
351
|
+
# @return [float]
|
352
|
+
[:Vector3LengthSqr, :Vector3LengthSqr, [Vector3.by_value], :float],
|
353
|
+
|
354
|
+
# @!method Vector3DotProduct(v1, v2)
|
355
|
+
# Vector3DotProduct
|
356
|
+
# @param v1 [Vector3]
|
357
|
+
# @param v2 [Vector3]
|
358
|
+
# @return [float]
|
359
|
+
[:Vector3DotProduct, :Vector3DotProduct, [Vector3.by_value, Vector3.by_value], :float],
|
360
|
+
|
361
|
+
# @!method Vector3Distance(v1, v2)
|
362
|
+
# Vector3Distance
|
363
|
+
# @param v1 [Vector3]
|
364
|
+
# @param v2 [Vector3]
|
365
|
+
# @return [float]
|
366
|
+
[:Vector3Distance, :Vector3Distance, [Vector3.by_value, Vector3.by_value], :float],
|
367
|
+
|
368
|
+
# @!method Vector3DistanceSqr(v1, v2)
|
369
|
+
# Vector3DistanceSqr
|
370
|
+
# @param v1 [Vector3]
|
371
|
+
# @param v2 [Vector3]
|
372
|
+
# @return [float]
|
373
|
+
[:Vector3DistanceSqr, :Vector3DistanceSqr, [Vector3.by_value, Vector3.by_value], :float],
|
374
|
+
|
375
|
+
# @!method Vector3Angle(v1, v2)
|
376
|
+
# Vector3Angle
|
377
|
+
# @param v1 [Vector3]
|
378
|
+
# @param v2 [Vector3]
|
379
|
+
# @return [float]
|
380
|
+
[:Vector3Angle, :Vector3Angle, [Vector3.by_value, Vector3.by_value], :float],
|
381
|
+
|
382
|
+
# @!method Vector3Negate(v)
|
383
|
+
# Vector3Negate
|
384
|
+
# @param v [Vector3]
|
385
|
+
# @return [Vector3]
|
386
|
+
[:Vector3Negate, :Vector3Negate, [Vector3.by_value], Vector3.by_value],
|
387
|
+
|
388
|
+
# @!method Vector3Divide(v1, v2)
|
389
|
+
# Vector3Divide
|
390
|
+
# @param v1 [Vector3]
|
391
|
+
# @param v2 [Vector3]
|
392
|
+
# @return [Vector3]
|
393
|
+
[:Vector3Divide, :Vector3Divide, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
394
|
+
|
395
|
+
# @!method Vector3Normalize(v)
|
396
|
+
# Vector3Normalize
|
397
|
+
# @param v [Vector3]
|
398
|
+
# @return [Vector3]
|
399
|
+
[:Vector3Normalize, :Vector3Normalize, [Vector3.by_value], Vector3.by_value],
|
400
|
+
|
401
|
+
# @!method Vector3Project(v1, v2)
|
402
|
+
# Vector3Project
|
403
|
+
# @param v1 [Vector3]
|
404
|
+
# @param v2 [Vector3]
|
405
|
+
# @return [Vector3]
|
406
|
+
[:Vector3Project, :Vector3Project, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
407
|
+
|
408
|
+
# @!method Vector3Reject(v1, v2)
|
409
|
+
# Vector3Reject
|
410
|
+
# @param v1 [Vector3]
|
411
|
+
# @param v2 [Vector3]
|
412
|
+
# @return [Vector3]
|
413
|
+
[:Vector3Reject, :Vector3Reject, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
414
|
+
|
415
|
+
# @!method Vector3OrthoNormalize(v1, v2)
|
416
|
+
# Vector3OrthoNormalize
|
417
|
+
# @param v1 [Vector3 *]
|
418
|
+
# @param v2 [Vector3 *]
|
419
|
+
# @return [void]
|
420
|
+
[:Vector3OrthoNormalize, :Vector3OrthoNormalize, [:pointer, :pointer], :void],
|
421
|
+
|
422
|
+
# @!method Vector3Transform(v, mat)
|
423
|
+
# Vector3Transform
|
424
|
+
# @param v [Vector3]
|
425
|
+
# @param mat [Matrix]
|
426
|
+
# @return [Vector3]
|
427
|
+
[:Vector3Transform, :Vector3Transform, [Vector3.by_value, Matrix.by_value], Vector3.by_value],
|
428
|
+
|
429
|
+
# @!method Vector3RotateByQuaternion(v, q)
|
430
|
+
# Vector3RotateByQuaternion
|
431
|
+
# @param v [Vector3]
|
432
|
+
# @param q [Quaternion]
|
433
|
+
# @return [Vector3]
|
434
|
+
[:Vector3RotateByQuaternion, :Vector3RotateByQuaternion, [Vector3.by_value, Quaternion.by_value], Vector3.by_value],
|
435
|
+
|
436
|
+
# @!method Vector3RotateByAxisAngle(v, axis, angle)
|
437
|
+
# Vector3RotateByAxisAngle
|
438
|
+
# @param v [Vector3]
|
439
|
+
# @param axis [Vector3]
|
440
|
+
# @param angle [float]
|
441
|
+
# @return [Vector3]
|
442
|
+
[:Vector3RotateByAxisAngle, :Vector3RotateByAxisAngle, [Vector3.by_value, Vector3.by_value, :float], Vector3.by_value],
|
443
|
+
|
444
|
+
# @!method Vector3Lerp(v1, v2, amount)
|
445
|
+
# Vector3Lerp
|
446
|
+
# @param v1 [Vector3]
|
447
|
+
# @param v2 [Vector3]
|
448
|
+
# @param amount [float]
|
449
|
+
# @return [Vector3]
|
450
|
+
[:Vector3Lerp, :Vector3Lerp, [Vector3.by_value, Vector3.by_value, :float], Vector3.by_value],
|
451
|
+
|
452
|
+
# @!method Vector3Reflect(v, normal)
|
453
|
+
# Vector3Reflect
|
454
|
+
# @param v [Vector3]
|
455
|
+
# @param normal [Vector3]
|
456
|
+
# @return [Vector3]
|
457
|
+
[:Vector3Reflect, :Vector3Reflect, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
458
|
+
|
459
|
+
# @!method Vector3Min(v1, v2)
|
460
|
+
# Vector3Min
|
461
|
+
# @param v1 [Vector3]
|
462
|
+
# @param v2 [Vector3]
|
463
|
+
# @return [Vector3]
|
464
|
+
[:Vector3Min, :Vector3Min, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
465
|
+
|
466
|
+
# @!method Vector3Max(v1, v2)
|
467
|
+
# Vector3Max
|
468
|
+
# @param v1 [Vector3]
|
469
|
+
# @param v2 [Vector3]
|
470
|
+
# @return [Vector3]
|
471
|
+
[:Vector3Max, :Vector3Max, [Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
472
|
+
|
473
|
+
# @!method Vector3Barycenter(p, a, b, c)
|
474
|
+
# Vector3Barycenter
|
475
|
+
# @param p [Vector3]
|
476
|
+
# @param a [Vector3]
|
477
|
+
# @param b [Vector3]
|
478
|
+
# @param c [Vector3]
|
479
|
+
# @return [Vector3]
|
480
|
+
[:Vector3Barycenter, :Vector3Barycenter, [Vector3.by_value, Vector3.by_value, Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
481
|
+
|
482
|
+
# @!method Vector3Unproject(source, projection, view)
|
483
|
+
# Vector3Unproject
|
484
|
+
# @param source [Vector3]
|
485
|
+
# @param projection [Matrix]
|
486
|
+
# @param view [Matrix]
|
487
|
+
# @return [Vector3]
|
488
|
+
[:Vector3Unproject, :Vector3Unproject, [Vector3.by_value, Matrix.by_value, Matrix.by_value], Vector3.by_value],
|
489
|
+
|
490
|
+
# @!method Vector3ToFloatV(v)
|
491
|
+
# Vector3ToFloatV
|
492
|
+
# @param v [Vector3]
|
493
|
+
# @return [float3]
|
494
|
+
[:Vector3ToFloatV, :Vector3ToFloatV, [Vector3.by_value], Float3.by_value],
|
495
|
+
|
496
|
+
# @!method Vector3Invert(v)
|
497
|
+
# Vector3Invert
|
498
|
+
# @param v [Vector3]
|
499
|
+
# @return [Vector3]
|
500
|
+
[:Vector3Invert, :Vector3Invert, [Vector3.by_value], Vector3.by_value],
|
501
|
+
|
502
|
+
# @!method Vector3Clamp(v, min, max)
|
503
|
+
# Vector3Clamp
|
504
|
+
# @param v [Vector3]
|
505
|
+
# @param min [Vector3]
|
506
|
+
# @param max [Vector3]
|
507
|
+
# @return [Vector3]
|
508
|
+
[:Vector3Clamp, :Vector3Clamp, [Vector3.by_value, Vector3.by_value, Vector3.by_value], Vector3.by_value],
|
509
|
+
|
510
|
+
# @!method Vector3ClampValue(v, min, max)
|
511
|
+
# Vector3ClampValue
|
512
|
+
# @param v [Vector3]
|
513
|
+
# @param min [float]
|
514
|
+
# @param max [float]
|
515
|
+
# @return [Vector3]
|
516
|
+
[:Vector3ClampValue, :Vector3ClampValue, [Vector3.by_value, :float, :float], Vector3.by_value],
|
517
|
+
|
518
|
+
# @!method Vector3Equals(p, q)
|
519
|
+
# Vector3Equals
|
520
|
+
# @param p [Vector3]
|
521
|
+
# @param q [Vector3]
|
522
|
+
# @return [int]
|
523
|
+
[:Vector3Equals, :Vector3Equals, [Vector3.by_value, Vector3.by_value], :int],
|
524
|
+
|
525
|
+
# @!method Vector3Refract(v, n, r)
|
526
|
+
# Vector3Refract
|
527
|
+
# @param v [Vector3]
|
528
|
+
# @param n [Vector3]
|
529
|
+
# @param r [float]
|
530
|
+
# @return [Vector3]
|
531
|
+
[:Vector3Refract, :Vector3Refract, [Vector3.by_value, Vector3.by_value, :float], Vector3.by_value],
|
532
|
+
|
533
|
+
# @!method MatrixDeterminant(mat)
|
534
|
+
# MatrixDeterminant
|
535
|
+
# @param mat [Matrix]
|
536
|
+
# @return [float]
|
537
|
+
[:MatrixDeterminant, :MatrixDeterminant, [Matrix.by_value], :float],
|
538
|
+
|
539
|
+
# @!method MatrixTrace(mat)
|
540
|
+
# MatrixTrace
|
541
|
+
# @param mat [Matrix]
|
542
|
+
# @return [float]
|
543
|
+
[:MatrixTrace, :MatrixTrace, [Matrix.by_value], :float],
|
544
|
+
|
545
|
+
# @!method MatrixTranspose(mat)
|
546
|
+
# MatrixTranspose
|
547
|
+
# @param mat [Matrix]
|
548
|
+
# @return [Matrix]
|
549
|
+
[:MatrixTranspose, :MatrixTranspose, [Matrix.by_value], Matrix.by_value],
|
550
|
+
|
551
|
+
# @!method MatrixInvert(mat)
|
552
|
+
# MatrixInvert
|
553
|
+
# @param mat [Matrix]
|
554
|
+
# @return [Matrix]
|
555
|
+
[:MatrixInvert, :MatrixInvert, [Matrix.by_value], Matrix.by_value],
|
556
|
+
|
557
|
+
# @!method MatrixIdentity()
|
558
|
+
# MatrixIdentity
|
559
|
+
# @return [Matrix]
|
560
|
+
[:MatrixIdentity, :MatrixIdentity, [], Matrix.by_value],
|
561
|
+
|
562
|
+
# @!method MatrixAdd(left, right)
|
563
|
+
# MatrixAdd
|
564
|
+
# @param left [Matrix]
|
565
|
+
# @param right [Matrix]
|
566
|
+
# @return [Matrix]
|
567
|
+
[:MatrixAdd, :MatrixAdd, [Matrix.by_value, Matrix.by_value], Matrix.by_value],
|
568
|
+
|
569
|
+
# @!method MatrixSubtract(left, right)
|
570
|
+
# MatrixSubtract
|
571
|
+
# @param left [Matrix]
|
572
|
+
# @param right [Matrix]
|
573
|
+
# @return [Matrix]
|
574
|
+
[:MatrixSubtract, :MatrixSubtract, [Matrix.by_value, Matrix.by_value], Matrix.by_value],
|
575
|
+
|
576
|
+
# @!method MatrixMultiply(left, right)
|
577
|
+
# MatrixMultiply
|
578
|
+
# @param left [Matrix]
|
579
|
+
# @param right [Matrix]
|
580
|
+
# @return [Matrix]
|
581
|
+
[:MatrixMultiply, :MatrixMultiply, [Matrix.by_value, Matrix.by_value], Matrix.by_value],
|
582
|
+
|
583
|
+
# @!method MatrixTranslate(x, y, z)
|
584
|
+
# MatrixTranslate
|
585
|
+
# @param x [float]
|
586
|
+
# @param y [float]
|
587
|
+
# @param z [float]
|
588
|
+
# @return [Matrix]
|
589
|
+
[:MatrixTranslate, :MatrixTranslate, [:float, :float, :float], Matrix.by_value],
|
590
|
+
|
591
|
+
# @!method MatrixRotate(axis, angle)
|
592
|
+
# MatrixRotate
|
593
|
+
# @param axis [Vector3]
|
594
|
+
# @param angle [float]
|
595
|
+
# @return [Matrix]
|
596
|
+
[:MatrixRotate, :MatrixRotate, [Vector3.by_value, :float], Matrix.by_value],
|
597
|
+
|
598
|
+
# @!method MatrixRotateX(angle)
|
599
|
+
# MatrixRotateX
|
600
|
+
# @param angle [float]
|
601
|
+
# @return [Matrix]
|
602
|
+
[:MatrixRotateX, :MatrixRotateX, [:float], Matrix.by_value],
|
603
|
+
|
604
|
+
# @!method MatrixRotateY(angle)
|
605
|
+
# MatrixRotateY
|
606
|
+
# @param angle [float]
|
607
|
+
# @return [Matrix]
|
608
|
+
[:MatrixRotateY, :MatrixRotateY, [:float], Matrix.by_value],
|
609
|
+
|
610
|
+
# @!method MatrixRotateZ(angle)
|
611
|
+
# MatrixRotateZ
|
612
|
+
# @param angle [float]
|
613
|
+
# @return [Matrix]
|
614
|
+
[:MatrixRotateZ, :MatrixRotateZ, [:float], Matrix.by_value],
|
615
|
+
|
616
|
+
# @!method MatrixRotateXYZ(angle)
|
617
|
+
# MatrixRotateXYZ
|
618
|
+
# @param angle [Vector3]
|
619
|
+
# @return [Matrix]
|
620
|
+
[:MatrixRotateXYZ, :MatrixRotateXYZ, [Vector3.by_value], Matrix.by_value],
|
621
|
+
|
622
|
+
# @!method MatrixRotateZYX(angle)
|
623
|
+
# MatrixRotateZYX
|
624
|
+
# @param angle [Vector3]
|
625
|
+
# @return [Matrix]
|
626
|
+
[:MatrixRotateZYX, :MatrixRotateZYX, [Vector3.by_value], Matrix.by_value],
|
627
|
+
|
628
|
+
# @!method MatrixScale(x, y, z)
|
629
|
+
# MatrixScale
|
630
|
+
# @param x [float]
|
631
|
+
# @param y [float]
|
632
|
+
# @param z [float]
|
633
|
+
# @return [Matrix]
|
634
|
+
[:MatrixScale, :MatrixScale, [:float, :float, :float], Matrix.by_value],
|
635
|
+
|
636
|
+
# @!method MatrixFrustum(left, right, bottom, top, near, far)
|
637
|
+
# MatrixFrustum
|
638
|
+
# @param left [double]
|
639
|
+
# @param right [double]
|
640
|
+
# @param bottom [double]
|
641
|
+
# @param top [double]
|
642
|
+
# @param near [double]
|
643
|
+
# @param far [double]
|
644
|
+
# @return [Matrix]
|
645
|
+
[:MatrixFrustum, :MatrixFrustum, [:double, :double, :double, :double, :double, :double], Matrix.by_value],
|
646
|
+
|
647
|
+
# @!method MatrixPerspective(fovY, aspect, nearPlane, farPlane)
|
648
|
+
# MatrixPerspective
|
649
|
+
# @param fovY [double]
|
650
|
+
# @param aspect [double]
|
651
|
+
# @param nearPlane [double]
|
652
|
+
# @param farPlane [double]
|
653
|
+
# @return [Matrix]
|
654
|
+
[:MatrixPerspective, :MatrixPerspective, [:double, :double, :double, :double], Matrix.by_value],
|
655
|
+
|
656
|
+
# @!method MatrixOrtho(left, right, bottom, top, nearPlane, farPlane)
|
657
|
+
# MatrixOrtho
|
658
|
+
# @param left [double]
|
659
|
+
# @param right [double]
|
660
|
+
# @param bottom [double]
|
661
|
+
# @param top [double]
|
662
|
+
# @param nearPlane [double]
|
663
|
+
# @param farPlane [double]
|
664
|
+
# @return [Matrix]
|
665
|
+
[:MatrixOrtho, :MatrixOrtho, [:double, :double, :double, :double, :double, :double], Matrix.by_value],
|
666
|
+
|
667
|
+
# @!method MatrixLookAt(eye, target, up)
|
668
|
+
# MatrixLookAt
|
669
|
+
# @param eye [Vector3]
|
670
|
+
# @param target [Vector3]
|
671
|
+
# @param up [Vector3]
|
672
|
+
# @return [Matrix]
|
673
|
+
[:MatrixLookAt, :MatrixLookAt, [Vector3.by_value, Vector3.by_value, Vector3.by_value], Matrix.by_value],
|
674
|
+
|
675
|
+
# @!method MatrixToFloatV(mat)
|
676
|
+
# MatrixToFloatV
|
677
|
+
# @param mat [Matrix]
|
678
|
+
# @return [float16]
|
679
|
+
[:MatrixToFloatV, :MatrixToFloatV, [Matrix.by_value], Float16.by_value],
|
680
|
+
|
681
|
+
# @!method QuaternionAdd(q1, q2)
|
682
|
+
# QuaternionAdd
|
683
|
+
# @param q1 [Quaternion]
|
684
|
+
# @param q2 [Quaternion]
|
685
|
+
# @return [Quaternion]
|
686
|
+
[:QuaternionAdd, :QuaternionAdd, [Quaternion.by_value, Quaternion.by_value], Quaternion.by_value],
|
687
|
+
|
688
|
+
# @!method QuaternionAddValue(q, add)
|
689
|
+
# QuaternionAddValue
|
690
|
+
# @param q [Quaternion]
|
691
|
+
# @param add [float]
|
692
|
+
# @return [Quaternion]
|
693
|
+
[:QuaternionAddValue, :QuaternionAddValue, [Quaternion.by_value, :float], Quaternion.by_value],
|
694
|
+
|
695
|
+
# @!method QuaternionSubtract(q1, q2)
|
696
|
+
# QuaternionSubtract
|
697
|
+
# @param q1 [Quaternion]
|
698
|
+
# @param q2 [Quaternion]
|
699
|
+
# @return [Quaternion]
|
700
|
+
[:QuaternionSubtract, :QuaternionSubtract, [Quaternion.by_value, Quaternion.by_value], Quaternion.by_value],
|
701
|
+
|
702
|
+
# @!method QuaternionSubtractValue(q, sub)
|
703
|
+
# QuaternionSubtractValue
|
704
|
+
# @param q [Quaternion]
|
705
|
+
# @param sub [float]
|
706
|
+
# @return [Quaternion]
|
707
|
+
[:QuaternionSubtractValue, :QuaternionSubtractValue, [Quaternion.by_value, :float], Quaternion.by_value],
|
708
|
+
|
709
|
+
# @!method QuaternionIdentity()
|
710
|
+
# QuaternionIdentity
|
711
|
+
# @return [Quaternion]
|
712
|
+
[:QuaternionIdentity, :QuaternionIdentity, [], Quaternion.by_value],
|
713
|
+
|
714
|
+
# @!method QuaternionLength(q)
|
715
|
+
# QuaternionLength
|
716
|
+
# @param q [Quaternion]
|
717
|
+
# @return [float]
|
718
|
+
[:QuaternionLength, :QuaternionLength, [Quaternion.by_value], :float],
|
719
|
+
|
720
|
+
# @!method QuaternionNormalize(q)
|
721
|
+
# QuaternionNormalize
|
722
|
+
# @param q [Quaternion]
|
723
|
+
# @return [Quaternion]
|
724
|
+
[:QuaternionNormalize, :QuaternionNormalize, [Quaternion.by_value], Quaternion.by_value],
|
725
|
+
|
726
|
+
# @!method QuaternionInvert(q)
|
727
|
+
# QuaternionInvert
|
728
|
+
# @param q [Quaternion]
|
729
|
+
# @return [Quaternion]
|
730
|
+
[:QuaternionInvert, :QuaternionInvert, [Quaternion.by_value], Quaternion.by_value],
|
731
|
+
|
732
|
+
# @!method QuaternionMultiply(q1, q2)
|
733
|
+
# QuaternionMultiply
|
734
|
+
# @param q1 [Quaternion]
|
735
|
+
# @param q2 [Quaternion]
|
736
|
+
# @return [Quaternion]
|
737
|
+
[:QuaternionMultiply, :QuaternionMultiply, [Quaternion.by_value, Quaternion.by_value], Quaternion.by_value],
|
738
|
+
|
739
|
+
# @!method QuaternionScale(q, mul)
|
740
|
+
# QuaternionScale
|
741
|
+
# @param q [Quaternion]
|
742
|
+
# @param mul [float]
|
743
|
+
# @return [Quaternion]
|
744
|
+
[:QuaternionScale, :QuaternionScale, [Quaternion.by_value, :float], Quaternion.by_value],
|
745
|
+
|
746
|
+
# @!method QuaternionDivide(q1, q2)
|
747
|
+
# QuaternionDivide
|
748
|
+
# @param q1 [Quaternion]
|
749
|
+
# @param q2 [Quaternion]
|
750
|
+
# @return [Quaternion]
|
751
|
+
[:QuaternionDivide, :QuaternionDivide, [Quaternion.by_value, Quaternion.by_value], Quaternion.by_value],
|
752
|
+
|
753
|
+
# @!method QuaternionLerp(q1, q2, amount)
|
754
|
+
# QuaternionLerp
|
755
|
+
# @param q1 [Quaternion]
|
756
|
+
# @param q2 [Quaternion]
|
757
|
+
# @param amount [float]
|
758
|
+
# @return [Quaternion]
|
759
|
+
[:QuaternionLerp, :QuaternionLerp, [Quaternion.by_value, Quaternion.by_value, :float], Quaternion.by_value],
|
760
|
+
|
761
|
+
# @!method QuaternionNlerp(q1, q2, amount)
|
762
|
+
# QuaternionNlerp
|
763
|
+
# @param q1 [Quaternion]
|
764
|
+
# @param q2 [Quaternion]
|
765
|
+
# @param amount [float]
|
766
|
+
# @return [Quaternion]
|
767
|
+
[:QuaternionNlerp, :QuaternionNlerp, [Quaternion.by_value, Quaternion.by_value, :float], Quaternion.by_value],
|
768
|
+
|
769
|
+
# @!method QuaternionSlerp(q1, q2, amount)
|
770
|
+
# QuaternionSlerp
|
771
|
+
# @param q1 [Quaternion]
|
772
|
+
# @param q2 [Quaternion]
|
773
|
+
# @param amount [float]
|
774
|
+
# @return [Quaternion]
|
775
|
+
[:QuaternionSlerp, :QuaternionSlerp, [Quaternion.by_value, Quaternion.by_value, :float], Quaternion.by_value],
|
776
|
+
|
777
|
+
# @!method QuaternionFromVector3ToVector3(from, to)
|
778
|
+
# QuaternionFromVector3ToVector3
|
779
|
+
# @param from [Vector3]
|
780
|
+
# @param to [Vector3]
|
781
|
+
# @return [Quaternion]
|
782
|
+
[:QuaternionFromVector3ToVector3, :QuaternionFromVector3ToVector3, [Vector3.by_value, Vector3.by_value], Quaternion.by_value],
|
783
|
+
|
784
|
+
# @!method QuaternionFromMatrix(mat)
|
785
|
+
# QuaternionFromMatrix
|
786
|
+
# @param mat [Matrix]
|
787
|
+
# @return [Quaternion]
|
788
|
+
[:QuaternionFromMatrix, :QuaternionFromMatrix, [Matrix.by_value], Quaternion.by_value],
|
789
|
+
|
790
|
+
# @!method QuaternionToMatrix(q)
|
791
|
+
# QuaternionToMatrix
|
792
|
+
# @param q [Quaternion]
|
793
|
+
# @return [Matrix]
|
794
|
+
[:QuaternionToMatrix, :QuaternionToMatrix, [Quaternion.by_value], Matrix.by_value],
|
795
|
+
|
796
|
+
# @!method QuaternionFromAxisAngle(axis, angle)
|
797
|
+
# QuaternionFromAxisAngle
|
798
|
+
# @param axis [Vector3]
|
799
|
+
# @param angle [float]
|
800
|
+
# @return [Quaternion]
|
801
|
+
[:QuaternionFromAxisAngle, :QuaternionFromAxisAngle, [Vector3.by_value, :float], Quaternion.by_value],
|
802
|
+
|
803
|
+
# @!method QuaternionToAxisAngle(q, outAxis, outAngle)
|
804
|
+
# QuaternionToAxisAngle
|
805
|
+
# @param q [Quaternion]
|
806
|
+
# @param outAxis [Vector3 *]
|
807
|
+
# @param outAngle [float *]
|
808
|
+
# @return [void]
|
809
|
+
[:QuaternionToAxisAngle, :QuaternionToAxisAngle, [Quaternion.by_value, :pointer, :pointer], :void],
|
810
|
+
|
811
|
+
# @!method QuaternionFromEuler(pitch, yaw, roll)
|
812
|
+
# QuaternionFromEuler
|
813
|
+
# @param pitch [float]
|
814
|
+
# @param yaw [float]
|
815
|
+
# @param roll [float]
|
816
|
+
# @return [Quaternion]
|
817
|
+
[:QuaternionFromEuler, :QuaternionFromEuler, [:float, :float, :float], Quaternion.by_value],
|
818
|
+
|
819
|
+
# @!method QuaternionToEuler(q)
|
820
|
+
# QuaternionToEuler
|
821
|
+
# @param q [Quaternion]
|
822
|
+
# @return [Vector3]
|
823
|
+
[:QuaternionToEuler, :QuaternionToEuler, [Quaternion.by_value], Vector3.by_value],
|
824
|
+
|
825
|
+
# @!method QuaternionTransform(q, mat)
|
826
|
+
# QuaternionTransform
|
827
|
+
# @param q [Quaternion]
|
828
|
+
# @param mat [Matrix]
|
829
|
+
# @return [Quaternion]
|
830
|
+
[:QuaternionTransform, :QuaternionTransform, [Quaternion.by_value, Matrix.by_value], Quaternion.by_value],
|
831
|
+
|
832
|
+
# @!method QuaternionEquals(p, q)
|
833
|
+
# QuaternionEquals
|
834
|
+
# @param p [Quaternion]
|
835
|
+
# @param q [Quaternion]
|
836
|
+
# @return [int]
|
837
|
+
[:QuaternionEquals, :QuaternionEquals, [Quaternion.by_value, Quaternion.by_value], :int],
|
838
|
+
]
|
839
|
+
entries.each do |entry|
|
840
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
841
|
+
rescue FFI::NotFoundError => e
|
842
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})."
|
843
|
+
end
|
844
|
+
end
|
845
|
+
end
|