"L. Spiro Engine"
|
00001 00016 #ifndef __LSG_DIRECTX11STANDARDTEXTURE_H__ 00017 #define __LSG_DIRECTX11STANDARDTEXTURE_H__ 00018 00019 #include "../LSGGraphicsLib.h" 00020 #include "../Texture/LSGTextureBase.h" 00021 #include "Image/LSIImage.h" 00022 00023 #ifdef LSG_DX11 00024 00025 namespace lsg { 00026 00033 class CDirectX11StandardTexture : public CTextureBase { 00034 friend class CDirectX11CubeTexture; 00035 public : 00036 // == Various constructors. 00037 LSE_CALLCTOR CDirectX11StandardTexture(); 00038 virtual LSE_CALLCTOR ~CDirectX11StandardTexture(); 00039 00040 00041 // == Functions. 00048 virtual LSBOOL LSE_CALL Activate( LSUINT32 _ui32Slot ); 00049 00050 00051 protected : 00052 // == Members. 00056 CImage m_iTexels; 00057 00061 ID3D11Texture2D * m_ptTexture; 00062 00066 ID3D11RenderTargetView * m_rtvRenderTargetView; 00067 00071 ID3D11ShaderResourceView * m_psrvShaderView; 00072 00073 00074 // == Functions. 00080 LSBOOL LSE_CALL CreateApiTexture(); 00081 00085 LSVOID LSE_CALL ResetApi(); 00086 00093 static LSVOID LSE_CALL CopyTexelsToDirect3d11Texture( D3D11_MAPPED_SUBRESOURCE &_msBuffer, const CImage &_iTexels ); 00094 00095 00096 private : 00097 typedef CTextureBase Parent; 00098 }; 00099 00100 00101 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00102 // DEFINITIONS 00103 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00104 00105 00106 } // namespace lsg 00107 00108 #endif // #ifdef LSG_DX11 00109 00110 #endif // __LSG_DIRECTX11STANDARDTEXTURE_H__