[Bf-python] Modified RenderEngine API Proposal

Brecht Van Lommel brechtvanlommel at pandora.be
Wed May 11 17:54:40 CEST 2011


Hi,

On Wed, May 11, 2011 at 3:20 PM, Matt Ebb <matt at mke3.net> wrote:
> On Wed, May 11, 2011 at 11:03 PM, Martin Poirier <theeth at yahoo.com> wrote:
>> Modifying data during rendering is a bad idea. If a render engine needs to
>> do this, it should be done in a pre or post render step (meaning the render
>> engine api would need to provide such steps).
>
> Well, yes that's what I meant ;) And if you're using a renderer via the API
> it's not going to be directly accessing DNA data like blender internal
> currently does anyway, it'll be in its own format. But being able to modify
> data eg. before/after renders, when opening files, etc. would make life much
> easier.

I would like to hear the practical use cases for this though, I have
an impression there's different problems here that need different
solutions. For example temporarily disabling a modifier in the
update() callbacks, that seems reasonable to me. But setting data
before and changing it back after rendering is problematic, as the
scene can be edited during render.

>> Also, the .layers[0] access somehow seems like an incomplete
>> implementation.
>> I would like to perhaps see something like this for full support of named
>> layers:
>> ly_combined = result.add_layer('Combined')
>> ly_combined.rect = combined_data()
>> ly_depth = result.add_layer('Depth')
>> ly_depth = depth_data()
> Well not just accessing layers by name (eg. naming the hard coded 'render
> passes' currently used in blender) but being able to dynamically add and
> send image data to any number of arbitrary aovs per render layer is whats
> needed.

Render results and passes I intend to make a proposal for and tackle
separately, that's a big subject by itself.

Brecht.



More information about the Bf-python mailing list