| Age | Commit message (Collapse) | Author |
|
|
|
Rotate a Vector3 by a Quaternion
|
|
Replaced by fabs() that seem to work ok
|
|
- Added Vector3OrthoNormalize() to raymath.h - not sure if it is correct
- Implemented MeshBinormals() - Mesh struct has not a place for them...
- Updated model_material_pbr example - tested but not working on my GPU
(old Intel HD), actually, it never worked on it...
|
|
Reported in #435, tcc generates out-of-line definitions for inline
symbols, something it shouldn't. This fix punishes tcc for that
by making applications it compiles (slightly) larger...
|
|
|
|
|
|
RAYMATH_EXTERN_INLINE was renamed to RAYMATH_HEADER_ONLY, which user code
may define if they want to use it as header-only library. If multiple
files in the same project define RAYMATH_HEADER_ONLY, they might each
have duplicate out-of-line definitions of the same functions.
By default, raymath.h exposes inline definitions, which instructs the
compiler _not_ to generate out-of-line definitons, if out-of-line
definitions are required, those of the file defined with
RAYLIB_IMPLEMENTATION are used instead. There may be only one such file.
In C++ mode, the compiler will select only one out-of-line definition
automatically, so no need to define a RAYLIB_IMPLEMENTATION.
Unfortunately, we have to remove raymath function declaration from
raylib.h as those declarations would lead to duplicate out-of-line
definitions which would yield linker errors. This problem didn't
exist with GNU89 or C++, because there multiple defintions are ok,
but in C99 they aren't.
|
|
Besides making it thread-safe, it suppresses a GCC warning
when making them static inline in an upcoming patch.
|
|
This reverts commit 6ffc8cb7990fb4ff40f205cb53bec797b10e48a2.
and commit e4d7bbec1ef08279495ac41f5f8c4be359c58cf0.
which I pushed by mistake...
|
|
RAYMATH_EXTERN_INLINE was renamed to RAYMATH_HEADER_ONLY, which user code
may define if they want to use it as header-only library. If multiple
files in the same project define RAYMATH_HEADER_ONLY, they might each
have duplicate out-of-line definitions of the same functions.
By default, raymath.h exposes inline definitions, which instructs the
compiler _not_ to generate out-of-line definitons, if out-of-line
definitions are required, those of the file defined with
RAYLIB_IMPLEMENTATION are used instead. There may be only one such file.
In C++ mode, the compiler will select only one out-of-line definition
automatically, so no need to define a RAYLIB_IMPLEMENTATION.
Unfortunately, we have to remove raymath function declaration from
raylib.h as those declarations would lead to duplicate out-of-line
definitions which would yield linker errors. This problem didn't
exist with GNU89 or C++, because there multiple defintions are ok,
but in C99 they aren't.
|
|
Besides making it thread-safe, it suppresses a GCC warning
when making them static inline in an upcoming patch.
|
|
|
|
|
|
|
|
|
|
|
|
To multiply Vector3 by Vector3
|
|
|
|
|
|
For consistency!
|
|
Some other tweaks...
|
|
|
|
Now it should be coherent with OpenGL math standards
|
|
Exposed some raymath useful functions to raylib API
|
|
Consistent with similar functions in raymath
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reviewed some Vector3 functions
Added auxiliary Clamp() function
|
|
|
|
Working in modules configuration flags...
|
|
Function names, code formatting...
|
|
|
|
|
|
|
|
Internal modelview and projection matrices can be replaced before
drawing.
|
|
|
|
|
|
|
|
|
|
sin(), cos() functions cached and replaced by float c99 versions sinf(),
cos()
|
|
|
|
|
|
Added support for single header implementation and also inline functions
support
|
|
look over for errors
|
|
Simplified for the user (more intuitive and clear)
Removed lighting module dependency
|