Fandom

Sawfish

OpenGL

773pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

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

TODO Edit

  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

Also on Fandom

Random Wiki