"L. Spiro Engine"
|
00001 00016 #ifndef __LSG_DIRECX9FLOATTEXTURE_H__ 00017 #define __LSG_DIRECX9FLOATTEXTURE_H__ 00018 00019 #include "../LSGGraphicsLib.h" 00020 #include "../Texture/LSGTextureBase.h" 00021 #include "LSGDirectX9LosableResource.h" 00022 00023 #ifdef LSG_DX9 00024 00025 namespace lsg { 00026 00033 class CDirectX9FloatTexture : public CTextureBase, public CDirectX9LosableResource { 00034 public : 00035 // == Various constructors. 00036 LSE_CALLCTOR CDirectX9FloatTexture(); 00037 virtual LSE_CALLCTOR ~CDirectX9FloatTexture(); 00038 00039 00040 // == Functions. 00047 virtual LSBOOL LSE_CALL Activate( LSUINT32 _ui32Slot ); 00048 00052 LSVOID LSE_CALL DeActivate(); 00053 00061 virtual LSBOOL LSE_CALL SetsColorAutomatically() const; 00062 00066 virtual LSVOID LSE_CALL OnDeviceLost(); 00067 00073 virtual LSBOOL LSE_CALL OnDeviceReset(); 00074 00075 protected : 00076 // == Members. 00080 IDirect3DTexture9 * m_pd3tTexture; 00081 00085 IDirect3DSurface9 * m_pd3dsDepthSurface; 00086 00090 LSUINT32 m_ui32LastSlot; 00091 00092 00093 // == Functions. 00099 LSBOOL LSE_CALL CreateApiTexture(); 00100 00106 virtual LSBOOL LSE_CALL SetAsDepthStencilRenderTarget() const; 00107 00111 virtual LSVOID LSE_CALL EndAsRenderTarget() const; 00112 00116 LSVOID LSE_CALL ResetApi(); 00117 00118 00119 private : 00120 typedef CTextureBase Parent; 00121 }; 00122 00123 00124 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00125 // DEFINITIONS 00126 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00127 00128 00129 } // namespace lsg 00130 00131 #endif // #ifdef LSG_DX9 00132 00133 #endif // __LSG_DIRECX9FLOATTEXTURE_H__