Project Overview
-
Abstract:
GLOS is a graphic library intended to display and animate 3d objects
in real-time onto a X-Window. Implementing a subset of the OpenGL
library, it cares about observing OpenGL primitive naming and
rendering methods. It is also entirely developed in ANSI Common Lisp,
but features some specific CMU/CL
optimizations enabling about 1/4 of MesaGL speed.
-
Context:
GLOS is an undergraduate research project followed by a team of five
4th-year students, supervised by two LaBRI teachers. It lasted 3
monthes, and took place in the Computer Science department of
the University of Bordeaux I, France.
-
Features:
- Gouraud shading rendering.
- Phong lighting.
- Z-buffer (near and far clippings).
- 8 directional colored lights.
- Material (ambiant, diffuse, specular), but no texturing.
- Vertex-Array implemented to speed-up faces processing.
- External utility to process ASC objects.
See the User Manual for
an exhaustive listing.
-
Compatibility:
GLOS requires CMU/CL and CLX to run, so it is basically intended to
Unix platforms.
The Defsystem package is required for compilation.
For optimization purposes, the code contains CMU/CL-specific
compilation directives which makes it non full-ANSI Common Lisp,
and then affects its portability to other ANSI Common Lisp
systems. However, one can easily remove them (S-expressions with
declaim, the, etc...) using sed utility, taking the risk
to significantly decrease the overall efficiency of the recompiled
code. Contact us for more
details.
-
License:
GLOS is under GPL license.
Download
- Source code & Binaries:
glos 0.99, 16 Nov 2000
- Documentation:
For now, all available manuals are in French (cf French
section). Therefore, we suggest you to download the User Manual anyway
in order to list the implemented OpenGL primitives.
The comments in the code are in English.
GLOS Project team
- Developers Team
-
Bailleul Jonathan: Page web
-
Bazzaro Fabrice
-
Degand Benoît
-
Hubert Renaud-Roland
-
Pujos Michaël
Contact the GLOS Development team:
- Teachers:
The LaBRI Professors who
supervised this undergraduate research project:
Last modified: Jan 2013
|