
New patches:

[OpenGL spec update
charliemac+cl-opengl@gmail.com**20080504030320] {
hunk ./gl/bindings-package.lisp 2
-;;; glext version 39 ( 2007/02/12 )
+;;; glext version 40 ( 2008/03/24 )
hunk ./gl/bindings-package.lisp 640
-  #:clear-color-iui-ext ))
+  #:clear-color-iui-ext #:frame-terminator-gremedy ))
hunk ./gl/constants.lisp 660
-  (:draw-framebuffer-binding-ext #x8CAA)
hunk ./gl/constants.lisp 2025
+  (:read-framebuffer-binding-ext #x8CAA)
hunk ./gl/funcs.lisp 33
-;;; glext version 39 ( 2007/02/12 )
+;;; glext version 40 ( 2008/03/24 )
hunk ./gl/funcs.lisp 37
-(defparameter *glext-version* 39)
-(defparameter *glext-last-updated* "2007/02/12")
+(defparameter *glext-version* 40)
+(defparameter *glext-last-updated* "2008/03/24")
hunk ./gl/funcs.lisp 8365
-  (params (:pointer int64)))
+  (params (:pointer int64EXT)))
hunk ./gl/funcs.lisp 8371
-  (params (:pointer uint64)))
+  (params (:pointer uint64EXT)))
hunk ./gl/funcs.lisp 8968
+;;; GL version: 1.0, GREMEDY_frame_terminator
+(defglextfun ("glFrameTerminatorGREMEDY" frame-terminator-gremedy) :void)
+
hunk ./spec/enum.spec 5554
-#	READ_FRAMEBUFFER_BINDING_EXT			= GL_FRAMEBUFFER_BINDING_EXT
-#	DRAW_FRAMEBUFFER_BINDING_EXT			= 0x8CAA
+#	DRAW_FRAMEBUFFER_BINDING_EXT			= GL_FRAMEBUFFER_BINDING_EXT
+#	READ_FRAMEBUFFER_BINDING_EXT			= 0x8CAA
hunk ./spec/enum.spec 5822
+###############################################################################
+
+# Khronos OpenGL ES WG: 0x8EB0-0x8EBF
+# Assigned for Affie Munshi on 2007/07/20
+
+###############################################################################
+
+# Vincent: 0x8EC0-0x8ECF
+
+###############################################################################
+
+# NVIDIA: 0x8ED0-0x8F4F
+# Assigned for Pat Brown (Khronos bug 3191)
+
hunk ./spec/enum.spec 5842
-# Any_vendor_future_use: 0x8EB0-0xFFFF
+# Any_vendor_future_use: 0x8F50-0xFFFF
hunk ./spec/enum.spec 5877
-# Compaq: 105000-105999
+# Compaq: 105000-105999 (Compaq was acquired by HP)
hunk ./spec/enumext.spec 20
-passthru: /* glext.h last updated 2007/02/12 */
+passthru: /* glext.h last updated 2008/03/24 */
hunk ./spec/enumext.spec 22
-passthru: #define GL_GLEXT_VERSION 39
+passthru: #define GL_GLEXT_VERSION 40
hunk ./spec/enumext.spec 4068
-	READ_FRAMEBUFFER_BINDING_EXT			= GL_FRAMEBUFFER_BINDING_EXT
-	DRAW_FRAMEBUFFER_BINDING_EXT			= 0x8CAA
+	DRAW_FRAMEBUFFER_BINDING_EXT			= GL_FRAMEBUFFER_BINDING_EXT
+	READ_FRAMEBUFFER_BINDING_EXT			= 0x8CAA
hunk ./spec/enumext.spec 4419
+###############################################################################
+
+# No new tokens
+# Extension #345
+GREMEDY_frame_terminator enum:
+
+
hunk ./spec/gl.spec 41
-category:	display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform 1_1 VERSION_1_2 VERSION_1_3 VERSION_1_4 VERSION_1_5 VERSION_2_0 VERSION_2_1 ATI_element_array ATI_envmap_bumpmap ATI_fragment_shader ATI_pn_triangles ATI_vertex_array_object ATI_vertex_streams EXT_blend_color EXT_blend_minmax EXT_convolution EXT_copy_texture EXT_histogram EXT_polygon_offset EXT_subtexture EXT_texture3D EXT_texture_object EXT_vertex_array EXT_vertex_shader SGIS_detail_texture SGIS_multisample SGIS_pixel_texture ARB_point_parameters EXT_point_parameters SGIS_point_parameters SGIS_sharpen_texture SGIS_texture4D SGIS_texture_filter4 SGIX_async SGIX_flush_raster SGIX_fragment_lighting SGIX_framezoom SGIX_igloo_interface SGIX_instruments SGIX_list_priority SGIX_pixel_texture SGIX_polynomial_ffd SGIX_reference_plane SGIX_sprite SGIX_tag_sample_buffer SGI_color_table ARB_multitexture ARB_multisample ARB_texture_compression ARB_transpose_matrix ARB_vertex_blend ARB_matrix_palette EXT_compiled_vertex_array EXT_cull_vertex EXT_index_func EXT_index_material EXT_draw_range_elements EXT_vertex_weighting INGR_blend_func_separate NV_evaluators NV_fence NV_occlusion_query NV_point_sprite NV_register_combiners NV_register_combiners2 NV_vertex_array_range NV_vertex_program NV_vertex_program1_1_dcc MESA_resize_buffers MESA_window_pos PGI_misc_hints EXT_fog_coord EXT_blend_func_separate EXT_color_subtable EXT_coordinate_frame EXT_light_texture EXT_multi_draw_arrays EXT_paletted_texture EXT_pixel_transform EXT_secondary_color EXT_texture_perturb_normal HP_image_transform IBM_multimode_draw_arrays IBM_vertex_array_lists INTEL_parallel_arrays SUNX_constant_data SUN_global_alpha SUN_mesh_array SUN_triangle_list SUN_vertex 3DFX_tbuffer EXT_multisample SGIS_fog_function SGIS_texture_color_mask ARB_window_pos EXT_stencil_two_side EXT_depth_bounds_test EXT_blend_equation_separate ARB_vertex_program ARB_fragment_program ARB_vertex_buffer_object ARB_occlusion_query ARB_shader_objects ARB_vertex_shader ARB_fragment_shader S3_s3tc ATI_draw_buffers ATI_texture_env_combine3 ATI_texture_float NV_float_buffer NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart NV_texture_expand_normal NV_texture_expand_normal NV_vertex_program2 APPLE_element_array APPLE_fence APPLE_vertex_array_object APPLE_vertex_array_range ATI_draw_buffers NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart ATI_map_object_buffer ATI_separate_stencil ATI_vertex_attrib_array_object ARB_draw_buffers ARB_texture_rectangle ARB_color_buffer_float EXT_framebuffer_object GREMEDY_string_marker EXT_stencil_clear_tag EXT_framebuffer_blit EXT_framebuffer_multisample MESAX_texture_stack EXT_timer_query EXT_gpu_program_parameters APPLE_flush_buffer_range NV_gpu_program4 NV_geometry_program4 EXT_geometry_shader4 NV_vertex_program4 EXT_gpu_shader4 EXT_draw_instanced EXT_texture_buffer_object NV_depth_buffer_float NV_framebuffer_multisample_coverage NV_parameter_buffer_object EXT_draw_buffers2 NV_transform_feedback EXT_bindable_uniform EXT_texture_integer
+category:	display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform 1_1 VERSION_1_2 VERSION_1_3 VERSION_1_4 VERSION_1_5 VERSION_2_0 VERSION_2_1 ATI_element_array ATI_envmap_bumpmap ATI_fragment_shader ATI_pn_triangles ATI_vertex_array_object ATI_vertex_streams EXT_blend_color EXT_blend_minmax EXT_convolution EXT_copy_texture EXT_histogram EXT_polygon_offset EXT_subtexture EXT_texture3D EXT_texture_object EXT_vertex_array EXT_vertex_shader SGIS_detail_texture SGIS_multisample SGIS_pixel_texture ARB_point_parameters EXT_point_parameters SGIS_point_parameters SGIS_sharpen_texture SGIS_texture4D SGIS_texture_filter4 SGIX_async SGIX_flush_raster SGIX_fragment_lighting SGIX_framezoom SGIX_igloo_interface SGIX_instruments SGIX_list_priority SGIX_pixel_texture SGIX_polynomial_ffd SGIX_reference_plane SGIX_sprite SGIX_tag_sample_buffer SGI_color_table ARB_multitexture ARB_multisample ARB_texture_compression ARB_transpose_matrix ARB_vertex_blend ARB_matrix_palette EXT_compiled_vertex_array EXT_cull_vertex EXT_index_func EXT_index_material EXT_draw_range_elements EXT_vertex_weighting INGR_blend_func_separate NV_evaluators NV_fence NV_occlusion_query NV_point_sprite NV_register_combiners NV_register_combiners2 NV_vertex_array_range NV_vertex_program NV_vertex_program1_1_dcc MESA_resize_buffers MESA_window_pos PGI_misc_hints EXT_fog_coord EXT_blend_func_separate EXT_color_subtable EXT_coordinate_frame EXT_light_texture EXT_multi_draw_arrays EXT_paletted_texture EXT_pixel_transform EXT_secondary_color EXT_texture_perturb_normal HP_image_transform IBM_multimode_draw_arrays IBM_vertex_array_lists INTEL_parallel_arrays SUNX_constant_data SUN_global_alpha SUN_mesh_array SUN_triangle_list SUN_vertex 3DFX_tbuffer EXT_multisample SGIS_fog_function SGIS_texture_color_mask ARB_window_pos EXT_stencil_two_side EXT_depth_bounds_test EXT_blend_equation_separate ARB_vertex_program ARB_fragment_program ARB_vertex_buffer_object ARB_occlusion_query ARB_shader_objects ARB_vertex_shader ARB_fragment_shader S3_s3tc ATI_draw_buffers ATI_texture_env_combine3 ATI_texture_float NV_float_buffer NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart NV_texture_expand_normal NV_texture_expand_normal NV_vertex_program2 APPLE_element_array APPLE_fence APPLE_vertex_array_object APPLE_vertex_array_range ATI_draw_buffers NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart ATI_map_object_buffer ATI_separate_stencil ATI_vertex_attrib_array_object ARB_draw_buffers ARB_texture_rectangle ARB_color_buffer_float EXT_framebuffer_object GREMEDY_string_marker EXT_stencil_clear_tag EXT_framebuffer_blit EXT_framebuffer_multisample MESAX_texture_stack EXT_timer_query EXT_gpu_program_parameters APPLE_flush_buffer_range NV_gpu_program4 NV_geometry_program4 EXT_geometry_shader4 NV_vertex_program4 EXT_gpu_shader4 EXT_draw_instanced EXT_texture_buffer_object NV_depth_buffer_float NV_framebuffer_multisample_coverage NV_parameter_buffer_object EXT_draw_buffers2 NV_transform_feedback EXT_bindable_uniform EXT_texture_integer GREMEDY_frame_terminator
hunk ./spec/gl.spec 21982
+###############################################################################
+#
+# Extension #345
+# GREMEDY_frame_terminator commands
+#
+###############################################################################
+
+FrameTerminatorGREMEDY()
+	return		void
+	category	GREMEDY_frame_terminator
+	version		1.0
+	extension
+	glsflags	ignore
+	glxflags	ignore
+	offset		?
+
hunk ./tools/gl.tm 92
+FramebufferAttachment,*,*,	    GLenum,*,*
+FramebufferTarget,*,*,		    GLenum,*,*
hunk ./tools/gl.tm 174
+ProgramParameterPName,*,*,	    GLenum,*,*
hunk ./tools/gl.tm 181
+RenderbufferTarget,*,*,		    GLenum,*,*
hunk ./tools/gl.tm 221
+VertexAttribEnum,*,*,		    GLenum,*,*
hunk ./tools/gl.tm 246
+ProgramTarget,*,*,		    GLenum,*,*
hunk ./tools/gl.tm 265
-VertexBufferOffset,*,*,		    GLintptr,*,*
-VertexBufferSize,*,*,		    GLsizeiptr,*,*
-VertexBufferAccessARB,*,*,	    GLenum,*,*
-VertexBufferOffsetARB,*,*,	    GLintptrARB,*,*
-VertexBufferPNameARB,*,*,	    GLenum,*,*
-VertexBufferPointerNameARB,*,*,     GLenum,*,*
-VertexBufferSizeARB,*,*,	    GLsizeiptrARB,*,*
-VertexBufferTargetARB,*,*,	    GLenum,*,*
-VertexBufferUsageARB,*,*,	    GLenum,*,*
+BufferOffset,*,*,		    GLintptr,*,*
+BufferSize,*,*,			    GLsizeiptr,*,*
+BufferAccessARB,*,*,		    GLenum,*,*
+BufferOffsetARB,*,*,		    GLintptrARB,*,*
+BufferPNameARB,*,*,		    GLenum,*,*
+BufferPointerNameARB,*,*,	    GLenum,*,*
+BufferSizeARB,*,*,		    GLsizeiptrARB,*,*
+BufferTargetARB,*,*,		    GLenum,*,*
+BufferUsageARB,*,*,		    GLenum,*,*
hunk ./tools/gl.tm 289
+# EXT_timer_query
+Int64EXT,*,*,			    GLint64EXT,*,*
+UInt64EXT,*,*,			    GLuint64EXT,*,*
}

