GFXGLTextureTarget Class Reference

#include <gfxGLTextureTarget.h>

Inheritance diagram for GFXGLTextureTarget:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 GFXGLTextureTarget ()
virtual ~GFXGLTextureTarget ()
virtual const Point2I getSize ()
 Returns the size in pixels of this rendering target.
virtual void attachTexture (RenderSlot slot, GFXTextureObject *tex, U32 mipLevel=0, U32 zOffset=0)
virtual void attachTexture (RenderSlot slot, GFXCubemap *tex, U32 face, U32 mipLevel=0)
virtual void clearAttachments ()
 Detach all bound textures.
void zombify ()
 When called the resource should destroy all device sensitive information (e.g. D3D resources in D3DPOOL_DEFAULT.
void resurrect ()
 When called the resource should restore all device sensitive information destroyed by zombify().
virtual const String describeSelf () const
 The resource should put a description of itself (number of vertices, size/width of texture, etc.) in buffer.
_GFXGLTargetDesc * getTargetDesc (RenderSlot slot) const
 Returns the internal structure for the given slot. This should only be called by our internal implementations.
GLuint getFramebuffer () const
 Returns the framebuffer object we're using, or 0 if our implementation does not use framebuffer objects.

Static Public Member Functions

static void texCB (GFXTexCallbackCode code, void *userData)
 Texture callback.

Private Member Functions

void applyState ()
 These redirect to our internal implementation.
void makeActive ()
void finish ()

Private Attributes

bool _needsAux
 If true our implementation should use AUX buffers.
AutoPtr< _GFXGLTextureTargetImpl > _impl
 Pointer to our internal implementation.
AutoPtr< _GFXGLTargetDesc > mTargets [MaxRenderSlotId]
 Array of _GFXGLTargetDesc's, an internal struct used to keep track of texture data.
S32 mTexCallbackHandle
 Tex callback handle, used to unregister tex callback on delete.

Friends

class GFXGLDevice

Constructor & Destructor Documentation

GFXGLTextureTarget::GFXGLTextureTarget (  ) 

virtual GFXGLTextureTarget::~GFXGLTextureTarget (  )  [virtual]


Member Function Documentation

virtual const Point2I GFXGLTextureTarget::getSize (  )  [virtual]

Returns the size in pixels of this rendering target.

Implements GFXTarget.

virtual void GFXGLTextureTarget::attachTexture ( RenderSlot  slot,
GFXTextureObject tex,
U32  mipLevel = 0,
U32  zOffset = 0 
) [virtual]

virtual void GFXGLTextureTarget::attachTexture ( RenderSlot  slot,
GFXCubemap tex,
U32  face,
U32  mipLevel = 0 
) [virtual]

virtual void GFXGLTextureTarget::clearAttachments (  )  [virtual]

Detach all bound textures.

This is a helper function to make it easy to make sure a GFXTextureTarget is entirely empty before you move on to other rendering tasks. Because a GFXTextureTarget will keep references to bound GFXTextureObjects, not clearing can results in resource leaks and hard to track down bugs.

Implements GFXTextureTarget.

_GFXGLTargetDesc* GFXGLTextureTarget::getTargetDesc ( RenderSlot  slot  )  const

Returns the internal structure for the given slot. This should only be called by our internal implementations.

GLuint GFXGLTextureTarget::getFramebuffer (  )  const

Returns the framebuffer object we're using, or 0 if our implementation does not use framebuffer objects.

void GFXGLTextureTarget::zombify (  )  [virtual]

When called the resource should destroy all device sensitive information (e.g. D3D resources in D3DPOOL_DEFAULT.

Implements GFXResource.

void GFXGLTextureTarget::resurrect (  )  [virtual]

When called the resource should restore all device sensitive information destroyed by zombify().

Implements GFXResource.

virtual const String GFXGLTextureTarget::describeSelf (  )  const [virtual]

The resource should put a description of itself (number of vertices, size/width of texture, etc.) in buffer.

Reimplemented from GFXTarget.

static void GFXGLTextureTarget::texCB ( GFXTexCallbackCode  code,
void userData 
) [static]

Texture callback.

Parameters:
userData The GFXGLTextureTarget which needs to be dealt with

void GFXGLTextureTarget::applyState (  )  [private]

These redirect to our internal implementation.

void GFXGLTextureTarget::makeActive (  )  [private]

void GFXGLTextureTarget::finish (  )  [private]


Friends And Related Function Documentation

friend class GFXGLDevice [friend]


Member Data Documentation

If true our implementation should use AUX buffers.

AutoPtr<_GFXGLTextureTargetImpl> GFXGLTextureTarget::_impl [private]

Pointer to our internal implementation.

AutoPtr<_GFXGLTargetDesc> GFXGLTextureTarget::mTargets[MaxRenderSlotId] [private]

Array of _GFXGLTargetDesc's, an internal struct used to keep track of texture data.

Tex callback handle, used to unregister tex callback on delete.