Jump to content

Houdini & 3Delight Shaders


Recommended Posts

Hey guys! I'm currently using Houdini 10.0.374 x64 along with 3Delight 8.5 x64 on Windows Vista Ultimate x64.

I already have it setup to render using 3Delight no problem, but I am still a newbie in terms of the integration of these two powerful programs.

My question is...how do I use the 3Delight shaders inside of Houdini (or Maya)?

I've never been able to quite figure it out on my own in Maya, and same thing with Houdini.

  • Do I need to compile them first?
  • If yes, are there any easy steps to doing this?
  • Will they be visually represented in the Houdini or Maya shader view?
  • Do I need to know vast amounts of coding to tweak parameters?
  • ...or am I better off just using the default shaders shipped with the respective programs?

List of my relevant software:

Houdini 10.0.374 x64

3Delight 8.5 x64

Microsoft Visual Studio 2005

Microsoft Visual Studio 2008

Link to comment
Share on other sites

Hey guys! I'm currently using Houdini 10.0.374 x64 along with 3Delight 8.5 x64 on Windows Vista Ultimate x64.

I already have it setup to render using 3Delight no problem, but I am still a newbie in terms of the integration of these two powerful programs.

My question is...how do I use the 3Delight shaders inside of Houdini (or Maya)?

I've never been able to quite figure it out on my own in Maya, and same thing with Houdini.

  • Do I need to compile them first?
  • If yes, are there any easy steps to doing this?
  • Will they be visually represented in the Houdini or Maya shader view?
  • Do I need to know vast amounts of coding to tweak parameters?
  • ...or am I better off just using the default shaders shipped with the respective programs?

List of my relevant software:

Houdini 10.0.374 x64

3Delight 8.5 x64

Microsoft Visual Studio 2005

Microsoft Visual Studio 2008

You might want to start at:

http://odforce.net/wiki/index.php/3DelightSetup

"Integration in Houdini is substantially improved by letting Houdini know that 3Delight is the preferred RenderMan renderer. This is done by setting the HOUDINI_DEFAULT_RIB_RENDERER environment variable to '3Delight7.0'. This variable will instruct Houdini to use 3delight for shader compilation and for rendering, and also provides relevant default properties for the RIB output driver."

I think you probably want to set the variable to 3Delight8.5.

Regarding shaders:

Custom shaders can also be packaged in a digital asset library file which can then be imported in Houdini. The sdl2otl.py Python script that comes with Houdini will parse the output of shaderinfo to create the digital asset library file from any compiled shader file.
Link to comment
Share on other sites

You might want to start at:

http://odforce.net/w...p/3DelightSetup

Hey Crunch, I don't think you read my post all the way through. I said I already have 3Delight as a renderer for Houdini. I can render with 3Delight no problem. I'm just talking about using the 3Delight Shaders from within Houdini.

And I also asked that if I have to compile, is it a long or easy process? I've already read the Wiki back and forth and it didn't answer my question which is why I posted here. I'm wondering if anyone else has gone through this process already.

3Delight provides a digital asset library of all the shaders included in the package. Once this file is imported in Houdini, all 3Delight shaders will exist as shop nodes. The digital asset library file can be found in the 'shaders' directory of the 3Delight installation ('$DELIGHT/shaders').

Custom shaders can also be packaged in a digital asset library file which can then be imported in Houdini. The sdl2otl.py Python script that comes with Houdini will parse the output of shaderinfo to create the digital asset library file from any compiled shader file.

This isn't telling me the exact process to go through because, as I stated, I'm not well versed in the whole compiling thing. So if I needed to compile them...is it an easy or hard process?

Edited by CodeBreak
Link to comment
Share on other sites

Hey Crunch, I don't think you read my post all the way through. I said I already have 3Delight as a renderer for Houdini. I can render with 3Delight no problem. I'm just talking about using the 3Delight Shaders from within Houdini.

And I also asked that if I have to compile, is it a long or easy process? I've already read the Wiki back and forth and it didn't answer my question which is why I posted here. I'm wondering if anyone else has gone through this process already.

This isn't telling me the exact process to go through because, as I stated, I'm not well versed in the whole compiling thing. So if I needed to compile them...is it an easy or hard process?

