From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/a03505.html | 1041 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1041 insertions(+) create mode 100644 docs/doxygen/nel/a03505.html (limited to 'docs/doxygen/nel/a03505.html') diff --git a/docs/doxygen/nel/a03505.html b/docs/doxygen/nel/a03505.html new file mode 100644 index 00000000..ceca7de3 --- /dev/null +++ b/docs/doxygen/nel/a03505.html @@ -0,0 +1,1041 @@ + + +NeL: NL3D::CTextureUser class Reference + + + +
+

NL3D::CTextureUser Class Reference

#include <texture_user.h> +

+

Inheritance diagram for NL3D::CTextureUser: +

+ +NL3D::UTexture +NL3D::CTextureFileUser +NL3D::CTextureRawUser + +

Detailed Description

+UTexture implementation. This Texture must keep a SmartPtr on the real ITexture. Because CMaterial attach texture with SmartPtr too!!
Author:
Lionel Berenguier

+Nevrax France

+
Date:
2001
+ +

+ +

+Definition at line 51 of file texture_user.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

ITexturegetITexture ()
 Accessor for UMaterial imp.

virtual TMagFilter getMagFilter () const
virtual TMinFilter getMinFilter () const
virtual NLMISC::CRGBA getPixelColor (sint32 x, sint32 y) const
virtual TUploadFormat getUploadFormat () const
virtual TWrapMode getWrapS () const
virtual TWrapMode getWrapT () const
virtual bool mipMapOff () const
virtual bool mipMapOn () const
virtual void setFilterMode (TMagFilter magf, TMinFilter minf)
virtual void setReleasable (bool bReleasable)
virtual void setUploadFormat (TUploadFormat pf)
virtual void setWrapS (TWrapMode mode)
virtual void setWrapT (TWrapMode mode)
Object
 CTextureUser (ITexture *text)
 This ctpor takes a freshly created texture!! UTexture will owns this texture (via smartptr).

virtual ~CTextureUser ()
 This ctpor takes a freshly created texture!! UTexture will owns this texture (via smartptr).


Protected Attributes

CSmartPtr< ITexture_Texture
+


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. +

+

00099         {
+00100                 NearestMipMapOff=0,
+00101                 NearestMipMapNearest,
+00102                 NearestMipMapLinear,
+00103                 LinearMipMapOff,
+00104                 LinearMipMapNearest,
+00105                 LinearMipMapLinear,
+00106 
+00107                 MinFilterCount
+00108         };
+
+

+ + + + +
+ + +
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         };
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + +
NL3D::CTextureUser::CTextureUser ITexture text  )  [inline]
+
+ + + + + +
+   + + +

+This ctpor takes a freshly created texture!! UTexture will owns this texture (via smartptr). +

+ +

+Definition at line 61 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, nlassert, and uint. +

+

00062         {
+00063                 NL3D_MEM_TEXTURE
+00064                 nlassert(text);
+00065                 _Texture=text;
+00066 
+00067                 // UTexture and ITexture MUST be the same!
+00068                 nlassert((uint)UTexture::WrapModeCount==(uint)ITexture::WrapModeCount);
+00069                 nlassert((uint)UTexture::UploadFormatCount==(uint)ITexture::UploadFormatCount);
+00070                 nlassert((uint)UTexture::MagFilterCount==(uint)ITexture::MagFilterCount);
+00071                 nlassert((uint)UTexture::MinFilterCount==(uint)ITexture::MinFilterCount);
+00072         }
+
+

+ + + + +
+ + + + + + + + + +
virtual NL3D::CTextureUser::~CTextureUser  )  [inline, virtual]
+
+ + + + + +
+   + + +

+This ctpor takes a freshly created texture!! UTexture will owns this texture (via smartptr). +

+ +

+Definition at line 73 of file texture_user.h. +

+References NL3D_MEM_TEXTURE. +

+

00074         {
+00075                 NL3D_MEM_TEXTURE
+00076                 // texture auto deleted.
+00077         }
+
+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
ITexture* NL3D::CTextureUser::getITexture  )  [inline]
+
+ + + + + +
+   + + +

+Accessor for UMaterial imp. +

+ +

+Definition at line 147 of file texture_user.h. +

+References NL3D_MEM_TEXTURE. +

+

00148         {
+00149                 NL3D_MEM_TEXTURE
+00150                 return _Texture;
+00151         }
+
+

+ + + + +
+ + + + + + + + + +
virtual TMagFilter NL3D::CTextureUser::getMagFilter  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Implements NL3D::UTexture. +

+Definition at line 115 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, and uint32. +

+

00116         {
+00117                 NL3D_MEM_TEXTURE
+00118                 return (UTexture::TMagFilter)(uint32)_Texture->getMagFilter();
+00119         }
+
+

