Main Page -
Class Hierarchy -
Class List -
File List -
Class Members -
Related Pages -

Information | Reference | SourceForge Project | Author
Muli3D

Reference: Muli3D: m3dcore_texture.h Source File

m3dcore_texture.h

Go to the documentation of this file.
00001 /* 00002 Muli3D - a software rendering library 00003 Copyright (C) 2004, 2005 Stephan Reiter <streiter@aon.at> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Lesser General Public 00007 License as published by the Free Software Foundation; either 00008 version 2.1 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Lesser General Public License for more details. 00014 00015 You should have received a copy of the GNU Lesser General Public 00016 License along with this library; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 */ 00019 00022 00023 #ifndef __M3DCORE_TEXTURE_H__ 00024 #define __M3DCORE_TEXTURE_H__ 00025 00026 #include "../m3dbase.h" 00027 #include "../m3dtypes.h" 00028 00029 #include "m3dcore_basetexture.h" 00030 00032 class CMuli3DTexture : public IMuli3DBaseTexture 00033 { 00034 protected: 00035 ~CMuli3DTexture(); 00036 00037 friend class CMuli3DDevice; 00040 CMuli3DTexture( class CMuli3DDevice *i_pParent ); 00041 00051 result Create( uint32 i_iWidth, uint32 i_iHeight, uint32 i_iMipLevels, 00052 m3dformat i_fmtFormat ); 00053 00054 m3dtexsampleinput eGetTexSampleInput(); 00055 00056 friend class CMuli3DCubeTexture; 00067 result SampleTexture( vector4 &o_vColor, float32 i_fU, float32 i_fV, 00068 float32 i_fW, const vector4 *i_pXGradient, const vector4 *i_pYGradient, 00069 const uint32 *i_pSamplerStates ); 00070 00071 public: 00076 result GenerateMipSubLevels( uint32 i_iSrcLevel ); 00077 00084 result Clear( uint32 i_iMipLevel, const vector4 &i_vColor, const m3drect *i_pRect ); 00085 00095 result LockRect( uint32 i_iMipLevel, void **o_ppData, const m3drect *i_pRect ); 00096 00101 result UnlockRect( uint32 i_iMipLevel ); 00102 00106 class CMuli3DSurface *pGetMipLevel( uint32 i_iMipLevel ); 00107 00108 m3dformat fmtGetFormat(); 00109 uint32 iGetFormatFloats(); 00110 uint32 iGetMipLevels(); 00111 00114 uint32 iGetWidth( uint32 i_iMipLevel = 0 ); 00115 00118 uint32 iGetHeight( uint32 i_iMipLevel = 0 ); 00119 00120 private: 00121 uint32 m_iMipLevels; 00122 float32 m_fSquaredWidth, m_fSquaredHeight; 00123 class CMuli3DSurface **m_ppMipLevels; 00124 }; 00125 00126 #endif // __M3DCORE_TEXTURE_H__

Documentation created with doxygen SourceForge.net Logo