On Apr 19, 2012, at 1:46 AM, Charles Forsyth <charles.fors...@gmail.com> wrote: > "But wait!", I hear you cry. State, callbacks, no data structures to > speak of, ... why don't we look > at how they handle this stuff in ... Haskell! (Monads, and a learning > curve, though you can then build > up something that's not entirely graphics machine code.)
It is a big state machine because you have to give it a lot of state & the 3D h/w does do a lot of complicated things! SGI had open inventor, a scene graph level C++ API but it didn't really go anywhere it seems. But I think openGL 3.0+ and openGL ES 2.0 with their programmable pipeline can map well to a fileserver, where you write your data to the openGL server and the GPU does all the heavy lifting. This can also work reasonably well where the 3D h/w is a few tens of microseconds away from your cpu. I have a partial paper design but long way to go. A prototype is needed to see how well this will perform. An openInventor/coin3D/ivy (in scheme) kind of GUI library can be build on top of that.