CEGUI::NeLTexture Class Reference

#include <neltexture.h>

Inherits Texture.

List of all members.

Public Member Functions

virtual ushort getWidth (void) const
virtual ushort getHeight (void) const
virtual void loadFromFile (const String &filename, const String &resourceGroup)
virtual void loadFromMemory (const void *buffPtr, uint buffWidth, uint buffHeight, PixelFormat pixelFormat=CEGUI::Texture::PF_RGBA)
 Creates a NeL Texture from a raw memory buffer.
NL3D::UMaterial getNeLTexture (void)
void setNeLTextureSize (uint size)

Private Member Functions

 NeLTexture (Renderer *owner)
virtual ~NeLTexture (void)
void freeNeLTexture (void)
 Frees the texture from the NeL driver and deletes it.

Private Attributes

NL3D::UTextureFilem_TextureFile
NL3D::CTextureMemm_TextureMem
bool m_UsingFile
bool m_UsingMem
NL3D::UMaterial m_Material
NeLRendererm_Owner
ushort d_width
ushort d_height

Friends

TextureNeLRenderer::createTexture (void)
TextureNeLRenderer::createTexture (const String &filename, const String &resourceGroup)
TextureNeLRenderer::createTexture (float size)
void NeLRenderer::destroyTexture (Texture *texture)

Detailed Description

Definition at line 74 of file neltexture.h.


Constructor & Destructor Documentation

CEGUI::NeLTexture::NeLTexture ( Renderer owner  )  [private]
CEGUI::NeLTexture::~NeLTexture ( void   )  [private, virtual]

Member Function Documentation

void CEGUI::NeLTexture::freeNeLTexture ( void   )  [private]

Frees the texture from the NeL driver and deletes it.

Todo:
Fix the deletion of CTextureMem textures.

Definition at line 197 of file neltexture.cpp.

References NL3D::UDriver::deleteTextureFile(), CEGUI::NeLRenderer::getNeLDriver(), m_Owner, m_TextureFile, m_TextureMem, m_UsingFile, m_UsingMem, and nlwarning.

Referenced by loadFromFile(), loadFromMemory(), and ~NeLTexture().

virtual ushort CEGUI::NeLTexture::getHeight ( void   )  const [inline, virtual]

Definition at line 87 of file neltexture.h.

References d_height.

NL3D::UMaterial CEGUI::NeLTexture::getNeLTexture ( void   ) 

Definition at line 193 of file neltexture.cpp.

References m_Material.

Referenced by CEGUI::NeLRenderer::addQuad().

virtual ushort CEGUI::NeLTexture::getWidth ( void   )  const [inline, virtual]

Definition at line 86 of file neltexture.h.

References d_width.

void CEGUI::NeLTexture::loadFromFile ( const String &  filename,
const String &  resourceGroup 
) [virtual]
void CEGUI::NeLTexture::loadFromMemory ( const void *  buffPtr,
uint  buffWidth,
uint  buffHeight,
PixelFormat  pixelFormat = CEGUI::Texture::PF_RGBA 
) [virtual]

Creates a NeL Texture from a raw memory buffer.

Parameters:
buffPtr The pointer to the buffer containing the texture.
buffWidth The width of the texture in pixels.
buffHeight The height of the texture in pixels.
pixelFormat The type of pixel packing used.
Todo:
Clean up CTextureMem creation and registration.

This debugging is handy when you're not sure if the memory buffer being sent to you from CEGUI is valid. Uncomment it and it'll create a file called loadfrommem###.tga in your working directory.

NLMISC::CBitmap btm; btm.reset(); btm.resize(buffWidth,buffHeight,NLMISC::CBitmap::RGBA); uint8 *dest=&(btm.getPixels()[0]); memcpy(dest,buffPtr,buffWidth*buffHeight*4); std::string filename = NLMISC::CFile::findNewFile("loadfrommem.tga"); NLMISC::COFile fs(filename); btm.writeTGA(fs);

Configure the material. This is a little more complicated than loading a texture from a file, since CTextureFileUser and CTextureFile take care of prepping all of the necessary alpha settings.

We still use alpha testing to cull out pixels to speed up blending and multitexturing.

Definition at line 112 of file neltexture.cpp.

References NL3D::UMaterial::always, NL3D::ITexture::Clamp, d_height, d_width, NL3D::UMaterial::Diffuse, freeNeLTexture(), NL3D::ITexture::generate(), NL3D::UMaterial::getObjectPtr(), NL3D::CMaterial::initUnlit(), NL3D::UMaterial::invsrcalpha, NL3D::ITexture::Linear, NL3D::ITexture::LinearMipMapOff, m_Material, m_TextureMem, m_UsingFile, m_UsingMem, NL3D::UMaterial::Modulate, nlinfo, NL3D::CMaterial::Normal, NLMISC::CBitmap::RGBA, NL3D::UMaterial::setAlphaTest(), NL3D::UMaterial::setAlphaTestThreshold(), NL3D::UMaterial::setBlend(), NL3D::UMaterial::setBlendFunc(), NL3D::UMaterial::setDoubleSided(), NL3D::ITexture::setFilterMode(), NL3D::ITexture::setReleasable(), NL3D::CMaterial::setShader(), NL3D::CMaterial::setTexture(), NL3D::ITexture::setWrapS(), NL3D::ITexture::setWrapT(), NL3D::UMaterial::setZFunc(), NL3D::UMaterial::SrcAlpha, NL3D::UMaterial::srcalpha, NL3D::UMaterial::SrcColor, NL3D::UMaterial::texEnvArg0Alpha(), NL3D::UMaterial::texEnvArg0RGB(), NL3D::UMaterial::texEnvArg1Alpha(), NL3D::UMaterial::texEnvArg1RGB(), NL3D::UMaterial::texEnvOpAlpha(), NL3D::UMaterial::texEnvOpRGB(), and NL3D::UMaterial::Texture.

void CEGUI::NeLTexture::setNeLTextureSize ( uint  size  ) 

Friends And Related Function Documentation

Texture* NeLRenderer::createTexture ( float  size  )  [friend]
Texture* NeLRenderer::createTexture ( const String &  filename,
const String &  resourceGroup 
) [friend]
Texture* NeLRenderer::createTexture ( void   )  [friend]
void NeLRenderer::destroyTexture ( Texture texture  )  [friend]

Member Data Documentation

ushort CEGUI::NeLTexture::d_height [private]

Definition at line 117 of file neltexture.h.

Referenced by getHeight(), loadFromFile(), and loadFromMemory().

ushort CEGUI::NeLTexture::d_width [private]

Definition at line 116 of file neltexture.h.

Referenced by getWidth(), loadFromFile(), and loadFromMemory().

Definition at line 113 of file neltexture.h.

Referenced by getNeLTexture(), loadFromFile(), loadFromMemory(), NeLTexture(), and ~NeLTexture().

Definition at line 115 of file neltexture.h.

Referenced by freeNeLTexture(), loadFromFile(), NeLTexture(), and ~NeLTexture().

Definition at line 109 of file neltexture.h.

Referenced by freeNeLTexture(), loadFromFile(), and NeLTexture().

Definition at line 110 of file neltexture.h.

Referenced by freeNeLTexture(), loadFromMemory(), and NeLTexture().

Definition at line 111 of file neltexture.h.

Referenced by freeNeLTexture(), loadFromFile(), loadFromMemory(), and NeLTexture().

Definition at line 112 of file neltexture.h.

Referenced by freeNeLTexture(), loadFromFile(), loadFromMemory(), and NeLTexture().


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

Generated on Thu Jan 7 08:30:02 2010 for NeL by  doxygen 1.6.1