NL3D::UTextureFile Class Reference

#include <u_texture.h>

Inheritance diagram for NL3D::UTextureFile:

NL3D::UTexture NL3D::CTextureFileUser

Detailed Description

Game interface for manipulating texture File. Warnings :

Definition at line 170 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 bool allowDegradation () const=0
 tells if this texture allow the driver to degrade it (default is false for UTextureFile).

virtual std::string getFileName () const=0
virtual NLMISC::CRGBA getPixelColor (sint32 x, sint32 y) const=0
virtual void setAllowDegradation (bool allow)=0
 Change the degradation mode. NB: this must be done before first render(), ie just after creation.

virtual void setFileName (std::string s)=0
virtual void setReleasable (bool bReleasable)=0


Member Enumeration Documentation

enum NL3D::UTexture::TMagFilter [inherited]
 

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 [inherited]
 

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 [inherited]
 

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 [inherited]
 

Enumeration values:
Repeat 
Clamp 
WrapModeCount 

Definition at line 56 of file u_texture.h.

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


Member Function Documentation

virtual bool NL3D::UTextureFile::allowDegradation  )  const [pure virtual]
 

tells if this texture allow the driver to degrade it (default is false for UTextureFile).

Implemented in NL3D::CTextureFileUser.

virtual std::string NL3D::UTextureFile::getFileName  )  const [pure virtual]
 

get the name of the file containing the texture

Returns:
name of the file
Author:
Stephane Coutelas
Date:
2000

Implemented in NL3D::CTextureFileUser.

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

Implemented in NL3D::CTextureUser.

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

Implemented in NL3D::CTextureUser.

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

Implemented in NL3D::CTextureUser.

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

Implemented in NL3D::CTextureUser.

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

Implemented in NL3D::CTextureUser.

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

Implemented in NL3D::CTextureUser.

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

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, inherited]
 

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::UTextureFile::setAllowDegradation bool  allow  )  [pure virtual]
 

Change the degradation mode. NB: this must be done before first render(), ie just after creation.

Implemented in NL3D::CTextureFileUser.

virtual void NL3D::UTextureFile::setFileName std::string  s  )  [pure virtual]
 

Set the name of the file containing the texture

Parameters:
name of the file
Author:
Stephane Coutelas
Date:
2000

Implemented in NL3D::CTextureFileUser.

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

Implemented in NL3D::CTextureUser.

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

Implemented in NL3D::CTextureUser.

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

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, inherited]
 

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, inherited]
 

Implemented in NL3D::CTextureUser.


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