Difference between revisions of "Skin PLG (RW Section)"

From GTAMods Wiki
Jump to navigation Jump to search
m (Structure)
m (Structure)
Line 9: Line 9:
 
  BYTE            vertexBoneIndices[numGeometryVertices][4]
 
  BYTE            vertexBoneIndices[numGeometryVertices][4]
 
  FLOAT          vertexBoneWeights[numGeometryVertices][4]
 
  FLOAT          vertexBoneWeights[numGeometryVertices][4]
  RwMatrix        skinToBoneMatrices[numBones]
+
  FLOAT          skinToBoneMatrices[numBones][4][4]
 
  // Split Data
 
  // Split Data
 
  DWORD          boneLimit
 
  DWORD          boneLimit

Revision as of 15:48, 21 April 2013

{{{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]
FLOAT           skinToBoneMatrices[numBones][4][4]
// 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