nux-1.16.0
nux::TextureCube Class Reference
Inheritance diagram for nux::TextureCube:
nux::BaseTexture nux::ResourceData nux::Object nux::Trackable nux::Introspectable

List of all members.

Public Member Functions

 TextureCube (NUX_FILE_LINE_PROTO)
 TextureCube (const TextureCube &texture)
TextureCubeoperator= (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 BaseTextureClone () const

Detailed Description

Definition at line 335 of file GLTextureResourceManager.h.


Member Function Documentation

BaseTexture * nux::TextureCube::Clone ( ) const [virtual]

Clone the texture.

Returns:
A cloned version of this 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]
Returns:
The texture data format.

Implements nux::BaseTexture.

Definition at line 385 of file GLTextureResourceManager.h.

    {
      return _image.GetFormat ();
    }
int nux::TextureCube::GetHeight ( ) const [inline, virtual]
Returns:
The texture height.

Implements nux::BaseTexture.

Definition at line 377 of file GLTextureResourceManager.h.

    {
      return _image.GetHeight ();
    }
int nux::TextureCube::GetNumMipLevel ( ) const [inline, virtual]
Returns:
The number of mip maps in the texture.

Implements nux::BaseTexture.

Definition at line 361 of file GLTextureResourceManager.h.

    {
      return _image.GetNumMipmap ();
    }
int nux::TextureCube::GetWidth ( ) const [inline, virtual]
Returns:
The texture width.

Implements nux::BaseTexture.

Definition at line 369 of file GLTextureResourceManager.h.

    {
      return _image.GetWidth ();
    }
virtual bool nux::TextureCube::IsNull ( ) const [inline, virtual]
Returns:
True if the texture storage contains valid bitmap data.

Implements nux::BaseTexture.

Definition at line 352 of file GLTextureResourceManager.h.

    {
      return _image.IsNull ();
    }
bool nux::TextureCube::IsPowerOfTwo ( ) const [inline, virtual]
Returns:
True if the width and height of the texture are powers of two.

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.

Returns:
True if there was no error during the update.

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.

Returns:
True if there was no error during the update.

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

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends