[Bf-taskforce25] [Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18215] branches/blender2.5/blender/source /blender: RNA

Ton Roosendaal ton at blender.org
Sat Jan 3 10:19:40 CET 2009


Hi Brecht, Matt,

How notifiers will evolve is not frozen, but I would prefer to only 
stick to sending notifiers for UI refreshing. That was the whole 
concept of the event system. It provides a clean distinction between 
"data" and "view".

If you have data dependencies (like one value change should update 
other properties) it's really for the depsgraph to handle, entirely 
outside of the UI. That's all "data" level. You want this to work in 
background render too, and for python.

So; the rna editor can give notifiers to listeners in other parts of 
blender to refresh UI, and next to that details for the depenency graph 
to do the actual work.

Preview render (and glsl) have very complex depencendies on data, and 
are probably not well handled with notifiers. I would propose to treat 
rendering not as "view" but as "data". It's similar to creating poses 
and deforms, update particles, hair, and so on. If we do this well, it 
will enable all rendering and previewing options outside of UI too.

-Ton-

------------------------------------------------------------------------
Ton Roosendaal  Blender Foundation   ton at blender.org    www.blender.org
Blender Institute BV  Entrepotdok 57A  1018AD Amsterdam The Netherlands

On 2 Jan, 2009, at 10:36, Brecht Van Lommel wrote:

> Hi Matt,
>
> On Fri, 2009-01-02 at 17:42 +1100, Matt Ebb wrote:
>> On Fri, Jan 2, 2009 at 2:52 AM, Brecht Van Lommel 
>> <brecht at blender.org> wrote:
>>
>>> -----------
>>> RNA
>>> * Added support for sending notifiers and updates when setting
>>>  RNA properties. Per property, there is a notifier NC_/ND_ flag,
>>>  and a function that is called. Currently only used for
>>>  Object.loc/rot/size.
>>
>> Thanks Brecht, this is great! Would you like me to do some monkey work
>> adding more of these? I.e. for shading -  updating 3d view for changes
>> in lamps, materials, etc? How about a category/update function for
>> geometry changes too, to allow changing modifier properties for
>> example?
>
> If you want to work on this, go ahead.
>
> Notifiers are nicely decoupled, so you should be able to define more 
> and
> use them without much trouble. For example for object changes that
> affect the data indeed one or more ND_* types need to be added for
> NC_OBJECT.
>
> However there is the issue of how to do things like preview render
> updates, clearing display lists, etc. I think we have to use 
> blenkernel/
> functions for that, and avoid using editors/ functions in RNA code, 
> only
> interacting through notifiers there if possible. How that interaction
> will work is a bit unsure still though I imagine with proper use of
> notifiers and DAG_* functions you should be able to get quite far.
>
> Brecht.
>
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



More information about the Bf-taskforce25 mailing list