[save-lisp-and-die fixes
charliemac+cl-opengl@gmail.com**20080504030545
 - Add function (glut::ensure-init) which is only used when saving a core. It ensures *argcp* and *argv* are 
 (cffi:null-pointer) in the core
 - Make (glut:init) run initialization of base-window class rather than on load. Without this users of this 
 library would need to include a manual call to (glut:init) before running their own toplevel function.
 
] {
hunk ./glut/init.lisp 75
+(defun ensure-init ()
+  (when (not (null-pointer-p *argcp*))
+          (foreign-free *argcp*)
+          (setf *argcp* (null-pointer)))
+  (when (not (null-pointer-p *argv*))
+          (foreign-free (mem-aref *argv* :pointer 0))
+          (foreign-free *argv*)
+          (setf *argv* (null-pointer))))
+
+(eval-when (:load-toplevel :execute)
+  #+clisp (pushnew 'ensure-init custom:*fini-hooks*) ;untested
+  #+sbcl  (pushnew 'ensure-init sb-ext:*save-hooks*)
+  #+cmu (pushnew 'ensure-init ext:*before-save-initializations*) ;untested
+  #-(or clisp sbcl cmu)
+  (warn "Don't know how to setup a hook before saving cores on this Lisp."))
+
+
hunk ./glut/init.lisp 97
-(init)
+; (init)
hunk ./glut/interface.lisp 223
-   (pos-x  :accessor pos-x  :initarg :pos-x  :initform -1)
-   (pos-y  :accessor pos-y  :initarg :pos-y  :initform -1)
-   (height :accessor height :initarg :height :initform 300)
-   (width  :accessor width  :initarg :width  :initform 300)
-   (title  :accessor title  :initarg :title  :initform +default-title+)
-   (tick-interval :accessor tick-interval :initarg :tick-interval :initform nil)
+   (pos-x  :accessor pos-x  :initarg :pos-x)
+   (pos-y  :accessor pos-y  :initarg :pos-y)
+   (height :accessor height :initarg :height)
+   (width  :accessor width  :initarg :width)
+   (title  :accessor title  :initarg :title)
+   (tick-interval :accessor tick-interval :initarg :tick-interval)
hunk ./glut/interface.lisp 231
-   (events :accessor events :initarg :events)))
+   (events :accessor events :initarg :events))
+  (:default-initargs :pos-x -1 :pos-y -1 :height 300 :width 300 :title +default-title+
+                     :tick-interval nil))
+
+(defmethod initialize-instance :after ((win base-window) &key name  &allow-other-keys)
+  (declare (ignore win name))
+  (glut:init))
+
}

