[MODELS] Disable GPU skinning for MacOS platform #4348
Merged
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.
The Apple OpenGL drivers for MacOS does not seem to support more than 8 VBOs per mesh, so the new feature to add two additional VBOs to support GPU skinning breaks all model loading on the Mac, even if the model is not animated, simply due to the fact that it tries to allocate the index buffer at ID 8
This PR disables these VBOs for the apple platform via a new #define in rlgl RL_SUPPORT_MESH_ANIMATION_VBO
This can allow us to disable the buffers for other platforms that may have the same issues, if apple is not the only vendor with this issue. I moved the optional buffers to buffer indexes 7 and 8, making the index buffer be 6, so that they can still be used on the Mac.
I have also added notes to functions and examples that say that the feature is not supported on apple platforms due to limitations in the driver.
Oh and I also added the GPU skinning example to MSVC.
I tested this by validating that Meshes did not load on a mac (2011 intel mac) before the change and do load after the change. I also validated that GPU skinning does still work on windows (Hence adding the example to MSVC projects).