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