MATC(1)
πΈ MATC(1) β the user command manual, bestie edition πΈ
okay so you opened the manual for matc, section 1 (that's "user commands" for the uninitiated β¨). this is your girl's full glow-up of the page, every single flag intact, no cap. let's get into it π
β¨ NAME β¨
matc β filament material tools π
π DESCRIPTION π
okay so matc is a command-line tool that compiles material definitions. that's the whole vibe. the way you call it:
matc [options] <input-file>
π¦ Supported input formats:
- Filament material definition β the
.matfile π
π OPTIONS π
the moment you've all been waiting for. every flag, every letter, nothing skipped, periodt β¨
--help,-hβ prints this message π¬ (yes, the one you're reading, iconic)--licenseβ prints the copyright and license info, the legal slay π--output,-oβ tells it where to put the output file, specify the path bestie π--platform,-pβ which shader family to generate:desktop,mobile, orall(that's the default π)--optimize-size,-Sβ optimizes the generated shader code for size instead of just performance. tiny and cute π§--api,-aβ which target API you want:opengl(default β¨),vulkan,metal, orall. you can repeat this flag to hand-pick APIs one by one for inclusion, like so:
matc --api opengl --api metal ...
--define,-Dβ adds a preprocessor define macro using<macro>=<value>. if you omit<value>it just defaults to1π«Ά. repeat it as many times as you want for multiple definitions:
matc -Dfoo=1 -Dbar -Dbuzz=100 ...
--reflect,-rβ reflects the specified metadata as JSON:parametersπͺ--variant-filter=<filter>,-V <filter>β filters out the comma-separated variants you name, and the list of them is:directionalLighting,dynamicLighting,shadowReceiver,skinning,vsm,fog. heads up: this variant filter gets merged with the filter from the material, if the material has one π€--version,-vβ prints the material version number π’
π Internal use and debugging only:
these are the backstage passes, bestie. internal + debugging only, so don't come for me if you break something π
--optimize-none,-gβ disables all shader optimizations, purely for debugging π--preprocessor-only,-Eβ optimizes shaders by running only the preprocessor, nothing else π«--raw,-wβ compiles a raw GLSL shader into a SPIRV binary chunk π§--output-format,-fβ picks the output format:blob(the default π) orheader--debug,-dβ generates extra data for debugging π--print,-tβ prints the generated shaders so you can peek at them, debugging vibes only π
and that's the whole page, no notes. this was matc version 10, dated October 2021 π β mwah, go compile something gorgeous, ily bestie πβ¨
π¦ where this page comes from
- debian bookworm: libfilament-tools 1.9.25+dfsg2-10 Β· Apache-2.0
- debian trixie: libfilament-tools 1.9.25+dfsg3-1+b2 Β· Apache-2.0
- ubuntu jammy: libfilament-tools 1.9.25+dfsg2-4build1 Β· Apache-2.0
- ubuntu questing: libfilament-tools 1.9.25+dfsg3-1
- ubuntu resolute: libfilament-tools 1.9.25+dfsg3-3build2 Β· Apache-2.0
- ubuntu stonking: libfilament-tools 1.9.25+dfsg3-3build2 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms