Blender 2.5 Renderman exporter

Ive tried to write a little blender 2.5 to renderman plugin as a little exercise in learning renderman and python. so the code is porbably very ugly and lots of things arent working or just work kind of in a strange way but at least it exports poly objects with UVs, shader settings (you have to write your own shader or use the default ones so no blender to renderman translation here) and point, spot and distant lights with ray traced or shadow mapped shadows (no shadow maps for point lights for now as i havent implemented cration of environment maps but that should be easy).
and inputting custom Options or Attributes for Objects and the scene is already possible. so building custom passes for GI, AO, Point based Occlusion, etc should already be possible for people with little renderman knowledge (or by reading the tutorials on the Pixie homepage;))

so if someone is interested in trying it, feel free to do so and give me feedback about the implementation of features or suggestions for further development.


Update:

Instancing, AreaLights, Textures, Environment Maps are working.
grap the most recent version from my homepage.

http://www.frg-vfx.com/wp-content/uploads/2010/10/Beauty_rgba0001.jpeg
Hope this image is not too big. It shows instancing, Arealights, DOF and textures (Blender’s UV testgrid automatically saved and converted) in action.

Still working on some slowdown bugs.
Some compatibility/usability stuff and Particles/-instances are the next on my list

btw: is there still someone interested in my script? seems like i’m the only one posting in this thread …

Your scripts sounds really useful. Unfortunately it does not seem to work here, i don’t see those property panels that are in the pictures. There are no error messages in the terminal either. I tried putting the script in the op and addon folders. Using blender r28982 under ubuntu karmic.

you have to choose “Renderman” from the render drop down list

as this script is still in very early alpha stage, i usualy run it directly from the text editor. so never tried the “usual” way.
but now added the bl_addon_info thing and tried it by copying it to the addons directory.
it shows up in the addons tab in the user preferences where all the other scripts are located as well.

Doh! It is working now, thanks. This is really nice to have :slight_smile: I tried it with 3delight. One thing: even though i set my normals to be smooth shaded, they are always flat shaded in the render, how can i change that?

hmm this used to work. dont know why it doesnt anymore. try using a subsurf modifier with some control loops instead for now.

That works, thank you :slight_smile: There is also something about the camera framing, it is always a little bigger than the camera in blender.

Modifiers are now exported as expected

Rendered in Pixie:
http://www.pasteall.org/pic/show.php?id=3592

sounds really great

Great project to figure out 2.5. (was Povray for me :slight_smile: )
Cessen was also working on a 2.5 renderman exporter in his spare time, IIRC he had motion blur and DOF working. Ill nag him to post his code online tomorrow :wink:

Thanks for your Povray script. That was realy helping me getting started :slight_smile: .
I’d realy love to look into another attemp at a renderman exporter as i still got a few problems with the transformations and as Loolarge mentioned the camera framing. So would be great to have a look at how he solved that.

DOF and automatic environment maps creation are nearly ready.

and rib output path is now automatically set to the subfolder “output” in your .blend file directory

DOF is now working.
The Parameter List Boxes for custom RIB commands are now closed by default. Most things should be configureable through the more user-friendly parts of the UI though nearly everything is translated into ribcode in these Parameter Lists and can be edited by hand, if you check the “free” checkbox (this is only working for the Render Parameters but i will change that now :P).
So quite advanced(or at least custom) stuff should be possible without the need of opening the rib files in a texteditor.

btw: the link to the script in the first post is updated quite often. so feel free to always test the stupid things i add if youve got time and/or are interested :smiley:

btw2: Light Linking should already be possible, if you add a custom string Parameter, named “Illuminate” and set the value to “”<Lamp_name>" 0" for excluding object from being lit by the light or “”<Lamp_name>" 1" for including it.

I m gonna test it
Whiterabbit was also writing a renderman ® exporter for 2.5
Perhaps you 'll need to collaborate with him
http://sourceforge.net/apps/wordpress/ribmosaic/

It would be great to see you collaborate with WhiteRabbit on this. He’s done so much work already in getting a good Renderman workflow going with Blender, it would be a shame to see 2 competing projects out there when you could work together and get it up and running so much faster.

I have black screen. I have repected the instructions, I don’t find the way to render with Pixie.

Btw, I completely agree with Fahr.

me too. i have 3delight but no dice. I hate feeling dumb like this :slight_smile: I have set the path to C:\Program Files\3Delight\bin\renderdl.exe assuming that’s right, as well as a path to the shaders and an output path for the rib. Should i expect I-Display to pop up? Should the Rib output be somewhere specific?

EDIT!

FIXED by renamed the path “C:/Program Files/3Delight/bin/renderdl.exe” adding “” to it and reversing the \ to / in the output so it is now… C:/temp/ribirbtest

Glenn

thanks glenn for figuring that out. will fix that.
@kala_ndo and fahr
Would be great to get a solid renderman exporter working in a short time and to collaborate with WhiteRabbit but i realy dont know, if i could contribute well to that.
WhiteRabbit’s project realy seems to be quite huge and i just started to learn python and RenderMan so this is more an exercise to get into all this technical stuff with hopefully the sideeffect of getting a working and usable renderman exporter for being able to render some of my projects with it.

Nevertheless i will talk to him and maybe he likes some of my design ideas and wants to integrate them into his project

Have there been any further developments on this script?

yes ive changed quite a lot but wanted to have the changes usable until i update the script.

still a lot to do but here are a few of the changes:
-no need to specify any rib output. everything is exported to blendfiles subfolder “output” except you havent saved your blend. then its exported to tmp folder.
-you can save presets for your renderengine settings like names of important displaydrivers, executables, extensions
-no more shader parameter lists. all shader parameters are gathered automatically and the UI for them is also created automatically
-you can write shaders in the text editor and compile them via a button in the texteditors tool tab.
-by default the rendering is rendered to blenders internal image viewer
-you can add as many displays as you want. (image passes, need to add a little bit to make AOVs possible)
-camera framing is correct
-search box to select pass you want to edit (probably useful for huge lists of passes)

thats all i remember for now. feel free to try it and tell me whether it works or you only get error messages ^^
(link in the first post updated)

edit:
here is an example of a render engine preset. just extract it to your presets subfolder in blenders scripts folder.

http://myfun.homelinux.net/public/sascha/renderman_renderengine.tar.gz

I agree with kala_ndo and fahr. You should put your effort into one common project- Bring Renderman-compliant Renderers into Blender.

My advice would be get in touch with relevant people - whiterabbit, brecht, others and see how you can help to make it real.

ive already talked with whiterabbit and he wants to work alone on his project.
he thinks its good to have different exportes so everyone can choose the one which fits best to his/her needs and workflow.
so im curious about his exporter and will try it but nevertheless go on and work on my own. Its still a good way to learn renderman and i already got a toy to do some exercises in RSL coding and so on.