2.5 Render API progress


The months ahead look very interesting :ba:


why not keep all this in the 2.5 development update topic ?

Because he’s excited.

Can’t blame him for that :stuck_out_tongue:

Ah sorry. I didn’t realise that was the plan of action.

If a mod wants to delete this post, please go ahead.

The 2.5 thread is pretty long, and the API development is a pretty big deal- why not give it it’s own thread?

awesome, im so excited about the render API myself… get luxrender hooked up !! :smiley:
straight into the UI.

eventhough blender render is actually really nice to. and fits most of my needs.

but also im REALLY aspecting the freehand render engine to do sketch/anime style renders.

lets hope for the best !!!

I am very exited about this while I got really used to use Python exporter recently!

I’m really happy that you can write in python and then port to C++ using the same api.
Id like to write some test render exporter… perhaps to povray?, or maybe do a simple lux exporter.

even though Im not overly impressed with python speed, when buffers can be passed about rather then lists of verts/faces/pixels etc, python can be very fast, so Id like to keep that option open, then maybe people wont even need to port to C++.


@Uncle Entity, the example by Brecht includes a simple version of an Aqsis plugin :wink:

Where about’s do i put the example Aqsis script?

I can’t get it to work.

Also if you do a RIB exporter, then it could work with all of the renderman compliant renderer’s (PRman, Aqsis, 3Delight, PIXIE etc).

I’d do it myself, but i’m not exactly a programmer. :frowning:

EDIT: I’m currently working on a short film which will be shown at SIGGRAPH (next year, this year is just still shots), I and the team are using Aqsis so a intergrated Renderman render feature would be awesome, although Whiterabbit has done an amazing job with MOSAIC so far.

Load the script in a text window and press Alt+P. That’s all you have to do :slight_smile:

When you’ve done that, you’ll get to see a new combo box in the top header, which will give you the choice for using Blender Render or whatever new renderer script that’s running.

It’s not very usable though, just meant to show what things will be like in the future.

The Render API is one of the first of many fruits of 2.5.

If the end user has a wide variety of render engines to choose from (both open and closed source) it’s a quantum leap in professionalism.

Very exciting - well done devs.

+2 agree. and for beginners there’s not that tideous export my stuf, import into render, settings etc.
way more nice if the 3rd party render engine is accessable from within the GUI.

Question about the render API:

When a rendering engine is selected, will it provide handles so that it can modify the UI to reflect what the rendering engine suuports?

For example:

If I load a renderman rendering engine will it be able to change the controls in the materials section to reflect options availble for renderman shaders, and show the previews as rendered by the renderman engine rather than blender internal.

Same goes for things like lighting and environment settings.

Also will they be able to use conventions like render layers?

I realize this is just the initial implementation, and that there is a lot to be done, I’m just curious about the “big picture”.

That’s the idea fishb8!

Brecht already mentioned switching the UI panels and access to render layers and passes…

I sure hope someone takes the time to implement a good BxDF-type (“realistic”) material system (to exist alongside the current blender materials implementation) as was discussed on the mailing list a while back by ypoissant and others… this will make life waaay easier for both artists and external renderer authors, I understand. Anyone know of such an effort or plans for one? :slight_smile:

Extremely powerful! I need to dive into that code!

I am just speculating here but wouldn’t the better approach be to allow blender internal to have a shading language. This would be a huge undertaking that has probabley got zero chance of been implimented. But a shading language could easliy allow one to write custom shaders e.g a Lafortune BRDF without it been hardcoded into the render engine itself. I have seen examples of this in Renderman SL. The are pynodes already in Blender so maybe making these way more powerful and making material nodes into a proper shading system would be the place to start. I have managed with the current implimentation of pynodes to write very simple lambert shader, but that shader is one of the easiest to write so writing custom shaders is possible already in a very limited fashion.

blender already has a shading language - python,
you can write your own shaders in python,
and load them up in the material nodes.

I have never bothered to look at the pynode system, but I can’t think of a reason why you couldn’t write a brdf in a pynode.