Boost logo

Boost :

From: ali fareed (ali.boost.list_at_[hidden])
Date: 2006-10-26 08:15:36


> I wonder how such an interface would look.

I wish I knew. I'm guessing it would be something akin to an abstract
factory of a sort. First I suppose there'd have to be a 3d maths library
implemented into boost. This is something that I can see the design of quite
clearly, and should be quite straight forward to get relatively right.
Even if that alone was created without a graphics lib it would be a big
help.

I would be amazingly nice to have an interface to which one could conform
> backends to in an efficient manner.

It would indeed :)

The backends I would love to see supported are:
>
> OpenGL 1.5 / 2.0
> Direct3D 8.1 / 9 / 10, XBOX, XBOX360
> OpenGL|ES 1.0 / 1.1 / 2.0
> PSGL
>
> Of course these libraries have wildly different interfaces,
> implementations,
> feature sets etc.

Yeah, but I was not thinking of a fully featured 3d rendering library. More
like a subset of the various graphics apis. Like most of the basic
functionality. I don'k know how useful this'd be for the more "cool feature"
inclined 3d applications (games come to mind), but it'd be more then
sufficient for 3d app that do not require all the razzle dazzle that games
would. Like scientific research applications and visualization software
(AutoCad?)

Almost all existing 3d graphics abstractions are implemented as rendering
> engine frameworks. A framework is very hard to buy into and using
> multiple
> frameworks together is next to impossible. A toolkit approach ala ASIO
> would be preferred.

Could you add to this a bit. I'm not familiar with asio (I just spent a
little while looking at it), but like what'd be the key differences between
a toolkit approach and a framework one? A toolkit one would more closesly
resemble a utility library yes?

> Most window frameworks are very hard integrate into existing applications
> in
> my experience and are generally diffcult to port to unsupported platforms.

So if there was a boost graphcis lib, then it'd have to go through one of
the cross platform window frameworks? How about just a basic window object
that's just created for the graphics lib? Nothing fancy nothing extra... I'm
not really familiar with the topic though as I've only been doing win32
development when it comes to windowing systems.

> Comments?
>
> Creating interfaces like this seems like a huge beast to tackle but an
> important one as much wasted effort is being put into reinventing these
> wheels.

Yeah, maybe we can manage to gather some ideas on how something like this
can be implemented.

I think it is important to create core interfaces that can handle
> the simple tasks (i.e draw a triangle list with a texture applied, or play
> a
> mono looping sound)

Yes, that's exactly what I was thinking, basic functionality.

that can be readily ported to new backends without
> having to get a whole mess of additional functionality working from the
> get
> go.

Do you have anything in mind of how something like this owuld look like?

- Ali


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk