Help appreciated: ribMosaic and Pixie, rendering occlusion etc

Hi all,

I love the new ribMosaic renderman exporter, one of the best I’ve seen:

I’ve posted about this before, but I’d like to start this thread specifically to get good results with Pixie. I love Pixie but I’ve not been able to get good results out of the box.
I would love to be able to set up ribMosaic to actually get good results out of the box.

Right now I have problems with the following:

1- getting a raytraced shadow with a light shader, I can import the lightshader, but it does nothing… the example showing the raytraced showed does work, so I’m probably importing either the wrong shader or setting up the fragment wrong…

2-getting ambient occlusion, I want to use the ambientocclusion light shader, but I guess I’m having the same problems as above…

3- passes, no clue on how to set it up,

help appreciated,


Have you set the right attributes? you get no shadows unless you tell pixie to make shadows

It’s slightly outdated: since the new method of setting transmission is now:

Attribute “visibility” “int transmission” [1]

You have to do that for every object that casts shadows

Thanks for the idea,

I’m having some trouble using ribMosaic for this, I created a text in the texteditor called cf_Attributes and put that statement in there, to no avail.
With the ambientocclusion lightshader my image is totally ambiently lit, i.e. no occlusion:(

post a .blend I can test

Hey wizzleteet,
For general theory behind MOSAIC and RenderMan or what controls do look here:
The manual is currently a little out dated from the CVS but everything is still basically the same ;). I would suggest using the CVS, but I’m currently making very big changes so some things may be broken :o.

To get up and going quickly with raytracing append/link the “cf_transmission”, “ls_shadowspot” and the “” to your project (you can also append/link objects with all there MOSAIC settings!). The “.sl” is the light shader and the other two are code fragments. The “cf_transmission” needs to be put on anything you want to cast shadows, such as on the scene tabs “World Begin” for everything in the scene or on a object groups “Group Begin Code” or on each geometry object individually in there “Object Begin Code”. Next you need to attach the “ls_shadowspot” to the spot light you want to cast shadows. If you want to use something other then a spot you can find one of the “shadow” based light shaders and set there “shadowfile” parameters to “raytrace” (as I understand it any shadowmap capable shader can use “raytrace” in place of its map file to do raytracing).
NOTE: the current example is using the old style of rayracing, but I will revise it as soon as I can!

For render passes MOSAIC is using scenes as passes, I’m doing this because this is the most natural way to do passes in RenderMan and gives you complete control of the way RenderMan codes render passes. You can use the “Render Passes” control in the “Project Setup” tab to specify scene render passes. Just type name of the scene followed by a colon then the frame or frame sequence and a comma between multiple scenes. The following would render “Beauty Pass” scene from frame 1 to 100 “Beauty Pass:1-100”, this would render “Photon Pass” on frame 120 “Photon Pass:120”, this would be both together “Photon Pass:1, Beauty Pass:1-100”. They are rendered in order left to right and you must use “Render Animation/Passes” in order for this to work. Each scene contains its own RenderMan settings and each object can use its own settings per scene using the “RIBset” controls (if your using the CVS version). So an object could have a RIBset for photon setup with solid standard shaders selected on the photon scene/pass and then have a RIBset on the same object for the beauty pass that has a full setup with fancy shaders, raytracing and such.

As far as occlusion, I haven’t setup any test scenes for it yet so I would suggest you follow Pixie’s manual and try to setup by hand, unless somebody else has got one working yet :eyebrowlift:.

MOSAIC is a WIP, I’m currently laying the ground work for utilities that will help setup a scene and render passes for raytracing, shadow mapping, occlusion, photon mapping automatically. This will not do everything for you but will automate the setup process so you can add custom attributes and code wherever you need them. I’ll also be revising the current examples and adding new ones as well as updating the manual. MOSAIC went public alot sooner then I expected :spin:, so I still have alot to do before its easier to use (although everybody has already helped me to make it even better then I would’ve by myself :D). And of coarse I have to get out of beta before I can make lots of pretty pictures with it :eyebrowlift:.

If your using the CVS version of MOSAIC I’ve committed a new sample project called “ambient_occlusion.blend” that shows a bare bones single pass ambient occlusion scene.

hey thanks you guys !

I think I get it now, yesterday I even made my first animation with pixie !
whee !

