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.
This PR addresses #78.
Some notes on my proposed solution:
In user code, I personally prefer to minimize the need for
#if defined
directives to choose between various options. So, I removed theMetalOptions
struct, and instead created a shared bool option to request a float buffer. Since even on Metal this may not always be supported (or you may not always want to create a float buffer), I also created a function to check if the system supports Edr floating point framebuffers. This returns false on all systems, except on Metal it checks the underlying system for support. If this returns true, you can setrequestFloatBuffer
to true to get an EDR-compatible framebuffer. If in the future we figure out how to do this in Vulkan, DirectX or OpenGL, we can reimplement this functon for those backends and reuse this bool option.I made a small chance to the docking demo to do this to verify it works.
I tried to incorporate comments where I could, but beyond doxygen, I don't know the syntax of your particular documentation generation tool, so you may need to adjust.