Files
NazaraEngine/include/Nazara/Graphics/DeferredRenderPass.hpp
Lynix f3c57a5417 Graphics/DeferredRenderTechnique: Optimize Deferred Shading
No longer copies depth twice


Former-commit-id: aa2096ade409861b773bc7302ced27ae84fab858 [formerly 80fd00bd4a75506b128b70a545eb43ff6a3a7071] [formerly d8576a8858caca9314ea67661af0ce7d9077ba9d [formerly e626f2fd62d19ca5f952485478bfe46f4a803227]]
Former-commit-id: 363c93e397887e66b25446927bc5ef89e761c488 [formerly a8bee284456d7f46d182ae7df2d565fa29e55b61]
Former-commit-id: 168792d853247ada5add8f97057c213af7c801b3
2016-08-15 01:27:33 +02:00

62 lines
1.5 KiB
C++

// Copyright (C) 2015 Jérôme Leclercq
// This file is part of the "Nazara Engine - Graphics module"
// For conditions of distribution and use, see copyright notice in Config.hpp
#pragma once
#ifndef NAZARA_DEFERREDRENDERPASS_HPP
#define NAZARA_DEFERREDRENDERPASS_HPP
#include <Nazara/Prerequesites.hpp>
#include <Nazara/Graphics/Config.hpp>
#include <Nazara/Graphics/Enums.hpp>
#include <Nazara/Graphics/SceneData.hpp>
#include <Nazara/Math/Vector2.hpp>
namespace Nz
{
class AbstractViewer;
class DeferredRenderTechnique;
class DeferredRenderQueue;
class RenderBuffer;
class RenderTexture;
class Scene;
class Texture;
class NAZARA_GRAPHICS_API DeferredRenderPass
{
friend DeferredRenderTechnique;
public:
DeferredRenderPass();
DeferredRenderPass(const DeferredRenderPass&) = delete;
virtual ~DeferredRenderPass();
void Enable(bool enable);
virtual void Initialize(DeferredRenderTechnique* technique);
bool IsEnabled() const;
virtual bool Process(const SceneData& sceneData, unsigned int workTexture, unsigned int sceneTexture) const = 0;
virtual bool Resize(const Vector2ui& GBufferSize);
DeferredRenderPass& operator=(const DeferredRenderPass&) = delete;
protected:
Vector2ui m_dimensions;
DeferredRenderTechnique* m_deferredTechnique;
DeferredRenderQueue* m_renderQueue;
RenderTexture* m_GBufferRTT;
RenderTexture* m_workRTT;
Texture* m_depthStencilTexture;
Texture* m_GBuffer[4];
Texture* m_workTextures[2];
private:
bool m_enabled;
};
}
#endif // NAZARA_DEFERREDRENDERPASS_HPP