* 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: fd2de2f0e9612ea275ee69c5578c68e7169cd05b [formerly 53bd8a5ed5695311b7543ad717df63f93fad2da6] [formerly 171740929652ac9fe30e84983709388859cedd6b [formerly 25096a76678f1052e76f67d26b458077a0632cc3]]
Former-commit-id: 7978dbeb87af2eac9e5501a97afa83849648bf6e [formerly 81b6cce1ee81a2ca8873d3c70d468b2c71510c95]
Former-commit-id: 6663e2721c3f79d5f1e3f33c6183174378b502f4
-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