Nevermind. Found information.
// layer 0
oOptions = oXSIFactory.CreateShaderParamDefOptions();
oOptions.SetLongName( "layer_0" );
oOptions.SetAnimatable( false );
oOptions.SetTexturable( true );
oOptions.SetInspectable( true );
oOptions.SetAttribute( XSI::siReferenceFilterAttribute,
XSI::siShaderReferenceFilter );
oInputParameterDefs.AddParamDef( "layer_0",
XSI::siShaderDataTypeReference, oOptions );
From: [email protected]
[mailto:[email protected]] On Behalf Of Matt Lind
Sent: Thursday, February 07, 2013 2:51 PM
To: [email protected]
Subject: SDK: ShaderDefs and related
I have several shaders with parameters defined using .spdl files. I am trying
to update them to use Shader Definitions, but a few of the parameter types are
not documented in the manuals which leaves me scratching my head a bit.
>From the .spdl:
Parameter "layer 0" input
{
GUID = "{3C30FA8E-06A5-4ED1-93D3-DA165801B60C}";
type = rtrendercontext;
texturable = on;
animatable = off;
}
It's an input parameter for a realtime shader which only accepts other realtime
shaders. The problem is the SDK manuals do not specify the equivalent of
'rtrendercontext' parameter types using shader definitions. Here is my best
guess how to define such a parameter:
// layer 0
oOptions = oXSIFactory.CreateShaderParamDefOptions();
oOptions.SetLongName( "layer_0" );
oOptions.SetAnimatable( false );
oOptions.SetTexturable( true );
oOptions.SetInspectable( true );
oInputParameterDefs.AddParamDef( "layer_0",
XSI::siShaderDataTypeStructure, oOptions );
Anybody have ideas?
Matt