Difference between revisions of "Skin PLG (RW Section)"
Jump to navigation
Jump to search
m (Updated outdated information.) |
m (Minor layout improvement.) |
||
Line 7: | Line 7: | ||
WORD maxWeightsPerVertex | WORD maxWeightsPerVertex | ||
BYTE bonesUsed[numUsedBones] | BYTE bonesUsed[numUsedBones] | ||
− | BYTE vertexBoneIndices[numVertices][4] | + | BYTE vertexBoneIndices[geometry->numVertices][4] |
− | FLOAT vertexBoneWeights[numVertices][4] | + | FLOAT vertexBoneWeights[geometry->numVertices][4] |
FLOAT skinToBoneMatrices[numMatrices][4][4] | FLOAT skinToBoneMatrices[numMatrices][4][4] | ||
− | // Split | + | // Split data |
DWORD boneLimit | DWORD boneLimit | ||
DWORD numMeshes | DWORD numMeshes | ||
Line 18: | Line 18: | ||
WORD meshBoneRLECount[numMeshes] | WORD meshBoneRLECount[numMeshes] | ||
WORD meshBoneRLE[numRLE] | WORD meshBoneRLE[numRLE] | ||
− | + | ;numBones (numMatrices) | |
+ | :Number of bones attached to the skin, also the number of inverse matrices (see '''skinToBoneMatrices'''). | ||
− | Number of bones | + | ;numUsedBones |
+ | :Number of bones which influence vertices, that is those bones which have at least a non-zero weight. | ||
− | + | ;maxWeightsPerVertex | |
+ | :Overall number of maximum non-zero weights per vertex. | ||
− | + | ;bonesUsed | |
+ | :Indices list of the significant bones connected to the skin (see '''numUsedBones'''). | ||
− | + | ;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 inverse matrices represented with ''RwMatrix'' structure. | ||
− | + | ;boneLimit | |
− | + | ;numMeshes | |
− | + | ;numRLE | |
− | + | ;meshBoneRemapIndices | |
− | + | ;meshBoneRLECount | |
− | + | ;meshBoneRLE | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 21:45, 20 June 2015
{{{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 (numMatrices) BYTE numUsedBones WORD maxWeightsPerVertex BYTE bonesUsed[numUsedBones] BYTE vertexBoneIndices[geometry->numVertices][4] FLOAT vertexBoneWeights[geometry->numVertices][4] FLOAT skinToBoneMatrices[numMatrices][4][4] // Split data DWORD boneLimit DWORD numMeshes DWORD numRLE // if numMeshes > 0 BYTE meshBoneRemapIndices[numBones] WORD meshBoneRLECount[numMeshes] WORD meshBoneRLE[numRLE]
- numBones (numMatrices)
- Number of bones attached to the skin, also the number of inverse matrices (see skinToBoneMatrices).
- numUsedBones
- Number of bones which influence vertices, that is those bones which have at least a non-zero weight.
- maxWeightsPerVertex
- Overall number of maximum non-zero weights per vertex.
- bonesUsed
- Indices list of the significant bones connected to the skin (see numUsedBones).
- 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 inverse matrices represented with RwMatrix structure.
- boneLimit
- numMeshes
- numRLE
- meshBoneRemapIndices
- meshBoneRLECount
- meshBoneRLE