Deferred Shading update

-Deferred Shading now use a dynamics pass system
-Forward Shading is now capable of rendering more than three lights
(Multipass)


Former-commit-id: 74ed0b998d72aa9eb3bd2aab938a75985ebb2bf6
This commit is contained in:
Lynix
2013-12-28 10:22:03 +01:00
parent 6568cc7995
commit a332579c80
31 changed files with 2431 additions and 1354 deletions

View File

@@ -20,26 +20,26 @@ class NAZARA_API NzForwardRenderTechnique : public NzAbstractRenderTechnique
NzForwardRenderTechnique();
~NzForwardRenderTechnique();
void Clear(const NzScene* scene);
bool Draw(const NzScene* scene);
void Clear(const NzScene* scene) const;
bool Draw(const NzScene* scene) const;
unsigned int GetMaxLightsPerObject() const;
unsigned int GetMaxLightPassPerObject() const;
NzAbstractRenderQueue* GetRenderQueue() override;
nzRenderTechniqueType GetType() const override;
void SetMaxLightsPerObject(unsigned int lightCount);
void SetMaxLightPassPerObject(unsigned int passCount);
private:
void DrawOpaqueModels(const NzScene* scene);
void DrawSprites(const NzScene* scene);
void DrawTransparentModels(const NzScene* scene);
void DrawOpaqueModels(const NzScene* scene) const;
void DrawSprites(const NzScene* scene) const;
void DrawTransparentModels(const NzScene* scene) const;
NzForwardRenderQueue m_renderQueue;
mutable NzForwardRenderQueue m_renderQueue;
NzIndexBufferRef m_indexBuffer;
NzLightManager m_directionalLights;
NzLightManager m_lights;
mutable NzLightManager m_directionalLights;
mutable NzLightManager m_lights;
NzVertexBuffer m_spriteBuffer;
unsigned int m_maxLightsPerObject;
unsigned int m_maxLightPassPerObject;
};
#endif // NAZARA_FORWARDRENDERTECHNIQUE_HPP