3D matrices, take 2.
Two years ago I tried writing my own rendering engine
using Quickdraw, Max/MSP, and homespun matrix libraries,
but found that my ability to maintain model data in Max was pretty
lacking.
Since that time, a few developments have made this easier:
-
I found Meshworks,
a stripped-down 3D modelling package whose sole purpose is to generate
low-density mesh surfaces for use in realtime applications such as games.
Its data format is text-based, and is superbly easy to interpret.
This provided me with a more direct way to create simple shapes, so I wrote
a PHP parser/manipulator (link coming soon) that could work with the provided
data.
-
Cycling74 released
Jitter,
a matrix-processing library for Max/MSP
that provides a hook into OpenGL rendering output, so I don't need
to dive into depth-sorting or other nastiness inherent in 3D.
-
I discovered Open Sound Control, a Berkeley-developed standard
for sending music-related data packets over a network. A Max/MSP
implementation exists, and I wrote a PHP OSC parser/generator that
communicates via sockets, allowing me to perform geometrical
calculations in a more familiar programming setting, while letting
Jitter pick up the rendering slack. Geometry is generated on one
machine, and displayed on another.
At right are the initial results, with alpha transparency and geometric
repetition.
Next Steps:
-
Color, using HLS color model for smooth transitions through geometry.
-
Texture, using images or video to texture surfaces and provide photo-like appearance.
go home
|
|
|
|