Add LoadModelEx and UploadModel functions #4576
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To enable custom model and mesh batching in projects that use the official raylib and instancing, it is essential to have control over whether or not meshes are automatically uploaded to the GPU. In my opinion, this is the cleanest solution for achieving that flexibility.
New functions added:
// Load model from files (mesh and material) without automatically uploading vertex data to the GPU
Model LoadModelEx(const char *fileName, bool upload)
// Upload model data to the GPU (RAM and/or VRAM)
void UploadModel(const Model *model, bool dynamic)
The existing LoadModel function now calls LoadModelEx with upload = true.
Additionally, fixed LoadOBJ to match the behavior of other load functions by not automatically uploading meshes.