Index:
[thread]
[date]
[subject]
[author]
From: MenTaLguY <mentalg@geocities.com>
To : GGI Developers <ggi-develop@eskimo.com>
Date: Mon, 24 Aug 1998 10:25:42 -0500 (EST)
Re: 3D Graphics Library (libGGI3D) design ideas...
On Sun, 23 Aug 1998, teunis wrote:
> Anyways, rather than one monolithic library I'm designing a whole raft of
> different inter-related libs... ie (libGGI3Dmath, libGGI3Drasterization,
> ...) I don't know how it'll turn out but this could be fun! :)
Indeed. Sounds like a good idea -- has some real bloat-reducing potential,
and it forces us (you) to properly generalize the design, to boot :)
> Anyways a question:
> Can GGI targets call back to calls they overrid?
> (this would be handy as sometimes this could be needed)
Sure. However, in that case it is your responsibility to save the old
function pointers to call back to.
> Also - can variables be overridden?
Mmm... I dunno. What exactly do you mean? private extension-specific data
structures, or what?
> Hmm. Also - is it possible to request a list of supported API's? Or will
> I have to design a call myself? I don't mean this thing to -be- OpenGL or
> I'd be fubar. I just mean this as an easy step to building opengl drivers
> for Mesa or 3D drivers for other toys (like Direct3D). Any of the
> components can be skipped and the -entire- engine will be open to
> change...
In theory, for GGI stuff, ALL APIs should be supported, but emulated in
software if the hardware cannot directly support the functionality exported
by that API. IIRC, in the LibGGI* model, no API functions/stubs/data are
loaded into a visual until such time as you explicitly request that API to
be used for that visual, so that's not really that bad at all.
I think that is a better approach than simply allowing/disallowing certain
APIs depending on HW support. I guess if an API function makes absolutely
no sense whatsoever for a particular visual, the ideal behavior should be
for it to always return -ENOSYS or something like that.
-=MenTaLguY=-
Index:
[thread]
[date]
[subject]
[author]