summaryrefslogtreecommitdiffhomepage
path: root/src/raymath.h
AgeCommit message (Collapse)Author
2018-03-16Complete review of raymath for API consistencyRay
2018-03-15Reviewed raymath changesRay
2018-02-24raymath.h: Use C99 inline semanticsAhmad Fatoum
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.
2018-02-24Make MatrixToFloat and Vector3ToFloat reentrantAhmad Fatoum
Besides making it thread-safe, it suppresses a GCC warning when making them static inline in an upcoming patch.
2018-02-24Revert "raymath.h: Use C99 inline semantics"Ahmad Fatoum
This reverts commit 6ffc8cb7990fb4ff40f205cb53bec797b10e48a2. and commit e4d7bbec1ef08279495ac41f5f8c4be359c58cf0. which I pushed by mistake...
2018-02-24raymath.h: Use C99 inline semanticsAhmad Fatoum
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.
2018-02-24Make MatrixToFloat and Vector3ToFloat reentrantAhmad Fatoum
Besides making it thread-safe, it suppresses a GCC warning when making them static inline in an upcoming patch.
2017-12-15Manually review previous PRRay San
2017-12-14optimized matrixrotate function by removing identity matrixuser
2017-12-14make raymath compiling with msvc in c++ modeuser
2017-12-04Moved QuaternionNlerp() functionRay San
2017-08-23Fix typo in raymath.hMichael Campagnaro
2017-07-28Added Vector3MultiplyV()Ray
To multiply Vector3 by Vector3
2017-07-23Corrected issue on QuaternionFromVector3ToVector3()raysan5
2017-07-23Implemented some changesraysan5
2017-07-22Renamed Vector*() functions to Vector3*()raysan5
For consistency!
2017-07-22Corrected bug on MatrixPerspective()raysan5
Some other tweaks...
2017-07-21Some tweaks raymath relatedraysan5
2017-07-21Complete review of raymathraysan5
Now it should be coherent with OpenGL math standards
2017-07-21Moved some functions to raymathraysan5
Exposed some raymath useful functions to raylib API
2017-07-21MatrixPerspective() angle required in radiansraysan5
Consistent with similar functions in raymath
2017-06-29Fix some other typosWilhem Barbier
2017-06-29Fix some typos in raymath.hWilhem Barbier
2017-06-05Added note about transposingraysan5
2017-06-05Added note about transposingraysan5
2017-05-04Return angles as degreesRay
2017-05-04Added two new functions to raymathRay
2017-04-16Added Vector2 math functionsraysan5
Reviewed some Vector3 functions Added auxiliary Clamp() function
2017-03-20Review some commentsRay
2017-02-16Improved modules description -IN PROGRESS-Ray
Working in modules configuration flags...
2017-01-05Lattest PR reviewraysan5
Function names, code formatting...
2017-01-02Added RaycastMesh function and example test caseJoel Davis
2016-12-05Corrected some warningsRay
2016-06-11Corrected keywords usageraysan5
2016-06-02Added functions to customize internal matrixraysan5
Internal modelview and projection matrices can be replaced before drawing.
2016-06-02Remove useless stuffraysan5
2016-05-31Review text formatting (spacing, tabs...)raysan5
2016-05-12Added QuaternionInvert()raysan5
2016-03-02Review rlglUnproject() systemraysan5
2016-02-02Functions parameters reorganize: Axis and AngleRay
sin(), cos() functions cached and replaced by float c99 versions sinf(), cos()
2016-01-25Added bounding box calculationraysan5
2016-01-21Corrected bugraysan5
2016-01-20Adapted raymath as single header libraryraysan5
Added support for single header implementation and also inline functions support
2016-01-19standalone raymathJoshua Reisenauer
look over for errors
2016-01-11Review Light/Material systemraysan5
Simplified for the user (more intuitive and clear) Removed lighting module dependency
2015-09-01Updated some commentsraysan5
2015-05-11raymath module review and other changesraysan5
Complete review of matrix rotation math Check compressed textures support WIP: LoadImageFromData()
2015-04-06Big batch of changes! Check description:raysan5
Support multiple texture formats (uncompressed and compressed) Postprocessing shaders support Model struct redefined and improved Extended loading functions for Textures and Models Simplified functions: DrawPlane(), DrawQuad() Deleted functions: DrawPlaneEx(), DrawGizmoEx() Now Text module only depends on Textures module Shapes: Reviewed functions to low lines/triangles usage Removed useless tabs and spaces around code
2015-03-02Changes integration (some WIP, view details)Marc Palau
Corrected GetMouseWheelMove() Corrected camera system Reviewed cubicmap resolution (collision detection) Added QuaternionTransform() WIP: Raycast system (not working) WIP: Reviewing axis-angle rotations...
2014-12-31Added full support for HTML5 (emscripten)raysan5
Corrected some bugs on the way... Automatically convert textures to POT on RPI and WEB