I got a little carried away trying out shaders and I botched the file, I will try to replicate the multi-pass approach described in the pixie wiki:
this weekend I’m not able to do it, but when it is done I’ll upload it.

thanks you guys, this is great software !

I’d have to say that I like the new pointmap based amb occ much better. But it’s a matter of preferences, I guess.

Definitely worth checking into, Its supposed to be alot faster. The few times I’ve tried occlusion and photon maps I had problems with using displacements, maybe point clouds will work better with displacements. I haven’t had a chance to try tho, hopefully I can get MOSAIC out of beta soon so I can play with it too :mad:.

I saw the point map based occlusion in the docs, unfortunately, these docs are a little sparse.
With my limited rib knowledge this would mean a lot of experimenting…
But that never stopped me before. =)

There are downloadable example files too.

I heard that Pixie doesnt do AO, so that’s why I use Gelato instead

Then you heard wrong. Pixie does AO in few ways and it’s much faster than blender AO. Maybe not than new AO.

I checked out pointmap based color bleeding, it is really fast

I couldn’t wait to get it into mosaic, but I cannot duplicate a scene (for the second render pass) without breaking the script.

I submitted a bugreport for it, I hope that wasn’t premature…

Not premature at all thats why I have a bug tracker :wink:
This problem was next on my list but couldn’t get to it this weekend,
I’ll try to get this worked out tonight. There actually several instabilities,
one happens when you create a new scene, another happens when you
rename a scene and the scene order changes (fixed that one last night!).
In case anybody hasn’t tried, I submitted the new render passes setup
this morning it allows for widget based passes setup instead of just typed.
This opened a whole can of worms with global project properties and scene
ordering and naming, but hopefully I got most of it worked out last night.

A quick fix to get you by until I fix this tonight is to open up a scripts window
and start “ID Property Browser” under help. Select the new scene you made
and delete all “MOSAIC***” groups. Then start MOSAIC back up and it should
work fine. Since I know whats causing the problem hopefully it wont take too
long to fix.

BTW: I’ve tried the point based occlusion, its alot faster but the setup in MOSAIC
is a little sloppy, once everything settles down abit I may look for a better way to
apply material shaders to scene structures such as frame blocks, world blocks
and groups attributes.

In case anybody is interested I committed new changes that make a number of improvements and bug fixes to the CVS (thanks wizzleteet for the bug tracker ;)). For a more detailed list browse the CVS comments. In particular the critical error with instanced scenes and objects has been fixed as well as a few problems with the new RIBset feature and widget based render passes. Next up… a new interface for editing shader parameters and tokens!!

Also been playing with Pixie point based occlusion, and WOW its fast. Heres a crazy example with fairly extreme displacements and occlusion:

If anybody wants to play the the blend here it is (I don’t intend on including this in MOSAIC):

To bad I have no time now for tests :frowning: But I’ll do some test on heavy scenes soon, I hope.

Interesting, but that image doesn’t look quite right. Should there be bright rings around each of the objects at the base? I would have expected those ares to be fully occluded. The same in the middle of the image where the peaks are black but the base is white.

Also, do you have the render time for that and maybe a comparison with an occluded image using the usual method?

I tested the examples given in the pixie wiki:
there you can see the strange ring also…

any idea how I can construct/find a shader that gives me blurry reflections and/or blurry transparency like we have in the blender internal now ?

Render time was about 3 mins on a Pentium4 3ghz 4gig ram, haven’t tested this exact scene but similar using old method is a lot slower WITHOUT displacements. The moment you setup for displacements it slows to a screeching halt and eats up all available memory! Hoping points will be as good for color bleeding, using old method everything is fine until you use diplacements then it slows way down and its hard to eliminate holes and cracks.
I believe the light “halos” is probably because I’ve got maxsolidangle of the occlusion shader up to 0.1 instead of 0.05 or less but this was just a fast test render :wink: (or then again maybe they need to work out some problems on this point thing, they wont know unless we test it for them and post problems :eyebrowlift:). Anyway I was impressed at least :yes: I’ve had good success with several technique but everything seems to fall apart when you start doing heavy displacements… maybe no longer :D.

The mirror and refraction shaders and setup I used in the advanced blend uses blurry reflections and refractions, but I’ve only tried them on 3Delight but I think they will work in Pixie’s raytracer. The only problem is the current CVS has broken that blend but you should be able to link/append the shaders and fragements into a new project.