0.7007 2026-03-13
- add glpErrorString
- add _o aliases for all functions taking OpenGL::Array args
- use OpenGL::Modern for _c, most _p, and simple bindings
- add ExtUtils::Depends support in addition to OpenGL::Config, including `use Inline with => 'OpenGL'`
- glGetActive{Attrib,Uniform}ARB_p interface now return size,type,name not name,type,size
- glPrioritizeTextures_p now takes 2 array-refs, not interleaving args
- explicitly minimum Perl 5.016 like OpenGL::Modern, for visibility
- glAreTexturesResident_s now has interface like GL function with return value
- many _s functions now generated from OpenGL::Modern::Registry data, guaranteeing correct input types - previously some had void*v not SV*v

0.7006 2025-04-14
- incorporate Acme::MITHALDU::BleedingOpenGL changes - thanks @wchristian
- add glGenVertexArrays_p, glBindVertexArray, glDeleteVertexArrays
- add glAttachShader, glDeleteShader, glGetShaderiv_p, glGetShaderInfoLog_p, glGetProgramiv_p
- added occlusion query capability
- add glDrawElementsBaseVertex_c, GL_MAX_ARRAY_TEXTURE_LAYERS, GL_TEXTURE_2D_ARRAY

0.7005 2025-04-13
- OpenGL::Shader improved error reporting for shader compiles - thanks Ivan Baidakou
- from unreleased OpenGL::Shader 1.02: add SetArray for setting integer uniforms
- from unreleased OpenGL::Shader 1.02: update SetMatrix to handle both 3x3 and 4x4 matrices
- add FreeGLUT glutInitContext{Flags,Profile,Version}
- add Array::type_size
- add to examples/cube* to show using glDraw{Array,Element}s and GPU buffers
- allow `perl Makefile.PL interface=AGL` to work when FreeGLUT present
- hopefully better MacPorts detection

0.7004 2025-03-19
- re-release with higher version number for OpenGL::Array

0.7003 2025-03-19
- OpenGL::Config now only contains keys relevant to other distros, not NAME etc
- now split into OpenGL::{V1,V2,V3,Array,Matrix,Const,GLX,GLU,GLUT}
- reintegrate OpenGL::GLUT (which is now usable separately like the independent CPAN version)
- reintegrate OpenGL::GLU also
- incorporate OpenGL::Shader

0.7002 2025-03-10
- apply better Debian-provided fix for glutTimerFunc - thanks Thomas Kremer

0.7001 2025-03-09
- Fixed glutCloseFunc for Mac OS X.
- Fixed glutTimerFunc so doesn't try to use int to store AV* user data

0.70 2016-10-08

General Notes:

  * Added OpenGL::Matrix to support uniform shader matrices.

  * Unified VBO extension with mainline GL functions.

  * fixed some formatting/documentation issues

  * Fixed some outstanding bugs from sf.net

  * on win32, clean up mingw recognition and allow gmake

Highlights:

  * Fixed multi-texture constants/APIs/exports

  * fix OpenGL::Array RPN calculation issues on osx

  * Added missing glutStrokeLength implementation.

  * Fixed missing OUTPUT for several pogl_glut methods.

  * Updated GL Version definitions in Makefile.PL.

  * Fixed a c++ name-mangling issue that was breaking builds on Linux.

  * Improved FREEGLUT searching/linking for Linux and Mac OS X.



  * Enhanced test.pl for OpenGL::Shader and VBOs

  * suppress osx 10.9 deprecation warnings

  * Added GLUT_VERSION to exported constant values

  * fix OSX warnings about data types

  * Updated OpenGL::Array to support 2D matrices;
    added OpenGL::Array->get_dimensions method.

  * Added OpenGL::Matrix subclass of OpenGL::Array

  * Unified the following extensions into mainline GL functions:
    GL_EXT_vertex_array
    GL_ARB_vertex_buffer_object
    GL_EXT_framebuffer_object
    GL_ARB_multitexture

  * Fixed sf.net #21 "delete functions removed from Mesa 10.6"

  * Fixed sf.net #22 "Perl::OpenGL make test fails (undefined
    symbol: glWindowPos4iMESA)".  NOTE: This is a duplicate
    report of the problem in bug #21 but it motivated this
    release.  Thanks for the report, Richard.

  * Fixed sf.net #20 "Prefer system GL/#gl.h on non-Win32"

