Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XFcGLComplexSurfaceResource Class Reference

Resource for XFcGLTexture object. More...

Inheritance diagram for XFcGLComplexSurfaceResource:

Inheritance graph
[legend]
Collaboration diagram for XFcGLComplexSurfaceResource:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~XFcGLComplexSurfaceResource ()
 Virtual destructor.

XFcGLSurfacelock (INT32 aSurfaceNumber)
 Locks a surface.

INT unlock (INT32 aSurfaceNumber)
 Unlocks a surface.

INT32 getSurfaceCount ()
 Returns the surface count.

INT32 getSurfaceFormat ()
 Returns the surface format (all surfaces must be of the same format).


Static Public Member Functions

XFcGLComplexSurfaceResource * create (XFcGLTextureBuilder *aBuilder, INT32 aFlags)
 Creates a XFcGLComplexSurfaceResource object.


Protected Member Functions

 XFcGLComplexSurfaceResource ()
 Protected constructor.

virtual INT callback (void *aBuffer)
 Called whenever resource manager needs to re-create the resource.


Protected Attributes

INT32 mSurfaces
 Surface count.

INT32mSurfaceOffset
 Surface offsets inside the resource.

XFcGLSurface ** mSurface
 Pointers to surfaces.

XFcGLTextureBuildermBuilder
 Pointer to parent (used in creation of surface data).

INT32 mLockCount
 Lock count.

void * mData
 Data pointer.


Detailed Description

Resource for XFcGLTexture object.

This class acts as the resource for the XFcGLTexture object. It stores all of the texture's surface data in a single resource. The negative side from this is that if the texture resource is lost, all of the mipmaps will have to be generated whenever the texture is needed next. Positive side is that this dramatically reduces the fragmentation of resource memory, and also speeds up texture finding, as the resource manager does not need to go through N * 8 resources. Swapping between mipmaps inside a single texture is also faster.

See also:
XFcGLTexture


Constructor & Destructor Documentation

virtual XFcGLComplexSurfaceResource::~XFcGLComplexSurfaceResource   [virtual]
 

Virtual destructor.

XFcGLComplexSurfaceResource::XFcGLComplexSurfaceResource   [protected]
 

Protected constructor.


Member Function Documentation

virtual INT XFcGLComplexSurfaceResource::callback void *    aBuffer [protected, virtual]
 

Called whenever resource manager needs to re-create the resource.

Reimplemented from XFcResource.

XFcGLComplexSurfaceResource* XFcGLComplexSurfaceResource::create XFcGLTextureBuilder   aBuilder,
INT32    aFlags
[static]
 

Creates a XFcGLComplexSurfaceResource object.

XFcGLTextureBuilder is queried for surface details.

INT32 XFcGLComplexSurfaceResource::getSurfaceCount  
 

Returns the surface count.

INT32 XFcGLComplexSurfaceResource::getSurfaceFormat  
 

Returns the surface format (all surfaces must be of the same format).

XFcGLSurface* XFcGLComplexSurfaceResource::lock INT32    aSurfaceNumber
 

Locks a surface.

INT XFcGLComplexSurfaceResource::unlock INT32    aSurfaceNumber
 

Unlocks a surface.


Member Data Documentation

XFcGLTextureBuilder* XFcGLComplexSurfaceResource::mBuilder [protected]
 

Pointer to parent (used in creation of surface data).

void* XFcGLComplexSurfaceResource::mData [protected]
 

Data pointer.

INT32 XFcGLComplexSurfaceResource::mLockCount [protected]
 

Lock count.

XFcGLSurface** XFcGLComplexSurfaceResource::mSurface [protected]
 

Pointers to surfaces.

INT32* XFcGLComplexSurfaceResource::mSurfaceOffset [protected]
 

Surface offsets inside the resource.

INT32 XFcGLComplexSurfaceResource::mSurfaces [protected]
 

Surface count.


   
X-Forge Documentation
Confidential
Copyright © 2002-2003 Fathammer
   
Documentation generated
with doxygen
by Dimitri van Heesch