View Full Version : 3delight: shader override possible?
shortcut 10-26-2007, 04:47 PM Hi,
is there a way to tell 3delight to render every geometry of a given .rib with an override shader (assigned on the renderdl... commandline), no matter what shaders are assigned whithin the .rib?
I think something similar to the "-surf" option, the Air renderer has, is what I'm looking for. But it has to work on 3delight.
I'm rendering some shots whith the massive crowd tool on 3delight right now. Since our massive version doesn't have such override options, I have to look for other ways. It would make some render tasks much quicker.
Marcus
|
|
3delight
10-27-2007, 12:28 AM
Hello Marcus,
Hi,
is there a way to tell 3delight to render every geometry of a given .rib with an override shader (assigned on the renderdl... commandline), no matter what shaders are assigned whithin the .rib?
...
Marcus
There is no direct way. But a solution could be implemented on your side using the Ri Filters feature (explained in the docs): write an Ri filter that filters all RiSurface calls and replace them with the shader you want. If this sounds too complicated we can write you an example to start with.
Another simple solution would be to use something like "awk" to filter your RIB but you would need to strip all the parameters too so that no warnings are issued.
Hope this helps,
- 3Delight
ps; you can also ask this questions on our forums (www.3delight.com/en (http://www.3delight.com/en)) to get more help.
fxjeane
11-13-2007, 09:40 PM
Hi,
is there a way to tell 3delight to render every geometry of a given .rib with an override shader (assigned on the renderdl... commandline), no matter what shaders are assigned whithin the .rib?
I think something similar to the "-surf" option, the Air renderer has, is what I'm looking for. But it has to work on 3delight.
I'm rendering some shots whith the massive crowd tool on 3delight right now. Since our massive version doesn't have such override options, I have to look for other ways. It would make some render tasks much quicker.
Marcus
You could also use regular expresions in perl or python (or any other language) to insert a surface call right after the WorldBegin statement and comment out every surface call found after that. This will override every shader in the scene. If you create a script to handle the replacing and the rendering you could use that as your render command.
Cheers
shortcut
11-16-2007, 09:04 PM
Hi fxjeane,
the RIBs im rendering, use procedural calls to the massive dso, which generates all agent geometry plus surface shader calls. That means to have access to the surface definitions, I need a rif filter that filters the surface calls during rendertime and replaces them with my override values.
CGTalk Moderation
11-16-2007, 09:04 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.