Halleluya ! another renderman exporter, a good one too!

I found a mention on the Qdune thread and I thought it was good enough to have its own thread:
mosaic renderman exporter:


I rendered a pixie scene almost immediately, this has never been the case before…

Now I need to find out how to set raytraced shadows etc.

Kudos to the developers…

will have to check it out! :slight_smile:

but for right now, ill be hugging my ‘proramming in c’ book! :slight_smile:

The only renderer that works for me using that exporter is Aqsis :frowning:
(which for me is not better than the Blender Internal renderer)

Pixie does work, but textures don’t.
It does look like a nice script though, if all scripts would be like that… :slight_smile:

I tried to use it and I think it is very promising.
I tried with Aqsis and 3Delight, works with both.

Glad everybody likes it :smiley:
For doing raytracing just follow the raytraced Blender example in the examples directory. I’m currently adding a utility for automating the setup of shadow mapped and raytraced light setups (maybe even occlusion and color bleeding if theres any consistency between renderers!). The CVS version also has renderer presets so you don’t have to enter the binaries for each renderer, and automatic translation of materials and textures to standard RenderMan shaders with tokens setup for standard material controls, see the Wiki manual under “The materials tab” for details! Hopefully I will create the next official package and a public release this weekend. I also strongly recommend that everybody use the CVS since its a couple of weeks newer then the official download package!
Also everybody should use the Wiki manual on the wiki tab in the sourceforge page (instead of the temporary one) to learn the basics of MOSAIC, I halted its completion until the current changes are made official (they make heavy changes to the interface!). Its about 2/3 complete and has enough relevant information to use, even with the changes I’m making ;). Again hopefully I’ll have it all cleaned up by this weekend (wasn’t expecting the word to get out here this quick :spin:). Also if anybody has any feature requests, bug reports or specific comments, please post on my sourceforge site so I can keep up with them ;).

Too many renderman exporter,noone really useful,its a pity that the community isn’t able to coordinate a bit the efforts.

WhiteRabbit, I think (after a glimpse at Mosaic) that your design decisions are very sane and well thought out. I actually like this exporter the most of all i tried for blender or otherwise. One thing that may help out more artistic users is node tree translation with a material translation as a subset. Are nodes possible to eval from python at all?

Anyways, I will make some more tests today evening and tommorow. Currently i have some problems running Pixie as it seems to be unable to find libtiff. 3Delight works so I might try that.

I have some nice high res (displaced) models to try out.

Good job.

As far as I know, nodes are not accessible from Python (I could be very wrong about that though ;)). My original thoughts for the token system was that most artists would not be writing shaders or token connections, but that a RenderMan shader tech would write shaders and shader fragments with comments on what Blender material controls do what. Then the artist would just plug them in and adjust them from Blenders standard interface based on the comments. I would love to see some sort of RenderMan shader and shader fragment community library that everybody could share :D.

The thing is, most users do not have a Renderman shader technician in the house :ba:
(and I’m not willing to learn it myself because as the user I’d like to focus on the artwork, not programming, that’s just too much)

That’s why many Renderman-scripts fail as well. They’re not made with the home user, semi-pro user or 1-man freelancers in mind.

That may be, but this particular one really is extremely easy to use, no external dependencies, nothing you need to do before you can use it.
Provided you have python installed on your system and any renderman compliant renderer, this script just works. It is about as easy as it gets.
You might actually find it useful too. :wink:

Anyway, very nice work WHiTeRaBBiT! :slight_smile:

Hi WHiTeRaBBiT, thank you so much for making this very cool script!

I met and talked to ‘renderguy’ from the Aqsis team, at Blender Conference, and he showed and explained your script for me. I really like how it is laid out, and from what I’m told, it is closer to an IDE than just an exporter, which obviously makes MOSAIC more awesome :cool:

I don’t have much experience with external renderers, and have not dared to begin learning RIB and SL files, but after hearing renderguys great explanation and enthusiasm, I’m very excited about MOSAIC and Renderman (Aqsis). Now if only something like Shaderman was integrated in Blender :wink:

Thanks again!

I’ve seen some screen shots of several projects for the RIBKIT that look promising, I know its not direct integration but you could use SLER http://sourceforge.net/projects/ribkit from the RIBKIT or shaderman next http://www.dream.com.ua/thetool.html to visually make the .sl files, load them into Blender as text and use the “Setup shader from source” http://ribmosaic.wiki.sourceforge.net/doc.gui#TheUtilitiesTab to wizard through connecting whatever blender controls you want to the shader. Thats a little involved but not as bad as writing shaders from scratch and Extremely flexible ;).

Yeah that’s always the plan to begin with but people have their own ideas about what is the best way to do things and often it’s for their own projects/workflow. I always think there should be more cohesion in the open source community but I also think there should be more peace on earth and more girls in my bed. 2 girls a night isn’t enough. :no:

Sadly practicality often gets in the way of progress.

There are loads of renderman-capable coders round here. I’ve even written quite a few now but only ones that wouldn’t be very reusable. Not being or knowing a coder isn’t as bad as it’s made out when it comes to renderman anyway, if you get generic and reusable code then you don’t need to modify it. If you get a glass shader then you just attach it to a surface and modify the inputs just as you would a Blender material.

