GLEW library for OpenGL.

This commit is contained in:
LuisAntonRebollo 2014-11-08 09:46:30 +01:00
parent c354f59b72
commit 54c0ef9821
822 changed files with 73252 additions and 0 deletions

View file

@ -0,0 +1,169 @@
<h2>Automatic Code Generation</h2>
<p>
Starting from release 1.1.0, the source code and parts of the
documentation are automatically generated from the extension
specifications in a two-step process. In the first step,
specification files from the OpenGL registry are downloaded and
parsed. Skeleton descriptors are created for each extension. These
descriptors contain all necessary information for creating the source
code and documentation in a simple and compact format, including the
name of the extension, url link to the specification, tokens, function
declarations, typedefs and struct definitions. In the second step,
the header files as well as the library and glewinfo source are
generated from the descriptor files. The code generation scripts are
located in the <tt>auto</tt> subdirectory.
</p>
<p>
The code generation scripts require GNU make, wget, and perl. On
Windows, the simplest way to get access to these tools is to install
<a href="http://www.cygwin.com/">Cygwin</a>, but make sure that the
root directory is mounted in binary mode. The makefile in the
<tt>auto</tt> directory provides the following build targets:
</p>
<table border=0 cellpadding=0 cellspacing=5>
<tr><td align="left" valign="top"><tt>make</tt></td>
<td align=left>Create the source files from the descriptors.<br/> If the
descriptors do not exist, create them from the spec files.<br/> If the spec
files do not exist, download them from the OpenGL repository.</td></tr>
<tr><td align="left" valign="top"><tt>make&nbsp;clean</tt></td>
<td align=left>Delete the source files.</td></tr>
<tr><td align="left" valign="top"><tt>make&nbsp;clobber</tt></td>
<td align=left>Delete the source files and the descriptors.</td></tr>
<tr><td align="left" valign="top"><tt>make&nbsp;destroy</tt></td>
<td align=left>Delete the source files, the descriptors, and the spec files.</td></tr>
<tr><td align="left" valign="top"><tt>make&nbsp;custom</tt></td>
<td align=left>Create the source files for the extensions
listed in <tt>auto/custom.txt</tt>.<br/> See "Custom Code
Generation" below for more details.</td></tr>
</table>
<h3>Adding a New Extension</h3>
<p>
To add a new extension, create a descriptor file for the extension in
<tt>auto/core</tt> and rerun the code generation scripts by typing
<tt>make clean; make</tt> in the <tt>auto</tt> directory.
</p>
<p>
The format of the descriptor file is given below. Items in
brackets are optional.
</p>
<p class="pre">
&lt;Extension Name&gt;<br>
[&lt;URL of Specification File&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Token Name&gt; &lt;Token Value&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Token Name&gt; &lt;Token Value&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Typedef&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Typedef&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Signature&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Signature&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
<!-- &nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Definition&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Definition&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br> -->
</p>
<!--
<p>
Note that <tt>Function Definitions</tt> are copied to the header files
without changes and have to be terminated with a semicolon. In
contrast, <tt>Tokens</tt>, <tt>Function signatures</tt>, and
<tt>Typedefs</tt> should not be terminated with a semicolon.
</p>
-->
<p>
Take a look at one of the files in <tt>auto/core</tt> for an
example. Note that typedefs and function signatures should not be
terminated with a semicolon.
</p>
<h3>Custom Code Generation</h3>
<p>
Starting from GLEW 1.3.0, it is possible to control which extensions
to include in the libarary by specifying a list in
<tt>auto/custom.txt</tt>. This is useful when you do not need all the
extensions and would like to reduce the size of the source files.
Type <tt>make clean; make custom</tt> in the <tt>auto</tt> directory
to rerun the scripts with the custom list of extensions.
</p>
<p>
For example, the following is the list of extensions needed to get GLEW and the
utilities to compile.
</p>
<p class="pre">
WGL_ARB_extensions_string<br>
WGL_ARB_multisample<br>
WGL_ARB_pixel_format<br>
WGL_ARB_pbuffer<br>
WGL_EXT_extensions_string<br>
WGL_ATI_pixel_format_float<br>
WGL_NV_float_buffer<br>
</p>
<h2>Multiple Rendering Contexts (GLEW MX)</h2>
<p>Starting with release 1.2.0, thread-safe support for multiple
rendering contexts, possibly with different capabilities, is
available. Since this is not required by most users, it is not added
to the binary releases to maintain compatibility between different
versions. To include multi-context support, you have to do the
following:</p>
<ol>
<li>Compile and use GLEW with the <tt>GLEW_MX</tt> preprocessor token
defined.</li>
<li>For each rendering context, create a <tt>GLEWContext</tt> object
that will be available as long as the rendering context exists.</li>
<li>Define a macro or function called <tt>glewGetContext()</tt> that
returns a pointer to the <tt>GLEWContext</tt> object associated with
the rendering context from which OpenGL/WGL/GLX calls are issued. This
dispatch mechanism is primitive, but generic.
<li>Make sure that you call <tt>glewInit()</tt> after creating the
<tt>GLEWContext</tt> object in each rendering context. Note, that the
<tt>GLEWContext</tt> pointer returned by <tt>glewGetContext()</tt> has
to reside in global or thread-local memory.
</ol>
<p>Note that according to the <a
href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/ntopnglr_6yer.asp">MSDN
WGL documentation</a>, you have to initialize the entry points for
every rendering context that use pixel formats with different
capabilities For example, the pixel formats provided by the generic
software OpenGL implementation by Microsoft vs. the hardware
accelerated pixel formats have different capabilities. <b>GLEW by
default ignores this requirement, and does not define per-context
entry points (you can however do this using the steps described
above).</b> Assuming a global namespace for the entry points works in
most situations, because typically all hardware accelerated pixel
formats provide the same entry points and capabilities. This means
that unless you use the multi-context version of GLEW, you need to
call <tt>glewInit()</tt> only once in your program, or more precisely,
once per process.</p>
<h2>Separate Namespace</h2>
<p>
To avoid name clashes when linking with libraries that include the
same symbols, extension entry points are declared in a separate
namespace (release 1.1.0 and up). This is achieved by aliasing OpenGL
function names to their GLEW equivalents. For instance,
<tt>glFancyFunction</tt> is simply an alias to
<tt>glewFancyFunction</tt>. The separate namespace does not effect
token and function pointer definitions.
</p>
<h2>Known Issues</h2>
<p>
GLEW requires GLX 1.2 for compatibility with GLUT.
</p>

View file

@ -0,0 +1,180 @@
<h2>Initializing GLEW</h2>
<p>
First you need to create a valid OpenGL rendering context and call
<tt>glewInit()</tt> to initialize the extension entry points. If
<tt>glewInit()</tt> returns <tt>GLEW_OK</tt>, the initialization
succeeded and you can use the available extensions as well as core
OpenGL functionality. For example:
</p>
<p class="pre">
#include &lt;GL/glew.h&gt;<br>
#include &lt;GL/glut.h&gt;<br>
...<br>
glutInit(&amp;argc, argv);<br>
glutCreateWindow("GLEW Test");<br>
GLenum err = glewInit();<br>
if (GLEW_OK != err)<br>
{<br>
&nbsp;&nbsp;/* Problem: glewInit failed, something is seriously wrong. */<br>
&nbsp;&nbsp;fprintf(stderr, "Error: %s\n", glewGetErrorString(err));<br>
&nbsp;&nbsp;...<br>
}<br>
fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));<br>
</p>
<h2>Checking for Extensions</h2>
<p>
Starting from GLEW 1.1.0, you can find out if a particular extension
is available on your platform by querying globally defined variables
of the form <tt>GLEW_{extension_name}</tt>:
</p>
<p class="pre">
if (GLEW_ARB_vertex_program)<br>
{<br>
&nbsp;&nbsp;/* It is safe to use the ARB_vertex_program extension here. */<br>
&nbsp;&nbsp;glGenProgramsARB(...);<br>
}<br>
</p>
<p>
<b>In GLEW 1.0.x, a global structure was used for this task. To ensure
binary compatibility between releases, the struct was replaced with a
set of variables.</b>
</p>
<p>
You can also check for core OpenGL functionality. For example, to
see if OpenGL 1.3 is supported, do the following:
</p>
<p class="pre">
if (GLEW_VERSION_1_3)<br>
{<br>
&nbsp;&nbsp;/* Yay! OpenGL 1.3 is supported! */<br>
}<br>
</p>
<p>
In general, you can check if <tt>GLEW_{extension_name}</tt> or
<tt>GLEW_VERSION_{version}</tt> is true or false.
</p>
<p>
It is also possible to perform extension checks from string
input. Starting from the 1.3.0 release, use <tt>glewIsSupported</tt>
to check if the required core or extension functionality is
available:
</p>
<p class="pre">
if (glewIsSupported("GL_VERSION_1_4&nbsp;&nbsp;GL_ARB_point_sprite"))<br>
{<br>
&nbsp;&nbsp;/* Great, we have OpenGL 1.4 + point sprites. */<br>
}<br>
</p>
<p>
For extensions only, <tt>glewGetExtension</tt> provides a slower alternative
(GLEW 1.0.x-1.2.x). <b>Note that in the 1.3.0 release </b>
<tt>glewGetExtension</tt> <b>was replaced with </b>
<tt>glewIsSupported</tt>.
</p>
<p class="pre">
if (glewGetExtension("GL_ARB_fragment_program"))<br>
{<br>
&nbsp;&nbsp;/* Looks like ARB_fragment_program is supported. */<br>
}<br>
</p>
<h2>Experimental Drivers</h2>
<p>
GLEW obtains information on the supported extensions from the graphics
driver. Experimental or pre-release drivers, however, might not
report every available extension through the standard mechanism, in
which case GLEW will report it unsupported. To circumvent this
situation, the <tt>glewExperimental</tt> global switch can be turned
on by setting it to <tt>GL_TRUE</tt> before calling
<tt>glewInit()</tt>, which ensures that all extensions with valid
entry points will be exposed.
</p>
<h2>Platform Specific Extensions</h2>
<p>
Platform specific extensions are separated into two header files:
<tt>wglew.h</tt> and <tt>glxew.h</tt>, which define the available
<tt>WGL</tt> and <tt>GLX</tt> extensions. To determine if a certain
extension is supported, query <tt>WGLEW_{extension name}</tt> or
<tt>GLXEW_{extension_name}</tt>. For example:
</p>
<p class="pre">
#include &lt;GL/wglew.h&gt;<br>
<br>
if (WGLEW_ARB_pbuffer)<br>
{<br>
&nbsp;&nbsp;/* OK, we can use pbuffers. */<br>
}<br>
else<br>
{<br>
&nbsp;&nbsp;/* Sorry, pbuffers will not work on this platform. */<br>
}<br>
</p>
<p>
Alternatively, use <tt>wglewIsSupported</tt> or
<tt>glxewIsSupported</tt> to check for extensions from a string:
</p>
<p class="pre">
if (wglewIsSupported("WGL_ARB_pbuffer"))<br>
{<br>
&nbsp;&nbsp;/* OK, we can use pbuffers. */<br>
}<br>
</p>
<h2>Utilities</h2>
<p>
GLEW provides two command-line utilities: one for creating a list of
available extensions and visuals; and another for verifying extension
entry points.
</p>
<h3>visualinfo: extensions and visuals</h3>
<p>
<tt>visualinfo</tt> is an extended version of <tt>glxinfo</tt>. The
Windows version creates a file called <tt>visualinfo.txt</tt>, which
contains a list of available OpenGL, WGL, and GLU extensions as well
as a table of visuals aka. pixel formats. Pbuffer and MRT capable
visuals are also included. For additional usage information, type
<tt>visualinfo -h</tt>.
</p>
<h3>glewinfo: extension verification utility</h3>
<p>
<tt>glewinfo</tt> allows you to verify the entry points for the
extensions supported on your platform. The Windows version
reports the results to a text file called <tt>glewinfo.txt</tt>. The
Unix version prints the results to <tt>stdout</tt>.
</p>
<p>Windows usage:</p>
<blockquote><pre>glewinfo [-pf &lt;id&gt;]</pre></blockquote>
<p>where <tt>&lt;id&gt;</tt> is the pixel format id for which the
capabilities are displayed.</p>
<p>Unix usage:</p>
<blockquote><pre>glewinfo [-display &lt;dpy&gt;] [-visual &lt;id&gt;]</pre></blockquote>
<p>where <tt>&lt;dpy&gt;</tt> is the X11 display and <tt>&lt;id&gt;</tt> is
the visual id for which the capabilities are displayed.</p>

