Skip to content
forked from dharmatech/agave

Low-glycemic OpenGL hacking for R6RS Scheme

Notifications You must be signed in to change notification settings

chentiejian/agave

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quick start

Setup

$ cd ~/scheme # Where '~/scheme' is the path to your Scheme libraries
$ git clone git://github.com/dharmatech/surfage.git
$ bzr branch lp:~derick-eddington/scheme-libraries/xitomatl
$ git clone git://github.com/dharmatech/dharmalab.git
$ git clone git://github.com/dharmatech/agave.git

Run a demo in Ypsilon

$ ypsilon ~/scheme/agave/demos/flexi-line.scm

Run a demo in Ikarus

$ ikarus --r6rs-script ~/scheme/agave/demos/flexi-line.scm

Make a demo load faster in Ikarus

$ ikarus --compile-dependencies ~/scheme/agave/demos/flexi-line.scm

Introduction

Agave started out as a collection of OpenGL demos written for R6RS Scheme. Eventually it grew to include libraries which support basic OpenGL programming idioms.

All of the demos run in Ikarus and Ypsilon.

Libraries

Some of the libraries are:

| library                           | notes |
|-----------------------------------+-------|
| (agave glamour window)            |       |
| (agave glamour mouse)             |       |
| (agave glamour misc)              |       |
| (agave glamour frames-per-second) |       |
| (agave color rgba)                |       |
| (agave color hsva)                |       |
| (agave color conversion)          |       |
| (agave geometry pt)               |       |
| (agave geometry pt-3d)            |       |

The rest of the libraries are mostly support for the demos.

Demos

A few demo highlights.

springies

Long before Sodaplay existed, Doug DeCarlo wrote xspringies. Springies is an implementation of the engine in xspringies. Note that this is not a binding to any C library; this is an honest to goodness mass and spring simulation written in pure Scheme. To me, this is a demonstration that Scheme can be a high-performance language.

cfdg

An implementation of the Context Free Art semantics. It also renders the models. :-) Only a subset of the full ContextFree language is supported, but I picked a subset which allows for some nice pieces to be rendered.

Screenshot:

flexi-line

A port of a demo I found on Open Processing.

empathy

A port of a demo by Kyle McDonald I found on Open Processing.

ca

Simulator for the generations family of cellular automata.

About

Low-glycemic OpenGL hacking for R6RS Scheme

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scheme 100.0%