0.6704_093 2016-10-05
- Add try/catch to catch Makefile.PL failures to improve
  report information from CPAN Testers reports.

0.6704_092 2016-10-02
- updated included freeglut.dll to latest release in major version 2
- updated and greatly automated compilation of hardware-dependent functions and constants
- enabled hardware feature detection for compilation on windows
- Fixed compilation for OSX without FreeGLUT.

0.6704_091 2016-09-27
- Restored support for GLX.
- Fixed/improved a number of GLUT issues.
- Restored GLX interface support for Makefile.PL.
- Fixed/improved GLUT version reporting in util/glversion.c.


0.6704 2015-07-24

General Notes:

  * Fixes a number of bugs since the last release.  Thanks to
    Christian Walde, Olaf Dabrunz, and Alessandro Ranellucci for
    their contributions.

Highlights:

  * Fix item_count error in OpenGL::Array implementation

  * Fix POGL bug #12 re thread safety

  * Fix POGL bug #16 "Free to wrong pool" caused by calloc()

0.6703 2013-11-01

General Notes:

 * Minor update to tolerate absence of several extensions removed
   in Mesa 9.2.0.  Thanks to Colin Watson for reporting and fixing
   the problem.

Highlights:

  * Tolerate absence of several extensions removed in Mesa 9.2.0

0.6702 2013-10-02

General Notes:

 * This release fixes some minor build issures for Strawberry Perl 32bit
   where the wrong FreeGLUT library would be linked in---this failed at
   runtime during the 'perl Makefile.PL' step.

Highlights:

  * Clean up INSTALL, README, and bring more up-to-date.

  * Put util/strawberry.bat under git configuration management.

  * glutCloseFunc() feature has been disabled.  A warning is given
    the first time the close handler is called.

  * Strawberry perl builds are now detected and the build configuration
    is corrected.  This should allow for automated builds.

0.6701 2013-09-29

General Notes:

 * This is a work-around release to work around a problem with
   segfaults during the glutCloseFunc() processing.  Until a
   real fix is found, the feature has been disabled.

Highlights:

  * glutCloseFunc() feature has been disabled.  A warning is given
    the first time the close handler is called.

  * Strawberry perl builds are now detected and the build configuration
    is corrected.  This should allow for automated builds.

0.67 2013-07-22

General Notes:

 * This is a quick bugfix release to work around a build
   problem for Debian sid on AMD platforms.

Highlights:

  * Comment out failing tests in t/10_opengl_array.t.  Ideally,
    we could replace this implementation with something using
    pdls instead.

  * Some GLUT cleanup for POGL

  * Remove GL_TYPE_RGBA_FLOAT_ATI support.  The sid debian build
    for AMD has problems with this.

0.66_001 2013-06-04
- New example/glxgears.pl ported by Brian Medley (thanks!)
- Removed OS/2 support code (no longer supported)

0.66 2011-07-29

General Notes:

- This test adds skips for some tests from OpenGL::RPN
   under current development avoiding FAILs in automated
   builds due to known problems.

- It is compatible with the Prima GUI toolkit and the
   Prima::OpenGL module.

0.65 2011-07-22

General Notes:

- This is a point release for the Perl OpenGL module (POGL)
   with new features, bugs fixed and improved documentation.

- OS/2 is no longer supported by POGL directly.


Highlights:

- Paul Seamons contributed full tessellation support,
    documentation for OpenGL::Tessellation, and a *major* set
    of fixes and POD for the existing OpenGL::Array module.

- The cygwin build of POGL now supports either the native
    win32 platform drivers or the X11/GLX bindings (default).
    Use interface=w32api or interface=wgl as args to the
    perl Makefile.PL to select.  NOTE: you have to pick one
    or the other.  If you change, any dependencies such as
    PDL::Graphics::TriD will need to be recompiled.

- The included FreeGLUT DLL has been upgraded to 2.6.0
    thanks to Rob/sisyphus.

- Prima::OpenGL has been released by Dmitry Karasik which
    adds support for Perl OpenGL to his cross-platform GUI
    toolkit in addition to bug fixes and code cleanup.
    Thanks, Dmitry!  See http://search.cpan.org/~karasik/Prima-1.30/
    for details.

0.64_004 2011-07-18

General Notes:

- This is a CPAN developers release for the OpenGL module.

   - It is a snapshot of the current git development tree
     and everything may not work correctly or have complete
     documentation.

   - These release notes may not be fully complete.  Please
     see the git log for full details.

   - All tests may not pass, especially ones corresponding
     to issues in KNOWN_PROBLEMS.

  Highlights:

- Add META.yml information to the build process

- Fix bug in test.pl

- First POGL code to be placed on new sf.net site.

0.64_003 2011-07-11

  This is a CPAN developers release for the Perl OpenGL module with
  some minor fixes to improve buildability and updates and bug
  fixes to check.

  Highlights:

- Fix interface=w32api to work for cygwin again.  Requires a
    current cygwin install---greater than 1.7.x.

- Minor cleanup in Makefile.PL and documentation/readme updates
    reflecting the newly set up Perl OpenGL project at sf.net:

      http://sourceforge.net/projects/pogl/

0.64_002 2011-03-19

  This is a CPAN developers release for the Perl OpenGL module with
  some minor fixes to improve buildability and updates and bug
  fixes to check.

  Highlights:

- win32 freeglut.dll has been updated to 2.6.0, the
    current stable release.

- Many fixes to OpenGL::Array and new tests for the
    functionality.  Still in progress but more complete
    and correct nonetheless.

0.64_001 2011-03-05

  This is a point release for the Perl OpenGL module with
  some minor fixes to improve buildability.

  Highlights:

- Newly revised GLU tesselation support provided
    by Paul Seamons.  See examples/tesselation.pl
    if you wish to test drive the functionality.

0.64 2010-09-14

- This is a point release for the Perl OpenGL module with
  some minor fixes to improve buildability.

- Add Test::More as a prerequisite for OpenGL
    (it is used by the tests)

- Work around a gcc 3.2.3 optimizer bug which caused
    build failures on some linux systems.

0.63 2010-07-10

- Make glpDisplay() handle all XOpenDisplay input
    argument and return the Display structure pointer.
    This allows glpDisplay to be used to check for
    the ability to open the X display avoiding a
    problem with glutInit exiting when no display
    is found.

- Remove use Math::Trig from test.pl

- Fix typo reported in OpenGL.pod