If you need to customize it, then naturally you’d have to change the code but if it’s a simple change, it can be done far more easily than it can be done in Blender, even with the nodes as you may find there isn’t a node that does what you want.

Exactly, it’s a very nicely designed script indeed. I like the interface layout in that it’s compact - a few scripts require you to have a panel open about 2/3 of your screen, I do the opposite so you can’t make anything out :eyebrowlift:. I’ll need to play more with it but I got an export working pretty easily and a test render. The advanced render image looks very good, it seems there’s a lot of geometry support there and lighting support and translation of Blender materials is great so that people don’t have to worry about setting up scenes again.

Excellent work WHiTeRaBBiT, it’s nice to see you posting here - though I’m surprised you put so much work in and only have about 10 posts. Mind you, I guess that kind of explains itself. :wink:

Too many renderman exporter,noone really useful,its a pity that the community isn’t able to coordinate a bit the efforts.

I’d considered working with several different projects (although I have contributed encouragement and bug reports to several), but none of them seem to be going in the direction I’m interested in going (except for maybe K-3D but they have a long way to go yet). It maybe selfish but It gives me something I can use now, until some of the better solutions pan out latter. And hopefully the communities perspective and suggestions can make it even better. The bottom line from my perspective is, no script in the world can replace a fully RenderMan integrated solution like Houdini or similar (maybe K-3D can be that for opensource someday?).

If you get a glass shader then you just attach it to a surface and modify the inputs just as you would a Blender material.
I think you already meant this, but I’m going to reiterate in case someone didn’t understand, MOSAIC can use what I’m calling shader fragments (actually just blender text files with RIB shader calls in them), that can use tokens to “hook” shader parameters with Blender controls. You can automatically create these shader fragments from pre-compiled or shader source, or write them by hand See:http://ribmosaic.wiki.sourceforge.net/doc.gui#TheUtilitiesTab and http://ribmosaic.wiki.sourceforge.net/doc.tokens.If the shader tech includes these shader fragments with the shader (with maybe comments on how to use it), all the artist has to do is load the shader and fragments, attach the fragment to the material in MOSAIC and manipulate the controls in Blender like any other material :D.

As far as my few posts, I’ve only been into opensource for about a year and a half now and have been attempting to replace my workflow with adobe, windows, 3DSMax, Mental ray on a 10 node renderfarm. I’ve discovered open source and have truly fell head over heals for it :spin:. I now have Gimp, Inkscape, Linux (Debian), Blender (MOSAIC), RenderMan (Aqsis, Pixie) on a 10 node renderfarm. I can do everything I could before and more :evilgrin:. I feel like the community has given so much to me that I should try to give something back, and at the same time try and meet some of my own goals ;).

Eeshlo,I remember a guy named Green that five years ago(if I remember correctly)was working on renderman integration,after several people has started the work,but up to now a good solution for renderman hasn’t found.
Btw,I’ll take a look,if it it’s work well I’m the first people happy:o,the fact that it doesn’t need external dependencies it’s really a good thing.

As a true believer in FLOSS myself, comments like that are really heart warming. We’re all happy it works out for you! :wink:

And thanks for pointing out RIBKIT/SLER! It works and looks much better than Shaderman, IMHO.

Great script :slight_smile:
Is there any way to export only active layer objects? And is there any way to reexport only selected meshes without changing whole rib scene? I.e. when I have whole scene set but I’ve modified some objects and I want just to reexport them without changing the rest and waiting to export whole scene.

WHiTeRaBBiT, thank you very much for this great script - and also for mentioning RIBKit, I never heard of it before and it works like a charm.



I concur, this is the first attempt I have seen that actually leaves some room for flexibility,
I have written a few renderman exporters myself (not nearly this nice), and always found myself rewriting the script to alter/add functionality, WHiTeRaBBiT has done a great job of
keeping things accessible. Top Notch WHiTeRaBBiT.

Ah… found a bug, it should automatically export the active layer but isn’t, will work on it and commit to CVS with other changes soon!
As for active object export you can toggle “Only Select” in the “MOSAIC Actions” tab and export only the selected objects, but this will only work if the object/s in question are using a “Read Archive” type. This is because MOSAIC is using the file archive system to make this possible instead of parsing the code in memory. This feature can be a little confusing though if your making changes that effect the underlying RIB’s See: http://ribmosaic.wiki.sourceforge.net/doc.gui#TheActionsTab
Also be sure to un-toggle the “Animate Object” toggle under the “MOSAIC Geometry” tab for any un-animated object (if your doing animation). This is a speed hack that tells MOSAIC to only create the archive for the first frame of the animation and just re-use it from that point forward. I have this checked by default so people don’t get confused about why the scene wont animate, but really every non animated object should be un-checked. In a big scene the entire background could turn “Animate Object” off and be using “Delayed Archive” with only the animated objects exported with “Only Select” making export MUCH faster.

Thanks for all the encouragement guys I’m starting to blush :o.