for Common Lisp

August 4, 2009
Alexander Repenning
alexander AT agentsheets DOT com
AgentSheets Inc.


What is NEW?

The Open Agent Engine is being integrated with XMLisp and available at Google Code XMLisp project. Port to Windows has begun.

OpenGL for MCL has been completely reworked and is in the process of being renamed to Open Agent Engine. The Open Agent Engine has significantly more features including OpenGL 2.0 support (e.g., Shaders), picking, and additional input devices (e.g., GamePads) but most importantly it is now a cross platform framework! The Open Agent Engine is open source under the LGPL license. Open Agent Engine for OS X uses MCL but a port to to OpenMCL is on its way. Open Agent Engine for Windows used Allegro Common Lisp. Source code using Open Agent Engine is platform agnostic. Media support including textures, sounds, and movies is cross platform as well.


OpenGL for MCL is a Macintosh Common Lisp interface to the OpenGL 2D/3D graphics library. The combination of MCL , OpenGL and OS X makes a great explorative programming environment to create amazing 3D worlds.

If you wish to use the Open Agent Engine, please contact AgentSheets, Inc.


Model Loader: load simple .obj model files.

New Example: Gears, an OpenGL classic

Multi View Animation: Run serveral animated windows or views in parallel.

Texture and Image Loaders: load virtually any image file format including alpha channels to make textures and images.

OS X Full Screen Mode: run OpenGL applications in full screen mode. Ideas for games or other highly emersive visual environments.

OpenGL Views: use any number of OpenGL views inside windows. Combine OpenGL-Views with other MCL dialog items into sophisticated dialog boxes.

Real Time Animation: implement frame rate independent real time animations, and simulations.

Game Engine: A simple game engine allows you to construct scenes containing agents. Agents can be nested. Agent can be animated, can react to events etc.

Full Scene Antialiasing: ATI Radeon video boards only.

Live Interface: drag and resize the window; change the camera angle... all without ever halting the animation.

Implementation Status

Open Agent Engine has been ported to MCL (>= 5.0) and Allegro Common Lisp. Open Agent Engine is an object oriented framework based on classes representing OpenGL windows (opaque and transparent), and OpenGL views with methods to handle rendering, animation, mouse input, keyboard events, gamePad input, texture management, and shader manipulation. Implementations are based on AGL for OS X and WGL for Windows. Media support is based on QuickTime for OS X, Windows and Open QuickTime for Linux. Open Agent Engine can use GLUT but is not based on GLUT because GLUT's callback mechanism takes too much control away from interactive applications making object-oriented extensions hard to build and debugging nightmarish .

More information

The OpenGL Red Book

The must have Programming Guide

Buy at Amazon

Free Online Version

The OpenGL Blue Book

The Reference Manual

A Fred integrated version of this book is included with this version of OpenGL for MCL.

Buy at Amazon

Free Online Version

Real-Time Rendering

A truly wonderful book covering a lot of ground on how to make efficient 3D

Buy at Amazon

All kinds of additional materials, books, discussion forums etc.:


This code is based on previous efforts (code and great advice) by other people.