Skip to content

VMT Shader Parameters

Stefan Heinz edited this page Sep 14, 2021 · 2 revisions

The shader parameters of a VMT file support auto completion, inspection, error detection and special highlighting.

A configurable list of all shader parameters can be found in the package.json.

Parameter configuration schema:

Example

{
  "name": "$noportal",
  "type": "bool",
  "defaultCompletion": 1,
  "description": "Compile time parameter to mark this surface as non-portalable. Unnecessary on models.",
  "wikiUri": "https://developer.valvesoftware.com/wiki/Controlling_portals"
}

Name

The name of the parameter. Keep it lowercase.

Type

The type of the parameter. If the value of the parameter does not match the type, a warning is given in the VMT file.

Basic

Type Description Example Values
bool Boolean value. 0 1
float Floating point numbers (Number with a comma) 0.0 601360 4.91 .86
int Integers values (Whole number) 0 601360
scalar Floating point number between 0 and 1 0 1 0.3 .6

Special cases

Type Description Example
color Color value. Either as array or matrix. [36 105 8] {0.3 0.7 1}
env_cubemap Used to give special highlighting to the env_cubemap value, but can be any string too. env_cubemap sky/some_skybox
texture Texture path or internal texture name. Includes file system search in auto completion nature/grass_01 _rt_WaterReflection

Description

A short 1-3 sentence description of the property. Only keep the most important info here and refrain from using many line breaks. Supports markdown formatting.

Default completion

Optional. If present, the value will be automatically inserted. Use this for boolean parameters like $translucent, where one will almost certainly expect a 1.

Wiki Uri

Optional. URI (Link) to a website describing this property. The Valve Developer Community Wiki is preferred.