#include <SlrShader.h>
Inherited by slr::SlrCoShader, and slr::SlrSurfaceShader.
|
|
bool | cutoutModeControl () const |
| |
|
bool | cutoutModeRemovesDataAovsControl () const |
| |
| virtual void | cutoutModesRetrieveProperties (SlrShader *ownerSlrShader, const usg::ShaderDesc &shaderDesc) |
| |
| virtual void | cutoutModesValidate (SlrShader *ownerSlrShader) |
| |
|
|
SlrShader::IntBinding | _cutoutModeBinding |
| | Surface acts as a cutout/holdout/matte.
|
| |
|
SlrShader::IntBinding | _cutoutModeRemovesDataAovsBinding |
| | If cutout surface enabled, does depth & aovs get cut as well.
|
| |
|
bool | _cutoutModeEnabled |
| | If true enable cutout mode.
|
| |
|
bool | _cutoutModeRemovesDataAovsEnabled |
| | If cutout mode is on, also cutout data aovs (depth, normals, etc)
|
| |
Extension interface that adds cutout knob controls and the mappings to the shader parameters. "cutout_mode_enable" Int "cutout_mode_removes_data_aovs" Int
◆ cutoutModesRetrieveProperties()
| void slr::SlrShaderCutoutControlsI::cutoutModesRetrieveProperties |
( |
SlrShader * |
ownerSlrShader, |
|
|
const usg::ShaderDesc & |
shaderDesc |
|
) |
| |
|
virtual |
Retrieve shader cutout properties from shaderDesc and store in local vars. Call this from the ownerSlrShader::updateProperties() method.
◆ cutoutModesValidate()
| void slr::SlrShaderCutoutControlsI::cutoutModesValidate |
( |
SlrShader * |
ownerSlrShader | ) |
|
|
virtual |
Update the local cutout state. Call this from the ownerSlrShader::_validateShader() method. If ownerSlrShader has a valid input on baseInputIndex() the opacity traits from that input are automatically copied and the local shader properties then applied as overrides. Note that the local properties will only -enable- the modes, never disable them if the input has them enabled.