Page 1 of 7

Renderman Support Started

Posted: Sat Oct 19, 2002 11:13 pm
by green
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.

Re: Renderman Support Started

Posted: Sat Oct 19, 2002 11:21 pm
by desaster
you kick ass!

Posted: Sun Oct 20, 2002 12:16 am
by theeth
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 :)

Wondered how long before you sunk your teeth into the source

Posted: Sun Oct 20, 2002 9:40 am
by Pablosbrain
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!

Posted: Sun Oct 20, 2002 11:09 am
by jms
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.

Posted: Sun Oct 20, 2002 11:15 am
by green
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?

Posted: Sun Oct 20, 2002 11:57 am
by hannibar
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?

Posted: Sun Oct 20, 2002 12:06 pm
by green
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.

Posted: Sun Oct 20, 2002 1:04 pm
by sgefant
yay!
would using aqsis' librib2 for export make much sense?

Posted: Sun Oct 20, 2002 4:55 pm
by cs
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.

Posted: Sun Oct 20, 2002 5:17 pm
by kino
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:

Posted: Sun Oct 20, 2002 5:38 pm
by hannibar

Posted: Sun Oct 20, 2002 7:15 pm
by green
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.

Posted: Sun Oct 20, 2002 7:30 pm
by green
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!!! :) )

Posted: Sun Oct 20, 2002 7:31 pm
by green
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.