+ + + + +
+ + + + + + + + + +
virtual TMinFilter NL3D::CTextureUser::getMinFilter  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Implements NL3D::UTexture. +

+Definition at line 120 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, and uint32. +

+

00121         {
+00122                 NL3D_MEM_TEXTURE
+00123                 return (UTexture::TMinFilter)(uint32)_Texture->getMinFilter();
+00124         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual NLMISC::CRGBA NL3D::CTextureUser::getPixelColor sint32  x,
sint32  y
const [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Implements NL3D::UTexture. +

+Definition at line 135 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, sint32, x, and y. +

+

00136         {
+00137                 NL3D_MEM_TEXTURE
+00138                 return _Texture->getPixelColor(x,y);
+00139         }
+
+

+ + + + +
+ + + + + + + + + +
virtual TUploadFormat NL3D::CTextureUser::getUploadFormat  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Implements NL3D::UTexture. +

+Definition at line 105 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, and uint32. +

+

00106         {
+00107                 NL3D_MEM_TEXTURE
+00108                 return (UTexture::TUploadFormat)(uint32)_Texture->getUploadFormat();
+00109         }
+
+

+ + + + +
+ + + + + + + + + +
virtual TWrapMode NL3D::CTextureUser::getWrapS  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Implements NL3D::UTexture. +

+Definition at line 90 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, and uint32. +

+

00091         {
+00092                 NL3D_MEM_TEXTURE
+00093                 return (UTexture::TWrapMode)(uint32)_Texture->getWrapS();
+00094         }
+
+

+ + + + +
+ + + + + + + + + +
virtual TWrapMode NL3D::CTextureUser::getWrapT  )  const [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Implements NL3D::UTexture. +

+Definition at line 95 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, and uint32. +

+

00096         {
+00097                 NL3D_MEM_TEXTURE
+00098                 return (UTexture::TWrapMode)(uint32)_Texture->getWrapT();
+00099         }
+
+

+ + + + +
+ + + + + + + + + +
virtual bool NL3D::CTextureUser::mipMapOff  )  const [inline, 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. +

+Implements NL3D::UTexture. +

+Definition at line 125 of file texture_user.h. +

+References NL3D_MEM_TEXTURE. +

+

00126         {
+00127                 NL3D_MEM_TEXTURE
+00128                 return _Texture->mipMapOff();
+00129         }
+
+

+ + + + +
+ + + + + + + + + +
virtual bool NL3D::CTextureUser::mipMapOn  )  const [inline, 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). +

+Implements NL3D::UTexture. +

+Definition at line 130 of file texture_user.h. +

+References NL3D_MEM_TEXTURE. +

+

00131         {
+00132                 NL3D_MEM_TEXTURE
+00133                 return _Texture->mipMapOn();
+00134         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::CTextureUser::setFilterMode TMagFilter  magf,
TMinFilter  minf
[inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Implements NL3D::UTexture. +

+Definition at line 110 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, and uint32. +

+

00111         {
+00112                 NL3D_MEM_TEXTURE
+00113                 _Texture->setFilterMode((ITexture::TMagFilter)(uint32)magf, (ITexture::TMinFilter)(uint32)minf);
+00114         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::CTextureUser::setReleasable bool  bReleasable  )  [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Implements NL3D::UTexture. +

+Definition at line 140 of file texture_user.h. +

+References NL3D_MEM_TEXTURE. +

+

00141         {
+00142                 NL3D_MEM_TEXTURE
+00143                 _Texture->setReleasable(bReleasable);
+00144         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::CTextureUser::setUploadFormat TUploadFormat  pf  )  [inline, 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). +

+Implements NL3D::UTexture. +

+Definition at line 100 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, and uint32. +

+

00101         {
+00102                 NL3D_MEM_TEXTURE
+00103                 _Texture->setUploadFormat((ITexture::TUploadFormat)(uint32)pf);
+00104         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::CTextureUser::setWrapS TWrapMode  mode  )  [inline, 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.
+ +

+Implements NL3D::UTexture. +

+Definition at line 80 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, and uint32. +

+

00081         {
+00082                 NL3D_MEM_TEXTURE
+00083                 _Texture->setWrapS((ITexture::TWrapMode)(uint32)mode);
+00084         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::CTextureUser::setWrapT TWrapMode  mode  )  [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Implements NL3D::UTexture. +

+Definition at line 85 of file texture_user.h. +

+References NL3D_MEM_TEXTURE, and uint32. +

+

00086         {
+00087                 NL3D_MEM_TEXTURE
+00088                 _Texture->setWrapT((ITexture::TWrapMode)(uint32)mode);
+00089         }
+
+


Field Documentation

+

+ + + + +
+ + +
CSmartPtr<ITexture> NL3D::CTextureUser::_Texture [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 54 of file texture_user.h.

+


The documentation for this class was generated from the following file: +
Generated on Tue Mar 16 08:03:39 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1