"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSGraphicsLib/Src/DirectX/LSGDirectX11StandardTexture.h

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__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator