3ds Max C++ API Reference
|
The Interface for the 3ds Max OSL Map interface. More...
#include <MaxOSLInterface.h>
Public Member Functions | |
virtual const char * | GetOutputName (int outindex) const =0 |
Get the name of output x. More... | |
virtual MSTR | GetShaderName () const =0 |
Get the name of shader (not guaranteed to be unique in any way, just informational) More... | |
virtual MSTR | GetOSL () const =0 |
Get the OSL source code for this OSL Map. More... | |
virtual MSTR | GetOSO () const =0 |
Get the OSO compiled byte-code for this OSL Map. More... | |
virtual MSTR | GetHLSL ()=0 |
Experimental, and of limited practical use: Get the converted HLSL of this OSL Map in the form of an HLSL function body. More... | |
virtual int | GetHLSLQuality () const =0 |
Gets the HLSL conversion quality in percent. More... | |
virtual IParamBlock2 * | GetParameters () const =0 |
Gets the IParamBlock2 pointer to the actual parameters of the OSL shader. More... | |
virtual MSTR | GetResolvedFilename (ParamID ID) const =0 |
If a given parameter in the list returned by GetParameters() has TYPE_FILENAME, one uses this function to ask for the fully qualified path name. More... | |
The Interface for the 3ds Max OSL Map interface.
This interface exposes methods that relate to properties of a particular OSL Map.
To retrieve the interface, use GetInterface on the map:
|
pure virtual |
Get the name of shader (not guaranteed to be unique in any way, just informational)
|
pure virtual |
Experimental, and of limited practical use: Get the converted HLSL of this OSL Map in the form of an HLSL function body.
|
pure virtual |
Gets the HLSL conversion quality in percent.
100 doesn't mean the conversion is "perfect", it simply means that every operator in the OSO bytecode had some implementation that in itself didn't emit a warning in the conversion step.
|
pure virtual |
Gets the IParamBlock2 pointer to the actual parameters of the OSL shader.
This will contain all the parameters as exposed by the OSL shaders. Note the following:
For renderers using their own OSL implementation, the work flow is as follows:
If a given parameter in the list returned by GetParameters() has TYPE_FILENAME, one uses this function to ask for the fully qualified path name.
The function resolves the path also for UDIM filenames ("c:\foo\bar<UDIM>.exr"), something the regular 3ds Max resolver cannot do. The function is meaningless if the parameter is not of TYPE_FILENAME; in such case it will simply return an empty string.