Ocular Engine
D3D11DepthTexture.hpp
1 
17 #pragma once
18 #ifndef __OCULAR_D3D11_DEPTH_TEXTURE__H__
19 #define __OCULAR_D3D11_DEPTH_TEXTURE__H__
20 
21 #include "Graphics/Texture/DepthTexture.hpp"
22 #include "D3D11Texture.hpp"
23 
24 //------------------------------------------------------------------------------------------
25 
30 namespace Ocular
31 {
36  namespace Graphics
37  {
42  {
43  public:
44 
49  D3D11DepthTexture(TextureDescriptor const& descriptor, ID3D11Device* device);
50  virtual ~D3D11DepthTexture();
51 
55  ID3D11DepthStencilView* getD3DDepthStencilView();
56 
57  //------------------------------------------------------------
58  // Inherited Methods
59 
63  virtual void unload() override;
64 
69  virtual void apply() override;
70 
75  virtual void refresh() override;
76 
77  protected:
78 
79  bool createD3DResources();
80  bool createD3DDepthStencil();
81 
82  virtual bool createD3DTexture2D(TextureDescriptor const& descriptor) override;
83 
84  ID3D11DepthStencilView* m_D3DDepthStencilView;
85 
86  private:
87  };
88  }
92 }
97 //------------------------------------------------------------------------------------------
98 
99 #endif
Definition: D3D11DepthTexture.hpp:41
A special texture that stores high precision depth information for each pixel.
Definition: DepthTexture.hpp:41
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
Definition: TextureDescriptor.hpp:45
ID3D11DepthStencilView * getD3DDepthStencilView()
Definition: D3D11DepthTexture.cpp:48
Definition: D3D11Texture.hpp:42
virtual void refresh() override
Definition: D3D11DepthTexture.cpp:104
virtual void unload() override
Definition: D3D11DepthTexture.cpp:53
D3D11DepthTexture(TextureDescriptor const &descriptor, ID3D11Device *device)
Definition: D3D11DepthTexture.cpp:31
virtual void apply() override
Definition: D3D11DepthTexture.cpp:76