mirror of
https://github.com/raysan5/raylib.git
synced 2026-03-19 15:18:11 +00:00
* review texture formats Added support for `R3G3B2`, `R5G6B5`, `R4G4B4A4` and `R5G5B5A1` Added depth formats * use of textures for the framebuffer - Framebuffers can now use all texture types that are already available. - The 24-bit depth format has been removed as it is no longer needed. - Framebuffer formats are still defined at compile time. - The allocated texture size is now preserved, which avoids frequent reallocations when resizing framebuffers and will allow the use of `glTexSubImage2D`. * review framebuffer blit/copy This greatly simplifies the framebuffer blit/copy logic while now supporting all pixel formats. It is slightly slower in debug builds, but this path is mainly kept for compatibility anyway. The `copy_fast` version is still used for the "normal" cases when presenting to the screen. * review pixel get/set less ops for certain formats + fixes * fix depth write * texture read/write cleanup + tweaks I made the pointers parameters `restrict` for reading/writing textures, which resulted in a slight improvement. And I reviewed the `static inline` statements, which could potentially bias the compiler; no difference, but it's cleaner. * style tweaks * review uint8_t <-> float conversion * added a reusable object pool system will allow management of both textures and framebuffers added support for `glTexSubImage2D` added handling of 'GL_OUT_OF_MEMORY' errors removed the default internal texture (unused) * added FBO API + refactored rasterizer dispatch logic * fix ndc projection + review presentation and rename rlsw's resize/copy/blit * add `glRenderbufferStorage` binding + tweaks and fixes * fix quad sorting + simplify quad rasterization part * fix line shaking issue * support of `GL_DRAW_FRAMEBUFFER_BINDING` * update rlgl - support of rlsw's framebuffers * fix pixel origin in line rasterization my bad, an oversight in my previous fix. This offset should have been moved here rather than per pixel during truncation. * style tweaks * fix vla issue with msvc - fill depth / fill color