Terminal in a spatial environment
ZLand:
A terminal in 3D space.
Running the grid_life command in the spatial tty creates a
gold gridwork nearby
with a life simulation,
powered by a external PERL script.
With all features enabled, medium object complexity (more for the later
graphics cards), and with only a little text in the terminal (or more
for the later card, which is running zland3, which uses extruded
polygonal text), this view renders at about:
- 13 f/s under Linux on a Voodoo3 at 1600x1200.
- 60 f/s (tied to flatpanel refresh) on a NVIDIA GTX 295 at 2560x1600
...which isn't entirely meaningful since the bottleneck at speed is
an internal usleep() call used to prevent CPU saturation.
The terminal now (this was in ~2001) uses the full pseudo-tty
device interface (using either /dev/ptmx, /dev/ptc, or BSD-style
searching), functional under Linux and Solaris so far.
In this view (zland2 on the left), /dev/pts/11 is the slave terminal,
as seen in the "p5" in the ps(1) listing
It emulates a cursor-addressable VT52, and I've already successfully
used vi and emacs and other curses programs within it.
Seeing unit sheep through your terminal, wandering about, is a little
surreal, especially since they
bleat when you click on them.
Recursive rendering of spheres
This is actually a tetrahedron, with five or six layers of subdivision
and some creative disruption in pursuit of more esthetically pleasing
spheres.
Flying through a world under construction - movie
This animation is only a pale echo of what it looked like on
its original development machine, an SGI Onyx Reality Engine 2,
where it ran more smoothly, and at 1280 x 1024 resolution in 1995.
Trying to work on this little beast on my home computer just
won't compare until about late 1999.
What's so neat about an RE2?
Turning on texture mapping doesn't even slow it down, and the new
SGI's can use their primary RAM for texture mapping.
I can definitely think of uses for several hundred megabytes of
texture memory (although the octohedrons above are actually using
very memory-efficient 1-dimensional animated texture maps).
Here's another screenshot
from the timeframe showing a broader panorama of the octohedrons
(and everything else).
Below is a slightly earlier shot without the 1D textures.
Flying through a world under construction - earlier
Fractal Tree in GL
My first effort at 3D was this little trio of fractal trees, complete
with controls to move about, make the tree grow or shrink, etc.
Although written in OpenGL's precursor GL, it still uses many
advanced features, including smoothing, sub-pixel positioning,
lighting, perspective, fog, etc.
The source is available.
|