Graphics: Add support for multi-viewer rendering (a bit hacky)

This commit is contained in:
Jérôme Leclercq
2021-11-13 20:08:03 +01:00
parent 342c053faa
commit ecd1e43890
8 changed files with 80 additions and 36 deletions

View File

@@ -26,6 +26,7 @@
namespace Nz
{
class RenderFrame;
class RenderTarget;
class NAZARA_GRAPHICS_API ForwardFramePipeline : public FramePipeline
{
@@ -99,6 +100,7 @@ namespace Nz
std::unordered_map<AbstractViewer*, ViewerData> m_viewers;
std::unordered_map<MaterialPass*, MaterialData> m_materials;
std::unordered_map<WorldInstancePtr, std::unordered_map<const InstancedRenderable*, RenderableData>> m_renderables;
std::unordered_map<const RenderTarget*, std::vector<const ViewerData*>> m_viewerPerTarget;
std::unordered_set<AbstractViewer*> m_invalidatedViewerInstances;
std::unordered_set<MaterialPass*> m_invalidatedMaterials;
std::unordered_set<WorldInstance*> m_invalidatedWorldInstances;