Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A parser for the OpenGL spec files

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 Text
Octocat-spinner-32 results
Octocat-spinner-32 spec-files
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.md
Octocat-spinner-32 opengl-api.cabal
Octocat-spinner-32 opengl-api.hs
README.md

opengl-api

Represent and parse spec files from the OpenGL registry.

Directory layout

  • spec-files contains the .spec and .tm files provided by opengl.org.
  • results contains a modified glext.h file. This is a glext.h header provided by opengl.org with one line modified (the one with the last update date). It is used to ensure that opengl-api still generates the same results after refactoring.

Current state

Text.OpenGL.Spec has code to completely parse and represent the content of enumext.spec , gl.tm and gl.spec. (Probably there is not much left to do to support enum.spec.) The representations includes comments, blank lines, and passthru lines.

The representations are nearly feature complete, the only missing important bit is the text defining the array size (in the description of function parameters).

Text.OpenGL.Api has code to create higher-level data structures from the one in Text.OpenGL.Spec.

Text.OpenGL.ExtHeader is able to perfectly recreate the glext.h file from the spec files.

Text.OpenGL.GenChecks is able to generate macros to call glGetError after every GL commands.

To do

  • Offer a simplified representation of [EnumLine] with no comment, no blank line, no passthru, maybe references already resolved, and a single number format.
  • Offer a parser for enum.spec.
  • State in the doc that there is some doc about the spec file format at the good old Haskell-OpenGL page!
Something went wrong with that request. Please try again.