Vvd structures¶
The vertex file. An Mdl contains no vertex positions whatsoever; they all live here, in a flat pool shared by every mesh in the model.
Unlike the Mdl, the offsets in
vertexFileHeader_tare relative to the start of the file, not to the containing structure. The SDK accessors readvertexDataStart + (byte *)thiswherethisis the header, and the header is the file.Lod sorting. When
numFixupsis non-zero the vertex pool is sorted by LOD rather than by mesh, and the fixup table has to be replayed to re-establish mesh order beforemstudiomodel_t.vertexindexmeans anything at all. EachvertexFileFixup_tnames a run of vertices and the LOD it belongs to; applying them in order rebuilds the pool a mesh reader can index into.Tangents live in their own parallel pool rather than inside the vertex, which is what keeps
mstudiovertex_tat exactly 48 bytes.
- struct valvemdl.structs.vvd.vertexFileHeader_t¶
-
-
checksum
(<parsed from long>¶int) must match
studiohdr_t.checksum
-
checksum
- struct valvemdl.structs.vvd.vertexFileFixup_t¶
- struct valvemdl.structs.vvd.mstudiovertex_t¶
-
m_BoneWeights
(¶mstudioboneweight_t)
-
m_BoneWeights