View file

@ -0,0 +1,47 @@
<h2>Building GLEW</h2>
<h3>Windows</h3>
<p>A MS Visual Studio project is provided in the <tt>build/vc6</tt> directory.</p>
<p>Pre-built shared and static libraries are also available for <a href="index.html">download</a>.</p>
<h3>Makefile</h3>
<p>For platforms other than MS Windows, the provided <tt>Makefile</tt> is used.</p>
<h4>Command-line variables</h4>
<table border=0 cellpadding=0 cellspacing=10>
<tr><td valign=top><tt>SYSTEM</tt></td><td valign=top>auto</td>
<td align=left>Target system to build: darwin, linux, solaris, etc.<br/>For a full list of supported targets: <tt>ls config/Makefile.*</tt><br/>
<a href="http://git.savannah.gnu.org/gitweb/?p=config.git;a=tree">config.guess</a> is used to auto detect, as necessary.</td></tr>
<tr><td valign=top><tt>GLEW_DEST</tt></td><td valign=top><tt>/usr</tt></td>
<td align=left>Base directory for installation.</td></tr>
</table>
<h4>Make targets</h4>
<table border=0 cellpadding=0 cellspacing=10>
<tr><td valign=top><tt>all</tt></td><td>Build everything.</td><tr>
<tr><td valign=top><tt>glew.lib</tt></td><td>Build static and dynamic GLEW libraries.</td><tr>
<tr><td valign=top><tt>glew.lib.mx</tt></td><td>Build static and dynamic GLEWmx libraries.</td><tr>
<tr><td valign=top><tt>glew.bin</tt></td><td>Build <tt>glewinfo</tt> and <tt>visualinfo</tt> utilities.</td><tr>
<tr><td valign=top><tt>clean</tt></td><td>Delete temporary and built files.</td><tr>
<tr><td valign=top><tt>install.all</tt></td><td>Install everything.</td><tr>
<tr><td valign=top><tt>install</tt></td><td>Install GLEW libraries.</td><tr>
<tr><td valign=top><tt>install.mx</tt></td><td>Install GLEWmx libraries.</td><tr>
<tr><td valign=top><tt>install.bin</tt></td><td>Install <tt>glewinfo</tt> and <tt>visualinfo</tt> utilities.</td><tr>
<tr><td valign=top><tt>uninstall</tt></td><td>Delete installed files.</td><tr>
</table>
<h4>Requirements</h4>
<ul>
<li>GNU make</li>
<li>perl</li>
<li>wget</li>
<li>GNU sed</li>
<li>gcc compiler</li>
</ul>
Ubuntu: <pre>sudo apt-get install Xmu-dev Xi-Dev</pre>

