Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CS_IVIDEO_TXTMGR_H__
00021 #define __CS_IVIDEO_TXTMGR_H__
00022
00031 #include "csutil/scf.h"
00032 #include "igraphic/image.h"
00033
00034 class Vector2;
00035 class csMatrix3;
00036 class csVector3;
00037 class csRect;
00038
00039 struct csRGBcolor;
00040 struct csRGBpixel;
00041 struct iImage;
00042 struct iTextureHandle;
00043 struct iMaterial;
00044 struct iString;
00045
00052
00053 #define CS_TEXTURE_2D 0x00000001
00054
00055 #define CS_TEXTURE_3D 0x00000002
00056
00065 #define CS_TEXTURE_NOMIPMAPS 0x00000008
00066
00070 #define CS_TEXTURE_CLAMP 0x00000010
00071
00074 #define CS_TEXTURE_NOFILTER 0x00000020
00075
00088 #define CS_TEXTURE_NPOTS 0x00000040
00089
00099 #define CS_TEXTURE_SCALE_UP 0x00000080
00100
00110 #define CS_TEXTURE_SCALE_DOWN 0x00000100
00111
00117 #define CS_TEXTURE_CREATE_CLEAR 0x00000200
00118
00129 #define CS_TEXTURE_CUBEMAP_DISABLE_SEAMLESS 0x00000400
00130
00148 struct iTextureManager : public virtual iBase
00149 {
00150 SCF_INTERFACE(iTextureManager, 4,0,0);
00181 virtual csPtr<iTextureHandle> RegisterTexture (iImage *image, int flags,
00182 iString* fail_reason = 0) = 0;
00183
00200 virtual csPtr<iTextureHandle> CreateTexture (int w, int h,
00201 csImageType imagetype, const char* format, int flags,
00202 iString* fail_reason = 0) = 0;
00203
00211 virtual int GetTextureFormat () = 0;
00212
00216 virtual void GetMaxTextureSize (int& w, int& h, int& aspect) = 0;
00217
00235 virtual csPtr<iTextureHandle> CreateTexture (int w, int h, int d,
00236 csImageType imagetype, const char* format, int flags,
00237 iString* fail_reason = 0) = 0;
00238 };
00239
00242 #endif // __CS_IVIDEO_TXTMGR_H__