#include <neltexture.h>
Inherits Texture.
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::UTextureFile * | m_TextureFile |
| NL3D::CTextureMem * | m_TextureMem |
| bool | m_UsingFile |
| bool | m_UsingMem |
| NL3D::UMaterial | m_Material |
| NeLRenderer * | m_Owner |
| ushort | d_width |
| ushort | d_height |
Friends | |
| Texture * | NeLRenderer::createTexture (void) |
| Texture * | NeLRenderer::createTexture (const String &filename, const String &resourceGroup) |
| Texture * | NeLRenderer::createTexture (float size) |
| void | NeLRenderer::destroyTexture (Texture *texture) |
Definition at line 74 of file neltexture.h.
| CEGUI::NeLTexture::NeLTexture | ( | Renderer * | owner | ) | [private] |
Definition at line 56 of file neltexture.cpp.
References NL3D::UDriver::createMaterial(), CEGUI::NeLRenderer::getNeLDriver(), m_Material, m_Owner, m_TextureFile, m_TextureMem, m_UsingFile, and m_UsingMem.
| CEGUI::NeLTexture::~NeLTexture | ( | void | ) | [private, virtual] |
Definition at line 66 of file neltexture.cpp.
References NL3D::UDriver::deleteMaterial(), freeNeLTexture(), CEGUI::NeLRenderer::getNeLDriver(), m_Material, and m_Owner.
| void CEGUI::NeLTexture::freeNeLTexture | ( | void | ) | [private] |
Frees the texture from the NeL driver and deletes it.
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] |
Definition at line 75 of file neltexture.cpp.
References NL3D::UMaterial::always, NL3D::UTexture::Clamp, NL3D::UDriver::createTextureFile(), d_height, d_width, file, freeNeLTexture(), NLMISC::CBitmap::getHeight(), CEGUI::NeLRenderer::getNeLDriver(), NLMISC::CBitmap::getWidth(), NL3D::UMaterial::invsrcalpha, NLMISC::CBitmap::load(), NLMISC::CPath::lookup(), m_Material, m_Owner, m_TextureFile, m_UsingFile, m_UsingMem, nlinfo, NL3D::UMaterial::setAlphaTest(), NL3D::UMaterial::setBlend(), NL3D::UMaterial::setBlendFunc(), NL3D::UMaterial::setDoubleSided(), NL3D::UMaterial::setTexture(), NL3D::UTexture::setWrapS(), NL3D::UTexture::setWrapT(), NL3D::UMaterial::setZFunc(), and NL3D::UMaterial::srcalpha.
Referenced by CEGUI::NeLRenderer::createTexture().
| 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.
| 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. |
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 | ) |
| Texture* NeLRenderer::createTexture | ( | const String & | filename, | |
| const String & | resourceGroup | |||
| ) | [friend] |
| Texture* NeLRenderer::createTexture | ( | void | ) | [friend] |
| void NeLRenderer::destroyTexture | ( | Texture * | texture | ) | [friend] |
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().
NL3D::UMaterial CEGUI::NeLTexture::m_Material [private] |
Definition at line 113 of file neltexture.h.
Referenced by getNeLTexture(), loadFromFile(), loadFromMemory(), NeLTexture(), and ~NeLTexture().
NeLRenderer* CEGUI::NeLTexture::m_Owner [private] |
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().
NL3D::CTextureMem* CEGUI::NeLTexture::m_TextureMem [private] |
Definition at line 110 of file neltexture.h.
Referenced by freeNeLTexture(), loadFromMemory(), and NeLTexture().
bool CEGUI::NeLTexture::m_UsingFile [private] |
Definition at line 111 of file neltexture.h.
Referenced by freeNeLTexture(), loadFromFile(), loadFromMemory(), and NeLTexture().
bool CEGUI::NeLTexture::m_UsingMem [private] |
Definition at line 112 of file neltexture.h.
Referenced by freeNeLTexture(), loadFromFile(), loadFromMemory(), and NeLTexture().
1.6.1