The first line in the OdWiki page (the one you've "read back and forth") links you to the 3Delight manual, which explains (in great detail) how to compile your shaders. Crunch probably assumed that you had read that bit.

The docs also go on to tell you exactly how to package your custom shaders into HDA's (paragraph 4), which you can then import directly into Houdini. This is the page that was reprinted in the OdWiki.

Paragraph 3 of the same page further informs you that all of 3Delight's built-in shaders already come conveniently prepackaged into HDA's for your convenience. So just import the otl library and presto; you have all of 3Delight's built-in shaders available in your session.

In fact... now that I think of it, I believe most of your questions were indeed answered. But to be completely specific:

how do I use the 3Delight shaders inside of Houdini?

Refer to Crunch's post and the 3Delight documentation.

(or Maya)?

See the Maya Integration portion of the 3Delight documentation.

Do I need to compile them first?

As the 3Delight documentation explains...

Custom shaders: Yes.

Built-in shaders: Only if you edit them, otherwise No, since they come pre-compiled.

If yes, are there any easy steps to doing this?

Read the 3Delight documentation on how to use the compiler, which amounts to typing the following into a shell:

% shaderdl shader.sl

Not hard.

Will they be visually represented in the Houdini or Maya shader view?

Not 100% about this one, but I don't don't imagine they would (in Houdini, that is. No idea about Maya). However, Houdini's display driver (mplay) should be able to show you the rendered images just like it does for Mantra images. (if you run proto_install as per paragraph 2 of the docs on 3Delight's Houdini Integration, of course).

Do I need to know vast amounts of coding to tweak parameters?

* No coding needed to tweak shader parameter values (within a Houdini session).

* Minimal coding needed to add one or more parameters to a shader.

* Some amount of coding needed to make said parameters actually do something useful within the shader.

* "Vast amounts" only required when writing something like 3Delight itself.

...or am I better off just using the default shaders shipped with the respective programs?

It might not be a bad idea. At least in the beginning. Until you get used to running the compiler, certainly.

HTH,

Cheers.

Link to comment
Share on other sites

@ Mario Marengo

Thanks for the in depth explanation :D . Really appreciated it. I haven't yet used Digital Assets or .OTL's yet, so I wasn't aware that section referred to what I was asking. :unsure:

Everything is working good now, but one thing that I couldn't find in the documentation and is bothering me...

...when I installed the .OTL it goes without a hitch and works, but how can I KEEP it installed without having to manually do it every time? Do I have to add the path of the 3Delight shaders folder to some kind of evn var

---------------------------------------------------------------------------------------------------------------------------------------------------------

@ Mario Marengo

I think I solved the problem. I opened up the Operator Type Manager (Windows>Operator Type Manager) after loading the .OTL and then selected it from there, right clicked it and selected an option that merged it with the current OTL library. I hope I did it right. When I go into the SHOPs, all of the shaders are there under the Digital Assets group...so...I guess it's okay?

Let me know if I may have screwed up something. :blink:

Edited by CodeBreak
Link to comment
Share on other sites

@ Mario Marengo

I think I solved the problem. I opened up the Operator Type Manager (Windows>Operator Type Manager) after loading the .OTL and then selected it from there, right clicked it and selected an option that merged it with the current OTL library. I hope I did it right. When I go into the SHOPs, all of the shaders are there under the Digital Assets group...so...I guess it's okay?

Yes. I believe that if you left things at default, then you probably ended up "merging" 3Delight's SHOP library with a (likely empty) library called OPcustom.otl (default name), in your home directory ($HIH/otls). Check in $HIH/otls and see if there's a file called OPcustom.otl in there -- that would be the result of your merge. And since anything in $HIH/otls will get scanned (assuming default paths) on startup, then your newly minted OPcustom.otl library (containing the 3Delight shaders) should now be available in all your houdini sessions (but not to other users).

So... yes, that's one possible way of going about it (had never used this method myself, actually). It's really all about putting the .otl file in a directory that Houdini will look in during startup, and that in turn is defined via a few system variables. As always though, when in doubt, check the documentation (that page explains all the paths involved in the load process). For a pretty extensive explanation of other HDA-related topics, please see the main assets page and be sure to look into all the "Subtopics" at the bottom. HDA's are pretty powerful things, so you'll do yourself a favor if you get to know them well.

Cheers.

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...