Wat is het PTEX-bestandsformaat?
Een .ptex-bestand is een textuur gemaakt met Ptex, het texture-mappingsysteem per face dat Walt Disney Animation Studios als open source heeft uitgebracht. In plaats van één platte afbeelding die via UV-coördinaten over een model wordt uitgerekt, slaat een Ptex-bestand een aparte kleine textuur op voor elke face van een subdivision- of polygoon-mesh. Disney gebruikt het formaat sinds 2008 in al zijn films omdat het texture-artists in staat stelt rechtstreeks op een oppervlak te schilderen zonder UV's uit te leggen.
Intern begint een Ptex-bestand met de ASCII-handtekening Ptex en worden de gegevens in little-endian opgeslagen. Het verpakt alle face-texturen van een oppervlak in één enkel bestand, samen met mipmaps voor vloeiende filtering en een nabijheidskaart per face waarmee een renderer over face-grenzen heen kan blenden zonder zichtbare naden. Pixelgegevens kunnen 8-bit of 16-bit integer, half float of 32-bit float zijn, met een willekeurig aantal kanalen, en textuurblokken worden gecomprimeerd met zlib. Eén bestand kan honderdduizenden individuele face-texturen bevatten. De meeste tools schrijven deze bestanden met de extensie .ptx; .ptex is een alternatieve spelling die in sommige documentatie voorkomt.
Beveiliging & veiligheid
RISICO: LOWA .ptex file is passive texture data with no scripting or executable code. It is only parsed by 3D rendering and painting software. The main practical risk is a malformed or truncated file failing to load; there is no known malware vector in the format itself.
Formaatdetails
in een notendop- Material Maker procedural material - Rodz Labs' open-source Material Maker uses a .ptex extension for its JSON-formatted procedural material/texture graphs, an unrelated format from the Godot-based tool.
- PTX point-cloud export (.ptx) - Leica/Cyclone .ptx scan files are a different, ASCII point-cloud format and are not Ptex textures despite the similar extension.
Programma's die PTEX-bestanden openen
Technische details
diepe specificaties| Encoding | Binary |
| Byte order | Little-endian |
| Container | Single-file per-surface texture container storing one texture per mesh face plus mipmaps and adjacency data |
| Compression | DEFLATE (zlib compress/uncompress) applied to texture data blocks and large metadata items |
| Signature | ASCII 'Ptex' (50 74 65 78) at offset 0 |
| Data Types | Per-file pixel data type: 8-bit unsigned int, 16-bit unsigned int, 16-bit half float, or 32-bit float |
| Channels | Arbitrary number of channels per file; optional designated alpha channel |
| Mesh Types | Triangle meshes and quad meshes (meshtype field: 0=triangle, 1=quad); supports Catmull-Clark and Loop subdivision surfaces and all-quad or all-triangle polymeshes |
| Mipmaps | Multiple resolution levels stored per face; each level is a power-of-two reduction used for seamless filtering |
| Adjacency | Per-face adjacency map stored in the file for filtering across face boundaries without visible seams |
| Metadata | Key-value metadata block supporting ASCII strings, 8/16/32-bit integers, floats and doubles; standard keys include mesh geometry references |
| Structure | Header (magic, version, meshtype, datatype, alpha channel, channel count, level count, face count, size fields) followed by a face info table, compressed constant/per-face texture data across levels, an adjacency section, and an optional metadata section |
| Integrity | No built-in per-file checksum; zlib blocks provide internal consistency |
| Platforms | Windows, macOS, Linux |
| Notes | Ptex eliminates UV assignment by giving every face its own texture; a single .ptex/.ptx file can hold hundreds of thousands of individual face textures for one surface. The native extension emitted by most Ptex tools is .ptx; .ptex is an alternate label used in some documentation and file databases. |
| Uitgebracht | 2008 |
| Laatste versie | File format version 1 (Ptex library 2.x) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | ptex.us |
PTEX conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PTEX-bestanden.