Jump to content

Shader Issues With Prman


Recommended Posts

hi, i'm relatively new to houdini, and very new to prman. i have a shader written and compiled as an .slo file, which houdini recognized via loading an otl library. but I get nothing when i render out. I've stripped the shader to just coloring the surface green, and still, nothing shows up, though it renders out fine from Cutter, the program i'm using to write the shader.

just wondering what i'm doing wrong...

i'd appreciate any help,

-chris

Link to comment
Share on other sites

hi, i'm relatively new to houdini, and very new to prman.  i have a shader written and compiled as an .slo file, which houdini recognized via loading an otl library.  but I get nothing when i render out.  I've stripped the shader to just coloring the surface green, and still, nothing shows up, though it renders out fine from Cutter, the program i'm using to write the shader.

just wondering what i'm doing wrong...

i'd appreciate any help,

-chris

24481[/snapback]

how did you make it into an otl? with rmands?

I'm going by memory here but I think the command is something like:

rmands -l myshader.otl *.slo

I believe this should make all the dialog scripts for you and point to your shader source.

Link to comment
Share on other sites

Rick is correct, the easiest method to create the dialogue script is with rmands. Also, something which you may not understand, when you create an HDA from a .slo, all you are doing is creating an interface that controls variables that have been exported from your .slo. When you render to PRMan from Houdini, Houdini creates a rib with your parameters and a link to the .slo you compiled for PRman. The .slo is not in the HDA and the HDA does not know where the .slo lives. So, what you need to do is set a specific environment variable to tell Houdini where all your .slo files live. Then when you try to render with PRMan it will use the variable to substitute a path in the rib for your .slo files so PRMan can find the actual shaders. The variable you want is "HOUDINI_RI_SHADERPATH". Set it to the path to where you are storing all your shaders and you should be good to go.

Another thing, and this is pure stupidity, but I have to mention it because I do it all the time... Make sure there is a light in your scene. You won't see anything if you don't have a light. You can use a Houdini light, but I think you will need to have the PRMan default light shaders in your shaderpath somewhere as well in order for it to work (just throw all the shaders that ship with PRMan in your shader directory and it should all work out).

Link to comment
Share on other sites

The .slo is not in the HDA and the HDA does not know where the .slo lives. So, what you need to do is set a specific environment variable to tell Houdini where all your .slo files live. Then when you try to render with PRMan it will use the variable to substitute a path in the rib for your .slo files so PRMan can find the actual shaders. The variable you want is "HOUDINI_RI_SHADERPATH". Set it to the path to where you are storing all your shaders and you should be good to go.

ohh yeah! I forgot about the HOUDINI_RI_SHADERPATH. I was under the impression that it referenced the path in the hda since my shaders always worked ;)

Learn something new everyday.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...