update to raylib 4.2
This commit is contained in:
parent
3a6deb2c04
commit
3e011b329a
19 changed files with 78 additions and 49 deletions
1
docs-src/RPI.rst
Symbolic link
1
docs-src/RPI.rst
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../RPI.rst
|
|
@ -3,7 +3,16 @@ Python API
|
||||||
|
|
||||||
This is a wrapper around the C API with some syntactic sugar.
|
This is a wrapper around the C API with some syntactic sugar.
|
||||||
|
|
||||||
The API is *still the same as Raylib*, so you should still reply on `the official Raylib docs <https://www.raylib.com/cheatsheet/cheatsheet.html>`_, except:
|
The API is *still the same as Raylib*, so you should still reply on:
|
||||||
|
|
||||||
|
* `the C Raylib docs <https://www.raylib.com/cheatsheet/cheatsheet.html>`_
|
||||||
|
|
||||||
|
* `the C Raylib examples <https://github.com/electronstudio/raylib-python-cffi/tree/master/examples>`_
|
||||||
|
|
||||||
|
* `the C Raylib header file <https://github.com/raysan5/raylib/blob/master/src/raylib.h>`_
|
||||||
|
|
||||||
|
|
||||||
|
The *differences* are:
|
||||||
|
|
||||||
* the function names are in **snake_case**.
|
* the function names are in **snake_case**.
|
||||||
|
|
||||||
|
@ -11,6 +20,9 @@ The API is *still the same as Raylib*, so you should still reply on `the officia
|
||||||
|
|
||||||
* There are some helper functions to create structures.
|
* There are some helper functions to create structures.
|
||||||
|
|
||||||
|
Examples
|
||||||
|
--------
|
||||||
|
|
||||||
Example program:
|
Example program:
|
||||||
|
|
||||||
.. code-block::
|
.. code-block::
|
||||||
|
@ -45,9 +57,10 @@ Example program:
|
||||||
init_window(800, 450, "Raylib texture test")
|
init_window(800, 450, "Raylib texture test")
|
||||||
...
|
...
|
||||||
|
|
||||||
You don't need to use the PyRay() class anymore.
|
(You don't need to use the PyRay() class anymore.)
|
||||||
|
|
||||||
|
`See all examples here <https://github.com/electronstudio/raylib-python-cffi/tree/master/examples>`_
|
||||||
|
|
||||||
See also https://github.com/electronstudio/raylib-python-cffi/blob/master/tests/test_pyray.py
|
|
||||||
|
|
||||||
API reference
|
API reference
|
||||||
-------------
|
-------------
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
C API
|
C API
|
||||||
=============
|
=============
|
||||||
|
|
||||||
The goal of the C API is make usage as similar to the original C as CFFI will allow. The `example programs <https://github.com/electronstudio/raylib-python-cffi/tree/master/examples>`_
|
The goal of the C API is make usage as similar to the original C as CFFI will allow.
|
||||||
|
So the `example programs <https://github.com/electronstudio/raylib-python-cffi/tree/master/examples>`_
|
||||||
are very, very similar to the C originals.
|
are very, very similar to the C originals.
|
||||||
|
|
||||||
Example program:
|
Example program:
|
||||||
|
@ -39,11 +40,16 @@ If you want to be more portable (i.e. same code will work with dynamic bindings)
|
||||||
...
|
...
|
||||||
|
|
||||||
|
|
||||||
See also https://github.com/electronstudio/raylib-python-cffi/blob/master/tests/test_static.py
|
|
||||||
|
|
||||||
.. note:: Whenever you need to convert stuff between C and Python see https://cffi.readthedocs.io
|
.. note:: Whenever you need to convert stuff between C and Python see https://cffi.readthedocs.io
|
||||||
|
|
||||||
.. important:: Your **primary reference** should always be `the official Raylib docs <https://www.raylib.com/cheatsheet/cheatsheet.html>`_
|
.. important:: Your **primary reference** should always be
|
||||||
|
|
||||||
|
* `the C Raylib docs <https://www.raylib.com/cheatsheet/cheatsheet.html>`_
|
||||||
|
|
||||||
|
* `the C Raylib examples <https://github.com/electronstudio/raylib-python-cffi/tree/master/examples>`_
|
||||||
|
|
||||||
|
* `the C Raylib header file <https://github.com/raysan5/raylib/blob/master/src/raylib.h>`_
|
||||||
|
|
||||||
However, here is a list of available functions:
|
However, here is a list of available functions:
|
||||||
|
|
||||||
|
|
9
dynamic/raylib/defines.py
Normal file
9
dynamic/raylib/defines.py
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import raylib
|
||||||
|
|
||||||
|
MOUSE_LEFT_BUTTON = raylib.MOUSE_BUTTON_LEFT
|
||||||
|
MOUSE_RIGHT_BUTTON = raylib.MOUSE_BUTTON_RIGHT
|
||||||
|
MOUSE_MIDDLE_BUTTON = raylib.MOUSE_BUTTON_MIDDLE
|
||||||
|
MATERIAL_MAP_DIFFUSE = raylib.MATERIAL_MAP_ALBEDO
|
||||||
|
MATERIAL_MAP_SPECULAR = raylib.MATERIAL_MAP_METALNESS
|
||||||
|
SHADER_LOC_MAP_DIFFUSE = raylib.SHADER_LOC_MAP_ALBEDO
|
||||||
|
SHADER_LOC_MAP_SPECULAR = raylib.SHADER_LOC_MAP_METALNESS
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -14,7 +14,10 @@
|
||||||
|
|
||||||
from raylib import rl, ffi
|
from raylib import rl, ffi
|
||||||
from raylib.colors import *
|
from raylib.colors import *
|
||||||
from raylib.defines import *
|
try:
|
||||||
|
from raylib.defines import *
|
||||||
|
except AttributeError:
|
||||||
|
print("sorry deprecated enums dont work on dynamic version")
|
||||||
|
|
||||||
|
|
||||||
from inspect import ismethod,getmembers,isbuiltin
|
from inspect import ismethod,getmembers,isbuiltin
|
||||||
|
|
|
@ -5,7 +5,7 @@ def pointer(struct):
|
||||||
...
|
...
|
||||||
|
|
||||||
def attach_audio_stream_processor(stream: AudioStream,processor: Any,) -> None:
|
def attach_audio_stream_processor(stream: AudioStream,processor: Any,) -> None:
|
||||||
""""""
|
"""Attach audio stream processor to stream"""
|
||||||
...
|
...
|
||||||
def begin_blend_mode(mode: int,) -> None:
|
def begin_blend_mode(mode: int,) -> None:
|
||||||
"""Begin blending mode (alpha, additive, multiplied, subtract, custom)"""
|
"""Begin blending mode (alpha, additive, multiplied, subtract, custom)"""
|
||||||
|
@ -143,7 +143,7 @@ def destroy_physics_body(PhysicsBodyData_pointer_0: Any,) -> None:
|
||||||
CFFI C function from raylib._raylib_cffi.lib"""
|
CFFI C function from raylib._raylib_cffi.lib"""
|
||||||
...
|
...
|
||||||
def detach_audio_stream_processor(stream: AudioStream,processor: Any,) -> None:
|
def detach_audio_stream_processor(stream: AudioStream,processor: Any,) -> None:
|
||||||
""""""
|
"""Detach audio stream processor from stream"""
|
||||||
...
|
...
|
||||||
def directory_exists(dirPath: str,) -> bool:
|
def directory_exists(dirPath: str,) -> bool:
|
||||||
"""Check if a directory path exists"""
|
"""Check if a directory path exists"""
|
||||||
|
@ -492,9 +492,6 @@ def gen_image_gradient_v(width: int,height: int,top: Color,bottom: Color,) -> Im
|
||||||
def gen_image_white_noise(width: int,height: int,factor: float,) -> Image:
|
def gen_image_white_noise(width: int,height: int,factor: float,) -> Image:
|
||||||
"""Generate image: white noise"""
|
"""Generate image: white noise"""
|
||||||
...
|
...
|
||||||
def gen_mesh_binormals(mesh: Any,) -> None:
|
|
||||||
"""Compute mesh binormals"""
|
|
||||||
...
|
|
||||||
def gen_mesh_cone(radius: float,height: float,slices: int,) -> Mesh:
|
def gen_mesh_cone(radius: float,height: float,slices: int,) -> Mesh:
|
||||||
"""Generate cone/pyramid mesh"""
|
"""Generate cone/pyramid mesh"""
|
||||||
...
|
...
|
||||||
|
@ -1415,9 +1412,6 @@ def load_sound(fileName: str,) -> Sound:
|
||||||
def load_sound_from_wave(wave: Wave,) -> Sound:
|
def load_sound_from_wave(wave: Wave,) -> Sound:
|
||||||
"""Load sound from wave data"""
|
"""Load sound from wave data"""
|
||||||
...
|
...
|
||||||
def load_storage_value(position: int,) -> int:
|
|
||||||
"""Load integer value from storage file (from defined position)"""
|
|
||||||
...
|
|
||||||
def load_texture(fileName: str,) -> Texture:
|
def load_texture(fileName: str,) -> Texture:
|
||||||
"""Load texture from file into GPU memory (VRAM)"""
|
"""Load texture from file into GPU memory (VRAM)"""
|
||||||
...
|
...
|
||||||
|
@ -1755,9 +1749,6 @@ def save_file_data(fileName: str,data: Any,bytesToWrite: int,) -> bool:
|
||||||
def save_file_text(fileName: str,text: str,) -> bool:
|
def save_file_text(fileName: str,text: str,) -> bool:
|
||||||
"""Save text data to file (write), string must be '\0' terminated, returns true on success"""
|
"""Save text data to file (write), string must be '\0' terminated, returns true on success"""
|
||||||
...
|
...
|
||||||
def save_storage_value(position: int,value: int,) -> bool:
|
|
||||||
"""Save integer value to storage file (to defined position), returns true on success"""
|
|
||||||
...
|
|
||||||
def seek_music_stream(music: Music,position: float,) -> None:
|
def seek_music_stream(music: Music,position: float,) -> None:
|
||||||
"""Seek music to a position (in seconds)"""
|
"""Seek music to a position (in seconds)"""
|
||||||
...
|
...
|
||||||
|
@ -2372,6 +2363,11 @@ CFFI C function from raylib._raylib_cffi.lib"""
|
||||||
def vector3_refract(Vector3_0: Vector3,Vector3_1: Vector3,float_2: float,) -> Vector3:
|
def vector3_refract(Vector3_0: Vector3,Vector3_1: Vector3,float_2: float,) -> Vector3:
|
||||||
"""struct Vector3 Vector3Refract(struct Vector3, struct Vector3, float);
|
"""struct Vector3 Vector3Refract(struct Vector3, struct Vector3, float);
|
||||||
|
|
||||||
|
CFFI C function from raylib._raylib_cffi.lib"""
|
||||||
|
...
|
||||||
|
def vector3_rotate_by_axis_angle(Vector3_0: Vector3,Vector3_1: Vector3,float_2: float,) -> Vector3:
|
||||||
|
"""struct Vector3 Vector3RotateByAxisAngle(struct Vector3, struct Vector3, float);
|
||||||
|
|
||||||
CFFI C function from raylib._raylib_cffi.lib"""
|
CFFI C function from raylib._raylib_cffi.lib"""
|
||||||
...
|
...
|
||||||
def vector3_rotate_by_quaternion(Vector3_0: Vector3,Vector4_1: Vector4,) -> Vector3:
|
def vector3_rotate_by_quaternion(Vector3_0: Vector3,Vector4_1: Vector4,) -> Vector3:
|
||||||
|
|
2
raygui
2
raygui
|
@ -1 +1 @@
|
||||||
Subproject commit 38236a5513c8ceb112b6d2e944c6993d37eb5cae
|
Subproject commit 4e2a878e715c4aafa6ad7bd58d851221503c6e60
|
2
raylib-c
2
raylib-c
|
@ -1 +1 @@
|
||||||
Subproject commit 61e691d94fee0d2700ac3e8ed8783cf9c7516ab0
|
Subproject commit d658e6772d75bce52fbe46cc9789f0b33500bc0f
|
|
@ -7,7 +7,7 @@ ARROWS_SIZE: int
|
||||||
ARROWS_VISIBLE: int
|
ARROWS_VISIBLE: int
|
||||||
ARROW_PADDING: int
|
ARROW_PADDING: int
|
||||||
def AttachAudioStreamProcessor(stream: AudioStream,processor: Any,) -> None:
|
def AttachAudioStreamProcessor(stream: AudioStream,processor: Any,) -> None:
|
||||||
""""""
|
"""Attach audio stream processor to stream"""
|
||||||
...
|
...
|
||||||
BACKGROUND_COLOR: int
|
BACKGROUND_COLOR: int
|
||||||
BASE_COLOR_DISABLED: int
|
BASE_COLOR_DISABLED: int
|
||||||
|
@ -186,7 +186,7 @@ def DestroyPhysicsBody(PhysicsBodyData_pointer_0: Any,) -> None:
|
||||||
CFFI C function from raylib._raylib_cffi.lib"""
|
CFFI C function from raylib._raylib_cffi.lib"""
|
||||||
...
|
...
|
||||||
def DetachAudioStreamProcessor(stream: AudioStream,processor: Any,) -> None:
|
def DetachAudioStreamProcessor(stream: AudioStream,processor: Any,) -> None:
|
||||||
""""""
|
"""Detach audio stream processor from stream"""
|
||||||
...
|
...
|
||||||
def DirectoryExists(dirPath: str,) -> bool:
|
def DirectoryExists(dirPath: str,) -> bool:
|
||||||
"""Check if a directory path exists"""
|
"""Check if a directory path exists"""
|
||||||
|
@ -589,9 +589,6 @@ def GenImageGradientV(width: int,height: int,top: Color,bottom: Color,) -> Image
|
||||||
def GenImageWhiteNoise(width: int,height: int,factor: float,) -> Image:
|
def GenImageWhiteNoise(width: int,height: int,factor: float,) -> Image:
|
||||||
"""Generate image: white noise"""
|
"""Generate image: white noise"""
|
||||||
...
|
...
|
||||||
def GenMeshBinormals(mesh: Any,) -> None:
|
|
||||||
"""Compute mesh binormals"""
|
|
||||||
...
|
|
||||||
def GenMeshCone(radius: float,height: float,slices: int,) -> Mesh:
|
def GenMeshCone(radius: float,height: float,slices: int,) -> Mesh:
|
||||||
"""Generate cone/pyramid mesh"""
|
"""Generate cone/pyramid mesh"""
|
||||||
...
|
...
|
||||||
|
@ -1895,9 +1892,6 @@ def LoadSound(fileName: str,) -> Sound:
|
||||||
def LoadSoundFromWave(wave: Wave,) -> Sound:
|
def LoadSoundFromWave(wave: Wave,) -> Sound:
|
||||||
"""Load sound from wave data"""
|
"""Load sound from wave data"""
|
||||||
...
|
...
|
||||||
def LoadStorageValue(position: int,) -> int:
|
|
||||||
"""Load integer value from storage file (from defined position)"""
|
|
||||||
...
|
|
||||||
def LoadTexture(fileName: str,) -> Texture:
|
def LoadTexture(fileName: str,) -> Texture:
|
||||||
"""Load texture from file into GPU memory (VRAM)"""
|
"""Load texture from file into GPU memory (VRAM)"""
|
||||||
...
|
...
|
||||||
|
@ -2454,9 +2448,6 @@ def SaveFileData(fileName: str,data: Any,bytesToWrite: int,) -> bool:
|
||||||
def SaveFileText(fileName: str,text: str,) -> bool:
|
def SaveFileText(fileName: str,text: str,) -> bool:
|
||||||
"""Save text data to file (write), string must be '\0' terminated, returns true on success"""
|
"""Save text data to file (write), string must be '\0' terminated, returns true on success"""
|
||||||
...
|
...
|
||||||
def SaveStorageValue(position: int,value: int,) -> bool:
|
|
||||||
"""Save integer value to storage file (to defined position), returns true on success"""
|
|
||||||
...
|
|
||||||
def SeekMusicStream(music: Music,position: float,) -> None:
|
def SeekMusicStream(music: Music,position: float,) -> None:
|
||||||
"""Seek music to a position (in seconds)"""
|
"""Seek music to a position (in seconds)"""
|
||||||
...
|
...
|
||||||
|
@ -3097,6 +3088,11 @@ CFFI C function from raylib._raylib_cffi.lib"""
|
||||||
def Vector3Refract(Vector3_0: Vector3,Vector3_1: Vector3,float_2: float,) -> Vector3:
|
def Vector3Refract(Vector3_0: Vector3,Vector3_1: Vector3,float_2: float,) -> Vector3:
|
||||||
"""struct Vector3 Vector3Refract(struct Vector3, struct Vector3, float);
|
"""struct Vector3 Vector3Refract(struct Vector3, struct Vector3, float);
|
||||||
|
|
||||||
|
CFFI C function from raylib._raylib_cffi.lib"""
|
||||||
|
...
|
||||||
|
def Vector3RotateByAxisAngle(Vector3_0: Vector3,Vector3_1: Vector3,float_2: float,) -> Vector3:
|
||||||
|
"""struct Vector3 Vector3RotateByAxisAngle(struct Vector3, struct Vector3, float);
|
||||||
|
|
||||||
CFFI C function from raylib._raylib_cffi.lib"""
|
CFFI C function from raylib._raylib_cffi.lib"""
|
||||||
...
|
...
|
||||||
def Vector3RotateByQuaternion(Vector3_0: Vector3,Vector4_1: Vector4,) -> Vector3:
|
def Vector3RotateByQuaternion(Vector3_0: Vector3,Vector4_1: Vector4,) -> Vector3:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/**********************************************************************************************
|
/**********************************************************************************************
|
||||||
*
|
*
|
||||||
* raylib v4.2-dev - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com)
|
* raylib v4.2 - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com)
|
||||||
*
|
*
|
||||||
* FEATURES:
|
* FEATURES:
|
||||||
* - NO external dependencies, all required libraries included with raylib
|
* - NO external dependencies, all required libraries included with raylib
|
||||||
|
@ -80,6 +80,7 @@
|
||||||
// Some basic Defines
|
// Some basic Defines
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Allow custom memory allocators
|
// Allow custom memory allocators
|
||||||
|
// NOTE: Require recompiling raylib sources
|
||||||
// NOTE: MSVC C++ compiler does not support compound literals (C99 feature)
|
// NOTE: MSVC C++ compiler does not support compound literals (C99 feature)
|
||||||
// Plain structures in C++ (without constructors) can be initialized with { }
|
// Plain structures in C++ (without constructors) can be initialized with { }
|
||||||
// NOTE: We set some defines with some data types declared by raylib
|
// NOTE: We set some defines with some data types declared by raylib
|
||||||
|
@ -853,6 +854,7 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
void *MemAlloc(int size); // Internal memory allocator
|
void *MemAlloc(int size); // Internal memory allocator
|
||||||
void *MemRealloc(void *ptr, int size); // Internal memory reallocator
|
void *MemRealloc(void *ptr, int size); // Internal memory reallocator
|
||||||
void MemFree(void *ptr); // Internal memory free
|
void MemFree(void *ptr); // Internal memory free
|
||||||
|
void OpenURL(const char *url); // Open URL with default system browser (if available)
|
||||||
// Set custom callbacks
|
// Set custom callbacks
|
||||||
// WARNING: Callbacks setup is intended for advance users
|
// WARNING: Callbacks setup is intended for advance users
|
||||||
void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log
|
void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log
|
||||||
|
@ -893,10 +895,6 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize); // Decompress data (DEFLATE algorithm), memory must be MemFree()
|
unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize); // Decompress data (DEFLATE algorithm), memory must be MemFree()
|
||||||
char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize); // Encode data to Base64 string, memory must be MemFree()
|
char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize); // Encode data to Base64 string, memory must be MemFree()
|
||||||
unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize); // Decode Base64 string data, memory must be MemFree()
|
unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize); // Decode Base64 string data, memory must be MemFree()
|
||||||
// Persistent storage management
|
|
||||||
bool SaveStorageValue(unsigned int position, int value); // Save integer value to storage file (to defined position), returns true on success
|
|
||||||
int LoadStorageValue(unsigned int position); // Load integer value from storage file (from defined position)
|
|
||||||
void OpenURL(const char *url); // Open URL with default system browser (if available)
|
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
// Input Handling Functions (Module: core)
|
// Input Handling Functions (Module: core)
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
|
@ -1226,7 +1224,6 @@ typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); // FileI
|
||||||
bool ExportMesh(Mesh mesh, const char *fileName); // Export mesh data to file, returns true on success
|
bool ExportMesh(Mesh mesh, const char *fileName); // Export mesh data to file, returns true on success
|
||||||
BoundingBox GetMeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits
|
BoundingBox GetMeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits
|
||||||
void GenMeshTangents(Mesh *mesh); // Compute mesh tangents
|
void GenMeshTangents(Mesh *mesh); // Compute mesh tangents
|
||||||
void GenMeshBinormals(Mesh *mesh); // Compute mesh binormals
|
|
||||||
// Mesh generation functions
|
// Mesh generation functions
|
||||||
Mesh GenMeshPoly(int sides, float radius); // Generate polygonal mesh
|
Mesh GenMeshPoly(int sides, float radius); // Generate polygonal mesh
|
||||||
Mesh GenMeshPlane(float width, float length, int resX, int resZ); // Generate plane mesh (with subdivisions)
|
Mesh GenMeshPlane(float width, float length, int resX, int resZ); // Generate plane mesh (with subdivisions)
|
||||||
|
@ -1327,5 +1324,5 @@ typedef void (*AudioCallback)(void *bufferData, unsigned int frames);
|
||||||
void SetAudioStreamPan(AudioStream stream, float pan); // Set pan for audio stream (0.5 is centered)
|
void SetAudioStreamPan(AudioStream stream, float pan); // Set pan for audio stream (0.5 is centered)
|
||||||
void SetAudioStreamBufferSizeDefault(int size); // Default size for new audio streams
|
void SetAudioStreamBufferSizeDefault(int size); // Default size for new audio streams
|
||||||
void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); // Audio thread callback to request new data
|
void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); // Audio thread callback to request new data
|
||||||
void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor);
|
void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Attach audio stream processor to stream
|
||||||
void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor);
|
void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Detach audio stream processor from stream
|
|
@ -124,7 +124,8 @@ inline /* Functions may be inlined or external definition used*/ Vector3 Vector3
|
||||||
// Gram-Schmidt function implementation
|
// Gram-Schmidt function implementation
|
||||||
inline /* Functions may be inlined or external definition used*/ void Vector3OrthoNormalize(Vector3 *v1, Vector3 *v2);// Transforms a Vector3 by a given Matrix
|
inline /* Functions may be inlined or external definition used*/ void Vector3OrthoNormalize(Vector3 *v1, Vector3 *v2);// Transforms a Vector3 by a given Matrix
|
||||||
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Transform(Vector3 v, Matrix mat);// Transform a vector by quaternion rotation
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Transform(Vector3 v, Matrix mat);// Transform a vector by quaternion rotation
|
||||||
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3RotateByQuaternion(Vector3 v, Quaternion q);// Calculate linear interpolation between two vectors
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3RotateByQuaternion(Vector3 v, Quaternion q);// Rotates a vector around an axis
|
||||||
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3RotateByAxisAngle(Vector3 v, Vector3 axis, float angle);// Calculate linear interpolation between two vectors
|
||||||
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount);// Calculate reflected vector to normal
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount);// Calculate reflected vector to normal
|
||||||
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Reflect(Vector3 v, Vector3 normal);// Get min value for each pair of components
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Reflect(Vector3 v, Vector3 normal);// Get min value for each pair of components
|
||||||
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Min(Vector3 v1, Vector3 v2);// Get max value for each pair of components
|
inline /* Functions may be inlined or external definition used*/ Vector3 Vector3Min(Vector3 v1, Vector3 v2);// Get max value for each pair of components
|
||||||
|
@ -159,15 +160,20 @@ inline /* Functions may be inlined or external definition used*/ Matrix MatrixSu
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixMultiply(Matrix left, Matrix right);// Get translation matrix
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixMultiply(Matrix left, Matrix right);// Get translation matrix
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixTranslate(float x, float y, float z);// Create rotation matrix from axis and angle
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixTranslate(float x, float y, float z);// Create rotation matrix from axis and angle
|
||||||
// NOTE: Angle should be provided in radians
|
// NOTE: Angle should be provided in radians
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotate(Vector3 axis, float angle);// Get x-rotation matrix (angle in radians)
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotate(Vector3 axis, float angle);// Get x-rotation matrix
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateX(float angle);// Get y-rotation matrix (angle in radians)
|
// NOTE: Angle must be provided in radians
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateY(float angle);// Get z-rotation matrix (angle in radians)
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateX(float angle);// Get y-rotation matrix
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateZ(float angle);// Get xyz-rotation matrix (angles in radians)
|
// NOTE: Angle must be provided in radians
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateXYZ(Vector3 ang);// Get zyx-rotation matrix (angles in radians)
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateY(float angle);// Get z-rotation matrix
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateZYX(Vector3 ang);// Get scaling matrix
|
// NOTE: Angle must be provided in radians
|
||||||
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateZ(float angle);// Get xyz-rotation matrix
|
||||||
|
// NOTE: Angle must be provided in radians
|
||||||
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateXYZ(Vector3 angle);// Get zyx-rotation matrix
|
||||||
|
// NOTE: Angle must be provided in radians
|
||||||
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixRotateZYX(Vector3 angle);// Get scaling matrix
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixScale(float x, float y, float z);// Get perspective projection matrix
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixScale(float x, float y, float z);// Get perspective projection matrix
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixFrustum(double left, double right, double bottom, double top, double near, double far);// Get perspective projection matrix
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixFrustum(double left, double right, double bottom, double top, double near, double far);// Get perspective projection matrix
|
||||||
// NOTE: Angle should be provided in radians
|
// NOTE: Fovy angle must be provided in radians
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixPerspective(double fovy, double aspect, double near, double far);// Get orthographic projection matrix
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixPerspective(double fovy, double aspect, double near, double far);// Get orthographic projection matrix
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixOrtho(double left, double right, double bottom, double top, double near, double far);// Get camera look-at matrix (view matrix)
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixOrtho(double left, double right, double bottom, double top, double near, double far);// Get camera look-at matrix (view matrix)
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up);// Get float array of matrix data
|
inline /* Functions may be inlined or external definition used*/ Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up);// Get float array of matrix data
|
||||||
|
@ -192,7 +198,7 @@ inline /* Functions may be inlined or external definition used*/ Quaternion Quat
|
||||||
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionFromVector3ToVector3(Vector3 from, Vector3 to);// Get a quaternion for a given rotation matrix
|
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionFromVector3ToVector3(Vector3 from, Vector3 to);// Get a quaternion for a given rotation matrix
|
||||||
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionFromMatrix(Matrix mat);// Get a matrix for a given quaternion
|
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionFromMatrix(Matrix mat);// Get a matrix for a given quaternion
|
||||||
inline /* Functions may be inlined or external definition used*/ Matrix QuaternionToMatrix(Quaternion q);// Get rotation quaternion for an angle and axis
|
inline /* Functions may be inlined or external definition used*/ Matrix QuaternionToMatrix(Quaternion q);// Get rotation quaternion for an angle and axis
|
||||||
// NOTE: angle must be provided in radians
|
// NOTE: Angle must be provided in radians
|
||||||
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle);// Get the rotation angle and axis for a given quaternion
|
inline /* Functions may be inlined or external definition used*/ Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle);// Get the rotation angle and axis for a given quaternion
|
||||||
inline /* Functions may be inlined or external definition used*/ void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle);// Get the quaternion equivalent to Euler angles
|
inline /* Functions may be inlined or external definition used*/ void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle);// Get the quaternion equivalent to Euler angles
|
||||||
// NOTE: Rotation order is ZYX
|
// NOTE: Rotation order is ZYX
|
||||||
|
|
|
@ -3,6 +3,8 @@ init_window(800, 450, "Hello")
|
||||||
while not window_should_close():
|
while not window_should_close():
|
||||||
begin_drawing()
|
begin_drawing()
|
||||||
clear_background(WHITE)
|
clear_background(WHITE)
|
||||||
|
font = load_font_ex("/home/richard/pycharm-2022.1.4/jbr/lib/fonts/DroidSans.ttf", 30, None, 0)
|
||||||
|
draw_text_ex(font, "hellow font", (300, 300), 30, 0, BLACK)
|
||||||
draw_text("Hello world", 190, 200, 20, VIOLET)
|
draw_text("Hello world", 190, 200, 20, VIOLET)
|
||||||
end_drawing()
|
end_drawing()
|
||||||
close_window()
|
close_window()
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
__version__ = "4.2.0.0.dev4"
|
__version__ = "4.2.0.0"
|
Reference in a new issue