clive

by Kavalogic, Inc.

Model of icosahedron viewed with Clive viewer

Clive is a Common Lisp binding to Open Inventor with extensions (cf. "CL-IV-E"). Through Open Inventor, Clive provides a scene graph based approach to 3D rendering.

A scene graph is a directed acyclical graph (DAG) of objects that represents a scene for a 3D model. These objects include geometric objects, lights, materials (color), and a camera. Clive provides functionality for viewing and interacting (picking, rotating, moving, etc.) with 3D objects in the scene. To display an image in a viewer, Clive traverses the scene graph elements, and generates a set of OpenGL commands to draw an image.

There is much more to Clive's functionality, such as constrained object attributes, Lisp scene graph scripting, animation, offscreen rendering, etc. Clive includes about 80 Open Inventor sample programs, translated from C++, to demonstrate the capabilities. Clive is also extensible — voxel rendering for example is available as an optional extension.

This is a trivial scene graph in Lisp which specifies a transparent red sphere:

    (group
     ((perspective-camera)
      (directional-light)
      (material :diffuse-color (color :r 1)
                :transparency 0.5)
      (make-sphere)))

Note: Clive is currently a preview and is of 'alpha' quality. It is not meant to be used in production systems at this time. Things can and will change.


A copy of the Clive source code can be obtained by:

The source code can also be browsed at:

https://common-lisp.net/viewvc/clive/trunk/

To report any issues or discuss topics related to Clive, a project mailing list is available at:
https://mailman.common-lisp.net/listinfo/clive-devel


Copyright © 2018 Kavalogic, Inc. All trademarks are the property of their respective owners.

Back to Common-lisp.net.

Valid XHTML 1.0 Strict