- Add /usr/local/freeglut/* to Makefile.PL location

0.62 2009-12-27

  Highlights:

- Improved build support for Solaris OpenGL and FreeGLUT libraries.

- Corrected install for win32 DLL.

- Fixed build for AGL to only use AGL, not X11 on Mac OS X.

- Fixed _have_freeglut() checks in test.pl and elsewhere.

- Fix glut_const.h typos that broke some GLUT macros.  Exiting
    the FreeGLUT event loop should work.

0.61_001 2009-11-16

- Developers release to check out fix for FreeGLUT constants
    definitions and some include typos that caused them.  If this
    tests ok on CPAN Testers, it will become the stable release.

- The fix means that exiting the FreeGLUT event loop should work.

0.61 2009-11-09

- FreeGLUT detection has been improved when both glut.h and freeglut.h
    are present on a system.

- Fixed include path problems for glversion on Mac OS X.

- Now builds out of the box on many linux, PC, and Mac OS X systems
    as a result of the move to FreeGLUT/GLUT for GUI operations.

- This is the base release for the upcoming PDL-2.4.5 release with
    refactored 3D graphics using the Perl OpenGL module.

- Improved Mac OS X build support, especially with GLUT (not FreeGLUT)
    and no X11 installed or server running.

- Improved FreeGLUT binding and support for FreeGLUT vs GLUT.
    A number of bugs stomped.

- Improved linux/GLX+X11 build support control although FreeGLUT or
    GLUT(on Mac OS X) is preferred for full functionality.

- Fixed MinGW detection logic for ActivePerl configurations

- Code clean up and bugs fixed.  Many were discovered as a result of
    the reconcilliation with PDL::Graphics::OpenGL requirements.

- A few glp*() functions from PDL were added to POGL and confirmed
    consistent API with PDL::Graphics::OpenGL

- glpcOpenWindow() is deprecated as an external, user visible function.
    The use of glpOpenWindow() is recommended.  It provides the exact
    same set of options and control.

- Various documentation updates.

- The test.pl demo program now works more robustly.

- The mysterious freeglut font ... not found bug has been fixed!

0.58 2009-09-06
       Chris Marshall <devel DOT chm DOT 01 at gmail DOT com>

0.57 2008-09-27
	Bob "grafman" Free <grafman@graphcomp.com>
	Updated test.pl to fix fullscreen handling
	Fixed OpenGL.pod to reflect correct module name
	Added FBO constants to param enums in gl_util.c
	Implemented GL_ARB_point_parameters
	Implemented GL_ARB_multisample
	Implemented GL_ARB_color_buffer_float
	Added OGA calc and affine functions
	Added glpHasGPGPU
	Added an ATI workaround for GL_ARB_shading_language_100 dependencies
	Added VBO and FBO caching in OGAs - gl_util.h
	Fixed gluProject and gluUnProject - was converting matrices to ints
	Added glutSpecialUpFunc and glutWindowStatusFunc
	Added dist option to Makefile.PL to support binary distributions
	Switched from GLUT to FreeGLUT
	Added FreeGLUT folder for Win32 DLLs
	Implemented glutSetOption
	Implemented glutGameModeString
	Implemented glutEnterGameMode
	Implemented glutLeaveGameMode
	Implemented glutGameModeGet
	Added glpFullScreen and glpRestoreScreen
	Updated test.pl to support Game Mode
	Implemented glutCloseFunc
	Implemented glutLeaveMainLoop
	Major refactoring of Makefile.PL
	Renamed WGL interface option to W32API
	Added help message to Makefile.PL
	Added verbose option to Makefile.PL
	Added documentation comments to OpenGL.xs
	Added glpHasGLUT
	Updated test.pl to run texhack if no GLUT
	Added a countdown timer to examples/texhack
	Fixed GL_X_BYTES in assign
	Fixed vertex.glsl to work on newer nvidia cards
	Implemented glutIgnoreKeyRepeat
	Implemented glutSetKeyRepeat
	Implemented glutForceJoystickFunc
	Added FreeGLUT support for cygwin builds
	Fixed builds for Apple's recent Mac OS changes
	Added README for building on Mac OS

	Chris Marshall
	Added support for building POGL within cygwin
	Added Config.pm support

	Sisyphus
	Added partial support for MinGW/dmake - not yet fully functional
	Added "clean" target to Makefile.PL

	Alex Dodge
	Added glutKeyboardUpFunc

0.56 2007-07-29
	Bob "grafman" Free <grafman@graphcomp.com>
	Added $BUILD_VERSION
	Updated OpenGL::Array->new
	Added OpenGL::Array->length
	Added OpenGL::Array->bind
	Added OpenGL::Array->bound
	Added OpenGL::Array->new_scalar
	Added OpenGL::Array->new_pointer
	Added OpenGL::Array->update_pointer
	Updated OpenGL::Array->retrieve
	Updated OpenGL::Array->retrieve_data
	Added glVertexPointer_s
	Added glNormalPointer_s
	Added glColorPointer_s
	Added glIndexPointer_s
	Added glTexCoordPointer_s
	Added glEdgeFlagPointer_s
	Added glVertexPointerEXT_s
	Added glNormalPointerEXT_s
	Added glColorPointerEXT_s
	Added glIndexPointerEXT_s
	Added glTexCoordPointerEXT_s
	Added glEdgeFlagPointerEXT_s
	Added gluBuild1DMipmaps_c
	Added gluBuild2DMipmaps_c
	Added OpenGL::Image support to test.pl
	Updated typemap to add GLcharARB and GLhandleARB
	Implemented GL_EXT_texture_cube_map
	Implemented GL_ARB_shader_objects
	Implemented GL_ARB_fragment_shader
	Implemented GL_ARB_vertex_shader
	Implemented GL_ARB_shading_language_100
	Implemented GL_EXT_Cg_shader
	Updated test.pl to use OpenGL::Image and OpenGL::Shader

	Geoffrey Broadwell
	Fixed a bug in gl_pixelbuffer_size

0.55 2007-04-26
	Bob "grafman" Free <grafman@graphcomp.com>
	Added OpenGL::Array->new_list
	Added OpenGL::Array->elements
	Added macro abstraction for wgl extensions
	Implemented GL_ARB_depth_texture
	Implemented GL_ARB_draw_buffers
	Implemented GL_ARB_fragment_program
	Implemented GL_ARB_fragment_program_shadow
	Implemented GL_ARB_half_float_pixel
	Implemented GL_ARB_multitexture
	Implemented GL_ARB_pixel_buffer_object
	Implemented GL_ARB_point_sprite
	Implemented GL_ARB_shadow
	Implemented GL_ARB_texture_border_clamp
	Implemented GL_ARB_texture_cube_map
	Implemented GL_ARB_texture_env_add
	Implemented GL_ARB_texture_float
	Implemented GL_ARB_texture_mirrored_repeat
	Implemented GL_ARB_texture_non_power_of_two
	Implemented GL_ARB_texture_rectangle
	Implemented GL_ARB_vertex_buffer_object
	Implemented GL_ARB_vertex_program
	Implemented GL_ATI_texture_float
	Implemented GL_ATI_texture_mirror_once
	Implemented GL_EXT_bgra
	Implemented GL_EXT_copy_texture
	Implemented GL_EXT_framebuffer_object
	Implemented GL_EXT_packed_pixels
	Implemented GL_EXT_pixel_buffer_object
	Implemented GL_EXT_rescale_normal
	Implemented GL_EXT_separate_specular_color
	Implemented GL_EXT_shadow_funcs
	Implemented GL_EXT_stencil_wrap
	Implemented GL_EXT_subtexture
	Implemented GL_EXT_textureD3
	Implemented GL_EXT_texture_env_dot3
	Implemented GL_EXT_texture_filter_anisotropic
	Implemented GL_EXT_texture_lod_bias
	implemented GL_EXT_texture_mirror_clamp
	implemented GL_EXT_vertex_array
	Implemented GL_HP_occlusion_test
	Implemented GL_IBM_rasterpos_clip
	Implemented GL_NV_blend_square
	Implemented GL_NV_copy_depth_to_color
	Implemented GL_NV_depth_clamp
	Implemented GL_NV_fog_distance
	Implemented GL_NV_fragment_program2
	Implemented GL_NV_fragment_program_option
	Implemented GL_NV_light_max_exponent
	Implemented GL_NV_packed_depth_stencil
	Implemented GL_NV_texgen_reflection
	Implemented GL_NV_texture_expand_normal
	Implemented GL_NV_texture_rectangle
	Implemented GL_NV_vertex_program2_option
	Implemented GL_NV_vertex_program3
	Implemented GL_S3_s3tc
	Implemented GL_SGIS_generate_mipmap
	Implemented GL_SGIS_texture_lod
	Implemented GL_SGIX_depth_texture
	Implemented GL_SGIX_shadow
	Implemented GL_SUN_slice_accum
	Added glDrawRangeElements_p
	Added glColorPointer_p
	Added glEdgeFlagPointer_p
	Added glIndexPointer_p
	Added glNormalPointer_p
	Added glTexCoordPointer_p
	Added glVertexPointer_p
	Added 'include' folder for updated GL header files
	Added 'utils' folder for header processing scripts
	Added glversion utility to enhance Makefile.PL
	Fixed compiler warnings in gl_util.c and OpenGL.xs
	Fixed glPolygonOffsetEXT bias mapping
	Fixed glDrawRangeElements_s code
	Fixed glGetPointerv_c params pointer
	Moved obsolete/deprecated extensions
	Added $glext_implemented hashref of implemented GL extensions
	Added glpCheckExtension
	Updated test.pl

	Ilya Zakharevich
	Updated support for SunRay

	Sherm Pendley
	Added MacOSX support

	Daiki Nomura
	Helped add FreeBSD support

0.54 2002-05-27
	Martien Verbruggen fixed another Mesa limitation.
	#ifdef out unglob'ing: symbol not found on Solaris...

0.53 2001-02-26
	Correct vertex_array detection in isosample.pl.
	Add more vertex_array constants (and move the definition earlier).
	Exchange (default) arguments for glp*: move display after window
	  (should not break old stuff, since there was/is no way to query
	   the display and window).
	New function $d = glpDisplay() (croaks on failure).
	Make glpOpenWindow() return the window handle.
	New functions with signatures
 void glpMoveResizeWindow(int x, int y, unsigned int width, unsigned int height, Window w, Display* display);
 void glpMoveWindow(int x, int y, Window w, Display* display);
 void glpResizeWindow(unsigned int width, unsigned int height, Window w, Display* display);
	  (w and display are optional).

0.52 unknown
	More of the portability, bug fixes, and examples.
	New option -steal for glpOpenWindow() to allow drawing into an
	  existing window (no "Visual" syncronization yet).
	GL_EXT_vertex_array done on the level of cpp.

0.51 unknown
	Portability enhancement (X and OS/2 PM), bug fixes, examples enhanced.
	_have_glp() should be used instead of _have_glx to test for
	  presence of glp* functions.
	Remap OpenGL 1.1 functions into GL_EXT_vertex_array interface
	if needed.