MaxOSLInterface.h File Reference
|
| MaxSDK |
| This API is used to support OLE structured storage streams containing user specified string data in 3ds Max scene files or other OLE Structured Storage based files.
|
|
| MaxSDK::OSL |
|
#define MAXOSL_GLOBAL_INTERFACE Interface_ID(0x16523c14, 0x70a27fea) |
Interface ID for the 3ds Max OSL global interface.
This interface exposes methods that are not related to a particular OSL Map.
To retrieve the interface, use GetCOREInterface(id):
1 auto ip = (MaxSDK::OSL::IOSLGlobalInterface *)GetCOREInterface(MAXOSL_GLOBAL_INTERFACE);
#define MAXOSL_OSLMAP_INTERFACE Interface_ID(0x4fa32eff, 0x5aa01b92) |
Interface ID 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:
1 auto ip = (MaxSDK::OSL::IOSLMapInterface *)oslmap->GetInterface(MAXOSL_OSLMAP_INTERFACE);
#define MAXOSL_RAYTRACE_INTERFACE Interface_ID(0x560f06ca, 0x57260b1f) |
Interface ID for the 3ds Max OSL Raytracing features, allowing OSL to use a 3rd party renderer's raytracing engine.
This interface is exposed by the renderer on the ShadeContext it passes to the OSL Map's EvalColor/Mono/NormalPerturb() methods. The OSL Map rendering service callback for the OSL trace() call will get the interface with
1 auto ip = (MaxSDK::OSL::IOSLRaytracingInterface *)ShadeContext::GetInterface(MAXOSL_RAYTRACE_INTERFACE)
and call its IOSLRaytracingInterface::TraceRay method to perform raytracing.
#define OSLTex_CLASS_ID Class_ID(0x7f9a7b9d, 0x6fcdf00d) |
The ClassID of the OSL Map itself.