[Bf-committers] User-defined Material Properties

Ton Roosendaal ton at blender.org
Thu Oct 13 10:17:23 CEST 2005


Yeah... I'm now heading the conference venue to set everything up. The  
rest of the day I have to prepare talks. Then friday to sunday I'm  
fully occupied. :)

>  I think we could do this in steps:
>  1) Add the property type that's currently being used for game  
> properties to as many DNA structs as makes sense.

Yep, but not in the ID struct as Campbell proposes. This is the general  
database identifier for Blender data, related to file read/write,  
library linking and some other pointer magic.

It could be wrapped in a generic call like;

ListBase *id_get_property_list(ID *id)

Since each ID can easily sort out which data is involved. Also that's  
something to think over.
Also related to how the lists are constructed. For example, the struct  
Property can get another ListBase struct for creating groups and  

I really like to hear some remarks from people who work on other  
exporters first too. On the conference we'll meet with the Aqsis man  
and a CrystalSpace developer. I'll talk with them about it. :)

>  2) Add custom panels where appropriate, that would take care of the  
> ui. (Maya does it this way with an 'Extra' tab off of each node.)

I'll involve Matt in this too.

>  3) Expose all properties to python scripts.

Afaik there's already a property API (game engine only?). Nevertheless,  
this should be the last step, when the full design is verified.

>  4) Add the ability for python to create panels and buttons.

I don't think so! The property system should have this as intrinsic  
feature, would be much more reliable and flexible. Python should follow  
blender functionality too.

>  5) Add the ability for python to add custom menus. For example, an  
> entry could be added to the ADD toolbox menu to execute a script and  
> add a custom object. Maybe this could be setup in a config file.

Well, if Python should become an important means of creating custom  
menus/panels, we should look at a really good generic method for doing  
this. I know Willian has looked into this before... it's a difficult  
project, and I rather keep that separate.

>  I'm confident I can handle steps 1-3. I think those steps are pretty  
> straight forward.

Yes, but also tricky... I'll be extremely picky on proper coding of  
that feature, it touches the heart of Blender's data system, and should  
be totally stable and future proof.

You might give it a try... i can review. You can also wait for me to  
code it, it's not much work, but I will only do when the full range of  
usability of this has been explored and verified. :)


>  4 and 5 should probably be done by someone who understands the gui  
> better and could do some neat things like allow python to draw with  
> opengl inside a panel.
>  I really would like to start working on this ASAP. But I'm not about  
> to start without everyone's blessing. It would be very depressing to  
> spend months on this only to have it discarded. If wanted an excercise  
> in futility I could try and write my own 3D package, in assembly, and  
> for a VAX.
>  So how should I proceed? Should I attend the IRC sunday meetings? Or  
> is just getting feedback here good enough?

On 13 Oct, 2005, at 1:55, Tom M wrote:

>>  I just need some more suggestions or a green light from someone  
>> who's been
>> around for a while to feel comfortable enough to get started.
>>  -Greg
> Right now we are doing a preview release and the Blender Conference
> over the next couple of days, so many of those most suited to giving
> you proper direction are a bit short on time, the conference is the
> 14th-16th.
> See this page for details
> http://www.blender3d.org/cms/Blender_Conference.52.0.html
> After that things might be a bit less crazy.
> LetterRip
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
Ton Roosendaal  Blender Foundation ton at blender.org  

More information about the Bf-committers mailing list