Characters::CharacterServer Class Reference
#include <characterserver.h>
Inheritance diagram for Characters::CharacterServer:

Detailed Description
Handles central aspects of the character system.(C) 2009 Radon Labs GmbH
Public Member Functions | |
| CharacterServer () | |
| constructor | |
| virtual | ~CharacterServer () |
| destructor | |
| void | Setup () |
| setup the character server | |
| void | Discard () |
| discard the character server | |
| bool | IsValid () const |
| return true if character server has been setup | |
| SkinningTechnique::Code | GetSkinningTechnique () const |
| get the skinning technique used by this platform | |
| void | BeginFrame (IndexT frameIndex) |
| begin frame | |
| void | BeginGather () |
| begin gathering phase (there may be several per frame) | |
| void | GatherVisibleCharacter (const Ptr< CharacterInstance > &charInst, Timing::Time time) |
| register a visible character (same character may be registered several times per frame!) | |
| SkinnedMeshRenderer::DrawHandle | GatherSkinMesh (const Ptr< CharacterInstance > &charInst, const Ptr< CoreGraphics::Mesh > &srcMesh) |
| update a character skin | |
| void | EndGather () |
| finish gathering phase | |
| void | StartUpdateCharacterSkeletons () |
| update visible characters (update animation, evaluate skeleton, potentially perform software skinning) | |
| void | UpdateCharacterSkins () |
| update character skins (if software skinning) | |
| void | BeginDraw () |
| begin render phase | |
| void | DrawSoftwareSkinnedMesh (SkinnedMeshRenderer::DrawHandle h, IndexT primGroupIndex) |
| draw a software skinned mesh | |
| void | DrawGPUSkinnedMesh (const Ptr< Characters::CharacterInstance > &charInst, const Ptr< CoreGraphics::Mesh > &mesh, IndexT primGroupIndex, const Util::Array< IndexT > &jointPalette, const Ptr< CoreGraphics::ShaderVariable > &jointPaletteShdVar) |
| draw a hardware skinned mesh | |
| void | DrawGPUTextureSkinnedMesh (const Ptr< Characters::CharacterInstance > &charInst, const Ptr< CoreGraphics::Mesh > &mesh, IndexT primGroupIndex, const Ptr< CoreGraphics::ShaderVariable > &charInstShaderVar) |
| draw a skinned mesh | |
| void | EndDraw () |
| end render phase | |
| void | EndFrame () |
| end current frame | |
| 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 Characters::CharacterServer::StartUpdateCharacterSkeletons | ( | ) |
update visible characters (update animation, evaluate skeleton, potentially perform software skinning)
Start updating character skeletons. This is an asynchronous operation!
| 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.