TDME2 1.9.121
Classes | Public Member Functions | Private Attributes | List of all members
SkinningShader Class Referencefinal

Interface to compute shader skinning shader program. More...

#include <tdme/engine/subsystems/skinning/SkinningShader.h>

Collaboration diagram for SkinningShader:
Collaboration graph

Classes

struct  ModelSkinningCache
 
struct  SkinningContext
 

Public Member Functions

 SkinningShader (Renderer *renderer)
 Public constructor. More...
 
bool isInitialized ()
 
void initialize ()
 Initialize renderer. More...
 
void useProgram ()
 Use skinning program. More...
 
void unUseProgram ()
 Unuse skinning program. More...
 
void computeSkinning (int contextIdx, Object3DBase *object3DBase, Object3DNodeMesh *object3DNodeMesh)
 Compute skinning. More...
 
void reset ()
 Reset. More...
 

Private Attributes

int32_t programId { -1 }
 
int32_t shaderId { -1 }
 
int32_t uniformVertexCount { -1 }
 
int32_t uniformMatrixCount { -1 }
 
int32_t uniformInstanceCount { -1 }
 
bool isRunning
 
bool initialized
 
Rendererrenderer { nullptr }
 
vector< SkinningContextcontexts
 
map< string, ModelSkinningCachecache
 
Mutex mutex
 

Detailed Description

Interface to compute shader skinning shader program.

Author
Andreas Drewke
Version
$Id$

Definition at line 29 of file SkinningShader.h.

Constructor & Destructor Documentation

◆ SkinningShader()

SkinningShader ( Renderer renderer)

Public constructor.

Parameters
rendererrenderer

Definition at line 50 of file SkinningShader.cpp.

Member Function Documentation

◆ computeSkinning()

void computeSkinning ( int  contextIdx,
Object3DBase object3DBase,
Object3DNodeMesh object3DNodeMesh 
)

Compute skinning.

Parameters
contextIdxcontext index
object3DBaseobject 3D base
object3DNodeMeshobject 3d node mesh

Definition at line 106 of file SkinningShader.cpp.

◆ initialize()

void initialize ( )

Initialize renderer.

Definition at line 64 of file SkinningShader.cpp.

◆ isInitialized()

bool isInitialized ( )
Returns
initialized and ready to be used

Definition at line 59 of file SkinningShader.cpp.

◆ reset()

void reset ( )

Reset.

Definition at line 262 of file SkinningShader.cpp.

◆ unUseProgram()

void unUseProgram ( )

Unuse skinning program.

Definition at line 253 of file SkinningShader.cpp.

◆ useProgram()

void useProgram ( )

Use skinning program.

Definition at line 101 of file SkinningShader.cpp.

Member Data Documentation

◆ cache

map<string, ModelSkinningCache> cache
private

Definition at line 51 of file SkinningShader.h.

◆ contexts

vector<SkinningContext> contexts
private

Definition at line 50 of file SkinningShader.h.

◆ initialized

bool initialized
private

Definition at line 48 of file SkinningShader.h.

◆ isRunning

bool isRunning
private

Definition at line 47 of file SkinningShader.h.

◆ mutex

Mutex mutex
private

Definition at line 52 of file SkinningShader.h.

◆ programId

int32_t programId { -1 }
private

Definition at line 42 of file SkinningShader.h.

◆ renderer

Renderer* renderer { nullptr }
private

Definition at line 49 of file SkinningShader.h.

◆ shaderId

int32_t shaderId { -1 }
private

Definition at line 43 of file SkinningShader.h.

◆ uniformInstanceCount

int32_t uniformInstanceCount { -1 }
private

Definition at line 46 of file SkinningShader.h.

◆ uniformMatrixCount

int32_t uniformMatrixCount { -1 }
private

Definition at line 45 of file SkinningShader.h.

◆ uniformVertexCount

int32_t uniformVertexCount { -1 }
private

Definition at line 44 of file SkinningShader.h.


The documentation for this class was generated from the following files: