Skin PLG (RW Section)

From GTAMods Wiki
Revision as of 15:43, 21 April 2013 by DK22Pac (talk | contribs) (Structure)
Jump to navigation Jump to search
{{{NAME}}}
RenderWare Stream Section
Vendor {{{VENDORNAME}}}
Module {{{MODULENAME}}}
Module ID 0x{{{MODULEID}}}
Identifier 0x{{{IDENTIFIER}}}
Chunk ID 0x{{{MODULEID}}}{{{IDENTIFIER}}}
Versions All
Hierarchy
Parents:
None
Children:
None
Extensions:
None
File Format

Skin is an additional RenderWare plugin for geometry section. It is used to hold information about skinned model.

Structure

BYTE            numBones
BYTE            numBoneIds
WORD            maxNumWeightsPerVertex
BYTE            boneIds[numBoneIds]
BYTE            vertexBoneIndices[numGeometryVertices][4]
FLOAT           vertexBoneWeights[numGeometryVertices][4]
RwMatrix        skinToBoneMatrices[numBones]
// Split Data
DWORD           boneLimit
DWORD           numMeshes
DWORD           numRLE 
// if numMeshes > 0
BYTE            meshBoneRemapIndices[numBones + 2 * (numRLE + numMeshes)]

numBones

numBoneIds

maxNumWeightsPerVertex

boneIds

vertexBoneIndices Vertex bone indices are represented with 4 bone indices per each vertex.

vertexBoneWeights Vertex bone weights are represented with RwMatrixWeights structure per each vertex.

skinToBoneMatrices These are inverted matrices represented with RwMatrix structure.

boneLimit

numMeshes

numRLE

meshBoneRemapIndices