[IonutCava]- Modify GFXDevice::flushRenderQueues so that it creates command buffers instead of directly calling rendering calls:— Command buffers contain buffer, shader, texture and geometry info— Command buffer state is now parsed and set at the API level instead of GFXDevice level— This will allow easier porting to low level APIs later on- Indirect draw is now a GenericDrawCommand render option instead of an explicit buffer draw parameter

[IonutCava]- Removed a lot of high level GFX state and merged it back on a lower level:— depth mask is now a framebuffer specific toggle controlled by the RenderPolicy— rasterization is now a per-buffer draw switch toggled by a rendering flag in GenericDrawCommand- Replaced old style GL texture binding code with DSA style glBindTextures and glBindSamplers even for single textures— completely removed the concept of a active texture unit in the GL code- Fixed some draw policy settings that were clearing the depth buffer in the PostFX passes- More build type flag replacement of macros- Render pass system bug fixing- Add option to skip occlusion culling for certain nodes

[IonutCava]- Added initial environment mapping code:— Allow adding, per scene, of multiple environment probes that generate cube map reflections— Support 2 types of probes: infinite (such as sky only probes) and local. Local probes use an AABB that will later be used for parallax correction— Probes are held in a scene specific pool, can be updated at different rates and their results can be passed on to materials (if materials don’t need specific reflection systems such as for water or mirrors)- ToDo:— Blend between probes (currently, only the closes one is selected)— Reduce VRAM usage— Set as fallback for screen space reflections