mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-11 14:44:36 +00:00
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:
parent
507c239a87
commit
3496c549b5
72 changed files with 2533 additions and 1327 deletions
|
|
@ -121,6 +121,9 @@ const char* ShaderGenComponentFactoryHLSL::typeToString( GFXDeclType type )
|
|||
case GFXDeclType_Float4:
|
||||
case GFXDeclType_Color:
|
||||
return "float4";
|
||||
|
||||
case GFXDeclType_UByte4:
|
||||
return "uint4";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -174,6 +177,22 @@ ShaderComponent* ShaderGenComponentFactoryHLSL::createVertexInputConnector( cons
|
|||
else
|
||||
var->setName( String::ToString( "texCoord%d", element.getSemanticIndex() + 1 ) );
|
||||
}
|
||||
else if ( element.isSemantic( GFXSemantic::BLENDINDICES ) )
|
||||
{
|
||||
var = vertComp->getIndexedElement( element.getSemanticIndex(), RT_BLENDINDICES );
|
||||
var->setName( String::ToString( "blendIndices%d", element.getSemanticIndex() ) );
|
||||
}
|
||||
else if ( element.isSemantic( GFXSemantic::BLENDWEIGHT ) )
|
||||
{
|
||||
var = vertComp->getIndexedElement( element.getSemanticIndex(), RT_BLENDWEIGHT );
|
||||
var->setName( String::ToString( "blendWeight%d", element.getSemanticIndex() ) );
|
||||
}
|
||||
else if ( element.isSemantic( GFXSemantic::PADDING ) )
|
||||
{
|
||||
var = NULL;
|
||||
//var = vertComp->getIndexedElement( vertComp->getCurTexElem() + element.getSemanticIndex(), RT_TEXCOORD );
|
||||
//var->setName( String::ToString( "pad%d", element.getSemanticIndex() + 1 ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
// Everything else is a texcoord!
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue