From: Kenny Tilton
Subject: fine print
Date: 
Message-ID: <Rc61c.4121$Wo2.1433@twister.nyc.rr.com>
This is a non-announcement announcement of the upload to the 
common-lisp.net cello project ftp area of version 2 of Portacello, the 
not-ready-for-prime-time code horror others are welcome to port to their 
platform of choice (with my copious email support). Frank Goenninger has 
ported to Linux+AllegroCL, but we have not merged efforts yet; clearly 
anyone looking at Linux would benefit from his starting point.

here is some of what I sent to the cello-devel mailing list:

/// begin quotation

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 play 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.

/// end quotation

after a great response from my gamer bartender (and other patrons) to 
the lighting panel, I have now been sucked into playing with opengl 
materials, but any day now I have to stop goofing around (or worrying 
about CL having a portable GUI) and get to work on a nice little 
commercial niche app. Enticing, psychedelic screenshots will continue, 
however, especially as groovy new widgets are released.

btw, the bartender was very impressed when, after he protested that the 
simpler glut-provided cubes did not respond to the size widget (those 
functions draw a unit shape), I successfully added x-y-z scaling while 
saying things like "does anybody see the control key?"

Fun note: when the beertender,s gamer buddy asked what language I wrote 
it in, he started talking about the huge Lisp system donated to NYC by 
someone back in the sixties. He opened by saying "Lisp. Car, cdr, caddr" 
pronouncing them all correctly. Almost dropped my pint.

:)


kt

-- 
http://tilton-technology.com

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Your Project Here! http://alu.cliki.net/Industry%20Application