GLTFPACK(1)
πΈ NAME πΈ
gltfpack β optimize glTF files to improve loading and rendering speed β¨
π SYNOPSIS π
gltfpack [options] -i input -o output
π¦ DESCRIPTION π¦
okay so bestie, gltfpack does a lot to your glTF data. Like, it substantially changes it. What it's doing, in order of the vibe:
- optimizing the meshes for vertex fetch and transform cache
- quantizing the geometry so it eats less memory and takes up less size
- merging meshes to bring the draw call count down
- quantizing and resampling animations so they're smaller and simpler to play back
- pruning the node tree by removing or collapsing redundant nodes
and when you ask it to, it will also simplify the meshes. periodt. π
β¨ Basic Options β¨
-iinput β the input file you want processed. Acceptable input formats are.obj,.gltf, and.glbfiles. π«Ά-ooutput β the output file. Supported output formats are.gltfand.glf.-c,-ccβ produce compressed output. and-cc? it uses better compression. slay. π
π Texture Options π
-tcβ convert all textures to KTX2 with BasisU supercompression β¨-tuβ use UASTC when encoding textures. this is much higher quality and also much larger size, so pick your fighter π-tq Nβ set texture encoding quality between1and10(default:8)-ts Rβ scale texture dimensions by the ratioR(default:1, should be between0and1)-tpβ resize textures to the nearest power of 2 so they conform to WebGL 1 restrictions π
π§ Simplification Options π§
-si Rβ try to simplify meshes to the target sizeRas a fraction of the original size (default:1, should be between0and1)-saβ simplify aggressively, disregarding quality. like, no thoughts, head empty, quality who π
π Vertex Options π
-vp Nβ useN-bit quantization for vertex positions (default:14, should be between1and16)-vt Nβ useN-bit quantization for texture coordinates (default:12, should be between1and16)-vn Nβ useN-bit quantization for normals and tangents (default:8, should be between1and16)-vc Nβ useN-bit quantization for colors (default:8, should be between1and16)
π΅ Animation Options π΅
-at Nβ useN-bit quantization for translations (default:16, should be between1and24)-ar Nβ useN-bit quantization for rotations (default:12, should be between4and16)-as Nβ useN-bit quantization for scale (default:16, should be between1and24)-af Nβ resample animations atNHz (default:30)-acβ keep constant animation tracks even if they do not modify the node transform πΈ
ποΈ Scene Options ποΈ
-knβ keep named nodes and meshes attached to named nodes so that they can be transformed externally-kmβ keep named materials and disable named material merging-keβ keep extra data-mmβ merge instances of the same mesh together when possible-miβ useEXT_mesh_gpu_instancingwhen serializing multiple mesh instances β¨
π Miscellaneous Options π
-cfβ produce compressed files with fallback for loaders which do not support compression-noqβ disable quantization. this produces much larger glTF files with no extensions, so, yk, be aware π-vβ verbose output (and it prints the version when used without other options π)-rfile β write a JSON report tofile
π AUTHOR π
gltfpack is shipped with the meshoptimizer library, written by Arseny Kapoulkine. This manual page was written for Debian by Timo RΓΆhling and may be used without restriction. π«Ά
okay that's the whole page bestie, and yeah β it's the gltfpack page from the General Commands Manual, section 1, so if you ever forget any of this, just man 1 gltfpack and it's all right there. go optimize something iconic π
β¨π
π¦ where this page comes from
- debian bookworm: gltfpack 0.18+dfsg-2 Β· MIT
- debian trixie: gltfpack 0.22+dfsg-1 Β· MIT
- ubuntu jammy: gltfpack 0.17+dfsg-1 Β· MIT
- ubuntu noble: gltfpack 0.20+dfsg-1 Β· MIT
- ubuntu questing: gltfpack 0.22+dfsg-1
- ubuntu resolute: gltfpack 0.22+dfsg-1build1 Β· MIT
- ubuntu stonking: gltfpack 0.22+dfsg-1build1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms