raylib 5.0.0.5__cp313-cp313-manylinux2014_aarch64.whl → 5.5.0.3__cp313-cp313-manylinux2014_aarch64.whl
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.
Potentially problematic release.
This version of raylib might be problematic. Click here for more details.
- pyray/__init__.py +4 -5
- pyray/__init__.pyi +2401 -2118
- raylib/__init__.py +9 -5
- raylib/__init__.pyi +2291 -2059
- raylib/_raylib_cffi.cpython-313-aarch64-linux-gnu.so +0 -0
- raylib/build.py +145 -47
- raylib/defines.py +29 -9
- raylib/enums.py +56 -11
- raylib/glfw3.h.modified +226 -110
- raylib/physac.h.modified +74 -68
- raylib/raygui.h.modified +55 -33
- raylib/raylib.h.modified +133 -94
- raylib/raymath.h.modified +40 -10
- raylib/rlgl.h.modified +55 -38
- raylib/version.py +1 -1
- {raylib-5.0.0.5.dist-info → raylib-5.5.0.3.dist-info}/METADATA +158 -63
- raylib-5.5.0.3.dist-info/RECORD +23 -0
- {raylib-5.0.0.5.dist-info → raylib-5.5.0.3.dist-info}/WHEEL +1 -1
- raylib-5.0.0.5.dist-info/RECORD +0 -23
- {raylib-5.0.0.5.dist-info → raylib-5.5.0.3.dist-info/licenses}/LICENSE +0 -0
- {raylib-5.0.0.5.dist-info → raylib-5.5.0.3.dist-info}/top_level.txt +0 -0
raylib/raymath.h.modified
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**********************************************************************************************
|
|
2
2
|
*
|
|
3
|
-
* raymath
|
|
3
|
+
* raymath v2.0 - Math functions to work with Vector2, Vector3, Matrix and Quaternions
|
|
4
4
|
*
|
|
5
5
|
* CONVENTIONS:
|
|
6
6
|
* - Matrix structure is defined as row-major (memory layout) but parameters naming AND all
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - Functions are always self-contained, no function use another raymath function inside,
|
|
13
13
|
* required code is directly re-implemented inside
|
|
14
14
|
* - Functions input parameters are always received by value (2 unavoidable exceptions)
|
|
15
|
-
* - Functions use always a "result" variable for return
|
|
15
|
+
* - Functions use always a "result" variable for return (except C++ operators)
|
|
16
16
|
* - Functions are always defined inline
|
|
17
17
|
* - Angles are always in radians (DEG2RAD/RAD2DEG macros provided for convenience)
|
|
18
18
|
* - No compound literals used to make sure libray is compatible with C++
|
|
@@ -26,10 +26,12 @@
|
|
|
26
26
|
* #define RAYMATH_STATIC_INLINE
|
|
27
27
|
* This may use up lots of memory.
|
|
28
28
|
*
|
|
29
|
+
* #define RAYMATH_DISABLE_CPP_OPERATORS
|
|
30
|
+
* Disables C++ operator overloads for raymath types.
|
|
29
31
|
*
|
|
30
32
|
* LICENSE: zlib/libpng
|
|
31
33
|
*
|
|
32
|
-
* Copyright (c) 2015-
|
|
34
|
+
* Copyright (c) 2015-2024 Ramon Santamaria (@raysan5)
|
|
33
35
|
*
|
|
34
36
|
* This software is provided "as-is", without any express or implied warranty. In no event
|
|
35
37
|
* will the authors be held liable for any damages arising from the use of this software.
|
|
@@ -99,14 +101,21 @@ inline /* Functions may be inlined or external definition used*/ Vector2 Vector2
|
|
|
99
101
|
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Normalize(Vector2 v);// Transforms a Vector2 by a given Matrix
|
|
100
102
|
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Transform(Vector2 v, Matrix mat);// Calculate linear interpolation between two vectors
|
|
101
103
|
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Lerp(Vector2 v1, Vector2 v2, float amount);// Calculate reflected vector to normal
|
|
102
|
-
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Reflect(Vector2 v, Vector2 normal);//
|
|
104
|
+
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Reflect(Vector2 v, Vector2 normal);// Get min value for each pair of components
|
|
105
|
+
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Min(Vector2 v1, Vector2 v2);// Get max value for each pair of components
|
|
106
|
+
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Max(Vector2 v1, Vector2 v2);// Rotate vector by angle
|
|
103
107
|
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Rotate(Vector2 v, float angle);// Move Vector towards target
|
|
104
108
|
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2MoveTowards(Vector2 v, Vector2 target, float maxDistance);// Invert the given vector
|
|
105
109
|
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Invert(Vector2 v);// Clamp the components of the vector between
|
|
106
110
|
// min and max values specified by the given vectors
|
|
107
111
|
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Clamp(Vector2 v, Vector2 min, Vector2 max);// Clamp the magnitude of the vector between two min and max values
|
|
108
112
|
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2ClampValue(Vector2 v, float min, float max);// Check whether two given vectors are almost equal
|
|
109
|
-
inline /* Functions may be inlined or external definition used*/ int Vector2Equals(Vector2 p, Vector2 q)
|
|
113
|
+
inline /* Functions may be inlined or external definition used*/ int Vector2Equals(Vector2 p, Vector2 q);// Compute the direction of a refracted ray
|
|
114
|
+
// v: normalized direction of the incoming ray
|
|
115
|
+
// n: normalized normal vector of the interface of two optical media
|
|
116
|
+
// r: ratio of the refractive index of the medium from where the ray comes
|
|
117
|
+
// to the refractive index of the medium on the other side of the surface
|
|
118
|
+
inline /* Functions may be inlined or external definition used*/ Vector2 Vector2Refract(Vector2 v, Vector2 n, float r);//----------------------------------------------------------------------------------
|
|
110
119
|
// Module Functions Definition - Vector3 math
|
|
111
120
|
//----------------------------------------------------------------------------------
|
|
112
121
|
// Vector with components value 0.0f
|
|
@@ -136,8 +145,11 @@ inline /* Functions may be inlined or external definition used*/ Vector3 Vector3
|
|
|
136
145
|
inline /* Functions may be inlined or external definition used*/ void Vector3OrthoNormalize(Vector3 *v1, Vector3 *v2);// Transforms a Vector3 by a given Matrix
|
|
137
146
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Transform(Vector3 v, Matrix mat);// Transform a vector by quaternion rotation
|
|
138
147
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3RotateByQuaternion(Vector3 v, Quaternion q);// Rotates a vector around an axis
|
|
139
|
-
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3RotateByAxisAngle(Vector3 v, Vector3 axis, float angle);//
|
|
140
|
-
inline /* Functions may be inlined or external definition used*/ Vector3
|
|
148
|
+
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3RotateByAxisAngle(Vector3 v, Vector3 axis, float angle);// Move Vector towards target
|
|
149
|
+
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3MoveTowards(Vector3 v, Vector3 target, float maxDistance);// Calculate linear interpolation between two vectors
|
|
150
|
+
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount);// Calculate cubic hermite interpolation between two vectors and their tangents
|
|
151
|
+
// as described in the GLTF 2.0 specification: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#interpolation-cubic
|
|
152
|
+
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3CubicHermite(Vector3 v1, Vector3 tangent1, Vector3 v2, Vector3 tangent2, float amount);// Calculate reflected vector to normal
|
|
141
153
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Reflect(Vector3 v, Vector3 normal);// Get min value for each pair of components
|
|
142
154
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Min(Vector3 v1, Vector3 v2);// Get max value for each pair of components
|
|
143
155
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Max(Vector3 v1, Vector3 v2);// Compute barycenter coordinates (u, v, w) for point p with respect to triangle (a, b, c)
|
|
@@ -156,6 +168,21 @@ inline /* Functions may be inlined or external definition used*/ int Vector3Equa
|
|
|
156
168
|
// r: ratio of the refractive index of the medium from where the ray comes
|
|
157
169
|
// to the refractive index of the medium on the other side of the surface
|
|
158
170
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Refract(Vector3 v, Vector3 n, float r);//----------------------------------------------------------------------------------
|
|
171
|
+
// Module Functions Definition - Vector4 math
|
|
172
|
+
//----------------------------------------------------------------------------------
|
|
173
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Zero(void);inline /* Functions may be inlined or external definition used*/ Vector4 Vector4One(void);inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Add(Vector4 v1, Vector4 v2);inline /* Functions may be inlined or external definition used*/ Vector4 Vector4AddValue(Vector4 v, float add);inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Subtract(Vector4 v1, Vector4 v2);inline /* Functions may be inlined or external definition used*/ Vector4 Vector4SubtractValue(Vector4 v, float add);inline /* Functions may be inlined or external definition used*/ float Vector4Length(Vector4 v);inline /* Functions may be inlined or external definition used*/ float Vector4LengthSqr(Vector4 v);inline /* Functions may be inlined or external definition used*/ float Vector4DotProduct(Vector4 v1, Vector4 v2);// Calculate distance between two vectors
|
|
174
|
+
inline /* Functions may be inlined or external definition used*/ float Vector4Distance(Vector4 v1, Vector4 v2);// Calculate square distance between two vectors
|
|
175
|
+
inline /* Functions may be inlined or external definition used*/ float Vector4DistanceSqr(Vector4 v1, Vector4 v2);inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Scale(Vector4 v, float scale);// Multiply vector by vector
|
|
176
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Multiply(Vector4 v1, Vector4 v2);// Negate vector
|
|
177
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Negate(Vector4 v);// Divide vector by vector
|
|
178
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Divide(Vector4 v1, Vector4 v2);// Normalize provided vector
|
|
179
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Normalize(Vector4 v);// Get min value for each pair of components
|
|
180
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Min(Vector4 v1, Vector4 v2);// Get max value for each pair of components
|
|
181
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Max(Vector4 v1, Vector4 v2);// Calculate linear interpolation between two vectors
|
|
182
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Lerp(Vector4 v1, Vector4 v2, float amount);// Move Vector towards target
|
|
183
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4MoveTowards(Vector4 v, Vector4 target, float maxDistance);// Invert the given vector
|
|
184
|
+
inline /* Functions may be inlined or external definition used*/ Vector4 Vector4Invert(Vector4 v);// Check whether two given vectors are almost equal
|
|
185
|
+
inline /* Functions may be inlined or external definition used*/ int Vector4Equals(Vector4 p, Vector4 q);//----------------------------------------------------------------------------------
|
|
159
186
|
// Module Functions Definition - Matrix math
|
|
160
187
|
//----------------------------------------------------------------------------------
|
|
161
188
|
// Compute matrix determinant
|
|
@@ -182,7 +209,7 @@ inline /* Functions may be inlined or external definition used*/ Matrix MatrixRo
|
|
|
182
209
|
// NOTE: Angle must be provided in radians
|
|
183
210
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateZYX(Vector3 angle);// Get scaling matrix
|
|
184
211
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixScale(float x, float y, float z);// Get perspective projection matrix
|
|
185
|
-
inline /* Functions may be inlined or external definition used*/ Matrix MatrixFrustum(double left, double right, double bottom, double top, double
|
|
212
|
+
inline /* Functions may be inlined or external definition used*/ Matrix MatrixFrustum(double left, double right, double bottom, double top, double nearPlane, double farPlane);// Get perspective projection matrix
|
|
186
213
|
// NOTE: Fovy angle must be provided in radians
|
|
187
214
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixPerspective(double fovY, double aspect, double nearPlane, double farPlane);// Get orthographic projection matrix
|
|
188
215
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixOrtho(double left, double right, double bottom, double top, double nearPlane, double farPlane);// Get camera look-at matrix (view matrix)
|
|
@@ -204,7 +231,9 @@ inline /* Functions may be inlined or external definition used*/ Quaternion Quat
|
|
|
204
231
|
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionDivide(Quaternion q1, Quaternion q2);// Calculate linear interpolation between two quaternions
|
|
205
232
|
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionLerp(Quaternion q1, Quaternion q2, float amount);// Calculate slerp-optimized interpolation between two quaternions
|
|
206
233
|
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionNlerp(Quaternion q1, Quaternion q2, float amount);// Calculates spherical linear interpolation between two quaternions
|
|
207
|
-
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionSlerp(Quaternion q1, Quaternion q2, float amount);// Calculate quaternion
|
|
234
|
+
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionSlerp(Quaternion q1, Quaternion q2, float amount);// Calculate quaternion cubic spline interpolation using Cubic Hermite Spline algorithm
|
|
235
|
+
// as described in the GLTF 2.0 specification: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#interpolation-cubic
|
|
236
|
+
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionCubicHermiteSpline(Quaternion q1, Quaternion outTangent1, Quaternion q2, Quaternion inTangent2, float t);// Calculate quaternion based on the rotation from one vector to another
|
|
208
237
|
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionFromVector3ToVector3(Vector3 from, Vector3 to);// Get a quaternion for a given rotation matrix
|
|
209
238
|
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionFromMatrix(Matrix mat);// Get a matrix for a given quaternion
|
|
210
239
|
inline /* Functions may be inlined or external definition used*/ Matrix QuaternionToMatrix(Quaternion q);// Get rotation quaternion for an angle and axis
|
|
@@ -216,4 +245,5 @@ inline /* Functions may be inlined or external definition used*/ Quaternion Quat
|
|
|
216
245
|
// NOTE: Angles are returned in a Vector3 struct in radians
|
|
217
246
|
inline /* Functions may be inlined or external definition used*/ Vector3 QuaternionToEuler(Quaternion q);// Transform a quaternion given a transformation matrix
|
|
218
247
|
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionTransform(Quaternion q, Matrix mat);// Check whether two given quaternions are almost equal
|
|
219
|
-
inline /* Functions may be inlined or external definition used*/ int QuaternionEquals(Quaternion p, Quaternion q)
|
|
248
|
+
inline /* Functions may be inlined or external definition used*/ int QuaternionEquals(Quaternion p, Quaternion q);// Decompose a transformation matrix into its rotational, translational and scaling components
|
|
249
|
+
inline /* Functions may be inlined or external definition used*/ void MatrixDecompose(Matrix mat, Vector3 *translation, Quaternion *rotation, Vector3 *scale);
|
raylib/rlgl.h.modified
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
/**********************************************************************************************
|
|
2
2
|
*
|
|
3
|
-
* rlgl
|
|
3
|
+
* rlgl v5.0 - A multi-OpenGL abstraction layer with an immediate-mode style API
|
|
4
4
|
*
|
|
5
5
|
* DESCRIPTION:
|
|
6
|
-
* An abstraction layer for multiple OpenGL versions (1.1, 2.1, 3.3 Core, 4.3 Core, ES 2.0)
|
|
6
|
+
* An abstraction layer for multiple OpenGL versions (1.1, 2.1, 3.3 Core, 4.3 Core, ES 2.0, ES 3.0)
|
|
7
7
|
* that provides a pseudo-OpenGL 1.1 immediate-mode style API (rlVertex, rlTranslate, rlRotate...)
|
|
8
8
|
*
|
|
9
9
|
* ADDITIONAL NOTES:
|
|
10
10
|
* When choosing an OpenGL backend different than OpenGL 1.1, some internal buffer are
|
|
11
|
-
* initialized on rlglInit() to accumulate vertex data
|
|
11
|
+
* initialized on rlglInit() to accumulate vertex data
|
|
12
12
|
*
|
|
13
13
|
* When an internal state change is required all the stored vertex data is renderer in batch,
|
|
14
|
-
* additionally, rlDrawRenderBatchActive() could be called to force flushing of the batch
|
|
14
|
+
* additionally, rlDrawRenderBatchActive() could be called to force flushing of the batch
|
|
15
15
|
*
|
|
16
16
|
* Some resources are also loaded for convenience, here the complete list:
|
|
17
17
|
* - Default batch (RLGL.defaultBatch): RenderBatch system to accumulate vertex data
|
|
18
18
|
* - Default texture (RLGL.defaultTextureId): 1x1 white pixel R8G8B8A8
|
|
19
19
|
* - Default shader (RLGL.State.defaultShaderId, RLGL.State.defaultShaderLocs)
|
|
20
20
|
*
|
|
21
|
-
* Internal buffer (and resources) must be manually unloaded calling rlglClose()
|
|
21
|
+
* Internal buffer (and resources) must be manually unloaded calling rlglClose()
|
|
22
22
|
*
|
|
23
23
|
* CONFIGURATION:
|
|
24
24
|
* #define GRAPHICS_API_OPENGL_11
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
* required by any other module, use rlGetVersion() to check it
|
|
33
33
|
*
|
|
34
34
|
* #define RLGL_IMPLEMENTATION
|
|
35
|
-
* Generates the implementation of the library into the included file
|
|
35
|
+
* Generates the implementation of the library into the included file
|
|
36
36
|
* If not defined, the library is in header only mode and can be included in other headers
|
|
37
|
-
* or source files without problems. But only ONE file should hold the implementation
|
|
37
|
+
* or source files without problems. But only ONE file should hold the implementation
|
|
38
38
|
*
|
|
39
39
|
* #define RLGL_RENDER_TEXTURES_HINT
|
|
40
40
|
* Enable framebuffer objects (fbo) support (enabled by default)
|
|
@@ -62,18 +62,21 @@
|
|
|
62
62
|
* When loading a shader, the following vertex attributes and uniform
|
|
63
63
|
* location names are tried to be set automatically:
|
|
64
64
|
*
|
|
65
|
-
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location:
|
|
66
|
-
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location:
|
|
67
|
-
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location:
|
|
68
|
-
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location:
|
|
69
|
-
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location:
|
|
70
|
-
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location:
|
|
65
|
+
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION
|
|
66
|
+
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD
|
|
67
|
+
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL
|
|
68
|
+
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR
|
|
69
|
+
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT
|
|
70
|
+
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2
|
|
71
|
+
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_BONEIDS "vertexBoneIds" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEIDS
|
|
72
|
+
* #define RL_DEFAULT_SHADER_ATTRIB_NAME_BONEWEIGHTS "vertexBoneWeights" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEWEIGHTS
|
|
71
73
|
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_MVP "mvp" // model-view-projection matrix
|
|
72
74
|
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW "matView" // view matrix
|
|
73
75
|
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_PROJECTION "matProjection" // projection matrix
|
|
74
76
|
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_MODEL "matModel" // model matrix
|
|
75
|
-
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL "matNormal" // normal matrix (transpose(inverse(matModelView))
|
|
77
|
+
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL "matNormal" // normal matrix (transpose(inverse(matModelView)))
|
|
76
78
|
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR "colDiffuse" // color diffuse (base tint color, multiplied by texture color)
|
|
79
|
+
* #define RL_DEFAULT_SHADER_UNIFORM_NAME_BONE_MATRICES "boneMatrices" // bone matrices
|
|
77
80
|
* #define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0 "texture0" // texture0 (texture slot active 0)
|
|
78
81
|
* #define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE1 "texture1" // texture1 (texture slot active 1)
|
|
79
82
|
* #define RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE2 "texture2" // texture2 (texture slot active 2)
|
|
@@ -85,7 +88,7 @@
|
|
|
85
88
|
*
|
|
86
89
|
* LICENSE: zlib/libpng
|
|
87
90
|
*
|
|
88
|
-
* Copyright (c) 2014-
|
|
91
|
+
* Copyright (c) 2014-2024 Ramon Santamaria (@raysan5)
|
|
89
92
|
*
|
|
90
93
|
* This software is provided "as-is", without any express or implied warranty. In no event
|
|
91
94
|
* will the authors be held liable for any damages arising from the use of this software.
|
|
@@ -103,8 +106,9 @@
|
|
|
103
106
|
* 3. This notice may not be removed or altered from any source distribution.
|
|
104
107
|
*
|
|
105
108
|
**********************************************************************************************/
|
|
106
|
-
// Function specifiers in case library is build/used as a shared library
|
|
109
|
+
// Function specifiers in case library is build/used as a shared library
|
|
107
110
|
// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll
|
|
111
|
+
// NOTE: visibility(default) attribute makes symbols "visible" when compiled with -fvisibility=hidden
|
|
108
112
|
// Function specifiers definition
|
|
109
113
|
// Support TRACELOG macros
|
|
110
114
|
// Allow custom memory allocators
|
|
@@ -133,6 +137,7 @@
|
|
|
133
137
|
// GL Shader type
|
|
134
138
|
// GL blending factors
|
|
135
139
|
// GL blending functions/equations
|
|
140
|
+
// Default shader vertex attribute locations
|
|
136
141
|
//----------------------------------------------------------------------------------
|
|
137
142
|
// Types and Structures Definition
|
|
138
143
|
//----------------------------------------------------------------------------------
|
|
@@ -141,10 +146,11 @@ typedef struct rlVertexBuffer {
|
|
|
141
146
|
int elementCount; // Number of elements in the buffer (QUADS)
|
|
142
147
|
float *vertices; // Vertex position (XYZ - 3 components per vertex) (shader-location = 0)
|
|
143
148
|
float *texcoords; // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)
|
|
149
|
+
float *normals; // Vertex normal (XYZ - 3 components per vertex) (shader-location = 2)
|
|
144
150
|
unsigned char *colors; // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)
|
|
145
151
|
unsigned int *indices; // Vertex indices (in case vertex data comes indexed) (6 indices per quad)
|
|
146
152
|
unsigned int vaoId; // OpenGL Vertex Array Object id
|
|
147
|
-
unsigned int vboId[
|
|
153
|
+
unsigned int vboId[5]; // OpenGL Vertex Buffer Objects id (5 types of vertex data)
|
|
148
154
|
} rlVertexBuffer;
|
|
149
155
|
// Draw call type
|
|
150
156
|
// NOTE: Only texture changes register a new draw, other state-change-related elements are not
|
|
@@ -279,6 +285,10 @@ typedef enum {
|
|
|
279
285
|
RL_SHADER_UNIFORM_IVEC2, // Shader uniform type: ivec2 (2 int)
|
|
280
286
|
RL_SHADER_UNIFORM_IVEC3, // Shader uniform type: ivec3 (3 int)
|
|
281
287
|
RL_SHADER_UNIFORM_IVEC4, // Shader uniform type: ivec4 (4 int)
|
|
288
|
+
RL_SHADER_UNIFORM_UINT, // Shader uniform type: unsigned int
|
|
289
|
+
RL_SHADER_UNIFORM_UIVEC2, // Shader uniform type: uivec2 (2 unsigned int)
|
|
290
|
+
RL_SHADER_UNIFORM_UIVEC3, // Shader uniform type: uivec3 (3 unsigned int)
|
|
291
|
+
RL_SHADER_UNIFORM_UIVEC4, // Shader uniform type: uivec4 (4 unsigned int)
|
|
282
292
|
RL_SHADER_UNIFORM_SAMPLER2D // Shader uniform type: sampler2d
|
|
283
293
|
} rlShaderUniformDataType;
|
|
284
294
|
// Shader attribute data types
|
|
@@ -332,6 +342,9 @@ typedef enum {
|
|
|
332
342
|
void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar);
|
|
333
343
|
void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar);
|
|
334
344
|
void rlViewport(int x, int y, int width, int height); // Set the viewport area
|
|
345
|
+
void rlSetClipPlanes(double nearPlane, double farPlane); // Set clip planes distances
|
|
346
|
+
double rlGetCullDistanceNear(void); // Get cull plane distance near
|
|
347
|
+
double rlGetCullDistanceFar(void); // Get cull plane distance far
|
|
335
348
|
//------------------------------------------------------------------------------------
|
|
336
349
|
// Functions Declaration - Vertex level operations
|
|
337
350
|
//------------------------------------------------------------------------------------
|
|
@@ -355,10 +368,10 @@ typedef enum {
|
|
|
355
368
|
void rlDisableVertexArray(void); // Disable vertex array (VAO, if supported)
|
|
356
369
|
void rlEnableVertexBuffer(unsigned int id); // Enable vertex buffer (VBO)
|
|
357
370
|
void rlDisableVertexBuffer(void); // Disable vertex buffer (VBO)
|
|
358
|
-
void rlEnableVertexBufferElement(unsigned int id)
|
|
371
|
+
void rlEnableVertexBufferElement(unsigned int id); // Enable vertex buffer element (VBO element)
|
|
359
372
|
void rlDisableVertexBufferElement(void); // Disable vertex buffer element (VBO element)
|
|
360
373
|
void rlEnableVertexAttribute(unsigned int index); // Enable vertex attribute index
|
|
361
|
-
void rlDisableVertexAttribute(unsigned int index)
|
|
374
|
+
void rlDisableVertexAttribute(unsigned int index); // Disable vertex attribute index
|
|
362
375
|
// Textures state
|
|
363
376
|
void rlActiveTextureSlot(int slot); // Select and active a texture slot
|
|
364
377
|
void rlEnableTexture(unsigned int id); // Enable texture
|
|
@@ -373,8 +386,10 @@ typedef enum {
|
|
|
373
386
|
// Framebuffer state
|
|
374
387
|
void rlEnableFramebuffer(unsigned int id); // Enable render texture (fbo)
|
|
375
388
|
void rlDisableFramebuffer(void); // Disable render texture (fbo), return to default framebuffer
|
|
389
|
+
unsigned int rlGetActiveFramebuffer(void); // Get the currently active render texture (fbo), 0 for default framebuffer
|
|
376
390
|
void rlActiveDrawBuffers(int count); // Activate multiple draw color buffers
|
|
377
391
|
void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask); // Blit active framebuffer to main framebuffer
|
|
392
|
+
void rlBindFramebuffer(unsigned int target, unsigned int framebuffer); // Bind framebuffer (FBO)
|
|
378
393
|
// General render state
|
|
379
394
|
void rlEnableColorBlend(void); // Enable color blending
|
|
380
395
|
void rlDisableColorBlend(void); // Disable color blending
|
|
@@ -384,13 +399,14 @@ typedef enum {
|
|
|
384
399
|
void rlDisableDepthMask(void); // Disable depth write
|
|
385
400
|
void rlEnableBackfaceCulling(void); // Enable backface culling
|
|
386
401
|
void rlDisableBackfaceCulling(void); // Disable backface culling
|
|
402
|
+
void rlColorMask(bool r, bool g, bool b, bool a); // Color mask control
|
|
387
403
|
void rlSetCullFace(int mode); // Set face culling mode
|
|
388
404
|
void rlEnableScissorTest(void); // Enable scissor test
|
|
389
405
|
void rlDisableScissorTest(void); // Disable scissor test
|
|
390
406
|
void rlScissor(int x, int y, int width, int height); // Scissor test
|
|
391
407
|
void rlEnableWireMode(void); // Enable wire mode
|
|
392
|
-
void rlEnablePointMode(void); //
|
|
393
|
-
void rlDisableWireMode(void); // Disable wire
|
|
408
|
+
void rlEnablePointMode(void); // Enable point mode
|
|
409
|
+
void rlDisableWireMode(void); // Disable wire (and point) mode
|
|
394
410
|
void rlSetLineWidth(float width); // Set the line drawing width
|
|
395
411
|
float rlGetLineWidth(void); // Get the line drawing width
|
|
396
412
|
void rlEnableSmoothLines(void); // Enable line aliasing
|
|
@@ -432,24 +448,24 @@ typedef enum {
|
|
|
432
448
|
//------------------------------------------------------------------------------------------------------------------------
|
|
433
449
|
// Vertex buffers management
|
|
434
450
|
unsigned int rlLoadVertexArray(void); // Load vertex array (vao) if supported
|
|
435
|
-
unsigned int rlLoadVertexBuffer(const void *buffer, int size, bool dynamic); // Load a vertex buffer
|
|
436
|
-
unsigned int rlLoadVertexBufferElement(const void *buffer, int size, bool dynamic); // Load
|
|
437
|
-
void rlUpdateVertexBuffer(unsigned int bufferId, const void *data, int dataSize, int offset); // Update
|
|
438
|
-
void rlUpdateVertexBufferElements(unsigned int id, const void *data, int dataSize, int offset); // Update vertex buffer elements
|
|
439
|
-
void rlUnloadVertexArray(unsigned int vaoId);
|
|
440
|
-
void rlUnloadVertexBuffer(unsigned int vboId);
|
|
441
|
-
void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride,
|
|
442
|
-
void rlSetVertexAttributeDivisor(unsigned int index, int divisor);
|
|
443
|
-
void rlSetVertexAttributeDefault(int locIndex, const void *value, int attribType, int count); // Set vertex attribute default value
|
|
444
|
-
void rlDrawVertexArray(int offset, int count);
|
|
445
|
-
void rlDrawVertexArrayElements(int offset, int count, const void *buffer);
|
|
446
|
-
void rlDrawVertexArrayInstanced(int offset, int count, int instances);
|
|
447
|
-
void rlDrawVertexArrayElementsInstanced(int offset, int count, const void *buffer, int instances);
|
|
451
|
+
unsigned int rlLoadVertexBuffer(const void *buffer, int size, bool dynamic); // Load a vertex buffer object
|
|
452
|
+
unsigned int rlLoadVertexBufferElement(const void *buffer, int size, bool dynamic); // Load vertex buffer elements object
|
|
453
|
+
void rlUpdateVertexBuffer(unsigned int bufferId, const void *data, int dataSize, int offset); // Update vertex buffer object data on GPU buffer
|
|
454
|
+
void rlUpdateVertexBufferElements(unsigned int id, const void *data, int dataSize, int offset); // Update vertex buffer elements data on GPU buffer
|
|
455
|
+
void rlUnloadVertexArray(unsigned int vaoId); // Unload vertex array (vao)
|
|
456
|
+
void rlUnloadVertexBuffer(unsigned int vboId); // Unload vertex buffer object
|
|
457
|
+
void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, int offset); // Set vertex attribute data configuration
|
|
458
|
+
void rlSetVertexAttributeDivisor(unsigned int index, int divisor); // Set vertex attribute data divisor
|
|
459
|
+
void rlSetVertexAttributeDefault(int locIndex, const void *value, int attribType, int count); // Set vertex attribute default value, when attribute to provided
|
|
460
|
+
void rlDrawVertexArray(int offset, int count); // Draw vertex array (currently active vao)
|
|
461
|
+
void rlDrawVertexArrayElements(int offset, int count, const void *buffer); // Draw vertex array elements
|
|
462
|
+
void rlDrawVertexArrayInstanced(int offset, int count, int instances); // Draw vertex array (currently active vao) with instancing
|
|
463
|
+
void rlDrawVertexArrayElementsInstanced(int offset, int count, const void *buffer, int instances); // Draw vertex array elements with instancing
|
|
448
464
|
// Textures management
|
|
449
|
-
unsigned int rlLoadTexture(const void *data, int width, int height, int format, int mipmapCount); // Load texture
|
|
465
|
+
unsigned int rlLoadTexture(const void *data, int width, int height, int format, int mipmapCount); // Load texture data
|
|
450
466
|
unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer); // Load depth texture/renderbuffer (to be attached to fbo)
|
|
451
|
-
unsigned int rlLoadTextureCubemap(const void *data, int size, int format); // Load texture cubemap
|
|
452
|
-
void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data); // Update
|
|
467
|
+
unsigned int rlLoadTextureCubemap(const void *data, int size, int format, int mipmapCount); // Load texture cubemap data
|
|
468
|
+
void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data); // Update texture with new data on GPU
|
|
453
469
|
void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType); // Get OpenGL internal formats
|
|
454
470
|
const char *rlGetPixelFormatName(unsigned int format); // Get name string for pixel format
|
|
455
471
|
void rlUnloadTexture(unsigned int id); // Unload texture from GPU memory
|
|
@@ -457,7 +473,7 @@ typedef enum {
|
|
|
457
473
|
void *rlReadTexturePixels(unsigned int id, int width, int height, int format); // Read texture pixel data
|
|
458
474
|
unsigned char *rlReadScreenPixels(int width, int height); // Read screen pixel data (color buffer)
|
|
459
475
|
// Framebuffer management (fbo)
|
|
460
|
-
unsigned int rlLoadFramebuffer(
|
|
476
|
+
unsigned int rlLoadFramebuffer(void); // Load an empty framebuffer
|
|
461
477
|
void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType, int mipLevel); // Attach texture/renderbuffer to a framebuffer
|
|
462
478
|
bool rlFramebufferComplete(unsigned int id); // Verify framebuffer is complete
|
|
463
479
|
void rlUnloadFramebuffer(unsigned int id); // Delete framebuffer from GPU
|
|
@@ -470,6 +486,7 @@ typedef enum {
|
|
|
470
486
|
int rlGetLocationAttrib(unsigned int shaderId, const char *attribName); // Get shader location attribute
|
|
471
487
|
void rlSetUniform(int locIndex, const void *value, int uniformType, int count); // Set shader value uniform
|
|
472
488
|
void rlSetUniformMatrix(int locIndex, Matrix mat); // Set shader value matrix
|
|
489
|
+
void rlSetUniformMatrices(int locIndex, const Matrix *mat, int count); // Set shader value matrices
|
|
473
490
|
void rlSetUniformSampler(int locIndex, unsigned int textureId); // Set shader value sampler
|
|
474
491
|
void rlSetShader(unsigned int id, int *locs); // Set shader currently active (id and locations)
|
|
475
492
|
// Compute shader management
|
raylib/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "5.
|
|
1
|
+
__version__ = "5.5.0.3"
|