Renderman Support Started

Blender's renderer and external renderer export

Moderators: jesterKing, stiv

Post Reply
green
Posts: 81
Joined: Sun Oct 13, 2002 8:04 pm

Renderman Support Started

Post by green » Sat Oct 19, 2002 11:13 pm

This weekend I started looking through the blender source.
The possibilities of adding support for renderman looks very good.

SO far I have managed to compile blender, add a button to the ui. And making the button print out hello world.
This is all I need to get started with the basics of the exporter tommorow.


What I have planned can best be seen here:
http://medlem.spray.se/rash86/screen.png

This is all the end user should havto worry about: Blenders internal renderer or the renderman button.
It will by default go to 3delight. But this will be changeble to other renderman renderers through some form of configuration.

Materials, shaders, geometry, raytracing opetions should all be transparant to the end user. they should not havto worry about that.

Simplicity as a starting point.
After the simplicity is done then support for complexity can be implemented. But this is far away and there is no need to worry about it now.



(if you have no idea who I am or why I am talking about this... well. I created blenderman for the python interface for blender, a renderman exporter with compatibility for prman, bmrt, entropy and 3delight)


Anyways. This is just a message to say that stuff is in the works.
But it will take time to do. The thing about an exporter is not that its very hard to do. Its that its an extremly large amount of things todo.

desaster
Posts: 6
Joined: Wed Oct 16, 2002 9:05 am

Re: Renderman Support Started

Post by desaster » Sat Oct 19, 2002 11:21 pm

you kick ass!

theeth
Posts: 500
Joined: Wed Oct 16, 2002 5:47 am
Location: Montreal
Contact:

Post by theeth » Sun Oct 20, 2002 12:16 am

you kick ass indeed.

instead of a renderman button, I think it would be a much better idea to have a drop down menu from which you could select the renderer.
We could then have the export plugin as an external compiled file, when loading it, it would had a renderer to the list.
What do you think?

cheers,
Martin
PS: the GUI buttons definition looks just like that of the Python api, so I guess it's good news for us :)
Life is what happens to you when you're busy making other plans.
- John Lennon

Pablosbrain
Posts: 254
Joined: Wed Jan 28, 2004 7:39 pm

Wondered how long before you sunk your teeth into the source

Post by Pablosbrain » Sun Oct 20, 2002 9:40 am

Wondered how long before you sunk your teeth into the source! :) You Blenderman script is great! I can't wait to see all the ideas start to come together for Blender!

jms
Posts: 33
Joined: Sat Oct 19, 2002 3:04 pm

Post by jms » Sun Oct 20, 2002 11:09 am

theeth wrote:you kick ass indeed.

instead of a renderman button, I think it would be a much better idea to have a drop down menu from which you could select the renderer.
We could then have the export plugin as an external compiled file, when loading it, it would had a renderer to the list.
What do you think?

cheers,
Martin
PS: the GUI buttons definition looks just like that of the Python api, so I guess it's good news for us :)
Very good idea.
Zoo-3D.Blender, Ze French-Speaking Community SKB My french book about Blender.

green
Posts: 81
Joined: Sun Oct 13, 2002 8:04 pm

Post by green » Sun Oct 20, 2002 11:15 am

theeth wrote:you kick ass indeed.

instead of a renderman button, I think it would be a much better idea to have a drop down menu from which you could select the renderer.
We could then have the export plugin as an external compiled file, when loading it, it would had a renderer to the list.
What do you think?

cheers,
Martin
PS: the GUI buttons definition looks just like that of the Python api, so I guess it's good news for us :)
The basic idea of the ui to the end user is nice.. I think.

I dont like the idea of plugins for the renderer though. It would just make it more complicated.
I think it would be better if everyone that implements support for an external renderer agree on the same ui idea's. So the user doesnt see duplications in the interface. A drop down list of renderer choise is good. But this can easilly be done with just a few lines code. I think a plugin is overkill for that.

If all external renderer's are implemented into the main app then they can scan to see if the renderer exists on the current system when blender starts. And then add a choise in the drop down list.
This would imho make it very simple for the end user and programmer.

The drawback would be that it would be hard to update the exporter. You would in effect havto update the whole app.

So. I guess. If you could do this with a plugin, and send the plugin boundeled with the main app. And make it load by default. And let it scan to see if it finds the renderer. And make the plugin system so easy that even I could understand it :). Then it would be a good idea.

Also. Most of the point of implementing blenderman into the main app in c (or c++). Is to get acces to everything in blender. Wouldnt it be a lot of work to get a plugin able to acces everything that you could internaly?

hannibar
Posts: 50
Joined: Wed Oct 16, 2002 3:02 pm

Post by hannibar » Sun Oct 20, 2002 11:57 am

