Hardware Skinning Support

- Supports GL, D3D9 & D3D11
- Extends vertex formats & shadergen to support blend indices and weights
- Adds basic support for using 4x3 matrices for shader constants
- Supports software fallback
This commit is contained in:
James Urquhart 2015-01-10 19:41:25 +00:00
parent 507c239a87
commit 3496c549b5
72 changed files with 2533 additions and 1327 deletions

View file

@ -99,6 +99,12 @@ protected:
///
S32 mProcessIndex;
public:
// TODO: Make this protected and give it a proper API.
const GFXVertexFormat *mVertexFormat;
// TODO: Make this protected and give it a proper API.
GFXVertexFormat *mInstancingFormat;
public:
@ -139,7 +145,8 @@ public:
ShaderFeature()
: output( NULL ),
mProcessIndex( 0 ),
mInstancingFormat( NULL )
mInstancingFormat( NULL ),
mVertexFormat( NULL )
{
}
@ -285,7 +292,7 @@ public:
/// Called after processing the vertex and processing the pixel
/// to cleanup any temporary structures stored in the feature.
virtual void reset() { output = NULL; mProcessIndex = 0; mInstancingFormat = NULL; }
virtual void reset() { output = NULL; mProcessIndex = 0; mInstancingFormat = NULL; mVertexFormat = NULL; }
/// A simpler helper function which either finds
/// the existing local var or creates one.