Using Houdini with 3Delight

I had to do a little detective work on what’s required to get Houdini to work smooth with 3Delight as there’s zero docs on any RMan setup stuff really.

Below is a description that aids in creating a local setup in you home folder (that’s how it works for me for now).

First, make sure the environment is set, aka ‘$HFS’ is defined. For a Bourne shell:

> source /opt/houdini/hfs8.0/houdini_setup_bash

All shaders in ‘$HFS/houdini/ri_shaders/*.sl’ must be compiled with shaderdl:

> cd $HFS/houdini/ri_shaders > sudo shaderdl *.sl

The display driver & noise collection for RenderMan must be installed (‘$HEXT’ in below examples would probably be in your home folder. In my case ‘HEXT=/home/moritz/houdini8.0‘):

> proto_install.sh –i $HEXT –p RManDisplay.inst<br/> > proto_install.sh –i $HEXT –p RiHNoise.inst

The display driver must be linked in the ‘~/rendermn.ini’ so 3Delight can find it (or preferrably become root and modify the ‘$DELIGHT/rendermn.ini’). Add the following line to your ‘~/rendermn.ini’:

/display/dso/houdini $HEXT/ri_shaders/d_houdini.so

Ensure the shaders, noises and display driver can be found by 3Delight. For a Bourne shell, you might want to add the following to your ‘~/.basrc’ or ‘~/.zshrc’ or the like.

export DL_SHADERS_PATH=$DL_SHADERS_PATH:$HFS/houdini/ri_shaders<br/> export DL_DISPLAYS_PATH=$DL_DISPLAYS_PATH:$HEXT/ri_shaders<br/> export DL_PROCEDURALS_PATH $DL_PROCEDURALS_PATH:$HEXT/ri_shaders

Houdini uses PRMan’s default commands to render and compile shaders and I haven’t found a way to change this (am I too lame or is Houdini lame in that regard?). I thus setup two shell scripts (not aliases, they work only inside shells!) that take care of this. Of course, you could also create symbolic links from ‘render’ and ‘shader’ to ‘renderdl’ and ‘shaderdl’ respectively.

One is called ‘render’ and contains:

#! /bin/sh<br/> renderdl

You might want to try using

#! /bin/sh<br/> renderdl –p 0

to have 3Delight use all CPUs of your box (I haven’t tested this)

The other one is called ‘shader’ and contains:

#! /bin/sh<br/> shaderdl

That’s it. With this setup you can build RenderMan shaders and render previews straight out of Houdini using 3Delight. :)

1 Comment »

  1. flux says:

    As of 3Delight 7, the last 3 shell scripts can be replaced by setting an environment variable.

    From the 3Delight docs:

    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.

RSS feed for comments on this post. / TrackBack URI

Leave a Reply

The Power of Interdisciplinary Teams

If you face a problem, one way to look for a solution may be to ask people from different fields. A lot of time a solution doesn’t present itself because the knowledge you have in a specific field also acts as a boundary for your imagination.

Before I continue talking about the subject itself, let me start with a story.

Many people have commented on the ‘Liquid’ shelf system my very good friend Sascha Ulber designed, in spring 2003. As trivial as it looks, the way it was conceptualized and most things about it were about five years ahead of the curve then.

Continue »

A Comment on the iPhone 4’s “Retina Display” Debate

Several blogs and mailing lists I frequent linked to an article investigating the validity of Apple’s claims that the iPhone 4′s display has a ‘terminal’ resolution for the application at hand: namely a human reading its display at an ‘average’ distance (which, being unspecified in Apple’s press release, offers quite a bit of latitude for interpretation).

The article ignores several important facts.

Continue »

On Plagiarism & Creativity in the Digital Age

A while ago there was a thread on the 3D-Pro mailing list that diverged from its original subject and took a turn towards a debate about copyright.

The debate resulted when someone discovered that part of an image was being used as a backdrop for another image without giving proper credit.

Continue »