Nice! I'm looking forward to it. One question. Will you make some sort of new material editor for it to use the renderman shaders?

green
Posts: 81
Joined: Sun Oct 13, 2002 8:04 pm

Post by green » Sun Oct 20, 2002 12:06 pm

hannibar wrote:Nice! I'm looking forward to it. One question. Will you make some sort of new material editor for it to use the renderman shaders?
I havent looked at the material editor code in blender yet.

If I can acces the variables (I probibly will) of the buttons and sliders and stuff then I will just create a converter that creates and compiles a shader from the current material.

I havent yet seen a front end for renderman shaders that is actually usable for anything but very high end movie sort of stuff where you need extreme precision.

sgefant
Posts: 30
Joined: Wed Oct 16, 2002 1:10 am

Post by sgefant » Sun Oct 20, 2002 1:04 pm

yay!
would using aqsis' librib2 for export make much sense?

cs
Posts: 1
Joined: Sun Oct 20, 2002 4:36 pm

Post by cs » Sun Oct 20, 2002 4:55 pm

i have only looked a few minutes into the code....but i think the best solution would be:

- removing the scanline renderer from the main app
- making it a standalone app (idealy with renderman interface)
- making a "maya-like" shader editor
- making blender export renderman files and shaders

i think the only reason for keeping the old renderer is it's speed
but we could also look for GPL ryes renderers like aqsis.

kino
Posts: 93
Joined: Sun Oct 13, 2002 7:37 pm

Post by kino » Sun Oct 20, 2002 5:17 pm

Hi Green
really great work, hope to use it soon as possible. :)
ther's support for particles with any of this engine ? do you plan to use flow ?

i think you know projects BORG/LOCUTUS
but in case not
===========
we would like to announce that the first beta of version 0.5.00 is now
available for download here:
http://www.project-borg.org/downloads/v ... 0_beta.zip
This version is only released for beta testing purposes. Please download it if
you want to participate in the beta test.
Please see the BETATEST.README inside the package for beta test details.

Your BORG Developer Team.
=========

or the network rendering have a different project?

thk's
Ciao

added: ther's 1 degree at 8.30 pm in sweden ? :shock:
Last edited by kino on Sun Oct 20, 2002 5:41 pm, edited 1 time in total.

hannibar
Posts: 50
Joined: Wed Oct 16, 2002 3:02 pm

Post by hannibar » Sun Oct 20, 2002 5:38 pm


green
Posts: 81
Joined: Sun Oct 13, 2002 8:04 pm

Post by green » Sun Oct 20, 2002 7:15 pm

sgefant wrote:yay!
would using aqsis' librib2 for export make much sense?
Its interesting. Aqsis is the only option that I know of that would be possible to implement or link against into the main app.

There are 2 main concerns with aqsis that I have.

1. Image quality:
I have not done any tests with aqsis myself so I cannot for sure say that the quality is bad. But I have not seen anything but images of bad quality made with aqsis. Perhaps i should download it and give it a try.

2. Use?: Implementing a lib for renderman compatibility seams strange to me. The only benefit I see is that you get less chance of syntax errors, so it would probibly be faster to do. But you limit your options to only one renderer if you do this. It will be possible to both use the lib and use other renderers. But it would be more complex.
As far as i know the lib is only a front end for the renderman file format, correct?

So. I dont think it would be worth it. I think I know the renderman standard well enough so that I can do this without a lib.

green
Posts: 81
Joined: Sun Oct 13, 2002 8:04 pm

Post by green » Sun Oct 20, 2002 7:30 pm

kino wrote:Hi Green
really great work, hope to use it soon as possible. :)
ther's support for particles with any of this engine ? do you plan to use flow ?

i think you know projects BORG/LOCUTUS
but in case not
===========
we would like to announce that the first beta of version 0.5.00 is now
available for download here:
http://www.project-borg.org/downloads/v ... 0_beta.zip
This version is only released for beta testing purposes. Please download it if
you want to participate in the beta test.
Please see the BETATEST.README inside the package for beta test details.

Your BORG Developer Team.
=========

or the network rendering have a different project?

thk's
Ciao

added: ther's 1 degree at 8.30 pm in sweden ? :shock:
No renderman renderer has support for particles really.
Instead you can draw a point or a sphere or a plane or whatever you want at every particles point in space.

I have looked at borg a little. I havent dont any decission on what network renderer should be used. I dont think I really care for that part. (its 0 degree's in karlshamn now.. and snow!!! :) )

green
Posts: 81
Joined: Sun Oct 13, 2002 8:04 pm

Post by green » Sun Oct 20, 2002 7:31 pm

Its interesting.
So far I know too little about it to know if any code could be used.

I dont think you could just port it over to blender though.

Post Reply