Nazara Engine  0.4
A fast, complete, cross-platform API designed for game development
DeferredDOFPass.hpp
1 // Copyright (C) 2017 Jérôme Leclercq
2 // This file is part of the "Nazara Engine - Graphics module"
3 // For conditions of distribution and use, see copyright notice in Config.hpp
4 
5 #pragma once
6 
7 #ifndef NAZARA_DEFERREDDOFPASS_HPP
8 #define NAZARA_DEFERREDDOFPASS_HPP
9 
10 #include <Nazara/Prerequesites.hpp>
11 #include <Nazara/Graphics/DeferredRenderPass.hpp>
12 #include <Nazara/Renderer/RenderStates.hpp>
13 #include <Nazara/Renderer/RenderTexture.hpp>
14 #include <Nazara/Renderer/Shader.hpp>
15 #include <Nazara/Renderer/Texture.hpp>
16 #include <Nazara/Renderer/TextureSampler.hpp>
17 
18 namespace Nz
19 {
20  class NAZARA_GRAPHICS_API DeferredDOFPass : public DeferredRenderPass
21  {
22  public:
24  virtual ~DeferredDOFPass();
25 
26  bool Process(const SceneData& sceneData, unsigned int firstWorkTexture, unsigned int secondWorkTexture) const override;
27  bool Resize(const Vector2ui& dimensions) override;
28 
29  protected:
30  RenderTexture m_dofRTT;
31  RenderStates m_states;
32  ShaderConstRef m_dofShader;
33  ShaderConstRef m_gaussianBlurShader;
34  TextureRef m_dofTextures[2];
35  TextureSampler m_bilinearSampler;
36  TextureSampler m_pointSampler;
37  int m_gaussianBlurShaderFilterLocation;
38  };
39 }
40 
41 #endif // NAZARA_DEFERREDDOFPASS_HPP
Graphics class that represents the pass for depth of field in deferred rendering. ...
Definition: DeferredDOFPass.hpp:20
TODO: Inherit SoundEmitter from Node.
Definition: Algorithm.hpp:12
Graphics class that represents the pass for rendering in deferred rendering.
Definition: DeferredRenderPass.hpp:22