GFXGLShaderConstBuffer Class Reference

#include <gfxGLShader.h>

Inheritance diagram for GFXGLShaderConstBuffer:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 GFXGLShaderConstBuffer (GFXGLShader *shader, U32 bufSize)
 ~GFXGLShaderConstBuffer ()
void activate ()
 Called by GFXGLDevice to activate this buffer.
GFXShaderConstBuffer interface
virtual GFXShadergetShader ()
 Return the shader that created this buffer.
Set shader constant values
Actually set shader constant values
Parameters:
name Name of the constant, this should be a name contained in the array returned in getShaderConstDesc, if an invalid name is used, its ignored.


virtual void set (GFXShaderConstHandle *handle, const F32 fv)
virtual void set (GFXShaderConstHandle *handle, const Point2F &fv)
virtual void set (GFXShaderConstHandle *handle, const Point3F &fv)
virtual void set (GFXShaderConstHandle *handle, const Point4F &fv)
virtual void set (GFXShaderConstHandle *handle, const ColorF &fv)
virtual void set (GFXShaderConstHandle *handle, const S32 f)
virtual void set (GFXShaderConstHandle *handle, const Point2I &fv)
virtual void set (GFXShaderConstHandle *handle, const Point3I &fv)
virtual void set (GFXShaderConstHandle *handle, const Point4I &fv)
virtual void set (GFXShaderConstHandle *handle, const AlignedArray< F32 > &fv)
virtual void set (GFXShaderConstHandle *handle, const AlignedArray< Point2F > &fv)
virtual void set (GFXShaderConstHandle *handle, const AlignedArray< Point3F > &fv)
virtual void set (GFXShaderConstHandle *handle, const AlignedArray< Point4F > &fv)
virtual void set (GFXShaderConstHandle *handle, const AlignedArray< S32 > &fv)
virtual void set (GFXShaderConstHandle *handle, const AlignedArray< Point2I > &fv)
virtual void set (GFXShaderConstHandle *handle, const AlignedArray< Point3I > &fv)
virtual void set (GFXShaderConstHandle *handle, const AlignedArray< Point4I > &fv)
virtual void set (GFXShaderConstHandle *handle, const MatrixF &mat, const GFXShaderConstType matType=GFXSCT_Float4x4)
 Specify the type of the matrix, only the GFXSCT types ending in NxN are valid.
virtual void set (GFXShaderConstHandle *handle, const MatrixF *mat, const U32 arraySize, const GFXShaderConstType matrixType=GFXSCT_Float4x4)
 Same as above, but in array form.
GFXResource interface
virtual const String describeSelf () const
 The resource should put a description of itself (number of vertices, size/width of texture, etc.) in buffer.
virtual void zombify ()
 When called the resource should destroy all device sensitive information (e.g. D3D resources in D3DPOOL_DEFAULT.
virtual void resurrect ()
 When called the resource should restore all device sensitive information destroyed by zombify().

Private Attributes

U8mBuffer
GFXGLShadermShader

Friends

class GFXGLShader

Constructor & Destructor Documentation

GFXGLShaderConstBuffer::GFXGLShaderConstBuffer ( GFXGLShader shader,
U32  bufSize 
)

GFXGLShaderConstBuffer::~GFXGLShaderConstBuffer (  ) 


Member Function Documentation

void GFXGLShaderConstBuffer::activate (  ) 

Called by GFXGLDevice to activate this buffer.

virtual GFXShader* GFXGLShaderConstBuffer::getShader (  )  [inline, virtual]

Return the shader that created this buffer.

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const F32  fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const Point2F fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const Point3F fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const Point4F fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const ColorF fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const S32  f 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const Point2I fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const Point3I fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const Point4I fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const AlignedArray< F32 > &  fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const AlignedArray< Point2F > &  fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const AlignedArray< Point3F > &  fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const AlignedArray< Point4F > &  fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const AlignedArray< S32 > &  fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const AlignedArray< Point2I > &  fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const AlignedArray< Point3I > &  fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const AlignedArray< Point4I > &  fv 
) [virtual]

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const MatrixF mat,
const GFXShaderConstType  matType = GFXSCT_Float4x4 
) [virtual]

Specify the type of the matrix, only the GFXSCT types ending in NxN are valid.

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::set ( GFXShaderConstHandle handle,
const MatrixF mat,
const U32  arraySize,
const GFXShaderConstType  matrixType = GFXSCT_Float4x4 
) [virtual]

Same as above, but in array form.

We don't use an AlignedArray here because the packing of non 4x4 arrays will differ more than we can express with an AlignedArray. So the API is responsible for marshaling the data into the format it needs. In practice, that means that 4x4 matrices are going to be quickest (straight memory copy on D3D and GL). Other dimensions will require "interesting" code to handle marshaling.

Implements GFXShaderConstBuffer.

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

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

Implements GFXShaderConstBuffer.

virtual void GFXGLShaderConstBuffer::zombify (  )  [inline, virtual]

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

Implements GFXResource.

virtual void GFXGLShaderConstBuffer::resurrect (  )  [inline, virtual]

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

Implements GFXResource.


Friends And Related Function Documentation

friend class GFXGLShader [friend]


Member Data Documentation