Can someone suggest 3D graphics modeling and rendering software that
can be used with lisp? At this point I don't know much about either.
How does one interface them? I suppose that depends on what is available.
I would like to be able to manipulate basic 3D objects -- spheres, pipes,
blocks, etc. -- with lisp. Later I might be able to work at a lower level.
Right now I just need to get my feet wet.
I originally considered using Autocad since it has Autolisp. However it
is not free and I would prefer to stay out of windows. I appreciate any
suggestions you may have.
Darrell Adams wrote:
> Can someone suggest 3D graphics modeling and rendering software that
> can be used with lisp? At this point I don't know much about either.
> How does one interface them? I suppose that depends on what is available.
>
> I would like to be able to manipulate basic 3D objects -- spheres, pipes,
> blocks, etc. -- with lisp. Later I might be able to work at a lower level.
> Right now I just need to get my feet wet.
>
> I originally considered using Autocad since it has Autolisp. However it
> is not free and I would prefer to stay out of windows. I appreciate any
> suggestions you may have.
I am on Windows XP using Corman Common Lisp 3.0. The foreign function
interface lets me talk to C without trouble. I was easily able to write
a wrapper to talk with my favorite 2D graphics library, so you could
take that route. I know that somewhere there exists an OpenGL wrapper
for Lisp.
Darrell Adams wrote:
> Can someone suggest 3D graphics modeling and rendering software that
> can be used with lisp? At this point I don't know much about either.
> How does one interface them? I suppose that depends on what is available.
I suppose it also depends on what the hell you are trying to do. :) I
ask because I see Autocad was a possibility for you, which makes me
think you are not trying to do Quake or anything.
>
> I would like to be able to manipulate basic 3D objects -- spheres, pipes,
> blocks, etc. -- with lisp. Later I might be able to work at a lower level.
Lower? Points and lines? Oh, I see, build your own. Well, OpenGL itself
might do everything you need. The glu* routines include sphere, disc,
and cylinder, and they take parameters that at the lower bounds produce
unexpected shapes: a sphere with four slices and two stacks is a kinda
3d diamond, if you can picture that.
The GLUT (bundled with cl-opengl) offers a few more shapes
off-the-shelf, so cl-opengl might be where you should start.
Brave souls have without my help pulled off the extraordinary and
managed to get Celtk (under Cells (see sig)) running. There is a Celtk3D
in there that includes the Togl widget, which does OpenGL. You need a
reasonably recent set of Tcl/Tk DLLs, CFFI, cl-opengl, and away you go.
If you do want to do quake, methinks there are a set of OpenSceneGraph
bindings out there.
> Right now I just need to get my feet wet.
"wet feet" might not do justice to the 3D learning curve -- that
subsonic rumble shaking your kayak is Niagara Falls.
But comp.graphics.api.opengl rocks, and I must say programming 3D gave
me a thrill I have not had since, well: programming, then Lisp, then
Cells, then 3D, then sound.
>
> I appreciate any
> suggestions you may have.
Go for it. Consider also cl-sdl, another opengl/lisp project out there
somewhere.
kt
--
Cells: http://common-lisp.net/project/cells/
"I'll say I'm losing my grip, and it feels terrific."
-- Smiling husband to scowling wife, New Yorker cartoon
OpenGL is certainly one promising approach. Another very different
approach would be to interface to VRML which is a high-level descriptive
language for 3D modeling. I played around with it from CL a half dozen
years ago, and the things that could be done talking to a VRML server
were quite promising. When I was experimenting several free server
rendering engines were available as browser plugins.
See http://www.web3d.org/ which is where VRML has evolved over the years.