A scriptable node that lets you write OSL (Open Shader Language) scripts to define arbitrary Projection types. It's similar to an OSL texture, but it connects to a Projection input. OSL is a standard created by Sony Imageworks. To learn about the generic OSL standard, read the OSL Readme and PDF documentation.

Figure 1: The OSL projection node


There are two options to add scripts for OSL projections. The Internal option lets you open another area in Blender® for the Text Editor and create a new text file for the OSL script. The External option lets you to select a pre-coded OSL file from the File Explorer window.


The initial script’s declaration component includes one required output variable with Output Typepoint. The OSL I/O Type point corresponds to an OctaneRender® Projection attribute node (Box, Mesh, UV, Spherical, Cylindrical, etc.).

Shader OslProjection (

output point uvw = 0)

{

uvw = point(u, v, 0);

}

A projection shader must have one output of a point-like type. All global variables have the same meaning as within texture shaders. The output value specifies a texture coordinate.


For a list of OSL variable declaration I/O Types in the OSL Specification that OctaneRender® supports, refer to the Appendix topic on OSL Implementation in the OctaneRender® Standalone manual. To learn more about scripting within OctaneRender® using the Open Shader Language, refer to The Octane OSL Guide.

Parameters

    • Interal - Text Editor datablock for the OSL script.
    • External - pre-coded OSL file. 
    • Compile OSL Node - Compile the script.