View file

@ -0,0 +1,25 @@
<h2>Credits</h2>
<p>
GLEW was developed by <a href="http://www.cs.utah.edu/~ikits/">Milan
Ikits</a> and <a
href="http://wwwvis.informatik.uni-stuttgart.de/~magallon/">Marcelo
Magallon</a>. They also perform occasional maintainance to make sure
that GLEW stays in mint condition. Aaron Lefohn, Joe Kniss, and Chris
Wyman were the first users and also assisted with the design and
debugging process. The acronym GLEW originates from Aaron Lefohn.
Pasi K&auml;rkk&auml;inen identified and fixed several problems with
GLX and SDL. Nate Robins created the <tt>wglinfo</tt> utility, to
which modifications were made by Michael Wimmer.
</p>
<h2>Copyright</h2>
<p>
GLEW is originally derived from the EXTGL project by Lev Povalahev.
The source code is licensed under the <a href="glew.txt">Modified BSD
License</a>, the <a href="mesa.txt">Mesa 3-D License</a> (MIT
License), and the <a href="khronos.txt">Khronos License</a> (MIT
License). The automatic code generation scripts are released under
the <a href="gpl.txt">GNU GPL</a>.
</p>

View file

@ -0,0 +1,118 @@
<p>
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform
open-source C/C++ extension loading library. GLEW provides efficient
run-time mechanisms for determining which OpenGL extensions are
supported on the target platform. OpenGL core and extension
functionality is exposed in a single header file. GLEW has been
tested on a variety of operating systems, including Windows, Linux,
Mac OS X, FreeBSD, Irix, and Solaris.
</p>
<h2>Downloads</h2>
<p>
<a href="http://sourceforge.net/projects/glew/">GLEW</a> is distributed
as source and precompiled binaries.<br/>
The latest release is
<a href="https://sourceforge.net/projects/glew/files/glew/1.10.0/">1.10.0</a>[07-22-13]:
</p>
<p>
</p>
<p>
<table border="1" cellpadding="5" cellspacing="0" bgcolor="#f0f0f0" align="center">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="0">
<tr>
<td></td>
<td align="right"><b>Source</b></td>
<td></td>
<td align="left">
<a href="https://sourceforge.net/projects/glew/files/glew/1.10.0/glew-1.10.0.zip/download">ZIP</a>&nbsp;|&nbsp;
<a href="https://sourceforge.net/projects/glew/files/glew/1.10.0/glew-1.10.0.tgz/download">TGZ</a></td>
<td></td>
</tr>
<tr>
<td></td>
<td align="right"><b>Binaries</b></td>
<td></td>
<td align="left">
<a href="https://sourceforge.net/projects/glew/files/glew/1.10.0/glew-1.10.0-win32.zip/download">Windows 32-bit and 64-bit</a>&nbsp;|&nbsp;
</td>
<td></td>
</tr>
</table>
</tr>
</table>
<p></p>
<p>
An up-to-date copy is also available using <a href="http://git-scm.com/">git</a>:
</p>
<ul>
<li><a href="https://github.com/nigels-com/glew">github</a><br/>
<tt>git clone https://github.com/nigels-com/glew.git glew</tt><br/>&nbsp;</li>
<li><a href="https://sourceforge.net/p/glew/code">Sourceforge</a><br/>
<tt>git clone git://git.code.sf.net/p/glew/code glew</tt><br/>&nbsp;</li>
</ul>
<p></p>
<p>
<a href="https://sourceforge.net/projects/glew/files/glew/snapshots/">Unsupported snapshots</a> are also available:
</p>
<ul>
<li><a href="http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20130715.tgz/download">glew-20130715.tgz</a></li>
<li><a href="http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20130118.tgz/download">glew-20130118.tgz</a></li>
</ul>
<h2>Supported Extensions</h2>
<p>
The latest release contains support for OpenGL 4.4 and the following extensions:
</p>
<ul>
<li><a href="glew.html">OpenGL extensions</a>
<li><a href="wglew.html">WGL extensions</a>
<li><a href="glxew.html">GLX extensions</a>
</ul>
<h2>News</h2>
<ul>
<li>[07-22-13] <a href="https://sourceforge.net/projects/glew/files/glew/1.10.0/">GLEW 1.10.0</a> adds support for OpenGL 4.4, new extensions</li>
<li>[08-06-12] <a href="https://sourceforge.net/projects/glew/files/glew/1.9.0/">GLEW 1.9.0</a> adds support for OpenGL 4.3, new extensions</li>
<li>[07-17-12] <a href="https://sourceforge.net/projects/glew/files/glew/1.8.0/">GLEW 1.8.0</a> fixes minor bugs and adds new extensions</li>
<li>[08-26-11] <a href="https://sourceforge.net/projects/glew/files/glew/1.7.0/">GLEW 1.7.0</a> adds support for OpenGL 4.2, new extensions, fixes bugs</li>
<li>[04-27-11] <a href="https://sourceforge.net/projects/glew/files/glew/1.6.0/">GLEW 1.6.0</a> fixes minor bugs and adds eight new extensions</li>
<li>[01-31-11] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">GLEW 1.5.8</a> fixes minor bugs and adds two new extensions</li>
<li>[11-03-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.7/">GLEW 1.5.7</a> fixes minor bugs and adds one new extension</li>
<li>[09-07-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.6/">GLEW 1.5.6</a> adds support for OpenGL 4.1, fixes bugs</li>
<li>[07-13-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.5/">GLEW 1.5.5</a> fixes minor bugs and adds new extensions</li>
<li>[04-21-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.4/">GLEW 1.5.4</a> adds support for OpenGL 3.3, OpenGL 4.0 and new extensions, fixes bugs</li>
<li>[02-28-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.3/">GLEW 1.5.3</a> fixes minor bugs and adds three new extensions</li>
<li>[12-31-09] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.2/">GLEW 1.5.2</a> adds support for OpenGL 3.1, OpenGL 3.2 and new extensions</li>
<li>[11-03-08] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=637800">GLEW 1.5.1</a> adds support for OpenGL 3.0 and 31 new extensions</li>
<li>[12-27-07] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=564464">GLEW 1.5.0</a> is released under less restrictive licenses</li>
<li>[04-27-07] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=504079">GLEW 1.4.0</a> is released</li>
<li>[03-08-07] GLEW is included in the <a href="http://developer.nvidia.com/object/sdk_home.html">NVIDIA OpenGL SDK</a></li>
<li>[03-04-07] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=491113">GLEW 1.3.6</a> is released</li>
<li>[02-28-07] <a href="http://glew.svn.sourceforge.net/svnroot/glew/trunk/glew/">Repository</a> is migrated to SVN</li>
<li>[02-25-07] GLEW is included in the <a href="http://www.opengl.org/sdk/">OpenGL SDK</a></li>
<li>[11-21-06] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=465334">GLEW 1.3.5</a> adds OpenGL 2.1 and NVIDIA G80 extensions</li>
<li>[03-04-06] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=398455">GLEW 1.3.4</a> adds support for five new extensions</li>
<li>[05-16-05] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=327647">GLEW 1.3.3</a> is released</li>
<li>[03-16-05] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=313345">GLEW 1.3.2</a> adds support for GL_APPLE_pixel_buffer</li>
<li>[02-11-05] <a href="http://gljava.sourceforge.net/">gljava</a> and <a href="http://sdljava.sourceforge.net/">sdljava</a> provide a Java binding to OpenGL via GLEW</li>
<li>[02-02-05] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=302049">GLEW 1.3.1</a> adds support for <a href="http://www.opengl.org/documentation/extensions/EXT_framebuffer_object.txt">GL_EXT_framebuffer_object</a></li>
<li>[01-04-05] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=294527">GLEW 1.3.0</a> adds core OpenGL 2.0 support plus many enhancements</li>
<li>[12-22-04] <a href="http://glewpy.sf.net/">GLEWpy</a> Python wrapper announced</li>
<li>[12-12-04] <a href="https://sourceforge.net/mail/?group_id=67586">Mailing lists</a> created on sourceforge</li>
<li>[12-06-04] <a href="http://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=287948">GLEW 1.2.5</a> adds new extensions and support for FreeBSD</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="http://www.opengl.org/sdk/">OpenGL Software Development Kit</a></li>
<li><a href="http://www.opengl.org/resources/features/OGLextensions/">All About OpenGL Extensions</a></li>
<li><a href="http://www.opengl.org/registry/">OpenGL Extension Registry</a></li>
<li><a href="http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/OpenGLExtensionsGuide/Reference/reference.html">APPLE OpenGL Extensions Guide</a></li>
<li><a href="http://developer.nvidia.com/nvidia-opengl-specs">NVIDIA OpenGL Extension Specifications</a></li>
</ul>

View file

@ -0,0 +1,126 @@
<h2>Installation</h2>
<p>
To use the shared library version of GLEW, you need to copy the
headers and libraries into their destination directories. On Windows
this typically boils down to copying:
</p>
<table border="0" cellpadding="0" cellspacing="0" align="center"> <!-- bgcolor="#f0f0f0" -->
<tr><td align="left"><tt>bin/glew32.dll</tt></td><td>&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align="left"><tt>%SystemRoot%/system32</tt></td></tr>
<tr><td align="left"><tt>lib/glew32.lib</tt></td><td>&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align="left"><tt>{VC Root}/Lib</tt></td></tr>
<tr><td align="left"><tt>include/GL/glew.h</tt></td><td>&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align="left"><tt>{VC Root}/Include/GL</tt></td></tr>
<tr><td align="left"><tt>include/GL/wglew.h</tt></td><td>&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align="left"><tt>{VC Root}/Include/GL</tt></td></tr>
</table>
<p>
</p>
<p>
where <tt>{VC Root}</tt> is the Visual C++ root directory, typically
<tt>C:/Program Files/Microsoft Visual Studio/VC98</tt> for Visual
Studio 6.0 or <tt>C:/Program Files/Microsoft Visual
Studio .NET 2003/Vc7/PlatformSDK</tt> for Visual Studio .NET.
</p>
<p>
On Unix, typing <tt>make install</tt> will attempt to install GLEW
into <tt>/usr/include/GL</tt> and <tt>/usr/lib</tt>. You can
customize the installation target via the <tt>GLEW_DEST</tt>
environment variable if you do not have write access to these
directories.
</p>
<h2>Building Your Project with GLEW</h2>
<p>
There are two ways to build your project with GLEW.
</p>
<h3>Including the source files / project file</h3>
<p>
The simpler but less flexible way is to include <tt>glew.h</tt> and
<tt>glew.c</tt> into your project. On Windows, you also need to
define the <tt>GLEW_STATIC</tt> preprocessor token when building a
static library or executable, and the <tt>GLEW_BUILD</tt> preprocessor
token when building a dll. You also need to replace
<tt>&lt;GL/gl.h&gt;</tt> and <tt>&lt;GL/glu.h&gt;</tt> with
<tt>&lt;glew.h&gt;</tt> in your code and set the appropriate include
flag (<tt>-I</tt>) to tell the compiler where to look for it. For
example:
</p>
<p class="pre">
#include &lt;glew.h&gt;<br>
#include &lt;GL/glut.h&gt;<br>
&lt;gl, glu, and glut functionality is available here&gt;<br>
</p>
<p>
Depending on where you put <tt>glew.h</tt> you may also need to change
the include directives in <tt>glew.c</tt>. Note that if you are using
GLEW together with GLUT, you have to include <tt>glew.h</tt> first.
In addition, <tt>glew.h</tt> includes <tt>glu.h</tt>, so you do not
need to include it separately.
</p>
<p>
On Windows, you also have the option of adding the supplied project
file <tt>glew_static.dsp</tt> to your workspace (solution) and compile
it together with your other projects. In this case you also need to
change the <tt>GLEW_BUILD</tt> preprocessor constant to
<tt>GLEW_STATIC</tt> when building a static library or executable,
otherwise you get build errors.
</p>
<p>
<b>Note that GLEW does not use the C
runtime library, so it does not matter which version (single-threaded,
multi-threaded or multi-threaded DLL) it is linked with (without
debugging information). It is, however, always a good idea to compile all
your projects including GLEW with the same C runtime settings.</b>
</p>
<h3>Using GLEW as a shared library</h3>
<p>
Alternatively, you can use the provided project files / makefile to
build a separate shared library you can link your projects with later.
In this case the best practice is to install <tt>glew.h</tt>,
<tt>glew32.lib</tt>, and <tt>glew32.dll</tt> / <tt>libGLEW.so</tt> to
where the OpenGL equivalents <tt>gl.h</tt>, <tt>opengl32.lib</tt>, and
<tt>opengl32.dll</tt> / <tt>libGL.so</tt> are located. Note that you
need administrative privileges to do this. If you do not have
administrator access and your system administrator will not do it for
you, you can install GLEW into your own lib and include subdirectories
and tell the compiler where to find it. Then you can just replace
<tt>&lt;GL/gl.h&gt;</tt> with <tt>&lt;GL/glew.h&gt;</tt> in your
program:
</p>
<p class="pre">
#include &lt;GL/glew.h&gt;<br>
#include &lt;GL/glut.h&gt;<br>
&lt;gl, glu, and glut functionality is available here&gt;<br>
</p>
<p>
or:
</p>
<p class="pre">
#include &lt;GL/glew.h&gt;<br>
&lt;gl and glu functionality is available here&gt;<br>
</p>
<p>
Remember to link your project with <tt>glew32.lib</tt>,
<tt>glu32.lib</tt>, and <tt>opengl32.lib</tt> on Windows and
<tt>libGLEW.so</tt>, <tt>libGLU.so</tt>, and <tt>libGL.so</tt> on
Unix (<tt>-lGLEW -lGLU -lGL</tt>).
</p>
<p>
It is important to keep in mind that <tt>glew.h</tt> includes neither
<tt>windows.h</tt> nor <tt>gl.h</tt>. Also, GLEW will warn you by
issuing a preprocessor error in case you have included <tt>gl.h</tt>,
<tt>glext.h</tt>, or <tt>glATI.h</tt> before <tt>glew.h</tt>.
</p>

View file

@ -0,0 +1,912 @@
<h2>Change Log</h2>
<hr align="center">
<ul class="none">
<li><b>1.10.0</b> [07-22-13]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 4.4
</ul>
<li> New extensions:
<ul>
<li> GL_AMD_interleaved_elements
<li> GL_AMD_shader_trinary_minmax
<li> GL_AMD_sparse_texture
<li> GL_ANGLE_depth_texture
<li> GL_ANGLE_framebuffer_blit
<li> GL_ANGLE_framebuffer_multisample
<li> GL_ANGLE_instanced_arrays
<li> GL_ANGLE_pack_reverse_row_order
<li> GL_ANGLE_program_binary
<li> GL_ANGLE_texture_compression_dxt1
<li> GL_ANGLE_texture_compression_dxt3
<li> GL_ANGLE_texture_compression_dxt5
<li> GL_ANGLE_texture_usage
<li> GL_ANGLE_timer_query
<li> GL_ANGLE_translated_shader_source
<li> GL_ARB_bindless_texture
<li> GL_ARB_buffer_storage
<li> GL_ARB_clear_texture
<li> GL_ARB_compute_variable_group_size
<li> GL_ARB_enhanced_layouts
<li> GL_ARB_indirect_parameters
<li> GL_ARB_multi_bind
<li> GL_ARB_query_buffer_object
<li> GL_ARB_seamless_cubemap_per_texture
<li> GL_ARB_shader_draw_parameters
<li> GL_ARB_shader_group_vote
<li> GL_ARB_sparse_texture
<li> GL_ARB_texture_mirror_clamp_to_edge
<li> GL_ARB_texture_stencil8
<li> GL_ARB_vertex_type_10f_11f_11f_rev
<li> GL_INTEL_map_texture
<li> GL_NVX_conditional_render
<li> GL_NV_bindless_multi_draw_indirect
<li> GL_NV_blend_equation_advanced
<li> GL_NV_compute_program5
<li> GL_NV_deep_texture3D
<li> GL_NV_draw_texture
<li> GL_NV_shader_atomic_counters
<li> GL_NV_shader_storage_buffer_object
<li> GL_REGAL_ES1_0_compatibility
<li> GL_REGAL_ES1_1_compatibility
<li> GL_REGAL_enable
<li> GLX_EXT_buffer_age
<li> WGL_ARB_robustness_application_isolation
<li> WGL_ARB_robustness_share_group_isolation
</ul>
<li> <a href="https://sourceforge.net/p/glew/bugs/milestone/1.9.1/">Bug fixes</a>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.9.0</b> [08-06-12]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 4.3 -
<a href="http://www.opengl.org/registry/doc/glspec43.compatibility.20120806.pdf">specification</a>,
<a href="http://www.khronos.org/assets/uploads/developers/library/overview/opengl_overview.pdf">overview</a>.
</ul>
<li> New extensions:
<ul>
<li> GL_ARB_ES3_compatibility
<li> GL_ARB_clear_buffer_object
<li> GL_ARB_compute_shader
<li> GL_ARB_copy_image
<li> GL_ARB_explicit_uniform_location
<li> GL_ARB_fragment_layer_viewport
<li> GL_ARB_framebuffer_no_attachments
<li> GL_ARB_internalformat_query2
<li> GL_ARB_multi_draw_indirect
<li> GL_ARB_program_interface_query
<li> GL_ARB_robust_buffer_access_behavior
<li> GL_ARB_robustness_application_isolation
<li> GL_ARB_robustness_share_group_isolation
<li> GL_ARB_shader_image_size
<li> GL_ARB_shader_storage_buffer_object
<li> GL_ARB_stencil_texturing
<li> GL_ARB_texture_buffer_range
<li> GL_ARB_texture_query_levels
<li> GL_ARB_texture_storage_multisample
<li> GL_ARB_texture_view
<li> GL_ARB_vertex_attrib_binding
<li> GL_EXT_debug_marker
<li> GL_KHR_debug
<li> GL_REGAL_error_string
<li> GL_REGAL_extension_query
<li> GL_REGAL_log
<li> GLX_ARB_robustness_application_isolation
<li> GLX_ARB_robustness_share_group_isolation
<li> GLX_EXT_create_context_es_profile
<li> WGL_EXT_create_context_es_profile
</ul>
<li> Bug fixes:
<ul>
<li> Not using GLU library for Makefile builds.
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.8.0</b> [07-17-12]
<ul>
<li> New extensions:
<ul>
<li> GL_AMD_pinned_memory
<li> GL_AMD_query_buffer_object
<li> GL_AMD_stencil_operation_extended
<li> GL_AMD_vertex_shader_layer
<li> GL_AMD_vertex_shader_viewport_index
<li> GL_NV_bindless_texture
<li> GL_NV_shader_atomic_float
<li> GLX_EXT_swap_control_tear
<li> WGL_EXT_swap_control_tear
<li> WGL_NV_DX_interop2
</ul>
<li> Bug fixes:
<ul>
<li> MS Visual Studio 2010 projects added
<li> GLX_NV_video_out replaces GLX_NV_video_output
<li> ANSI C prototype for glewInit
<li> Improved CentOS build support
<li> Improved GL_ARB_gpu_shader_fp64 support
<li> ARB_texture_compression_bptc and ARB_copy_buffer constants
<li> Linux needs to define GLEW_STATIC for static library builds
<li> Custom code generation problem resolved
<li> GLEWAPIENTRY added to glew.h for calling convention customization
<li> Correction for glPathStencilDepthOffsetNV
<li> Resolve OSX gcc warnings
<li> Added build support for NetBSD
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.7.0</b> [08-26-11]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 4.2
</ul>
<li> New extensions:
<ul>
<li> GL_AMD_multi_draw_indirect
<li> GL_ARB_base_instance
<li> GL_ARB_compressed_texture_pixel_storage
<li> GL_ARB_conservative_depth
<li> GL_ARB_internalformat_query
<li> GL_ARB_map_buffer_alignment
<li> GL_ARB_shader_atomic_counters
<li> GL_ARB_shader_image_load_store
<li> GL_ARB_shading_language_420pack
<li> GL_ARB_shading_language_packing
<li> GL_ARB_texture_storage
<li> GL_ARB_transform_feedback_instanced
<li> GL_EXT_framebuffer_multisample_blit_scaled
<li> GL_NV_path_rendering
<li> GL_NV_path_rendering
<li> GLX_MESA_swap_control
</ul>
<li> Bug fixes:
<ul>
<li> const qualifiers for GL 1.4 MultiDrawArrays, MultiDrawElements
<li> Add glGetGraphicsResetStatusARB to GL_ARB_robustness
<li> Remove EXT suffix from GL_KTX_buffer_region entry points
<li> Solaris needs inttypes.h
<li> Add ERROR_INVALID_VERSION_ARB and ERROR_INVALID_PROFILE_ARB to WGL_ARB_create_context
<li> Add GLX_MESA_swap_control
<li> Set -install_name for OSX
<li> Add 64-bit darwin build option (SYSTEM=darwin_x86-64)
<li> Add GL_NV_path_rendering
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.6.0</b> [04-27-11]
<ul>
<li> New extensions:
<ul>
<li> GL_AMD_blend_minmax_factor
<li> GL_AMD_sample_positions
<li> GL_EXT_x11_sync_object
<li> GL_NV_texture_multisample
<li> GL_NV_video_capture
<li> GLX_NV_video_capture
<li> WGL_NV_DX_interop
<li> WGL_NV_video_capture
</ul>
<li> Bug fixes:
<ul>
<li> Define GLEW_NO_GLU for no glu dependency.
<li> mx suffix for GLEW MX libraries, build both libraries by default.
<li> Cygwin build improvements
<li> Soname of GLEWmx shared libraries
<li> Query GL extension string only once
<li> GLX_OML_sync_control no longer requires C99
<li> glDraw*InstancedARB moved from GL_ARB_draw_instanced to GL_ARB_instanced_arrays
<li> glFramebufferTextureLayerEXT moved from GL_EXT_geometry_shader4 to GL_EXT_texture_array
<li> Fixes for BSD build
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.8</b> [01-31-11]
<ul>
<li> New extensions:
<ul>
<li> GL_AMD_depth_clamp_separate
<li> GL_EXT_texture_sRGB_decode
</ul>
<li> Bug fixes:
<ul>
<li> Borland C++ fix for __int64
<li> GL_DOUBLE_MATNxM enumerants for OpenGL 4.0
<li> Correction to glGetTransformFeedbackVarying
<li> Correction to glSecondaryColorPointer
<li> Corrections to glGetVertexAttribPointerv and glGetShaderSource
<li> Switched code repository from svn to git
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.7</b> [11-03-10]
<ul>
<li> New extension:
<ul>
<li> GL_NVX_gpu_memory_info
</ul>
<li> Bug fixes:
<ul>
<li> Improved mingw32 build support
<li> Improved cygwin build support
<li> glGetPointervEXT fix
<li> Add GLEW_VERSION_1_2_1
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.6</b> [09-07-10]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 4.1
</ul>
<li> New extensions:
<ul>
<li> GL_ARB_ES2_compatibility
<li> GL_ARB_cl_event
<li> GL_ARB_debug_output
<li> GL_ARB_get_program_binary
<li> GL_ARB_robustness
<li> GL_ARB_separate_shader_objects
<li> GL_ARB_shader_precision
<li> GL_ARB_shader_stencil_export
<li> GL_ARB_vertex_attrib_64bit
<li> GL_ARB_viewport_array
<li> GLX_ARB_create_context_robustness
<li> GLX_EXT_create_context_es2_profile
<li> WGL_ARB_create_context_robustness
<li> WGL_EXT_create_context_es2_profile
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.5</b> [07-13-10]
<ul>
<li> New extensions:
<ul>
<li> GL_AMD_debug_output
<li> GL_AMD_name_gen_delete
<li> GL_AMD_transform_feedback3_lines_triangles
<li> GL_NV_multisample_coverage
<li> GL_NV_vdpau_interop
<li> GLX_AMD_gpu_association
<li> GLX_NV_multisample_coverage
<li> WGL_NV_multisample_coverage
</ul>
<li> Bug fixes:
<ul>
<li> Compilation issue with GLX_SGI_video_sync
<li> OpenGL 4.0 double-precision uniform functions added
<li> Constness of glPointParameterfvARB and glPointParameterfvEXT
<li> Added glVertexAttribDivisor
<li> Compilation issue with Nvidia GLX headers
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.4</b> [04-21-10]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 3.3
<li> Support for OpenGL 4.0
</ul>
<li> New extensions:
<ul>
<li> GL_AMD_conservative_depth
<li> GL_ARB_blend_func_extended
<li> GL_ARB_draw_indirect
<li> GL_ARB_explicit_attrib_location
<li> GL_ARB_gpu_shader5
<li> GL_ARB_gpu_shader_fp64
<li> GL_ARB_occlusion_query2
<li> GL_ARB_sampler_objects
<li> GL_ARB_shader_bit_encoding
<li> GL_ARB_shader_subroutine
<li> GL_ARB_shading_language_include
<li> GL_ARB_tessellation_shader
<li> GL_ARB_texture_buffer_object_rgb32
<li> GL_ARB_texture_compression_bptc
<li> GL_ARB_texture_rgb10_a2ui
<li> GL_ARB_texture_swizzle
<li> GL_ARB_timer_query
<li> GL_ARB_transform_feedback2
<li> GL_ARB_transform_feedback3
<li> GL_ARB_vertex_type_2_10_10_10_rev
<li> GL_EXT_shader_image_load_store
<li> GL_EXT_vertex_attrib_64bit
<li> GL_NV_gpu_program5
<li> GL_NV_gpu_program_fp64
<li> GL_NV_gpu_shader5
<li> GL_NV_tessellation_program5
<li> GL_NV_vertex_attrib_integer_64bit
<li> GLX_ARB_vertex_buffer_object
</ul>
<li> Bug fixes:
<ul>
<li> Parameter constness fix for glPointParameteriv and glPointParameterfv
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.3</b> [02-28-10]
<ul>
<li> New extensions:
<ul>
<li> GLX_INTEL_swap_event
<li> GL_AMD_seamless_cubemap_per_texture
<li> GL_AMD_shader_stencil_export
</ul>
<li> Bug fixes:
<ul>
<li> Correct version detection for GL 3.1 and 3.2
<li> Missing 3.1 enumerants
<li> Add glew.pc
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.2</b> [12-31-09]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 3.1
<li> Support for OpenGL 3.2
</ul>
<li> New extensions:
<ul>
<li> GL_AMD_draw_buffers_blend
<li> GL_AMD_performance_monitor
<li> GL_AMD_texture_texture4
<li> GL_AMD_vertex_shader_tessellator
<li> GL_APPLE_aux_depth_stencil
<li> GL_APPLE_object_purgeable
<li> GL_APPLE_rgb_422
<li> GL_APPLE_row_bytes
<li> GL_APPLE_vertex_program_evaluators
<li> GL_ARB_compatibility
<li> GL_ARB_copy_buffer
<li> GL_ARB_depth_clamp
<li> GL_ARB_draw_buffers_blend
<li> GL_ARB_draw_elements_base_vertex
<li> GL_ARB_fragment_coord_conventions
<li> GL_ARB_provoking_vertex
<li> GL_ARB_sample_shading
<li> GL_ARB_seamless_cube_map
<li> GL_ARB_shader_texture_lod
<li> GL_ARB_sync
<li> GL_ARB_texture_cube_map_array
<li> GL_ARB_texture_gather
<li> GL_ARB_texture_multisample
<li> GL_ARB_texture_query_lod
<li> GL_ARB_uniform_buffer_object
<li> GL_ARB_vertex_array_bgra
<li> GL_ATI_meminfo
<li> GL_EXT_provoking_vertex
<li> GL_EXT_separate_shader_objects
<li> GL_EXT_texture_snorm
<li> GL_NV_copy_image
<li> GL_NV_parameter_buffer_object2
<li> GL_NV_shader_buffer_load
<li> GL_NV_texture_barrier
<li> GL_NV_transform_feedback2
<li> GL_NV_vertex_buffer_unified_memory
<li> WGL_AMD_gpu_association
<li> WGL_ARB_create_context_profile
<li> WGL_NV_copy_image
<li> GLX_ARB_create_context_profile
<li> GLX_EXT_swap_control
<li> GLX_NV_copy_image
</ul>
<li> Bug fixes:
<ul>
<li> DOS line endings for windows .zip archives only.
<li> glTransformFeedbackVaryings arguments.
<li> Resource leak in glewinfo and visualinfo tools.
<li> WIN32_LEAN_AND_MEAN preprocessor pollution.
<li> Fixed version detection for GLEW_VERSION_2_1 and GLEW_VERSION_3_0.
<li> MesaGLUT glut.h GLAPIENTRY dependency.
<li> glFramebufferTextureLayer correction.
<li> OSX compiler warnings resolved.
<li> Cygwin linking to opengl32 by default, rather than X11 OpenGL.
<li> SnowLeopard (OSX 10.6) gl.h detection.
<li> Use $(STRIP) consistently.
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.1</b> [11-03-08]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 3.0
</ul>
<li> New extensions:
<ul>
<li> GL_ARB_depth_buffer_float
<li> GL_ARB_draw_instance,
<li> GL_ARB_framebuffer_object
<li> GL_ARB_framebuffer_sRGB
<li> GL_ARB_geometry_shader4
<li> GL_ARB_half_float_pixel
<li> GL_ARB_half_float_vertex
<li> GL_ARB_instanced_arrays
<li> GL_ARB_map_buffer_range
<li> GL_ARB_texture_buffer_object
<li> GL_ARB_texture_compression_rgtc
<li> GL_ARB_vertex_array_object
<li> GL_EXT_direct_state_access
<li> GL_EXT_texture_swizzle
<li> GL_EXT_transform_feedback
<li> GL_EXT_vertex_array_bgra
<li> GL_NV_conditional_render
<li> GL_NV_explicit_multisample
<li> GL_NV_present_video
<li> GL_SGIS_point_line_texgen
<li> GL_SGIX_convolution_accuracy
<li> WGL_ARB_create_context
<li> WGL_ARB_framebuffer_sRGB
<li> WGL_NV_present_video
<li> WGL_NV_swap_group
<li> WGL_NV_video_output
<li> GLX_ARB_create_context
<li> GLX_ARB_framebuffer_sRGB
<li> GLX_NV_present_video
<li> GLX_NV_swap_group
<li> GLX_NV_video_output
</ul>
<li> Bug fixes:
<ul>
<li> Licensing issues with documentation
<li> Problems with long long and _MSC_VER on MINGW
<li> Incorrect parameter for glGetUniformLocation
<li> glewGetExtension fails on last entry
<li> Incomplete GL_NV_texture_shader tokens
<li> Scripting problems on Cygwin
<li> Incorrect definition for GLint on OS X
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.0</b> [12-27-07]
<ul>
<li> New features:
<ul>
<li> Licensing change (BSD, Mesa 3-D, Khronos)
<li> Switch to using registry on <a href="http://www.opengl.org/registry/">www.opengl.org</a>
<li> Support for major and minor version strings
</ul>
<li> New extensions:
<ul>
<li> GL_APPLE_flush_buffer_range
<li> GL_GREMEDY_frame_terminator
<li> GLX_EXT_texture_from_pixmap
</ul>
<li> Bug fixes:
<ul>
<li> Incorrent 64-bit type definitions
<li> Do not strip static library on install
<li> Missing tokens in GL_ATI_fragment_shader and WGL_{ARB,EXT}_make_current_read
<li> Missing tokens in GL_VERSION_2_1
<li> Missing functions in GL_VERSION_1_4
<li> Incorrect parameter type for glXCopyContext
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.4.0</b> [04-27-07]
<ul>
<li> New features:
<ul>
<li> Extension variables are declared const to avoid possible
corruption of their values
</ul>
<li> New extensions:
<ul>
<li> GL_NV_depth_range_unclamped
</ul>
<li> Bug fixes:
<ul>
<li> Incorrect tokens in GL_NV_transform_feedback and GL_NV_framebuffer_multisample_coverage
<li> Incorrect function names in GL_EXT_gpu_program_parameters
<li> Missing tokens in GL_EXT_framebuffer_multisample
<li> GLEW_MX initialization problem for WGL_{ARB,EXT}_extensions_string
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.6</b> [03-04-07]
<ul>
<li> New extensions:
<ul>
<li> GL_ATI_shader_texture_lod
<li> GL_EXT_gpu_program_parameters
<li> GL_NV_geometry_shader4
<li> WGL_NV_gpu_affinity
<li> GLX_SGIX_hyperpipe
</ul>
<li> Bug fixes:
<ul>
<li> Missing include guards in glxew.h
<li> Makefile and install problems for Cygwin builds
<li> Install problem for Linux AMD64 builds
<li> Incorrent token in GL_ATI_texture_compression_3dc
<li> Missing tokens from GL_ATIX_point_sprites
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.5</b> [11-21-06]
<ul>
<li> New features:
<ul>
<li> Support for core OpenGL 2.1
<li> Debug support for glewIsSupported
</ul>
<li> New extensions:
<ul>
<li> GL_EXT_bindable_uniform
<li> GL_EXT_draw_buffers2
<li> GL_EXT_draw_instanced
<li> GL_EXT_framebuffer_sRGB
<li> GL_EXT_geometry_shader4
<li> GL_EXT_gpu_shader4
<li> GL_EXT_packed_float
<li> GL_EXT_texture_array
<li> GL_EXT_texture_buffer_object
<li> GL_EXT_texture_compression_latc
<li> GL_EXT_texture_compression_rgtc
<li> GL_EXT_texture_integer
<li> GL_EXT_texture_shared_exponent
<li> GL_EXT_timer_query
<li> GL_NV_depth_buffer_float
<li> GL_NV_fragment_program4
<li> GL_NV_framebuffer_multisample_coverage
<li> GL_NV_geometry_program4
<li> GL_NV_gpu_program4
<li> GL_NV_parameter_buffer_object
<li> GL_NV_transform_feedback
<li> GL_NV_vertex_program4
<li> GL_OES_byte_coordinates
<li> GL_OES_compressed_paletted_texture
<li> GL_OES_read_format
<li> GL_OES_single_precision
<li> WGL_EXT_pixel_format_packed_float
<li> WGL_EXT_framebuffer_sRGB
<li> GLX_EXT_fbconfig_packed_float
<li> GLX_EXT_framebuffer_sRGB
</ul>
<li> Bug fixes:
<ul>
<li> Wrong GLXContext definition on Solaris
<li> Makefile problem for parallel builds
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.4</b> [03-04-06]
<ul>
<li> New extensions:
<ul>
<li> GL_EXT_framebuffer_blit
<li> GL_EXT_framebuffer_multisample
<li> GL_EXT_packed_depth_stencil
<li> GL_MESAX_texture_stack
<li> WGL_3DL_stereo_control
</ul>
</ul>
<ul>
<li> Bug fixes:
<ul>
<li> glBlendEquation missing from GL_ARB_imaging
<li> Wrong APIENTRY definition for Cygwin
<li> Incorrect OS X OpenGL types
<li> Unix 64-bit installation patch
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.3</b> [05-16-05]
<ul>
<li> New feature:
<ul>
<li> Code generation option to split source into multiple files
</ul>
</ul>
<ul>
<li> Bug fixes:
<ul>
<li> OpenGL 2.0 core initialization problems
<li> Wrong value for token GL_SHADER_TYPE
<li> Missing tokens in GL_ATI_fragment_shader
<li> Missing entry points in GL_ARB_transpose_matrix
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.2</b> [03-16-05]
<ul>
<li> New extension:
<ul>
<li> GL_APPLE_pixel_buffer
</ul>
<li> Bug fixes:
<ul>
<li> Missing OpenGL 2.0 entry points
<li> Missing tokens in GL_SGIX_shadow
<li> MinGW makefile problem
<li> Check for incorrect OpenGL version string on SiS hardware
<li> Documentation update to meet the HTML 4.01 Transitional specification
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.1</b> [02-02-05]
<ul>
<li> New features:
<ul>
<li> Consistent Unix and Windows versioning
</ul>
<li> New extensions:
<ul>
<li> GL_EXT_framebuffer_object
<li> GL_ARB_pixel_buffer_object
</ul>
<li> Bug fixes:
<ul>
<li> Missing OpenGL 2.0 tokens
<li> Incorrect typedefs (GLhandleARB and GLhalf)
<li> Borland compiler problems
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.0</b> [01-04-05]
<ul>
<li> New features:
<ul>
<li> Support for core OpenGL 2.0
<li> <tt>glewIsSupported</tt> provides efficient string-based extension checks
<li> Custom code generation from a list of extensions
<li> Makefile changes
</ul>
<li> New extensions:
<ul>
<li> WGL_ATI_render_texture_rectangle
</ul>
<li> Bug fixes:
<ul>
<li> Incorrect function signature in OpenGL 1.5 core
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.5</b> [12-06-04]
<ul>
<li> New extensions:
<ul>
<li>GL_ATI_texture_compression_3dc
<li>GL_EXT_Cg_shader
<li>GL_EXT_draw_range_elements
<li>GL_KTX_buffer_region
</ul>
<li> Bug fixes:
<ul>
<li> OpenGL version detection bug
<li> Problems with wxWindows and MinGW compilation
<li> <tt>visualinfo</tt> compilation problem with GLEW_MX specified
<li> Wrong token name in OpenGL 1.5 core
</ul>
<li> Support for FreeBSD
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.4</b> [09-06-04]
<ul>
<li> Added ARB_draw_buffers and ARB_texture_rectangle
<li> Fixed bug in ARB_shader_objects
<li> Replaced <tt>wglinfo</tt> with <tt>visualinfo</tt>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.3</b> [06-10-04]
<ul>
<li> Added GL_NV_fragment_program2, GL_NV_fragment_program_option, GL_NV_vertex_program2_option, GL_NV_vertex_program3
<li> Bug fix in GL_ARB_vertex_blend
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.2</b> [05-08-04]
<ul>
<li> Added GL_EXT_pixel_buffer_object, removed GL_NV_element_array
<li> Fixed GLEW_MX problems
<li> Bug fix in GL_EXT_texture_rectangle and <tt>wglinfo</tt>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.1</b> [03-18-04]
<ul>
<li> Bug fix in OpenGL version query (early release of 1.2.0 contained this bug)
<li> Bug fix in GL_ARB_shader_objects and temporary bug fix in GL_ARB_vertex_shader
<li> Added flags on GDI support and multisampling to <tt>wglinfo</tt>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.0</b> [02-19-04]
<ul>
<li> Added full OpenGL 1.5 support
<li> Added support for multiple rendering contexts with different capabilities
<li> Added command line flags to <tt>glewinfo</tt> for selecting displays and visuals
<li> Added GLX_SGIS_multisample, GLX_SUN_video_resize, and GL_SUN_read_video_pixels
<li> Added MinGW/MSYS support
<li> Bug fixes in GL_ARB_shader_objects and the OS X build
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.4</b> [12-15-03]
<ul>
<li> Added GL_APPLE_float_pixels, GL_APPLE_texture_range,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GLX_ATI_pixel_format_float, and GLX_ATI_render_texture
<li> Bug fixes in GL_ATI_map_object_buffer and GL_ATI_fragment_shader
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.3</b> [10-28-03]
<ul>
<li> Added Solaris and Darwin support
<li> Added GL_ARB_fragment_shader, GL_ARB_shader_objects, and GL_ARB_vertex_shader
<li> Fixed bug in GL_WIN_swap_hint
<li> Removed <tt>glewinfo</tt>'s dependency on <tt>GLUT</tt>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.2</b> [09-15-03]
<ul>
<li> Removed dependency on WGL_{ARB,EXT}_extensions_string to make GLEW run on Matrox cards
<li> Added glewGetString for querying the GLEW version string
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.1</b> [08-11-03]
<ul>
<li> Added GLX_NV_float_buffer, GL_ARB_shading_language_100, and GL_ARB_texture_non_power_of_two
<li> Fixed bug in GL_ARB_vertex_buffer_object
<li> Minor updates in documentation
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.0</b> [07-08-03]
<ul>
<li> Added automatic code generation
<li> Added almost every extension in the registry
<li> Added separate namespace
<li> Added Irix support
<li> Updated documentation
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.7</b> [06-29-03]
<ul>
<li> Added GL_EXT_depth_bounds_test
<li> Fixed typos
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.6</b> [05-05-03]
<ul>
<li> Added ARB_vertex_buffer_object and NV_half_float
<li> Updated <tt>wglinfo</tt>
<li> Temporary Linux bug fixes (problems with SDL and MESA)
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.5</b> [02-17-03]
<ul>
<li> Bug fixes
<li> Added <tt>wglinfo</tt>
<li> Updated documentation
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.4</b> [02-02-03]
<ul>
<li> Added NV_texture_expand_normal
<li> Added mingw support
<li> Updated documentation
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.3</b> [01-09-03]
<ul>
<li> Cleaned up ATI extensions
<li> Changed function prototypes to match glext.h
<li> Added EXT_texture3D
<li> Fixed typos in ATI_vertex_attrib_array_object and ATI_draw_buffers
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.2</b> [12-21-02]
<ul>
<li> Added list of supported extensions to documentation
<li> Added NV_half_float and NV_texgen_emboss
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.1</b> [12-17-02]
<ul>
<li> Bug fixes
<li> Added glewGetExtension
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.0</b> [12-12-02]
<ul>
<li> Initial release
</ul>
</ul>
<hr align="center">