Direct3D9::D3D9ParticleRenderer Class Reference
#include <d3d9particlerenderer.h>
Inheritance diagram for Direct3D9::D3D9ParticleRenderer:
Detailed Description
Particle system renderer for D3D9/Xbox360. The renderer makes use of hardware instancing to prevent writing redundant data to dynamic vertex buffers.See here for details: http://zeuxcg.blogspot.com/2007/09/particle-rendering-revisited.html
(C) 2008 Radon Labs GmbH
Public Member Functions | |
D3D9ParticleRenderer () | |
constructor | |
virtual | ~D3D9ParticleRenderer () |
destructor | |
virtual void | Setup () |
setup the particle renderer | |
virtual void | Discard () |
discard the particle renderer | |
virtual void | BeginAttach () |
begin attaching visible particle systems | |
virtual void | EndAttach () |
finish attaching visible particle systems | |
IndexT | GetCurParticleVertexIndex () const |
get the current vertex index | |
void | AddCurParticleVertexIndex (IndexT add) |
add particle vertex index | |
void * | GetCurVertexPtr () |
get the current vertex pointer | |
void | SetCurVertexPtr (void *ptr) |
set the current vertex pointer | |
const Ptr< CoreGraphics::VertexBuffer > & | GetParticleVertexBuffer () const |
get particle vertex buffer | |
const Ptr< CoreGraphics::VertexBuffer > & | GetCornerVertexBuffer () const |
get the corner vertex buffer | |
const Ptr< CoreGraphics::IndexBuffer > & | GetCornerIndexBuffer () const |
get the corner index buffer | |
CoreGraphics::PrimitiveGroup & | GetPrimitiveGroup () |
get the primitive group | |
const Ptr< CoreGraphics::VertexLayout > & | GetVertexLayout () const |
get the vertex layout | |
bool | IsValid () const |
return true if particle renderer has been setup | |
void | AddVisibleParticleSystem (const Ptr< Particles::ParticleSystemInstance > &particleSystemInstance) |
attach a visible particle system instance | |
bool | IsInAttach () const |
is renderer in attach? | |
void | RenderParticleSystem (const Ptr< Particles::ParticleSystemInstance > &particleSystemInstance) |
render particles of previously attached particle system | |
int | GetRefCount () const |
get the current refcount | |
void | AddRef () |
increment refcount by one | |
void | Release () |
decrement refcount and destroy object if refcount is zero | |
bool | IsInstanceOf (const Rtti &rtti) const |
return true if this object is instance of given class | |
bool | IsInstanceOf (const Util::String &className) const |
return true if this object is instance of given class by string | |
bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
return true if this object is instance of given class by fourcc | |
bool | IsA (const Rtti &rtti) const |
return true if this object is instance of given class, or a derived class | |
bool | IsA (const Util::String &rttiName) const |
return true if this object is instance of given class, or a derived class, by string | |
bool | IsA (const Util::FourCC &rttiFourCC) const |
return true if this object is instance of given class, or a derived class, by fourcc | |
const Util::String & | GetClassName () const |
get the class name | |
Util::FourCC | GetClassFourCC () const |
get the class FourCC code | |
Static Public Member Functions | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!) |
Member Function Documentation
void Direct3D9::D3D9ParticleRenderer::BeginAttach | ( | ) | [virtual] |
begin attaching visible particle systems
This method is called once per frame before visible particle systems are attached.
Reimplemented from Base::ParticleRendererBase.
void Direct3D9::D3D9ParticleRenderer::EndAttach | ( | ) | [virtual] |
finish attaching visible particle systems
This method is called once per frame after visible particle systems are attached.
Reimplemented from Base::ParticleRendererBase.
int Core::RefCounted::GetRefCount | ( | ) | const [inline, inherited] |
get the current refcount
Return the current refcount of the object.
void Core::RefCounted::AddRef | ( | ) | [inline, inherited] |
increment refcount by one
Increment the refcount of the object.
void Core::RefCounted::Release | ( | ) | [inline, inherited] |
decrement refcount and destroy object if refcount is zero
Decrement the refcount and destroy object if refcount is zero.
const Util::String & Core::RefCounted::GetClassName | ( | ) | const [inline, inherited] |
get the class name
Get the class name of the object.
Util::FourCC Core::RefCounted::GetClassFourCC | ( | ) | const [inline, inherited] |
get the class FourCC code
Get the class FourCC of the object.
void Core::RefCounted::DumpRefCountingLeaks | ( | ) | [static, inherited] |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)
This method should be called as the very last before an application exits.