* Add new render queues proof of concept + scissoring support (WIP)
* Graphics: Adapt basic sprites rendering to new render queue system
* Graphics: Fix layers when rendering sprites
* Graphics/RenderQueue: Fix sprite default overlay
* Graphics: Enable scissor test by default
* SDK/Widgets: Enable scissoring on widgets
* Graphics: Handle almost everything with the new renderqueues system
Todo:
- Billboard rendering
- Proper model rendering
* Graphics/RenderQueue: Billboard drawing now works (WIP)
At 1/4 of previous code performances due to individually process of billboards
* Add new render queues proof of concept + scissoring support (WIP)
* Graphics: Adapt basic sprites rendering to new render queue system
* Graphics: Fix layers when rendering sprites
* Graphics/RenderQueue: Fix sprite default overlay
* Graphics: Enable scissor test by default
* SDK/Widgets: Enable scissoring on widgets
* Graphics: Handle almost everything with the new renderqueues system
Todo:
- Billboard rendering
- Proper model rendering
* Graphics/RenderQueue: Billboard drawing now works (WIP)
At 1/4 of previous code performances due to individually process of billboards
* Graphics/RenderQueues: Add full support for billboards
* Graphics/RenderQueue: Cleanup and improve billboard rendering
* Graphics/RenderQueue: Fix model drawing
* Examples/Particles: Fix lighting on space station
* Graphics: Cleanup forward render queue/technique
* Fix compilation under Linux
* Graphics/ForwardRenderTechnique: Fix case when scissoring is enabled on material but disabled on element
* Add support for Deferred Shading
* SDK/Widgets: Fix widget rendering
* Graphics: Remove legacy code from render queues
* Graphics: Fix some objects sometimes not showing up due to broken scissor box
* Fix compilation error
* Sdk/GraphicsGraphics: Fix bounding volume
* SDK/World: Fix self-assignation
* Update changelog for render queues
This allows much more efficient batching, along with pipeline reusage and preparation for the Vulkan API
Former-commit-id: 4ed2f66567f7da6b6b6ee073e4d855b9a935000d [formerly b540f468fc700a16d5136d4dbb8632e23882fd3d] [formerly 37fff624ec65cc387130875410b6ea35c1a5bcfb [formerly ab9a88f514f46f6596499e285981fa6da588bb03]]
Former-commit-id: a2e8859196c0f72b7d7ffd8764a887e6c8173743 [formerly c886cdade14769db243ff993a1741f6052a2eb2a]
Former-commit-id: e1d02662fb1ac165c7e888380afee7601350060f
This allows much more efficient batching, along with pipeline reusage and preparation for the Vulkan API
Former-commit-id: fd2de2f0e9612ea275ee69c5578c68e7169cd05b [formerly 53bd8a5ed5695311b7543ad717df63f93fad2da6] [formerly 171740929652ac9fe30e84983709388859cedd6b [formerly 25096a76678f1052e76f67d26b458077a0632cc3]]
Former-commit-id: 7978dbeb87af2eac9e5501a97afa83849648bf6e [formerly 81b6cce1ee81a2ca8873d3c70d468b2c71510c95]
Former-commit-id: 6663e2721c3f79d5f1e3f33c6183174378b502f4
Preparing for integration into the ECS
Former-commit-id: 9ca871117d0be3d4c655225d3f3dad6b0277cdd8 [formerly 9343fd818957da74e0bb7a5715a2172eefc325e5]
Former-commit-id: 93cf58c80f0cd396211df0c95063f0ad05449e75
Preparing for integration into the ECS
Former-commit-id: 201e28c9f00ee31f809d9de3d9a37f57a7fe740c [formerly 9b88616308f9801482fc8811a9a19a7231dce2a7]
Former-commit-id: 579f4e9597f94620f922fb145931202d8fc9cc96
-Added GRAPHICS_MAX_LIGHTPERPASS macro
-Added glGetActiveUniform OpenGL function
-Added (Uber)ShaderLibrary
-Added (Uber)ShaderName parameter to models
-Changed uniform system
-Fixed Node copying
-Moved Material class to Graphics module
-Optimized lights
-Remade Shader class
-Renamed Node::Invalidate to Node::InvalidateNode
-Renamed ShaderProgram to Shader
Former-commit-id: 15f0cad52969e91a2442e7d750ba2dc412f3549d
Updated copyright year (Yay, 515 file updated)
Regenerated global headers
Fixed some typo
Improved some shaders
-Blah blah blah-
Thank you all for supporting my project !
-Lynix
Former-commit-id: e4e741b318ba4f203da5ffd265bd5e516e7ffd7d
-Deferred Shading now use a dynamics pass system
-Forward Shading is now capable of rendering more than three lights
(Multipass)
Former-commit-id: 74ed0b998d72aa9eb3bd2aab938a75985ebb2bf6
Separated LightManager
Added Sprite class
Added View class
Camera is no longer a SceneNode
Fixed Material not invalidating programs
Renamed CameraPosition uniform to EyePosition
Renamed VisibilityTest to FrustumCull
Former-commit-id: ff7fbe4d9b31a3c269baab0b48c6faa347a12161