nux-0.9.46

nux::IOpenGLBaseTexture Class Reference

#include <NuxGraphics/IOpenGLBaseTexture.h>

Inheritance diagram for nux::IOpenGLBaseTexture:
nux::IOpenGLResource nux::Object nux::Trackable nux::IOpenGLAnimatedTexture nux::IOpenGLCubeTexture nux::IOpenGLRectangleTexture nux::IOpenGLTexture2D nux::IOpenGLVolumeTexture

Public Member Functions

 IOpenGLBaseTexture (OpenGLResourceType ResourceType, t_u32 Width, t_u32 Height, t_u32 Depth, t_u32 NumMipLevel, BitmapFormat PixelFormat, NUX_FILE_LINE_PROTO)
virtual ~IOpenGLBaseTexture ()
BitmapFormat GetPixelFormat () const
t_s32 GetNumMipLevel () const
bool IsPowerOfTwo () const
t_s32 GetWidth () const
t_s32 GetHeight () const
t_s32 GetDepth () const
int GetFormatRowMemoryAlignment () const
void SetRenderStates ()
void SetFiltering (t_u32 MIN=GL_NEAREST, t_u32 MAG=GL_NEAREST)
void SetWrap (t_u32 U=GL_REPEAT, t_u32 V=GL_REPEAT, t_u32 W=GL_REPEAT)
void SetLOD (float MinLod=-1000.0f, float MaxLod=+1000.0f)
void SetMipLevel (t_u32 MinMip=0, t_u32 MaxMip=1000)
void SetBorderColor (float R, float G, float B, float A)
int BindTexture ()
int BindTextureToUnit (int TextureUnitIndex)
virtual void GetSurfaceLevel (int Level, ObjectPtr< IOpenGLSurface > &surface)
virtual ObjectPtr< IOpenGLSurfaceGetSurfaceLevel (int Level)
virtual int LockRect (int Level, SURFACE_LOCKED_RECT *pLockedRect, const SURFACE_RECT *pRect)
virtual int UnlockRect (int Level)
virtual void * GetSurfaceData (int level, int &width, int &height, int &format)
 Return the a pointer to the texture mip level data.

Protected Attributes

GLTextureStates _TextureStates
bool _IsPOT
t_s32 _NumMipLevel
BitmapFormat _PixelFormat
t_s32 _Width
t_s32 _Height
int _Depth
int _RowMemoryAlignment

Friends

class IOpenGLSurface
class IOpenGLVolume
void GetTextureDesc (IOpenGLBaseTexture *pTexture, t_u32 Level, TEXTURE_DESC *pDesc)
t_s32 GetTextureSize (IOpenGLBaseTexture *pTexture)

Constructor & Destructor Documentation

nux::IOpenGLBaseTexture::IOpenGLBaseTexture ( OpenGLResourceType  ResourceType,
t_u32  Width,
t_u32  Height,
t_u32  Depth,
t_u32  NumMipLevel,
BitmapFormat  PixelFormat,
NUX_FILE_LINE_PROTO   
)
virtual nux::IOpenGLBaseTexture::~IOpenGLBaseTexture ( ) [virtual]

Member Function Documentation

int nux::IOpenGLBaseTexture::BindTexture ( )
int nux::IOpenGLBaseTexture::BindTextureToUnit ( int  TextureUnitIndex)
t_s32 nux::IOpenGLBaseTexture::GetDepth ( ) const [inline]
int nux::IOpenGLBaseTexture::GetFormatRowMemoryAlignment ( ) const [inline]

References _RowMemoryAlignment.

t_s32 nux::IOpenGLBaseTexture::GetHeight ( ) const [inline]
t_s32 nux::IOpenGLBaseTexture::GetNumMipLevel ( ) const [inline]

References _NumMipLevel.

BitmapFormat nux::IOpenGLBaseTexture::GetPixelFormat ( ) const [inline]
virtual void* nux::IOpenGLBaseTexture::GetSurfaceData ( int  level,
int &  width,
int &  height,
int &  format 
) [virtual]

Return the a pointer to the texture mip level data.

Reimplemented in nux::IOpenGLRectangleTexture, and nux::IOpenGLTexture2D.

virtual void nux::IOpenGLBaseTexture::GetSurfaceLevel ( int  Level,
ObjectPtr< IOpenGLSurface > &  surface 
) [virtual]
virtual ObjectPtr<IOpenGLSurface> nux::IOpenGLBaseTexture::GetSurfaceLevel ( int  Level) [virtual]
t_s32 nux::IOpenGLBaseTexture::GetWidth ( ) const [inline]
bool nux::IOpenGLBaseTexture::IsPowerOfTwo ( ) const [inline]

References _IsPOT.

virtual int nux::IOpenGLBaseTexture::LockRect ( int  Level,
SURFACE_LOCKED_RECT pLockedRect,
const SURFACE_RECT pRect 
) [virtual]
void nux::IOpenGLBaseTexture::SetBorderColor ( float  R,
float  G,
float  B,
float  A 
)
void nux::IOpenGLBaseTexture::SetFiltering ( t_u32  MIN = GL_NEAREST,
t_u32  MAG = GL_NEAREST 
)
void nux::IOpenGLBaseTexture::SetLOD ( float  MinLod = -1000.0f,
float  MaxLod = +1000.0f 
)
void nux::IOpenGLBaseTexture::SetMipLevel ( t_u32  MinMip = 0,
t_u32  MaxMip = 1000 
)
void nux::IOpenGLBaseTexture::SetRenderStates ( )
void nux::IOpenGLBaseTexture::SetWrap ( t_u32  U = GL_REPEAT,
t_u32  V = GL_REPEAT,
t_u32  W = GL_REPEAT 
)
virtual int nux::IOpenGLBaseTexture::UnlockRect ( int  Level) [virtual]

Friends And Related Function Documentation

void GetTextureDesc ( IOpenGLBaseTexture pTexture,
t_u32  Level,
TEXTURE_DESC pDesc 
) [friend]
t_s32 GetTextureSize ( IOpenGLBaseTexture pTexture) [friend]
friend class IOpenGLVolume [friend]

Reimplemented from nux::IOpenGLResource.


Field Documentation

Referenced by IsPowerOfTwo().


The documentation for this class was generated from the following file: