[go: up one dir, main page]

Menu

Tree [de1a31] release0_1_4 /
 History

HTTPS access


File Date Author Commit
 examples 2002-07-19 Shiro Kawai Shiro Kawai [48a4b4] removed escapes of uppercase symbols
 lib 2001-10-15 Shiro Kawai Shiro Kawai [a24f14] added
 src 2002-07-31 Shiro Kawai Shiro Kawai [f70b1f] updated accodring to the new syntax of genstub
 COPYING 2002-07-19 Shiro Kawai Shiro Kawai [8a8e6d] added check of GL/glext.h, and adapted to OPTFLAGS
 ChangeLog 2002-08-01 Shiro Kawai Shiro Kawai [17d986] release 0.1.4
 DIST 2002-02-12 Shiro Kawai Shiro Kawai [2756c6] adapted to the new autoconf scheme
 DIST_EXCLUDE 2001-10-15 Shiro Kawai Shiro Kawai [a24f14] added
 INSTALL.esc 2002-07-19 Shiro Kawai Shiro Kawai [8a8e6d] added check of GL/glext.h, and adapted to OPTFLAGS
 Makefile.in 2002-02-11 Shiro Kawai Shiro Kawai [7f966b] adapted to Gauche 0.5.1 new extension protocol
 README 2001-10-15 Shiro Kawai Shiro Kawai [5d31c0] added
 VERSION 2002-08-01 Shiro Kawai Shiro Kawai [17d986] release 0.1.4
 config.guess 2001-09-28 Shiro Kawai Shiro Kawai [f26ebf] added
 config.sub 2001-09-28 Shiro Kawai Shiro Kawai [f26ebf] added
 configure.in 2002-07-19 Shiro Kawai Shiro Kawai [8a8e6d] added check of GL/glext.h, and adapted to OPTFLAGS
 install-sh 2001-09-28 Shiro Kawai Shiro Kawai [f26ebf] added

Read Me

This is Gauche-gl, OpenGL binding for Gauche.

See INSTALL (English) or INSTALL.eucjp (Japanese) for installation
instructions.

No document is written yet.  There're several examples ported from
``OpenGL Programming Guide'' under examples/glbook.

The mapping from Scheme to C call is mostly straightforward.
SRFI-4 uniform vectors are extensively used to represent
arrays of numbers; e.g. when you can pass GLfloat array to
C call, you can pass f32vector in Scheme.

Scheme API is polymorphic.  It can figure out what type of
arguments you pass to it.  The variations functions for
argument types in C calls (e.g. glVertexi, glVertexfv, etc)
are all mapped to a single gl-vertex function.

  (gl-vertex 1.0 2.0 3.0)    => glVertex3d
  (gl-vertex '#f32(1.0 2.0)) => glVertex2fv
  (gl-vertex '#s32(3 2 5))   => glVertex3iv

Generally passing uniform vectors is more efficient, for
it doesn't need to check type of every values in it.
Among variations of uniform vectors, f32vector is usually
the most efficient.