MaterialX 1.38.10
Loading...
Searching...
No Matches
GenOptions.h File Reference

Shader generation options class. More...

Go to the source code of this file.

Classes

class  GenOptions
 Class holding options to configure shader generation. More...
 

Enumerations

enum  ShaderInterfaceType { SHADER_INTERFACE_COMPLETE , SHADER_INTERFACE_REDUCED }
 Type of shader interface to be generated. More...
 
enum  HwSpecularEnvironmentMethod { SPECULAR_ENVIRONMENT_NONE , SPECULAR_ENVIRONMENT_FIS , SPECULAR_ENVIRONMENT_PREFILTER }
 Method to use for specular environment lighting. More...
 
enum  HwDirectionalAlbedoMethod { DIRECTIONAL_ALBEDO_ANALYTIC , DIRECTIONAL_ALBEDO_TABLE , DIRECTIONAL_ALBEDO_MONTE_CARLO }
 Method to use for directional albedo evaluation. More...
 
enum  HwTransmissionRenderMethod { TRANSMISSION_REFRACTION , TRANSMISSION_OPACITY }
 Method to use for transmission rendering. More...
 

Detailed Description

Shader generation options class.

Enumeration Type Documentation

◆ HwDirectionalAlbedoMethod

Method to use for directional albedo evaluation.

Enumerator
DIRECTIONAL_ALBEDO_ANALYTIC 

Use an analytic approximation for directional albedo.

DIRECTIONAL_ALBEDO_TABLE 

Use a table look-up for directional albedo.

DIRECTIONAL_ALBEDO_MONTE_CARLO 

Use Monte Carlo integration for directional albedo.

◆ HwSpecularEnvironmentMethod

Method to use for specular environment lighting.

Enumerator
SPECULAR_ENVIRONMENT_NONE 

Do not use specular environment maps.

SPECULAR_ENVIRONMENT_FIS 

Use Filtered Importance Sampling for specular environment/indirect lighting.

SPECULAR_ENVIRONMENT_PREFILTER 

Use pre-filtered environment maps for specular environment/indirect lighting.

◆ HwTransmissionRenderMethod

Method to use for transmission rendering.

Enumerator
TRANSMISSION_REFRACTION 

Use a refraction approximation for transmission rendering.

TRANSMISSION_OPACITY 

Use opacity for transmission rendering.

◆ ShaderInterfaceType

Type of shader interface to be generated.

Enumerator
SHADER_INTERFACE_COMPLETE 

Create a complete interface with uniforms for all editable inputs on all nodes used by the shader.

This interface makes the shader fully editable by value without requiring any rebuilds. This is the default interface type.

SHADER_INTERFACE_REDUCED 

Create a reduced interface with uniforms only for the inputs that has been declared in the shaders nodedef interface.

If values on other inputs are changed the shader needs to be rebuilt.