[Int64EXT type handling
charliemac+cl-opengl@gmail.com**20080504220941
 Initial handling for type Int64EXT from the gl spec files. If this is the correct path, :int64-ext and 
 :uint64-ext will need to be handled in gl/types.lisp 
] {
hunk ./gl/bindings-package.lisp 18
-  #:short #:byte #:void #:bitfield #:boolean #:string 
+  #:short #:byte #:void #:bitfield #:boolean #:string #:int64-ext 
+  #:uint64-ext 
hunk ./gl/funcs.lisp 8365
-  (params (:pointer int64EXT)))
+  (params (:pointer int64-ext)))
hunk ./gl/funcs.lisp 8371
-  (params (:pointer uint64EXT)))
+  (params (:pointer uint64-ext)))
hunk ./tools/generate-funcs.lisp 186
-    "void" "bitfield" "boolean" #| "enum" |# "string"))
+    "void" "bitfield" "boolean" #| "enum" |# "string" "int64-ext" "uint64-ext"))
hunk ./tools/generate-funcs.lisp 206
-        (gethash "Int64EXT" *type-map* "GLint64"))
+        (gethash "Int64EXT" *type-map* "GLint64EXT"))
hunk ./tools/generate-funcs.lisp 208
-        (gethash "UInt64EXT" *type-map* "GLuint64"))
+        (gethash "UInt64EXT" *type-map* "GLuint64EXT"))
hunk ./tools/generate-funcs.lisp 280
-     (regex-replace "NV" (regex-replace "ARB" (subseq type 2) "-arb") "-nv"))
+     (regex-replace "EXT" (regex-replace "NV" (regex-replace "ARB" (subseq type 2) "-arb") "-nv")
+                    "-ext"))
}

