---
name: "matc"
section: "1"
platform: "linux"
package: "libfilament-tools"
version: "1.9.25+dfsg3-1+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/matc"
---

# matc(1)

filament material tools

## NAME

matc - filament material tools

## DESCRIPTION

matc is a command-line tool to compile material definition. Usages:

-

  matc \[options\] \<input-file\>

### Supported input formats:

-

  Filament material definition (.mat)

## OPTIONS

**--help**, **-h**

-

  Print this message

**--license**

-

  Print copyright and license information

**--output**, **-o**

-

  Specify path to output file

**--platform**, **-p**

-

  Shader family to generate: desktop, mobile or all (default)

**--optimize-size**, **-S**

-

  Optimize generated shader code for size instead of just performance

**--api**, **-a**

-

  Specify the target API: opengl (default), vulkan, metal, or all This flag can be repeated to individually select APIs for inclusion:

-

  matc **--api** opengl **--api** metal ...

**--define**, **-D**

-

  Add a preprocessor define macro via \<macro\>=\<value\>. \<value\> defaults to 1 if omitted. Can be repeated to specify multiple definitions:

-

  matc **-Dfoo**=*1* **-Dbar** **-Dbuzz**=*100* ...

**--reflect**, **-r**

-

  Reflect the specified metadata as JSON: parameters

**--variant-filter=**\<filter\>, **-V** \<filter\>

-

  Filter out specified comma-separated variants:

-

  directionalLighting, dynamicLighting, shadowReceiver, skinning, vsm, fog

-

  This variant filter is merged with the filter from the material, if any

**--version**, **-v**

-

  Print the material version number

### Internal use and debugging only:

**--optimize-none**, **-g**

-

  Disable all shader optimizations, for debugging

**--preprocessor-only**, **-E**

-

  Optimize shaders by running only the preprocessor

**--raw**, **-w**

-

  Compile a raw GLSL shader into a SPIRV binary chunk

**--output-format**, **-f**

-

  Specify output format: blob (default) or header

**--debug**, **-d**

-

  Generate extra data for debugging

**--print**, **-t**

-

  Print generated shaders for debugging
