[Bf-committers] A few requests for the new API

Brecht Van Lommel brecht at blender.org
Wed Mar 10 21:57:06 CET 2010

Hi Eric,

I've added:
* a .move(from, to) method to python defined collections
* support for LAYER subtype with BoolVectorProperty
* COMPAT_ENGINES to lamp panels

Letting python define what is in list rows is on my todo list. Adding
COMPAT_ENGINES to textures is possible but I'm not sure how to do this
best yet, textures are used also for other things in Blender.


On Tue, Mar 9, 2010 at 5:36 AM, whiterabbit at dreamscapearts.com
<whiterabbit at dreamscapearts.com> wrote:
> Hello everyone,
> I'm not clear as to where I should report problems and request features
> for the new API so I'm going out on a limb and asking here. If there's
> somewhere I should do this officially someone Please point me in that
> direction ;-) I'm Eric Back aka whiterabbit the developer of the
> RIBMOSAIC RenderMan script
> <http://sourceforge.net/apps/mediawiki/ribmosaic/index.php?title=Main_Page>.
> I've been rewriting ribmosaic for Blender 2.5 and have run into several
> issues.
> The gist of what I'm trying to do is create a panel for RenderMan passes
> very similar to Blender's render layer panel. I have something basically
> working however I've run into several difficulties that I feel should be
> improved and one serious showstopper!
> The first task is to add a list widget to navigate passes with the
> ability to enable or disable them in the list (like layers do). The
> problem is "template_list" only recognizes the "name " property in
> "PropertyGroup". Features such as the "enabled" toggles for layers only
> activate with hard coded property types such as "SceneRenderLayer" (as
> far as I can tell from Blender's source). It would be nice to either
> have the template recognize certain property "attr" names and add
> buttons accordingly (such as if "attr" is "enabled" add a toggle) or to
> be able to specify them as template parameters. I've worked around the
> issue by adding the "enabled" toggle for passes just below the list
> however I'm sure users will ask why RIBMOSAIC doesn't work like
> Blender's with toggles in the list.
> The next task is to add "visible layers" and "used layers" widgets for
> each pass (just like the layers panel has). The "visible_layers"
> property works as expected for this task, however even though I can
> create a 20 element boolean array using "BoolVectorProperty" I cannot
> assign it as a 'LAYER' subtype (so it will not show as a layers widget).
> As a work around I decided to use "template_layers" instead. This works
> however the widgets are too small since I think they are only meant for
> headers? I can make this work but it would be nice if either 'LAYER' was
> added as a subtype for "BoolVectorProperty" or parameters were added to
> "template_layers" to control its visual style (such as a small header
> style and larger panel style).
> This last task is the "show stopper" for me currently. I can add and
> remove passes to the list easily using "PropertyGroup.add()" and
> "PropertyGroup.remove()" but I also need to reorder the passes in the
> list. This is critical as changing the order of the passes for export is
> very important. I noticed in Blender's source that certain property
> types have this behavior by using hard coded operators. Is it possible
> to add the "slot_move" operator for the "PropertyGroup" class as well,
> or is there some other way to do this in Python?
> I also have a feature request. RenderMan handles texture export and
> lighting very differently then Blender. It would be nice to add the
> "COMPAT_ENGINES" feature to the Texture and Lamp panels so we can remove
> those Blender specific features from the render pipeline. This way all
> elements of Blender's render pipeline can be removed from the GUI.
> Thanks in advance,
> Eric Back (WHiTeRaBBiT)
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list