Context:

[Better handling of mouse buttons.
Luis Oliveira <loliveira@common-lisp.net>**20080307211912
 
 Initial patches by Johann Korndoerfer and Charlie McMackin.
] 
[Implement gluBuild2DMipmaps
Luis Oliveira <loliveira@common-lisp.net>**20080307210414
 
 Patch courtesy of Johann Korndoerfer.
] 
[Work around floating-point errors in foreign code (again)
Luis Oliveira <loliveira@common-lisp.net>**20080307204013] 
[Minor fix to examples/misc/molview.lisp
Luis Oliveira <loliveira@common-lisp.net>**20071219125406] 
[Add molview.lisp to examples, courtesy of Doug Hoyte
Luis Oliveira <loliveira@common-lisp.net>**20071219124311
 
 - See <http://article.gmane.org/gmane.lisp.cl-opengl.devel/116>
 - TODO: integrate with the cl-glut-examples system.
] 
[Speed up with-opengl-array for common array element types
Bart Botta <00003b@gmail.com>**20071007041230
 
 - Pull type checks outside the copy loop in with-opengl-array for some
   common element types, so cffi can optimize the conversions, array access, 
   etc.
   Speeds up tex-image-2d of a 1024x1024 RGBA unsigned byte texture ~100x
   (from ~23sec w/~3.5GB consed, to ~0.25sec w/0 consed) on SBCL 1.0.2
 
   Handles all the types currently returned by symbolic-type->real-type, 
   so should be good enough for tex-image-*. May need more types if
   with-opengl-array is used elsewhere, but falls through to the old
   code in that case, so should still work.
] 
[Implement tex-gen. Fix two typos.
Mikael Lax <mikael.lax@bredband.net>**20070925133055] 
[Implement some shader/program queries. Clear two FIXMEs.
Mikael Lax <mikael.lax@bredband.net>**20070912144020] 
[Compressed textures and draw/read-pixels
Mikael Lax <mikael.lax@bredband.net>**20070510115014] 
[glut package: fix spelling of solid-icosahedron
Luis Oliveira <loliveira@common-lisp.net>**20070502184621] 
[glut/interface.lisp: fix bug re the ascii-to-char type
Luis Oliveira <loliveira@common-lisp.net>**20070502182307] 
[sbcl/x86-64: disable floating point traps
Luis Oliveira <loliveira@common-lisp.net>**20070403222155] 
[Fix the ensure-float type to work with doubles
Luis Oliveira <loliveira@common-lisp.net>**20070323045220
 
 Bug reported by alastair37.
] 
[with-foreign-matrix: use %gl:float instead of :float
Luis Oliveira <loliveira@common-lisp.net>**20070323040609] 
[Preliminary support for vertex arrays and VBOs courtesy of Thomas Weidner.
Luis Oliveira <loliveira@common-lisp.net>**20070314221152
 
] 
[Remove useless cl-glut-examples-system package
Luis Oliveira <loliveira@common-lisp.net>**20070311011401] 
[Small change to generate-gl-function
Luis Oliveira <loliveira@common-lisp.net>**20070311002941
 
 - test with pointerp and null-pointer-p
] 
[Fix name mangling
Luis Oliveira <loliveira@common-lisp.net>**20070309070443
 
 Patch courtesy of Bart Botta.
 
 - fixes lispification of a bunch of the new function names.
 - more type info for array of pointer args (:pointer (:pointer type))
   instead of (:pointer :pointer).
] 
[More simplification.
Luis Oliveira <loliveira@common-lisp.net>**20070307214020
 
 - Use definline and import-export throughout the rest of the bindings.
] 
[Fix some function names, simplify lispifications
Luis Oliveira <loliveira@common-lisp.net>**20070307191242
 
 - Fixed regex in generate-funcs.lisp and regenerated funcs.lisp.
 - New macros import-export and definline.
 - Used them in opengl.lisp.
] 
[Fix type names in gl/util.lisp
Luis Oliveira <loliveira@common-lisp.net>**20070307011242] 
[New DEFGLEXTFUN and other minor changes
Luis Oliveira <loliveira@common-lisp.net>**20070307010114
 
 - New DEFGLEXTFUN macro courtesy of Thomas Weidner.
 - GLUT: set %gl:*gl-get-proc-address* to glut:get-proc-address.
] 
[Change :color-buffer-bit to :color-buffer, etc, in the examples
Luis Oliveira <loliveira@common-lisp.net>**20070306043408] 
[Fix typo in gl/opengl.lisp
Luis Oliveira <loliveira@common-lisp.net>**20070306040804] 
[Add missing gl/bindings.lisp
Luis Oliveira <loliveira@common-lisp.net>**20070306034316] 
[Fix glu, glut and gl/opengl.lisp with new names
Luis Oliveira <loliveira@common-lisp.net>**20070306033727] 
[Mega patch from Bart Botta
Luis Oliveira <loliveira@common-lisp.net>**20070306024546
 
 - Merged Bart Botta's stuff for generating gl/funcs.lisp from the .spec files.
   Also adds new cl-opengl-bindings package with low-level functions.
   Fixed some parsing bugs.
 - Updated for OpenGL 2.1. (enums, too)
] 
[GL enum changes
Luis Oliveira <loliveira@common-lisp.net>**20070305153651
 
 - Updated .spec files for OpenGL 2.1.
 - Two changes to  generate-enums.lisp:
     * print the symbols lower-cased;
     * generates some aliases for symbols ending in -bits and -bit.
       e.g.: :color-buffer-bit and :color-buffer.
 - Regenerated gl/constants.lisp.
] 
[Add Lispy abstraction for GLUT's TIMER event.
Luis Oliveira <loliveira@common-lisp.net>**20070304220421] 
[Make foreign types work with CFFI's new type system.
Luis Oliveira <loliveira@common-lisp.net>**20070304220240] 
[Some old changes to the manual..
Luis Oliveira <loliveira@common-lisp.net>**20070304220205] 
[vertex array addition
charliemac+cl-opengl@gmail.com**20061226010622
 Added mostly working functionality for vertex arrays.
 "with-opengl-sequence" macro modified (hopefully correctly) in gl/util.lisp, possible danger of code
 breakage. 
] 
[Misc patch
Luis Oliveira <loliveira@common-lisp.net>**20061117024105
 
 Patch courtesy of Bart Botta.
] 
[Applied patch from Bart Botta
Oliver Markovic <entrox@entrox.org>**20061112111533] 
[Pushed wrong version of render-to-texture.lisp; fixed
Oliver Markovic <entrox@entrox.org>**20061111152828] 
[Add render-to-texture example
Oliver Markovic <entrox@entrox.org>**20061111151241
 
 - Add new example in examples/misc/ illustrating the use of FBOs
] 
[Add support for buffer objects
Oliver Markovic <entrox@entrox.org>**20061111151103
 
 - Add vertex and pixel buffer objects
 - Add support for the EXT_framebuffer_object extension
] 
[Fix downcasing issues with enum generation.
James Bielman  <jamesjb@jamesjb.com>**20060830200239] 
[Implement GLU projection functions.
James Bielman  <jamesjb@jamesjb.com>**20060828054332
 
 - New exported functions: GLU:PROJECT, GLU:UN-PROJECT, GLU:UN-PROJECT4.
 - New utility macro: WITH-OPENGL-ARRAYS for binding multiple arrays.
] 
[Implement numeric OpenGL state querying functions.
James Bielman  <jamesjb@jamesjb.com>**20060828054131
 
 - New exported functions: GET-BOOLEAN, GET-DOUBLE, GET-FLOAT, 
   GET-INTEGER, and GET-ENUM.  These functions are able to automatically
   return the correct number of return values when the query enum is
   in the *QUERY-ENUM-SIZES* table.
] 
[Replace separate enum types with generated GL:ENUM.
James Bielman  <jamesjb@jamesjb.com>**20060828052308] 
[Add a script to generate OpenGL constants from the specifiction.
James Bielman  <jamesjb@jamesjb.com>**20060828051427] 
[Add OpenGL specification data files for enum values.
James Bielman  <jamesjb@jamesjb.com>**20060828051348] 
[Define foreign functions inline via DEFGLFUN helper macro.
James Bielman  <jamesjb@jamesjb.com>**20060828045747] 
[Move GL function DEFCFUNs into funcs.lisp.
James Bielman  <jamesjb@jamesjb.com>**20060828045514] 
[More 64-bit-cleanliness fixes, use ints instead of longs.
James Bielman  <jamesjb@jamesjb.com>**20060828044816] 
[Fix bug in WITH-OPENGL-ARRAY when VAR and LISP-ARRAY are the same.
James Bielman  <jamesjb@jamesjb.com>**20060823210517] 
[Use :INT as the base type for GL:INT and GL:SIZEI.
James Bielman  <jamesjb@jamesjb.com>**20060823171453
 
 - Using :LONG broke on 64-bit Linux.  According to the GL header on my
   Linux system, GLint and GLsizei are of C type 'int'.
] 
[Minor fix to glut/interface.lisp
Luis Oliveira <loliveira@common-lisp.net>**20060703224124] 
[CL-GLUT update
Luis Oliveira <loliveira@common-lisp.net>**20060624235928
 
 - Fix foreign-symbol-pointer usage in glut/fonts.lisp.
 - Move enums next to the DEFCFUNs where they're used.
 - Rework the CL-GLUT CLOS interface.
 - Reorganize examples and rewrite them using the updated CLOS interface.
] 
[s/windows/cffi-features:windows
Luis Oliveira <loliveira@common-lisp.net>**20060425212810] 
[Convert array contents to floats in MAP1 and MAP2.
James Bielman  <jamesjb@jamesjb.com>**20060412015458] 
[Add evaluator constants to the ENABLE-CAP enum.
James Bielman  <jamesjb@jamesjb.com>**20060412015045] 
[New example: glut-teapot.lisp
Luis Oliveira <loliveira@common-lisp.net>**20060326211537
 
 Also, fixed a typo in the README and added a README for the examples.
] 
[GLUT: add missing event and fix typo
Luis Oliveira <loliveira@common-lisp.net>**20060221054305
 
 - Missing event: passive-motion.
 - fullscreen -> full-screen
 - move the (setf title) magic to a :before method.
] 
[Minor fixes to the examples
Luis Oliveira <loliveira@common-lisp.net>**20060221054151
 
 - add ignore declarations to unused arguments.
 - use MOD!
] 
[Oops. Forgot to darcs add examples/mesademos/package.lisp
Luis Oliveira <loliveira@common-lisp.net>**20060219211853] 
[More examples
Luis Oliveira <loliveira@common-lisp.net>**20060218054241
 
 - New examples: rb{6,7,8,9,10,11,12,13}.
 - Use with-new-list in mesademos/gears.lisp.
 - Add copyright notices to examples.
 - Fix example 4 which was drawing *halftone* twice.
] 
[with-new-list, with-primitive and call-lists
Luis Oliveira <loliveira@common-lisp.net>**20060218051830] 
[GLUT: use gl:ensure-double
Luis Oliveira <loliveira@common-lisp.net>**20060217231013] 
[Small change to with-opengl-sequence
Luis Oliveira <loliveira@common-lisp.net>**20060217224915
 
 - Make it convert the sequence's elements to float or double
   when the type is gl:float or gl:double respectively. Breaks
   when type isn't constant, oops.
] 
[Tiny update to GLU
Luis Oliveira <loliveira@common-lisp.net>**20060217222227
 
 - Mostly move files around. (remind not to create stub files again, ugh)
 - Added some new functions.
] 
[New types: gl:ensure-double and gl:ensure-float
Luis Oliveira <loliveira@common-lisp.net>**20060217221729
 
 - Define and export ensure-double and ensure-float. (these need a recent
   CFFI)
 - Also export some types that'll be needed for GLU. Maybe a gl-types
   package would be a good idea?
] 
[Oops. Forgot darcs add.
Luis Oliveira <loliveira@common-lisp.net>**20060207034827] 
[New examples
Luis Oliveira <loliveira@common-lisp.net>**20060207032245
 
 - New 5 examples from the redbook.
 - 2 GLU functions needed for the examples.
 - Added gl:polygon-stipple needed for one of the examples.
 - Fixed silly bugs in cl-glut's ascii-to-char type and
   the base-window initialize-instance.
 - Moved window's title initform to a special.
] 
[Preliminary CLOS interface to GLUT
Luis Oliveira <loliveira@common-lisp.net>**20060206182638
 
 - Removed a german 'ss' from rasterization.lisp which was upsetting SBCL.
 - New macro WITH-PUSHED-MATRIX. WITH-MATRIX might be a better name?
 - New experimental CLOS-based interface to GLUT.
 - New example using the new CLOS interface. Moved old gears exmample
   to gears-raw.lisp.
] 
[Optimizations (needs recent CFFI again)
Luis Oliveira <loliveira@common-lisp.net>**20060203014020
 
 - Add declarations in gears.lisp
 - Define the gl:* types to have no translation
] 
[Use internal-time-units-per-second
Luis Oliveira <loliveira@common-lisp.net>**20060202200413] 
[Add fps counter to examples/mesademos/gears.lisp
Luis Oliveira <loliveira@common-lisp.net>**20060202195354] 
[Texturing functions added.
Oliver Markovic <entrox@entrox.org>**20060202185907
 
 - Added preliminary support for glTexImage and glTexSubImage. I'm still not sure
   on how to handle the data.
 - Added glCopyTexImage and glCopyTexSubImage
 - Added glAreTexturesResident and glPrioritizeTextures along with TEXTURE-RESIDENT-P
   and PRIORITIZE-TEXTURE, which are hopefully less awkward to use than the direct
   translations.
 - Added glTexEnv.
] 
[Oops. Missing glut/main.lisp file.
Luis Oliveira <loliveira@common-lisp.net>**20060202190632] 
[GLUT update, less straw.
Luis Oliveira <loliveira@common-lisp.net>**20060202124342
 
 (requires recent cffi patches fixing defcenum issue and
 implementing defbitfield)
 
 - add missing depends-on to funcs in cl-opengl.asd
 - complete glut bindings. next step: high level interface.
] 
[Add glutSetOption.
Alexey Dvoychenkov <keriax@gmail.com>**20060202031904] 
[Big patch, lots of straw again.
Luis Oliveira <loliveira@common-lisp.net>**20060201164339
 
 - GLU: added asd file and stub .lisp files.
 - Examples:
     - added cl-glut-examples.asd
     - new example: gears.lisp
 - GLUT: added asd file and implemented a few routines. (mostly those
   needed by the gears.lisp example)
 - Add my name to HEADER too.
 - 3 separate manuals is probably overkill? Use only one for now.
 - GL:
      - fixed enums, these should canonicalize to GLenum, not int.
      - renamed gl types from GLfoo to gl:foo (and exported them)
      - fixed erroneus check-type.
      - look for libGL.so.N if libGL.so isn't found.
      - removed some tabs from the files.
      - added missing space between ":constant-attenuation" and
        "linear-attenuation".
      - added missing (declare (ignore ..)) to avoid warnings.
      - fixed a small bug/typo where a foreign array was being accessed
        as if it were Lisp array.
      - change ;;;-comments to ;;-comments in package.lisp in order to
        indent well.
] 
[Add documentation structure.
Luis Oliveira <loliveira@common-lisp.net>**20060201013908
 
 Just straw, no content. Taken from cffi mostly.
] 
[Minor changes
Luis Oliveira <loliveira@common-lisp.net>**20060131190956
 
 - added HEADER file.
 - changed library.lisp to use BSD license.
 - removed tabs from state.lisp
] 
[Added examples directory.
Oliver Markovic <entrox@entrox.org>**20060131120521] 
[Initial revision.
Oliver Markovic <entrox@entrox.org>**20060131115438] 
Patch bundle hash:
2d1f69f7703c200817a46d04ae44311b6798bbac
