Added new RenderTechnique system
Former-commit-id: 6d65a4537232bc705333c696f2478d47f16e074a
This commit is contained in:
@@ -9,7 +9,9 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/String.hpp>
|
||||
#include <Nazara/Graphics/AbstractRenderQueue.hpp>
|
||||
#include <Nazara/Graphics/Enums.hpp>
|
||||
|
||||
class NzBackground;
|
||||
class NzScene;
|
||||
@@ -21,11 +23,13 @@ class NAZARA_API NzAbstractRenderTechnique : NzNonCopyable
|
||||
virtual ~NzAbstractRenderTechnique();
|
||||
|
||||
virtual void Clear(const NzScene* scene) = 0;
|
||||
virtual void Draw(const NzScene* scene) = 0;
|
||||
virtual bool Draw(const NzScene* scene) = 0;
|
||||
|
||||
virtual void EnableInstancing(bool instancing);
|
||||
|
||||
virtual NzString GetName() const;
|
||||
virtual NzAbstractRenderQueue* GetRenderQueue() = 0;
|
||||
virtual nzRenderTechniqueType GetType() const = 0;
|
||||
|
||||
virtual bool IsInstancingEnabled() const;
|
||||
|
||||
|
||||
@@ -26,6 +26,17 @@ enum nzLightType
|
||||
nzLightType_Max = nzLightType_Spot
|
||||
};
|
||||
|
||||
enum nzRenderTechniqueType
|
||||
{
|
||||
nzRenderTechniqueType_AdvancedForward, // NzAdvancedForwardRenderTechnique
|
||||
nzRenderTechniqueType_BasicForward, // NzBasicForwardRenderTechnique
|
||||
nzRenderTechniqueType_DeferredShading, // NzDeferredRenderTechnique
|
||||
nzRenderTechniqueType_LightPrePass, // NzLightPrePassRenderTechnique
|
||||
nzRenderTechniqueType_User,
|
||||
|
||||
nzRenderTechniqueType_Max = nzRenderTechniqueType_User
|
||||
};
|
||||
|
||||
enum nzSceneNodeType
|
||||
{
|
||||
nzSceneNodeType_Light, // NzLight
|
||||
|
||||
@@ -21,10 +21,11 @@ class NAZARA_API NzForwardRenderTechnique : public NzAbstractRenderTechnique
|
||||
~NzForwardRenderTechnique();
|
||||
|
||||
void Clear(const NzScene* scene);
|
||||
void Draw(const NzScene* scene);
|
||||
bool Draw(const NzScene* scene);
|
||||
|
||||
unsigned int GetMaxLightsPerObject() const;
|
||||
NzAbstractRenderQueue* GetRenderQueue() override;
|
||||
nzRenderTechniqueType GetType() const override;
|
||||
|
||||
void SetMaxLightsPerObject(unsigned int lightCount);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user