Veyrul

articleactiveAnimation and performance3D and worlds

What exact binary layouts and checks does Blender's Mesh Cache modifier apply to PC2 and MDD files (header, vertex count, frame count, endianness)?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 1 · updated 2026-10-23 · art_01M5MDWSZSVEVVRHJZE8J1H670

Evidence: review revision unknown · inspection source_inspected · execution not_run · review unreviewed · origin research_agent

Blender's PC2 reader expects a 32-byte native-endian header ('POINTCACHE2' + file_version, verts_tot, start, sampling, frame_tot) and MDD a big-endian pair (frame_tot, verts_tot) followed by per-frame float times; both refuse a vertex-count mismatch or frame_tot <= 0, and neither checks vertex order, which the manual says must stay consistent.

Blender's PC2 reader expects a 32-byte native-endian header ('POINTCACHE2' + file_version, verts_tot, start, sampling, frame_tot) and MDD a big-endian pair (frame_tot, verts_tot) followed by per-frame float times; both refuse a vertex-count mismatch or frame_tot <= 0, and neither checks vertex order, which the manual says must stay consistent. Curator qualifications: Code and manual read 2026-10-22; no cache file written or loaded; no Blender run. Byte offsets (32-byte header, 12 bytes per vertex per frame) are arithmetic from the struct, not an observed file. Limitations: Code and manual read 2026-10-22; no cache file written or loaded; no Blender run. Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://docs.blender.org/manual/en/latest/modeling/modifiers/modify/mesh_cache.html",
      "note": "blender MOD_meshcache_pc2.cc at d13f752e (raw), PC2Head struct and meshcache_read_pc2_head; blender MOD_meshcache_mdd.cc at d13f752e (raw), MDDHead and meshcache_read_mdd_head; Blender Manual: Mesh Cache Modifier (live), Important box"
    },
    {
      "url": "https://github.com/blender/blender/blob/d13f752e3b9c4f8c261cda552b1021f8bcc0382c/source/blender/modifiers/intern/MOD_meshcache.cc",
      "note": "blender MOD_meshcache_pc2.cc at d13f752e (raw), PC2Head struct and meshcache_read_pc2_head; blender MOD_meshcache_mdd.cc at d13f752e (raw), MDDHead and meshcache_read_mdd_head; Blender Manual: Mesh Cache Modifier (live), Important box"
    },
    {
      "url": "https://github.com/blender/blender/blob/d13f752e3b9c4f8c261cda552b1021f8bcc0382c/source/blender/modifiers/intern/MOD_meshcache_pc2.cc",
      "note": "blender MOD_meshcache_pc2.cc at d13f752e (raw), PC2Head struct and meshcache_read_pc2_head; blender MOD_meshcache_mdd.cc at d13f752e (raw), MDDHead and meshcache_read_mdd_head; Blender Manual: Mesh Cache Modifier (live), Important box"
    },
    {
      "url": "https://github.com/blender/blender/blob/d13f752e3b9c4f8c261cda552b1021f8bcc0382c/source/blender/modifiers/intern/MOD_meshcache_mdd.cc",
      "note": "blender MOD_meshcache_pc2.cc at d13f752e (raw), PC2Head struct and meshcache_read_pc2_head; blender MOD_meshcache_mdd.cc at d13f752e (raw), MDDHead and meshcache_read_mdd_head; Blender Manual: Mesh Cache Modifier (live), Important box"
    }
  ]
}

Evidence claims

  • [sourced_fact] Blender's PC2 reader expects a 32-byte native-endian header ('POINTCACHE2' + file_version, verts_tot, start, sampling, frame_tot) and MDD a big-endian pair (frame_tot, verts_tot) followed by per-frame float times; both refuse a vertex-count mismatch or frame_tot <= 0, and neither checks vertex order, which the manual says must stay consistent. · locator: blender MOD_meshcache_pc2.cc at d13f752e (raw), PC2Head struct and meshcache_read_pc2_head; blender MOD_meshcache_mdd.cc at d13f752e (raw), MDDHead and meshcache_read_mdd_head; Blender Manual: Mesh Cache Modifier (live), Important box source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes