Development quick access

Research Edit

GLUT will not be used for the most part. The main features, window creation/management and the event loop, run counter to the intended use of OpenGL. Much of the functionality would have to be implemented manually (in lisp). The main philosophy of sawfish is to have policy and control done all in lisp code such things conflict with this approach.

A direct mapping of the C api may not be the best implantation. Either a subset or an adaptation.

State machine Edit

OpenGL is implemented with/as a state machine, how will this effect the bindings?

Methods to implement Edit

This will need not only gl code but X code pulled from sawfish (for the event loop)

Basic functionality requires from gl namespace:

  • glBegin/glEnd
  • glVertex* (which ones? we may be able implement a subset and fake the others if necessary)
  • glClear
  • glLoadIdentity
  • glTranslatef
  • glMatrixMode
  • glViewport
  • glShadeModel
  • glClearColor
  • glEnable
  • glDepthFunc
  • glHint
  • glFlush
  • glClearDepth
  • list any others needed for basic (lesson2 from NeHe) level support

From glu:

  • gluPerspective
  • list any others here

From glx:

  • glXSwapBuffers
  • glXDestroyContext
  • glXMakeCurrent
  • glXChooseVisual
  • glXQueryVersion
  • glXIsDirect
  • list any others here

Will need a number of symbols and constants

  • list them here


  1. determine which set of commands are needed
  2. determine how GLX interacts with X Events
  3. what/how to do configure detection

docs Edit

NeHe lesson 2 GLX version should have all C calls needed

The Red Book Good intro to GL programming

The Blue Book GL reference

Community content is available under CC-BY-SA unless otherwise noted.