Commit Graph

226 Commits

Author SHA1 Message Date
Ray 973d32f9a7 Reviewed issue #943 2019-08-19 12:17:02 +02:00
Oraoto 7ebcd06652 Fix uninitialized vboId in GenMeshHeightmap (#949) 2019-08-19 10:25:26 +02:00
raysan5 3ebc55fdfe Reviewed comment 2019-08-08 10:18:12 +02:00
chriscamacho 2d5cc5ddbf fixed xmloader bug, user must free model shaders and textures as they might be shared (#933) 2019-08-08 09:57:21 +02:00
Ray 3d5fa81bf2 WARNING: Redesigned structs
- Mesh, Shader, Material structs have been reviewed to minimize size when passed by value, all required code has been reviewed.
 - GetCollisionRayModel() reviewed to avoid pointer, not required because model is not modified inside the function
 - UnloadMesh() reviewed, pointer not required
 - CheckCollisionRay*() parameters name reviewed
2019-08-07 00:32:44 +02:00
Michael Vetter 6267fd1865 Fix memory leak in LoadGLTF() (#929)
Free texturePath in LoadGLTF()
2019-08-06 23:09:27 +02:00
culacant f518c4e939 Fix loading multiple animations from .iqm file (#928)
* Fix loading multiple animations from .iqm file

* Fix memory leak in models_animation example

* Added export instructions to the animation example

* use raylib free

* include <stdlib.h> to appease the travis CI gods

* replace tabs with spaces
2019-08-06 23:08:58 +02:00
Leandro Gabriel 89c16baf18 Replace tabs with spaces and update year of copyright notices (#927)
* Update year of copyright notices

* Fix mistake in comment

* Fix typo ("algorythms")

* Replace tabs with spaces

* Remove trailing whitespace and fix mistake in comment

* Fix ExportImageAsCode missing comment rectangle corner

* Replace tab with spaces

* Replace tabs with spaces
2019-08-03 11:07:41 +02:00
raysan5 b83d165764 Replace tabs by spaces 2019-07-28 15:33:55 +02:00
Ray 4b2f6b2b5f Check buffer limit on DrawBillboardRec() 2019-07-22 00:12:51 +02:00
raysan5 f9a2d89ed2 Use function GetSizeBase64() 2019-07-12 14:33:06 +02:00
Ray 0c60af8981 Tweak: Change check order 2019-06-12 12:14:36 +02:00
Ray 9609ebf49a Corrected IQM function declaration 2019-06-12 12:12:59 +02:00
Wilhem Barbier 13a1744ca9 Fix #848 2019-05-22 20:29:34 +02:00
Ray 371abb0a26 Review glTF implementation formatting
Added comments for the future
2019-05-20 11:13:38 +02:00
Wilhem Barbier e01a381aec Load glTF 2019-05-18 11:36:47 +02:00
Ray 5a1a0a3492 Corrected issue with multi-mesh obj models
Note that all meshes are loaded as a single one at this moment, loading should be improved!
2019-05-15 15:12:56 +02:00
Ray a2ed65aa14 Make code a bit clearer for beginners 2019-05-09 16:10:55 +02:00
Ray 46bac0ba2c Add comment in CheckCollisionSpheres() 2019-05-09 16:09:49 +02:00
ProfJski 1655463ba5 Update models.c 2019-05-08 14:14:57 -04:00
ProfJski d3dae38449 Update CheckCollisionSpheres() to avoid sqrt
Square root calls are computationally expensive.  In this case, they can be avoided.  Instead of checking distance<RadA+RadB, check distance squared against (RadA+RadB) squared.  The dot product of Vector3Subtract(B,A) with itself gives distance squared, so I used this code instead of an element-by-element computation of distance squared.  The only downside is that your geometric code is very readable, whereas this is less so.
2019-05-08 13:54:12 -04:00
Ray e67ebabb02 Support custom memory management macros
Users can define their custom memory management macros.

NOTE: Most external libraries support custom macros in the same way, raylib should redefine those macros to raylib ones, to unify custom memory loading. That redefinition is only implemented as example for stb_image.h in [textures] module.
2019-04-23 14:55:35 +02:00
Ray 8c22f685d1 Check buffer overflow 2019-04-14 22:29:14 +02:00
Ray 45c820eeb4 Set default white texture for diffuse mat 2019-04-10 22:39:42 +02:00
Ray 21092266b5 Check textures available before loading 2019-04-10 00:44:24 +02:00
Ray 32ccecb8ca Start working on glTF loading... 2019-04-09 13:23:51 +02:00
Ray b8ada4b877 Review creation years 2019-04-08 12:25:13 +02:00
ChillerDragon f21761fbbb Happy new year 2019 2019-04-07 17:49:12 +02:00
Ray c600dd0766 Review PBR shaders
Issue was related to vertex tangent attibutes not uploaded to GPU, a quick solution was implemented for new vertex attributes loading for already existing meshes... I don't like it specially but it will work for now.
2019-04-05 16:43:09 +02:00
Ray 92733d6695 BIG UPDATE: New models functions for animations!
Multiple functions added and some reviewed to adapt to the new multi-mesh, multi-material and animated models.
2019-04-05 13:15:56 +02:00
Ray a103086443 Removed trail spaces 2019-04-04 13:50:52 +02:00
Ray d89d24c5e8 BIG UPDATE: Support model animations! 2019-04-04 13:33:54 +02:00
Ray f1cbdd6b3a Corrected some issues
- Support compiling for OpenGL 1.1
- Free meshes/materials memory after usage...
2019-04-01 18:22:56 +02:00
Ray 86212e8462 Support material loading from OBJ/MTL 2019-04-01 12:41:32 +02:00
Ray e5edbb7104 Reviewed OBJ loading implementation -WIP-
One mesh files can be loaded correctly

MISSING:
 - Multimesh OBJ loading
 - Materials loading
2019-04-01 12:17:29 +02:00
Ray fe702cd6a2 Implementing LoadOBJ() -WIP-
It seems obj loading is working ok but there is some problem with drawing...
2019-04-01 00:16:56 +02:00
Ray a197f40bb4 Default to white cube mesh if not loaded 2019-03-29 20:22:30 +01:00
Ray 19debd2b4e Review some warnings 2019-03-29 17:28:10 +01:00
Ray 8a73c5d0b4 Replace custom OBJ/MTL implementations by tinyobj_loader -WIP- 2019-03-29 17:15:22 +01:00
Ray a643dc4ca0 WARNING: Redesigned model struct for multi-meshes
This is quite a big change, Model struct has been redesigned to support multiple meshes and multiple materials, most 3d fileformats contain multiple meshes and reference multiple materials.

Consequently, multiple functions have been reviewed.

LoadOBJ(), LoadIQM(), LoadGLFT() now return a Model.

Current LoadOBJ() is not valid anymore, actually, tinyobj_loader_c library is considered for replacement.
2019-03-29 16:48:23 +01:00
Rafael Sachetto 9f54a69cec Adding DrawCubeWiresV for convenience 2019-03-08 15:06:17 -03:00
Ray 374811c440 Change ternary operator formatting 2019-02-22 13:13:11 +01:00
Ray 641895b5ba Remove end-line spaces 2019-02-21 18:45:19 +01:00
Ray d62652c5b2 Update cgltf library
Added some comments to loader function...
2019-02-18 18:46:17 +01:00
Jens Pitkanen f9963d4ed4 Fix config.h flags 2019-02-14 13:52:18 +02:00
Ray d0d81ea545 Review ExportMesh() header 2019-02-06 10:51:06 +01:00
Ray e13975beeb Some security checks added 2019-01-11 18:54:48 +01:00
Ray 66c360d385 Corrected issue on plane drawing 2018-12-19 11:55:58 +01:00
Ray f822650a3b Support externally provided compilation flags
Useful in case raylib compilation want to be automated and compilation config flags provided by command line.
2018-12-18 00:20:08 +01:00
Ray 7d81e673ed ADDED: GenMeshPoly()
To generate 2D polygonal shape
2018-12-15 23:31:56 +01:00