Table of Contents
Anaglym Graphics Engine
About Anaglym
The Anaglym graphics engine uses the Lua programming language as a high-level language in which to interpret Anaglym applications. Applications running inside Anaglym are Lua scripts that have a particular environment exposed to them. This environment provides high-level interfaces for creating and interacting with 3-dimensional objects, creating and controlling audio, and utilizing physics for the virtual world. Because the Anaglym engine only exposes a controlled set of routines to the executing script, execution of the hosted script is very secure. The script cannot, for example, read or write arbitrary files from the host's filesystem.
Anaglym makes use of a variety of other technologies to run:
-
- ODE (Open Dynamics Engine)
Anaglym was my Master's project for Grand Valley State University's Computer Information Systems graduate program. You can see the entry in the GVSU ScholarWorks system.
Release Downloads
The downloads available in this section are pre-compiled Windows binaries. To run anaglym in linux, check out the Source Code and build it (below).
| Release Version | Release Date | Download | Documentation |
|---|---|---|---|
| 1.1 | 2010-09-24 | anaglym-1.1.zip | anaglym-1.1-doc.html |
| 1.0 | 2010-08-10 | anaglym-1.0.zip | anaglym-1.0-doc.html |
Source Code
You can obtain the code with the following command:
git clone git://holtrop.mooo.com/anaglym.git
Building anaglym
To build Anaglym you'll need a few packages (these are the names of the packages in the Ubuntu repository):
liblua5.1-0-devlibftgl-devlibsdl1.2-devlibsdl-image1.2-devlibode-dev
Then:
make
Invoking anaglym
Usage: anaglym [options] program.lua[c] Options: -w<width> : set window width -h<height> : set window height -f : do not fullscreen -g : do not grab mouse input -s<samples>: set multisample level (default 4)
Screenshots
Release History / Features In Progress
1.2 (in progress)
- get full path to engine
- subfolders are allowed in Lua-specified paths separated by “:” characters
- added Quads
- TODO: documentation for Quads
1.1
- Added
enable_blendingflag to optional object creation arguments to enable alpha-blending for transparency - Added
obj:setTransparency(t)method to set the transparency of created objects without textures - ag.pickObjects() sets
pick_dist,pick_pos,pick_normalattributes on selected objects - Added ag.pickOne() to efficiently pick points on a single object
- Fixed bug with obj:getSize() returning twice the size for created boxes
1.0
Initial release.

