[cello-devel] Portacello 2

Kenny Tilton ktilton at nyc.rr.com
Tue Mar 2 06:32:34 UTC 2004

After seeing the demos working again on both ACL and LW on win32 I 
quickly just made a zip before I could be tempted to fuss with it even more.

The cello ftp site now contains portacello2.zip and pc2dll.zip. I could 
not work out real quickly how to do the PGP signing cl.net wants, but 
sometime tomorrow look for those to be replaced by signed versions.

First, a quick note: there is a "build.lisp" at the top level directory. 
It is garbage.

As for the rest, still lots of hard-coded file paths and font names. 
Look for "with-styles" and/or "gui-style-ftgl" for fonts, "dvx" (my new 
development root) for paths.

The code has been carved up into components. Let's walk through 
"cello-demo-build.lisp", the full build, to see the whole picture:

> ;; -*- mode: Lisp; Syntax: Common-Lisp; Package: cl-user; -*-
> (in-package :cl-user)
> ;; ----------------------------------------
> ;;   ALERT:: Adjust all paths as necessary
> ;; ----------------------------------------
> #-asdf
> (load "/dvx/asdf.lisp")

not included

> #+build
> (let ((d-force nil))
>   (load "/dvx/build-sys-kt.lisp")
>   (build-sys d-force "c" "dvx" "uffi")

not included

>   (build-sys d-force "c" "dvx" "ffi-extender")
>   (build-sys d-force "c" "dvx" "cl-opengl")

The latter starts a pattern for components:

directory is dvx\cl-opengl.
that contains cl-opengl-build.lisp
and cl-opengl.asd
the source defines the package cl-opengl
the test function is: (cl-opengl::lesson-14)

oops. well, i wanted to give nehe credit. anyway, the pattern is 
followed pretty tightly. The goal is also to make each module as 
standalone as possible. So cl-opengl is just Lisp+OpenGL (via the glut 
and the bindings rolled with my ffi-extender package.

aside: ffi-extender is a fun way to quickly get a bunch of bindings, but 
it should probably be used instead as a utility to convert C headers 
into vanilla UFFI source. future project.

>   (load "/dvx/cl-ftgl/cl-ftgl.lisp")

This repeats the cl-opengl demo but with nice Ftgl fonts

>   (build-sys nil "c" "dvx" "cl-magick")

background is pixel-drawn, escher cube (a bug, but a cool one) is a texture.

>   (build-sys nil "c" "dvx" "cells")
>   (build-sys nil "c" "dvx" "cellocore")

Widgets on nothing but OpenGl and the glut, hence crummy type.

>   (build-sys t "c" "dvx" "cello")

cellocore + FTGL + ImageMagick

>   (build-sys t "c" "dvx" "cello" "demo"))
> #+run
> (cello::cello-demo)

the lighting panel is great fun. turn up the alpha on the colors of the 
shape to get brighter color, turn it down to watch it fade out. 
interesting bug: too far left of the line width slider and the line 
starts getting thicker. tip: the torus is the most fun. another lighting 
tip. bring up diffusion and lower ambience for shading. Oh yeah: turn 
down the rotations or the spinning will make you dizzy.

definitely pay with the number of rings etc in the torus and sphere.

more as i think of it. but as the name suggests, still not ready for 
development. I plan to take a week now and just do new widgets and 
menus. Just noticed an "overlay" cabability that might be great (fast) 
for menus.



Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film 

Your Project Here! http://alu.cliki.net/Industry%20Application

More information about the cello-devel mailing list