[Bf-committers] BOAL idea. . something really, really needed
joeedh
joeeagar at prodigy.net
Mon Sep 13 19:33:50 CEST 2004
Ton Roosendaal wrote:
> Hi,
>
> You could check on the notes I made to explain the design process for
> Blender. It's on blender3d.org -> InfoCenter -> Development, where
> you can find a lot of goodies.
Read all of those.
>
> http://www.blender3d.org/cms/Blender_Architecture.336.0.html
>
> A the time this design happened, CSG was already getting out of the
> picture as outdated. The last true CSG based modeler/renderer (gig
> 3d) disappeared just because it's very hard to work with. But here I
> talk from the 3d animation tool perspective, and based on development
> as reflected in the yearly Siggraph proceedings/conferences.
That's where OpenCSG comes into the picture. Real-time preview of
CSG-based modelling. Which reminds me, I still need to write a C api
for it. . .
>
> Nevertheless, the "Meta" object type was also meant to be the
> primitive type in Blender to experiment with CSG structures. There's
> what you can call a "CSG Object".
>
> Having c++ within Blender core, and especially dynamic c++ plugins is
> an architecture proposal which is out of the scope of what we do
> currently. Regular C is still standard, and when you prefer to use
> C++ (which is fine) it should be delivered as a library with a C API
> wrapper to interface with the rest of Blender.
That was how I planned to do it, yes. C++ wraper with a C API. Blender
itself won't know a thing, it'll simply see another Object type.
>
> I've coded the main object and data system in Blender, and theres
> several aspects in it you could describe as 'horrible mess' yes, but
> that's on a very different level.
Sorry about that. Should've realized that all C code is going to seem
like "a horrible mess" if you come from a C++ viewpoint (obviously I
need lessons in tactfulness :) ) .
Actualy, all I wanted to do was to is make it easier to new code Object
types. I think this would be beneficial, especially with that new NURBS
library (Nurbana?), or perhaps a Cloth object, or whatever *you* want
(although I have to admit I've come pretty close to making a Cloth
object in Python. Just need that OnSave scriptlink).
I mean this as a *suggestion*. If you don't like it, then it'll simply
become part of my CSG code, and not one will ever have to worry about it
again. Unless you really don't want it.
> Your perception seems to be based on biased opinions on C and
> requirements for a CSG system, which completely - and purposedly -
> conflicts with how it currently works.
>
> -Ton-
Ok. But I can still use it for my CSG object (the internal Blender
object won't see any difference) right? Or not?
Oh, and a little hint about the Listbase-type linked lists would be
nice--I know how Linked Lists work, but Blender's system confuses me.
Not that I'm saying ITs a horrible mess, mind you. I really like
Blender's Library system, I think it's incredibly cool.
joeedh.
P.S.: I named it BOAL because that describes its functionality--I did
NOT mean the New Offical Blender Object Abstraction Layer. I probably
should've picked a different name, like the Unofficial Blender Object
C++ Campatibility Layer, Use It If You Want It.
More information about the Bf-committers
mailing list