# GetRequirements Callback Reference

        RTSHADER_API bool (*RTS_Shader3_GetRequirements)
        {
            IRTSExecutionState  *in_pExecState,
            void                *in_pParams,
            XSI_RTS_Primitive   *in_pGeom,
            void                **io_pShaderInstanceData,
            ULONG               in_lRequirement,
            ULONG               *out_pRequirementValue
        }

Use this callback to set whether any of the requirements listed in the eXSI_RTS_RequirementType enum are required or not by returning true or false in the `out_pRequirementValue` parameter.

Parameters:

  | in_pExecState | The execution state interface
  | in_pParams | The shader property page parameters
  | in_pGeom | The geometry information

Return values:

  | io_pShaderInstanceData | Pointer to the shader's instance user data

Parameters:

  | in_lRequirement | The requirement identifier

Return values:

  | out_pRequirementValue | The returned requirement value

Returns:
  Success/failure

See also:
  IRTSExecutionState, Realtime Shader Callbacks, Execution Flow