NL3D::UTexture Class Reference

#include <u_texture.h>

Inheritance diagram for NL3D::UTexture:

NL3D::CTextureUser NL3D::UTextureFile NL3D::UTextureRaw NL3D::CTextureFileUser NL3D::CTextureRawUser NL3D::CTextureFileUser NL3D::CTextureRawUser

Detailed Description

Game interface for manipulating Basic texture.
Author:
Lionel Berenguier

Nevrax France

Date:
2001

Definition at line 42 of file u_texture.h.

Public Types

enum  TMagFilter { Nearest = 0, Linear, MagFilterCount }
enum  TMinFilter {
  NearestMipMapOff = 0, NearestMipMapNearest, NearestMipMapLinear, LinearMipMapOff,
  LinearMipMapNearest, LinearMipMapLinear, MinFilterCount
}
enum  TUploadFormat {
  Auto = 0, RGBA8888, RGBA4444, RGBA5551,
  RGB888, RGB565, DXTC1, DXTC1Alpha,
  DXTC3, DXTC5, Luminance, Alpha,
  AlphaLuminance, DsDt, UploadFormatCount
}
enum  TWrapMode { Repeat = 0, Clamp, WrapModeCount }

Public Member Functions

virtual NLMISC::CRGBA getPixelColor (sint32 x, sint32 y) const=0
virtual void setReleasable (bool bReleasable)=0

Protected Member Functions

Object
 UTexture ()
virtual ~UTexture ()


Member Enumeration Documentation

enum NL3D::UTexture::TMagFilter
 

Magnification mode. Same behavior as OpenGL.

Enumeration values:
Nearest 
Linear 
MagFilterCount 

Definition at line 87 of file u_texture.h.

00088         {
00089                 Nearest=0,
00090                 Linear,
00091 
00092                 MagFilterCount
00093         };

enum NL3D::UTexture::TMinFilter
 

Minifying mode. Same behavior as OpenGL. If the bitmap has no mipmap, and mipmap is required, then mipmaps are computed.

Enumeration values:
NearestMipMapOff 
NearestMipMapNearest 
NearestMipMapLinear 
LinearMipMapOff 
LinearMipMapNearest 
LinearMipMapLinear 
MinFilterCount 

Definition at line 98 of file u_texture.h.

enum NL3D::UTexture::TUploadFormat
 

Enumeration values:
Auto 
RGBA8888 
RGBA4444 
RGBA5551 
RGB888 
RGB565 
DXTC1 
DXTC1Alpha 
DXTC3 
DXTC5 
Luminance 
Alpha 
AlphaLuminance 
DsDt 
UploadFormatCount 

Definition at line 64 of file u_texture.h.

00065         {
00066                 Auto= 0,
00067                 RGBA8888,
00068                 RGBA4444,
00069                 RGBA5551,
00070                 RGB888,
00071                 RGB565,
00072                 DXTC1,
00073                 DXTC1Alpha,
00074                 DXTC3,
00075                 DXTC5,
00076                 Luminance,
00077                 Alpha,
00078                 AlphaLuminance,
00079                 DsDt,
00080                 UploadFormatCount
00081         };

enum NL3D::UTexture::TWrapMode
 

Enumeration values:
Repeat 
Clamp 
WrapModeCount 

Definition at line 56 of file u_texture.h.

00057         {
00058                 Repeat= 0,
00059                 Clamp,
00060 
00061                 WrapModeCount
00062         };


Constructor & Destructor Documentation

NL3D::UTexture::UTexture  )  [inline, protected]
 

Definition at line 48 of file u_texture.h.

00048 {}

virtual NL3D::UTexture::~UTexture  )  [inline, protected, virtual]
 

Definition at line 49 of file u_texture.h.

00049 {}


Member Function Documentation

virtual TMagFilter NL3D::UTexture::getMagFilter  )  const [pure virtual]
 

Implemented in NL3D::CTextureUser.

virtual TMinFilter NL3D::UTexture::getMinFilter  )  const [pure virtual]
 

Implemented in NL3D::CTextureUser.

virtual NLMISC::CRGBA NL3D::UTexture::getPixelColor sint32  x,
sint32  y
const [pure virtual]
 

Implemented in NL3D::CTextureUser.

virtual TUploadFormat NL3D::UTexture::getUploadFormat  )  const [pure virtual]
 

Implemented in NL3D::CTextureUser.

virtual TWrapMode NL3D::UTexture::getWrapS  )  const [pure virtual]
 

Implemented in NL3D::CTextureUser.

virtual TWrapMode NL3D::UTexture::getWrapT  )  const [pure virtual]
 

Implemented in NL3D::CTextureUser.

virtual bool NL3D::UTexture::mipMapOff  )  const [pure virtual]
 

Set mipmap property to off If the texture is DXTC and has mipmap, the driver will NOT upload them in VRAM if the user dont want them.

Implemented in NL3D::CTextureUser.

virtual bool NL3D::UTexture::mipMapOn  )  const [pure virtual]
 

Set mipmap property to on If the texture is DXTC and has no mipmap the driver will NOT create them. (This is due to performance: to create mipmap in DXTC the driver have to decompress the texture, create the mipmap and recompress the texture to upload it in VRAM. This is really time consuming and texture quality is altered, so the driver will not create them).

Implemented in NL3D::CTextureUser.

virtual void NL3D::UTexture::setFilterMode TMagFilter  magf,
TMinFilter  minf
[pure virtual]
 

Implemented in NL3D::CTextureUser.

virtual void NL3D::UTexture::setReleasable bool  bReleasable  )  [pure virtual]
 

Implemented in NL3D::CTextureUser.

virtual void NL3D::UTexture::setUploadFormat TUploadFormat  pf  )  [pure virtual]
 

Replace the uploaded format of the texture. If "Auto", the driver use CBitmap::getPixelFormat() to find the best associated pixelFormat. When no alpha is wanted (RGB, Luminance....), texture default output is 1.0. For "Alpha" mode, RGB output is (0,0,0).

Implemented in NL3D::CTextureUser.

virtual void NL3D::UTexture::setWrapS TWrapMode  mode  )  [pure virtual]
 

By default, parameters are:

  • WrapS==Repeat
  • WrapT==Repeat
  • UploadFormat== Auto
  • MagFilter== Linear.
  • MinFilter= LinearMipMapLinear.

NB: if multiple ITexture acces the same data via the sharing system (such as a CTextureFile), then:

  • WrapS/WrapT is LOCAL for each ITexture (ie each ITexture will have his own Wrap mode) => no duplication is made.
  • UploadFormat may duplicate the texture in video memory. There is one texture per different UploadFormat.
  • MinFilter may duplicate the texture in video memory in the same way, wether the texture has mipmap or not.

Implemented in NL3D::CTextureUser.

virtual void NL3D::UTexture::setWrapT TWrapMode  mode  )  [pure virtual]
 

Implemented in NL3D::CTextureUser.


The documentation for this class was generated from the following file:
Generated on Tue Mar 16 08:51:37 2004 for NeL by doxygen 1.3.6