AddDefine QML Type

Adds a preprocessor define to the shader compilation for a pass. More...

Import Statement: import QtQuick3D
Since: Qt 6.11
Inherits:

Command

Properties

Detailed Description

The AddDefine type is used to inject a #define into the shader compilation for a RenderPass. This lets you branch shader behavior at compile time depending on which pass is being executed.

In the shader code, the define can be used with the standard preprocessor #ifdef / #if directives:

 #ifdef CUSTOM_PASS_MODE
 // code compiled only when this define is present
 #endif
 RenderPass {
     commands: [
         ColorAttachment { name: "color0"; target: colorTexture },
         AddDefine { name: "CUSTOM_PASS_MODE" },
         AddDefine { name: "OUTPUT_VERSION"; value: 2 }
     ]
 }

Property Documentation

name : string

The name of the preprocessor macro to define. This becomes the identifier used in #ifdef or #if checks in the shader code.

value : int

The integer value assigned to the preprocessor macro. Defaults to 1. When non-zero, #if NAME evaluates to true in the shader.