[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re:3D



John R. Hall reacts to RoBruce Findler:

> > DrScheme is not currently distributed with any 3d graphics 
> > library, but we are considering adding one. We haven't yet 
> > nailed down any specifics, however.

> OpenGL support would seriously rule. It would probably have 
> to involve a higher-level scene management layer for speed 
> (I can't really imaging a Scheme program pumping 10000 triangles 
> to the GL library 30 times a second).
> 
> GL would provide excellent quality as well as portability. 
> (sorry, I'm more than a bit biased :)
...

There are several things there, please do not forget what Scheme
is good for.

A 3D library does not mean necessarily a real-time game engine.
I teach computer graphics, including 3D using DrScheme, and I am
satisfied without having all those OpenGL stuff, although I would
love to have it, obviously.

We play with 3D geometry and its algorithms, showing how to use
functional objects to define surfaces by sweeps, rotation, etc.,
all what concerns parametric surfaces. We use the painter algorithm
for rendering, showing the usefulness of decent sorting tools.

I have even written an awfully slow, and practically useless ray
tracer just to show how to code in an elegant manner the projections,
(parallel and perspective), how to define a non-trivial camera (e.g.,
fish-eye), how to map textures, etc. Finally I abandoned it, but
there is plenty of things to do even without fast primitives based
on OpenGL (or maybe QT/Quesa?)

Btw. OpenGL defines a "state machine" whose structure is not
entirely adapted to DrScheme object system (although I haven't
thought too much about it) and about a typical style of programming
in Scheme.

==

On the other hand, Schemers Inc. sell a version of Scheme with a
3D library, and I strongly suspect that they have just plugged-in
the OpenGL machinery, without any true work of their part.
Anybody knows whether they succeed in selling this? I have
imported a demo version, and it didn't work very well.

Jerzy Karczmarczuk
Caen, France