nux-1.16.0
|
Public Member Functions | |
TextureCube (NUX_FILE_LINE_PROTO) | |
TextureCube (const TextureCube &texture) | |
TextureCube & | operator= (const TextureCube &texture) |
virtual bool | Update (const NBitmapData *BitmapData, bool UpdateAndCacheResource=true) |
virtual bool | Update (const TCHAR *filename, bool UpdateAndCacheResource=true) |
virtual bool | IsNull () const |
void | GetData (void *Buffer, int MipIndex, int StrideY, int face=0) |
int | GetNumMipLevel () const |
int | GetWidth () const |
int | GetHeight () const |
BitmapFormat | GetFormat () const |
bool | IsPowerOfTwo () const |
virtual BaseTexture * | Clone () const |
Definition at line 335 of file GLTextureResourceManager.h.
BaseTexture * nux::TextureCube::Clone | ( | ) | const [virtual] |
Clone the texture.
Implements nux::BaseTexture.
Definition at line 687 of file GLTextureResourceManager.cpp.
{ TextureCube* texture = new TextureCube(*this); return texture; }
BitmapFormat nux::TextureCube::GetFormat | ( | ) | const [inline, virtual] |
Implements nux::BaseTexture.
Definition at line 385 of file GLTextureResourceManager.h.
{
return _image.GetFormat ();
}
int nux::TextureCube::GetHeight | ( | ) | const [inline, virtual] |
Implements nux::BaseTexture.
Definition at line 377 of file GLTextureResourceManager.h.
{
return _image.GetHeight ();
}
int nux::TextureCube::GetNumMipLevel | ( | ) | const [inline, virtual] |
Implements nux::BaseTexture.
Definition at line 361 of file GLTextureResourceManager.h.
{
return _image.GetNumMipmap ();
}
int nux::TextureCube::GetWidth | ( | ) | const [inline, virtual] |
Implements nux::BaseTexture.
Definition at line 369 of file GLTextureResourceManager.h.
{
return _image.GetWidth ();
}
virtual bool nux::TextureCube::IsNull | ( | ) | const [inline, virtual] |
Implements nux::BaseTexture.
Definition at line 352 of file GLTextureResourceManager.h.
{
return _image.IsNull ();
}
bool nux::TextureCube::IsPowerOfTwo | ( | ) | const [inline, virtual] |
Implements nux::BaseTexture.
Definition at line 393 of file GLTextureResourceManager.h.
{
return IsPowerOf2 (_image.GetWidth() ) && IsPowerOf2 (_image.GetHeight() );
}
bool nux::TextureCube::Update | ( | const NBitmapData * | BitmapData, |
bool | UpdateAndCacheResource = true |
||
) | [virtual] |
Update the texture with the provided Bitmap data. In doing so, if the texture as been cached in the resource manager, then the the DeviceTexture inside the CachedTexture will no longer be returned by GetDeviceTexture (). Instead a new device texture will be returned.
Pointer to the bitmap data. If true, then the texture is cached immediately. If false, the texture will be cached the first time GetDeviceTexture () or GetCachedTexture () is called.
Implements nux::BaseTexture.
Definition at line 640 of file GLTextureResourceManager.cpp.
References nux::GraphicsEngine::UpdateResource().
Referenced by Update().
{ nuxAssertMsg (BitmapData, TEXT ("[TextureCube::Update] Argument BitmapData is NULL.") ); NUX_RETURN_VALUE_IF_NULL (BitmapData, false); if (!BitmapData->IsCubemapTextureData() ) { nuxAssertMsg (0, TEXT ("[TextureCube::Update] Argument BitmapData is not a Cube texture") ); return false; } _image = *static_cast<const NCubemapData *> (BitmapData); if (UpdateAndCacheResource) { // call the texture manager and recreate the texture (CachedTexture2D) associated with this object if any. GetGraphicsDisplay()->GetGraphicsEngine()->UpdateResource (this); } return true; }
bool nux::TextureCube::Update | ( | const TCHAR * | filename, |
bool | UpdateAndCacheResource = true |
||
) | [virtual] |
Update the texture with the provided filename. In doing so, if the texture as been cached in the resource manager, then the the DeviceTexture inside the CachedTexture will no longer be returned by GetDeviceTexture (). Instead a new device texture will be returned.
Pointer to the bitmap data. If true, then the texture is cached immediately. If false, the texture will be cached the first time GetDeviceTexture () or GetCachedTexture () is called.
Implements nux::BaseTexture.
Definition at line 662 of file GLTextureResourceManager.cpp.
References nux::LoadImageFile(), and Update().
{ NBitmapData *BitmapData = LoadImageFile (filename); nuxAssertMsg (BitmapData, TEXT ("[TextureCube::Update] Bitmap for file (%s) is NULL."), filename); NUX_RETURN_VALUE_IF_NULL (BitmapData, false); bool ret = Update (BitmapData); NUX_SAFE_DELETE (BitmapData); return ret; }