OSL Shaders

It is possible to create your own shaders using Open Shading Language. OSL shaders can be used to implement anything from simple texture patterns to full materials using closures.

Installation

Just like any other third-party shader libraries, OSL shaders placed in the shader search path are automatically registered as Arnold shader nodes. The OSL shader parameters are converted to Arnold parameters. Once loaded, they can be inspected, instantiated and linked in the same way as C++ shaders.

To render OSL shaders directly with Arnold, you must do the following:

ARNOLD_PLUGIN_PATH=C:\shaders\osl

You can also create an OSL shader node and load OSL code into the scene.

Ensure that there is a metadata file with the OSL shader for example with a volume shader the .mtd file would contain:

[node simple_volume]
houdini.shader_type STRING "volume"