question

Jon Parker avatar image
Jon Parker asked ·

osl volume shader output

I'm new to OSL for Arnold and would like to create a custom volume shader that can potentially interact with other Arnold nodes. What kind of output should the shader provide? Can I mix volume closures in the same way I can mix surface shaders?

shadervolumetricsoslmix shader
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Jon Parker avatar image
Jon Parker answered ·

In Houdini, this just returns a BSDF type, which doesn't seem to work:

volume sample_volume_shader (
color absorb = color(0, 0, 0),
color scatter = color(1, 1, 1),
color emit = color(0, 0, 0),
float g = 0,

output closure color result = 0
)
{
result = volume_henyey_greenstein(absorb, scatter, emit, g);
}

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Ashley Handscomb Retallack avatar image
Ashley Handscomb Retallack answered ·

You need to add a metadata file for the osl file, and add the following:

[node simple_volume] 
houdini.shader_type STRING "volume"

Save this as a file with the same name as the osl file but with the extension ".mtd"

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.