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


Former-commit-id: fa946456f8196d2955efa278f2c47cdc9f6c0dac [formerly df5a55b487b02ebe7df1c31dc640ca60042ed49b] [formerly 5ebfb7cd0df4c998292a7f0b661438f4f2fc3b6d [formerly bd64449e3ecaa7443a4db86d6ef787fd42fbc314]]
Former-commit-id: 7bd35cd3c2bd845f9ee8b3d2d2a48793f63047e7 [formerly 267393d8cb349d6f77bf9e707c6ce2d5344ed7d7]
Former-commit-id: b9e45d39c4ec5a0ea4dd0cc37f478af0cf3e0caa
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