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
Ray
5ef4661216
Comments removed
2018-12-03 16:48:01 +01:00
Ray
ec5c9686b3
Improved data export capabilities!
...
REVIEWED: ExportImage()
REVIEWED: ExportMesh()
ADDED: ExportWave()
REMOVED: Internal funcs: SavePNG(), SaveBMP()
NOTE: These changes break the API (parameters order)
2018-09-17 16:56:02 +02:00
Ray
3a1a489545
Removed TABS
2018-09-14 13:00:48 +02:00
Ray
5b09630d45
Update mini_al to v0.8.8
...
Some minor tweaks around
2018-09-14 12:47:31 +02:00
F.H
9f1489dc1d
Update models.c
...
fix bug with GenMeshPlane() creating too many vertices/texcoords/normals for the plane mesh
2018-09-06 21:11:00 +02:00
Ray
1fcb3c0317
Started working on IQM/glTF loaders
2018-09-05 10:59:05 +02:00
Kim Kulling
ecf8bff4aa
Fix compiler warnings, first part
2018-08-04 10:32:16 +02:00
Ray
0148432588
fabsf() not working with TCC
...
Replaced by fabs() that seem to work ok
2018-05-28 00:48:45 +02:00
Ray
2aae62cea2
Header tweak and comments
2018-05-17 00:04:36 +02:00
raysan5
400c345f96
Added tangent computation alternative method
...
As stated in the note, I'm not sure if math is right, just followed a
reference implementation...
2018-04-30 11:21:44 +02:00
raysan5
23e335d933
Implemented MeshTangents()
...
- 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...
2018-04-30 02:47:48 +02:00
Ray
847bdaf682
Implemented default mesh
...
In case mesh loading fails, a cube is generated instead!
2018-04-19 20:20:34 +02:00
Ray
cd616258c6
Merge pull request #522 from a3f/master
...
Refactor all #define SUPPORT_* into a config.h
2018-04-08 22:46:44 +02:00
Ahmad Fatoum
1841afad11
Refactor all #define SUPPORT_* into a config.h
...
That way, a user needs only to touch a single file to configure what
features raylib is built with.
Include guards are left out intentionally, because config.h should only
be included in source files, not headers.
Later on, config.h can also define the raylib version (#461 ).
2018-04-07 23:37:48 +02:00
lumaio teon
d2cc5b88df
Removed useless GetCollisionRayMesh and libraylib.a
2018-04-07 03:49:56 -04:00
lumaio teon
d003c23ecf
Added GetCollisionRayModel
2018-04-06 12:04:09 -04:00
Ray
6edf15b9f9
Added funtion: ExportMesh()
2018-04-04 12:00:54 +02:00
Ray
3e0de31424
Merge pull request #504 from Martinfx/master
...
Fix potential bugs from static analysis
2018-04-02 18:10:38 +02:00
raysan5
375adf86a6
Review math usage to reduce temp variables
2018-04-02 15:16:45 +02:00
maficccc@gmail.com
201007e426
Fix sscanf() without field limits can crash with huge input data
2018-04-02 13:30:20 +02:00
Ray
61e0e4b4f3
Complete review of raymath for API consistency
2018-03-16 13:47:01 +01:00
raysan5
fd5e457bb4
Correct issue with triangleCount
2018-03-11 10:41:49 +01:00
Ray
fd2adbe62d
Renamed CalculateBoundingBox() to MeshBoundingBox()
...
Renamed function for consistency with a possible Mesh manipulation functions (maybe added in a future). Naming follows Image*() manipulation functions.
2018-02-26 12:10:45 +01:00
Ray
a7207dc6d4
Removed tangents generation
...
It has no sense to be inside LoadOBJ(), mesh processing moved to own functions: MeshTangents() and MeshBinormals(). Not exposed to user yet.
2018-02-26 12:02:05 +01:00
Ray
077bef4286
Support 4 components mesh.tangent data
...
Added struct Vector4 for convenience
2018-02-24 12:31:32 +01:00
Ray
6d64327a87
Reviewed unloading model data
...
When UnloadModel() --> UnloadMaterial(), avoid unloading default shader (if used) and avoid unlaoding default texture (if used), that data is managed by raylib internally. The question is... should UnloadModel() also UnloadMaterial()?
2018-02-22 12:39:17 +01:00
raysan5
e7cf03b1e4
Minor tweaks
2017-12-28 19:27:02 +01:00
Ray San
00c34a035c
Updated copyright year
2017-12-20 12:37:08 +01:00
Ray San
86df9168e7
Updated raylib VS2015 project
2017-10-19 14:14:18 +02:00
raysan5
20968830c0
Added mesh generation functions
2017-09-18 00:59:22 +02:00
Ray
fb334e2fd1
Testing shapes generation using additional library
2017-09-02 17:42:22 +02:00
raysan5
eeca607506
Review transforms to match OpenGL 1.1
2017-08-04 18:34:51 +02:00
raysan5
c764b3d03e
Some tweaks
2017-07-25 18:10:07 +02:00
raysan5
a766e2c480
Updated Vector math to new naming
2017-07-22 22:15:50 +02:00
raysan5
00d2768bc9
Corrected bug on MatrixPerspective()
...
Some other tweaks...
2017-07-22 10:35:49 +02:00
raysan5
c6cd07c373
Some tweaks raymath related
2017-07-21 17:46:44 +02:00
raysan5
e52032f646
Complete review of raymath
...
Now it should be coherent with OpenGL math standards
2017-07-21 17:19:28 +02:00
raysan5
2679c4ae9b
Review mesh loading and textures generation
2017-07-21 09:34:09 +02:00
raysan5
4c06725461
Removed useless functions
...
SetMaterialTexture() and UnsetMaterialTexture()... too shader
dependant...
2017-07-20 14:27:17 +02:00
raysan5
52cd5c6324
Corrected some issues
...
Corrected compilation for OpenGL 1.1
Review mesh data uploading to GPU
2017-07-20 12:26:25 +02:00
raysan5
76c6f0b1e6
Working on PBR system
...
Moved PBR material loading to example, right decision?
2017-07-19 18:55:32 +02:00
raysan5
d368403a13
Working on PBR materials, renamed some data
2017-07-19 10:09:34 +02:00
raysan5
e893f3629e
Corrected some issues
2017-07-17 12:02:46 +02:00
Ray
6546474fa4
Manual integration of material-pbr into develop
2017-07-17 00:33:40 +02:00
raysan5
9f09f6f550
Rename enum LogType names...
...
...to avoid possible conflicting symbols
2017-07-02 12:35:13 +02:00
Joel Davis
e0c95ede50
Prevent bogus triangle being added when there is whitespace at end of .OBJ file
2017-06-30 23:37:19 -07:00
Ray
0880be638e
Renamed RayHitInfo variables
2017-05-10 00:57:48 +02:00
Ray
3bdf367711
Support model.transform
...
Combine it with transform introduced as function parameters
2017-05-04 17:42:24 +02:00
raysan5
3c99093aed
Rename variables for consistency
2017-04-23 12:30:36 +02:00
victorfisac
82577ededc
Comment unused variables from tangent calculations
2017-04-06 15:34:04 +02:00
victorfisac
4b7ea25603
Remove testing binormals implementation
2017-04-06 15:33:20 +02:00
victorfisac
0c2a58cf96
Add tangents calculation when loading OBJ file
2017-04-06 15:31:48 +02:00
Ray
080a79f0b0
Added IsFileExtension()
...
Replaced old GetExtension() function
Make IsFileExtension() public to the API
2017-03-29 00:35:42 +02:00
Ray
b7a8a40e71
Work on configuration flags
2017-03-26 22:49:01 +02:00
Ray
59652c75b4
Review some comments
2017-03-20 20:34:44 +01:00
raysan5
8f5ff64420
Working on file header comments...
2017-03-19 12:52:58 +01:00
Ray
05cff44d0a
Improved modules description -IN PROGRESS-
...
Working in modules configuration flags...
2017-02-16 00:50:02 +01:00
Ray
c85dfd4bc6
Remove unecessary spaces...
2017-01-28 23:02:30 +01:00
Ray
37a64df7b9
Move lighting system out of raylib
...
Lighting is implemented as a raylib example now
2017-01-27 23:03:08 +01:00
raysan5
658c280669
Lattest PR review
...
Function names, code formatting...
2017-01-05 19:33:05 +01:00
Joel Davis
d5d391faaf
Added RaycastMesh function and example test case
2017-01-02 21:56:25 -08:00
raysan5
d8bf84f118
Added mesh loading functions
2016-12-25 01:59:23 +01:00
Ray
814507906f
Improving rRES custom format support -IN PROGRESS-
...
Start removing old rRES functions.
2016-12-17 19:05:40 +01:00
Ray
377dcb025f
Corrected some warnings
2016-12-05 01:14:18 +01:00
raysan5
f7b706263a
Some code tweaks
...
Correcting details that pop-up when testing the different platforms
2016-11-18 13:39:57 +01:00
raysan5
bee283b12b
Some tweaks around
2016-11-17 12:55:30 +01:00
raysan5
6d1b712a96
Reviewed modules comments
2016-11-16 18:46:13 +01:00
Ray
4245237892
Corrected SIGSEV bug
2016-11-13 23:47:28 +01:00
Ray
f16f39e8aa
code tweaks to avoid some warnings
2016-11-02 00:50:08 +01:00
raysan5
673dcf9436
Comments tweaks
2016-10-31 20:39:03 +01:00
Ray
8f60996b64
Corrected some warnings
2016-10-17 00:03:38 +02:00
raysan5
b082807b0b
Removed function: ResolveCollisionCubicmap()
...
Function was inefficient and should be rewritten from scratch, it
probably neither belongs to this module but an example...
2016-10-03 13:29:01 +02:00
raysan5
7f0880a735
Review spacing formatting
...
raylib uses spaces between '+' and '-' signs but not between '*' and '/'
signs, it's a chosen convention
2016-09-12 19:36:41 +02:00
raysan5
a9ab516dae
Formatting tweaks
2016-08-31 10:27:29 +02:00
Teodor Stoenescu
384602e5b5
Merge remote-tracking branch 'upstream/develop' into develop
2016-08-31 09:32:08 +03:00
Teodor Stoenescu
d0cf19e035
Greater LoadOBJ() flexibility
...
LoadOBJ can now load objects with having no texture coordinates or
objects having texture coordinates specified as tuples.
2016-08-31 09:24:39 +03:00
raysan5
959a228815
Removed useless spacing
2016-08-16 11:09:55 +02:00
raysan5
852813bdf1
Reviewed formatting
2016-08-15 16:35:25 +02:00
Teodor Stoenescu
6e20037f7d
Small fix for GenMeshCubicmap()
...
This fix allows GenMeshCubicmap() to create cubic maps having cells of
arbitrary sizes.
2016-08-12 21:42:17 +03:00
Ray
eb9072a2f1
Renamed functions for consistency
2016-08-10 12:20:46 +02:00
Ray
2f9abe6e13
Review ResolveCollisionCubicmap()
...
This function needs to be redesigned or removed...
2016-07-04 01:30:07 +02:00
raysan5
5f7ac64c44
Removed function SetModelTexture()
...
It's more educational to go through new material system, so, I decide to
remove this function to avoid students confusion...
2016-06-24 19:49:36 +02:00
raysan5
68a02e567d
Avoid external variable whiteTexture
...
To get it, use GetDefaultTexture()
2016-06-11 12:41:03 +02:00
raysan5
3e8427799c
Corrected bug on cubemap generation
2016-06-11 10:56:20 +02:00
Ray
17878550b1
Review heades usage
...
This is a first step toward a bigger project. Some modules could be
ported to header-only to be used as standalone.
2016-06-02 01:26:44 +02:00
raysan5
302ec438dd
Removed colTint, tint color is colDiffuse
...
Tint color could be applied to colDiffuse... but what's the best way?
Replace it? Multiply by? A point to think about...
2016-05-31 18:15:53 +02:00
Ray
caa7bc366b
Reviewed DrawLight() function and some tweaks
2016-05-31 00:51:55 +02:00
victorfisac
b0a0c5d431
Added tint color attribute to material data type
...
It tints all fragments, ignores lighting. Useful for some features like
feedback (damage color, ...).
2016-05-30 19:55:13 +02:00
victorfisac
f2d61d4043
Remove normal depth
...
Scaling normal depth (y axis) makes disappear the specular of
fragments... So I think it can be removed, it is not a very
useful/important attribute.
2016-05-30 19:43:35 +02:00
victorfisac
2e26ce235d
Add Draw3DCircle function and update raylib and rlgl header
...
Draw3DCircle is useful to draw point lights radius.
2016-05-30 19:18:11 +02:00
victorfisac
dcd6942ed1
Fix small bug and spacing
2016-05-21 18:22:15 +02:00
victorfisac
30941c0dd1
Add Draw3DLine function and fixed MLT glossiness import value
...
In standard shader, material glossiness is a value from 0 to 1000 like
in MLT files. So, it doesn't need to be normalized.
2016-05-21 18:10:06 +02:00
victorfisac
30c8058fca
Add standard lighting (1/3)
...
- Ambient and lambert lighting added.
- Ambient and diffuse colors linked to standard shader.
- Single light linked to standard shader.
- LoadStandardMaterial() and depending functions added.
2016-05-20 17:18:07 +02:00
victorfisac
3fa6fdacf2
Improved MTL loading shininess value
2016-05-20 14:24:53 +02:00
victorfisac
90c62c4cc0
Fix small warning
...
Material glossiness is a float type value...
2016-05-20 14:07:50 +02:00
raysan5
dcf5f45f68
Add lighting system -IN PROGRESS-
...
Improved materials
2016-05-20 12:28:07 +02:00
raysan5
7d1d9ff143
Support DYNAMIC_DRAW mesh loading
2016-05-20 09:36:02 +02:00
raysan5
037edbaa13
Reorganize data for consistency
2016-05-18 13:22:14 +02:00
raysan5
aee5d9a390
Code tweak
2016-05-10 19:24:05 +02:00
raysan5
1ddf594d15
Added support for indexed mesh data
2016-05-10 18:24:28 +02:00
Ray
ac44db26a2
Added reference
2016-05-09 13:16:44 +02:00
Ray
3d0208223a
First implementation of MTL loading
...
Not tested yet
2016-05-09 12:40:59 +02:00
Ray
dc4d5dabcd
Added MTL loading info
2016-05-09 01:18:46 +02:00
Ray
f7d4951165
Improved vertex attribs support for models
2016-05-08 23:50:35 +02:00
raysan5
0bcb873cbb
Improved mesh support
...
Depending on mesh data, it can be loaded and default vertex attribute
location points are set, including colors, tangents and texcoords2
2016-05-08 15:24:02 +02:00
raysan5
7ab008878a
Library redesign to accomodate materials system
2016-05-07 18:07:15 +02:00
raysan5
a66c8531d6
Some code simplifications
2016-04-03 18:31:42 +02:00
raysan5
136408d8b8
Corrected bug on bounding box
...
if mesh is not loaded properly it breaks the game!
2016-03-27 19:42:57 +02:00
raysan5
956a6e6f77
Corrected bug and comments on model unloading
2016-03-27 18:34:05 +02:00
raysan5
c9d22c7a14
Redesign to use Material type -IN PROGRESS-
...
Requires Shader access functions review
2016-03-06 02:05:16 +01:00
raysan5
0d911127d7
Split mesh generation from model loading
2016-03-05 16:17:54 +01:00
raysan5
d8bd8634ab
3d Camera: Added support for field-of-view Y
2016-03-05 13:05:45 +01:00
raysan5
4011c13d4b
Updated BoundingBox collision detections
2016-03-01 20:54:02 +01:00
raysan5
6106ab8a2e
Added color to DrawBoundigBox()
2016-03-01 20:26:01 +01:00
raysan5
1674465bdc
Adjust buffers usage
...
- Removed DrawQuad() function
- DrawBillboard() uses DrawBillboardRec()
- DrawPlane() uses RL_TRIANGLES
- DrawRectangleV() uses RL_TRIANGLES, that way, [shapes] module uses
only TRIANGLES buffers.
2016-03-01 19:00:12 +01:00
raysan5
8ca6f8c6ec
Do not free model mesh
2016-03-01 15:37:01 +01:00
raysan5
823abf666e
Reviewed code TODOs
2016-02-12 12:22:56 +01:00
raysan5
685273675b
Improved LoadHeightmap()
2016-02-11 15:51:04 +01:00
Ray
df5c64d0be
Functions parameters reorganize: Axis and Angle
...
sin(), cos() functions cached and replaced by float c99 versions sinf(),
cos()
2016-02-02 18:41:01 +01:00
raysan5
3113a20390
Added bounding box calculation
2016-01-25 11:12:31 +01:00
raysan5
08da91047e
Some code tweaks
2016-01-23 13:22:13 +01:00
victorfisac
fcd30c5649
Added ray-sphere collision detection
2016-01-20 19:28:47 +01:00
raysan5
efa1c96d19
Adapted raymath as single header library
...
Added support for single header implementation and also inline functions
support
2016-01-20 18:20:05 +01:00
raysan5
29c618a35e
Added some functions (incomplete)
2016-01-19 20:27:41 +01:00
raysan5
fd05d3e353
Rename VertexData struct to Mesh
...
Reviewed vertex type variables
2016-01-18 13:36:18 +01:00
raysan5
3b4d8442e0
Corrected some float values
2016-01-13 19:30:35 +01:00
victorfisac
1793f2c3b8
Added collision check between ray and box
...
- Added CheckCollisionRayBox() function.
- Updated and improved core 3d picking example (currently working as
expected).
2016-01-07 16:18:24 +01:00
raysan5
5659249dfa
Some tweaks and details review
2015-12-30 13:35:03 +01:00
victorfisac
4db2da9185
Added new matrix location points and extra functions
...
- New model and view transformation matrix added, useful for shaders.
Modelview matrix not deleted to keep opengl 1.1 pipeline compatibility.
- New extra function added DrawModelWiresEx() to set a rotation and
scale transformations to a wire model drawing.
- Other writing and little audio.c bug fixed.
2015-12-21 16:42:13 +01:00