Hvad er PTEX-filformatet?
En .ptex-fil er en tekstur oprettet med Ptex, det per-face tekstur-mappingsystem, som Walt Disney Animation Studios udgav som open source. I stedet for ét fladt billede, der strækkes hen over en model via UV-koordinater, gemmer en Ptex-fil en separat lille tekstur for hver flade i et subdivision- eller polygon-mesh. Disney har brugt formatet i deres film siden 2008, fordi det lader teksturartister male direkte på en overflade uden at skulle udarbejde UV-layouts.
Indeni begynder en Ptex-fil med ASCII-signaturen Ptex og gemmer sine data som little-endian. Den pakker alle en overflades fladeteksturer i en enkelt fil, sammen med mipmaps til jævn filtrering og et per-face nabo-map (adjacency map), der lader en renderer blende hen over fladegrænser uden synlige sømme. Pixeldata kan være 8-bit eller 16-bit heltal, half float eller 32-bit float, med et vilkårligt antal kanaler, og teksturblokke er komprimeret med zlib. Én fil kan indeholde hundredtusindvis af individuelle fladeteksturer. De fleste værktøjer skriver disse filer med filendelsen .ptx; .ptex er en alternativ stavemåde, der ses i visse dokumentationer.
Sikkerhed og tryghed
RISIKO: 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.
Formatdetaljer
kort fortalt- 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.
Programmer der åbner PTEX-filer
Tekniske detaljer
dyb specifikation| 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. |
| Udgivet | 2008 |
| Seneste version | File format version 1 (Ptex library 2.x) |
| Åben standard | Ja · royaltyfri |
| Specifikation | ptex.us |
PTEX-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om PTEX-filer.