[go: up one dir, main page]

Menu

Tree [fcb6af] release0_2_1 /
 History

HTTPS access


File Date Author Commit
 doc 2002-10-24 Shiro Kawai Shiro Kawai [7a3f7f] fix info file install path
 examples 2002-09-23 Shiro Kawai Shiro Kawai [e1f13b] cleaned up scripts, and make 'run' script run t...
 lib 2002-10-22 Shiro Kawai Shiro Kawai [b40a28] added reader ctor for vector4f-array and point4...
 src 2002-12-15 Shiro Kawai Shiro Kawai [1a0d7f] change class name for consistency
 AUTOCONF 2002-08-23 Shiro Kawai Shiro Kawai [6f5111] added
 COPYING 2002-07-19 Shiro Kawai Shiro Kawai [8a8e6d] added check of GL/glext.h, and adapted to OPTFLAGS
 ChangeLog 2002-12-15 Shiro Kawai Shiro Kawai [13de9e] release 0.2.1
 DIST 2002-02-12 Shiro Kawai Shiro Kawai [2756c6] adapted to the new autoconf scheme
 DIST_EXCLUDE 2002-08-23 Shiro Kawai Shiro Kawai [96b3b2] added AUTOCONF
 INSTALL.esc 2002-11-13 Shiro Kawai Shiro Kawai [8baa0e] added notes on compiling on freebsd
 Makefile.in 2002-10-08 Shiro Kawai Shiro Kawai [1e8d1c] start writing texinfo document
 README 2002-08-29 Shiro Kawai Shiro Kawai [db3e1d] defines variables for extensions, such as GL_AR...
 VERSION 2002-12-15 Shiro Kawai Shiro Kawai [13de9e] release 0.2.1
 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-12-15 Shiro Kawai Shiro Kawai [045767] fix linked libraries
 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 are 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.

Variables GL_VERSION_1_1, GL_VERSION_1_2 and GL_VERSION_1_3
may be defined and bound to #t if the platform on which
Gauche-gl is compiled supports OpenGL version 1.1, 1.2 or
1.3, respectively.  You can use symbol-bound? to check these
variables are bound.   You can also use symbol-bound? to
check the existence of extensions, such as GL_ARB_multitexture.