Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A Common Lisp library for device-independent 3-d scene models and graphic rendering

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 base
Octocat-spinner-32 clx
Octocat-spinner-32 geometry
Octocat-spinner-32 model
Octocat-spinner-32 opengl
Octocat-spinner-32 projection
Octocat-spinner-32 readmes
Octocat-spinner-32 tests
Octocat-spinner-32 README.md
Octocat-spinner-32 agpl.txt
Octocat-spinner-32 graphics.asd
README.md

DE.SETF.GRAPHICS: a Common Lisp graphics library

de.setf.graphics implements a native Common Lisp graphics kibrary. It provides 3d scene and geometry modeling in CLOS with rendering support for clim, clx, opengl, quickdraw, and svg.

Status

This library has been used for research, development, and prototyping. Over the years, it has been built and probed in the following combinations

Graphics Interface
lisp implementation
Core Graphics xlib Open GL SVG
MCL MCL-5.2, clx_0.4:
MCL-5.2, AGL-1.2.4:
MCL-5.2, safari 4.03:
CCL CCL-1.3, OS X 4.6, clx_0.7.3:
SBCL SBCL-1-0-35, OS X 4.6, clx_0.7.4:

The documentation is, unfortunately, to be found in the form of files intended for Word for Macintosh, Version 4.0, only. Until that improves, consult the tests for examples.

common-lisp.net hosts a mailing list and a trac instance for discussions and/or reports.

Notes

No one of them is preeminent. The internal transformation operators are implemented in radians and converted as required as arguments to library functions. It would be possible to apply internalization/externailzation operators intrface arguments, but since the interface exposes internal levels, it's not clear where this normalization should happen. For the meantime, use radians.

Downloading

Images are in the download area for ccl and sbcl runtimes.

Building

In principle, de.setf.graphics is built with asdf. Once one has the sources and the asdf configuration in place, evaluate

(asdf:operate 'asdf:load-op :de.setf.graphics.clx)
(asdf:operate 'asdf:load-op :de.setf.graphics.opengl)

to load the respective version. The versions intend to be compatible as each implements a distinct graphics context for the respective library. Please consult the detailed instructions for the respective runtime for more information.

Licensing

This version is released under version 3 of the GNU Affero license (GAL).[5] The required components are included as per the respective licenses and covered, in this combined form, under the GAL as well

  • agl : unknown
  • closer-mop : MIT-style
  • clx : TI; additional attributions undated (consult the (external.lisp)[./clx/ecternal.lisp] for the reference to the exact version
    • 1987 : Texas Instruments
    • 1988, 1989 : Franz Inc
  • meta : anon
  • skippy : public domain

This library has evolved over the years under various copyrights

  • Copyright 1988-1993 james anderson (lgpl)
    • 19880616: the original version was written as part of a research program in design reasoning with the "design tools and methods group" in the department of architecture and planning, massachusetts institute of technology. the basis was mcl/object-lisp/quickdraw
    • 19891107: ported to clx/pcl
  • Copyright 1993-2003 james anderson (lgpl)
    • 19940528: changed element class to use standard-object classes rather than structure-class, since structures fail to initialize correctly with an extended subclass hierarchy.
    • 20030829: ported to mcl 5.0. introduced abstract graphics operations and opengl support, which involved optional transform processing. simplified location implementation to eliminate typed locations.
  • Copyright 2003-2004 james anderson (lgpl)
    • ported to allegro.
  • Copyright 2004-2009 james anderson (lgpl)
    • ported to clozure.
  • Copyright 2010 james anderson (gal)

made with mcl

Something went wrong with that request. Please try again.