cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

advanced.html (9742B)


      1<!-- begin header.html -->
      2<!--
      3The OpenGL Extension Wrangler Library
      4Copyright (C) 2008-2015, Nigel Stewart <nigels[]users sourceforge net>
      5Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
      6Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
      7Copyright (C) 2002, Lev Povalahev
      8All rights reserved.
      9
     10Redistribution and use in source and binary forms, with or without 
     11modification, are permitted provided that the following conditions are met:
     12
     13* Redistributions of source code must retain the above copyright notice, 
     14  this list of conditions and the following disclaimer.
     15* Redistributions in binary form must reproduce the above copyright notice, 
     16  this list of conditions and the following disclaimer in the documentation 
     17  and/or other materials provided with the distribution.
     18* The name of the author may be used to endorse or promote products 
     19  derived from this software without specific prior written permission.
     20
     21THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
     22AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
     23IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
     25LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
     26CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
     27SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31THE POSSIBILITY OF SUCH DAMAGE.
     32-->
     33<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
     34<html>
     35<head>
     36<title>GLEW: The OpenGL Extension Wrangler Library</title>
     37<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> 
     38<link href="glew.css" type="text/css" rel="stylesheet">
     39</head>
     40<body bgcolor="#fff0d0">
     41<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
     42<tr>
     43<td bgcolor="#ffffff" align="left" valign="top" width="200">
     44<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
     45<tr>
     46<td valign="top">
     47
     48<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
     49<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/2.1.0/">2.1.0</a></i></td></tr>
     50<tr><td align="center"><br></td></tr>
     51<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
     52<tr><td align="center"><br></td></tr>
     53<tr><td align="center">
     54<table border="0" cellpadding="0" cellspacing="0" align="center">
     55<tr><td align="center"><a href="index.html">Download</a></td></tr>
     56<tr><td align="center"><a href="basic.html">Usage</a></td></tr>
     57<tr><td align="center"><a href="build.html">Building</a></td></tr>
     58<tr><td align="center"><a href="install.html">Installation</a></td></tr>
     59<tr><td align="center">Source Generation</td></tr>
     60<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
     61<tr><td align="center"><br></tr>
     62<tr><td align="center"><a href="https://github.com/nigels-com/glew">GitHub</a></td></tr>
     63<tr><td align="center"><a href="https://github.com/nigels-com/glew/issues">Issues</a></td></tr>
     64<tr><td align="center"><a href="https://github.com/nigels-com/glew/pulls">Pull Requests</a></td></tr>
     65<tr><td align="center"><a href="https://github.com/nigels-com/glew#authors">Authors</a></td></tr>
     66<tr><td align="center"><a href="https://github.com/nigels-com/glew#copyright-and-licensing">Licensing</a></td></tr>
     67<tr><td align="center"><br></tr>
     68<tr><td align="center"><a href="https://sourceforge.net/projects/glew">SourceForge Page</a></td></tr>
     69</table>
     70<tr><td align="center"><br></tr>
     71</table>
     72</td>
     73</tr>
     74<tr>
     75
     76<td valign="bottom">
     77<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
     78<tr><td align="center"><i>Last Update: 07-31-17</i></td></tr>
     79<tr><td align="center">
     80	<a href="http://www.opengl.org"><img src="./ogl_sm.jpg" width="68" height="35" border="0" alt="OpenGL Logo"></a><br/>
     81	<a href="https://github.com/nigels-com/glew"><img src="github.png" width="70" height="29" border="0" alt="GitHub Logo"></a><br/>
     82	<a href="https://travis-ci.org/nigels-com/glew/builds"><img src="travis.png" width="114" height="25" border="0" alt="Travis Logo"></a><br/>
     83	<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1" width="88" height="31" border="0" alt="SourceForge Logo"></a>
     84</td>
     85</tr>
     86</table>
     87</td>
     88</tr>
     89</table>
     90</td>
     91
     92<td bgcolor="#ffffff" align="left" valign="top">
     93
     94<h1>The OpenGL Extension Wrangler Library</h1>
     95
     96<!-- end header.html -->
     97
     98
     99<h2>Automatic Code Generation</h2>
    100
    101<p>
    102Starting from release 1.1.0, the source code and parts of the
    103documentation are automatically generated from the extension
    104specifications in a two-step process.  In the first step,
    105specification files from the OpenGL registry are downloaded and
    106parsed. Skeleton descriptors are created for each extension.  These
    107descriptors contain all necessary information for creating the source
    108code and documentation in a simple and compact format, including the
    109name of the extension, url link to the specification, tokens, function
    110declarations, typedefs and struct definitions.  In the second step,
    111the header files as well as the library and glewinfo source are
    112generated from the descriptor files.  The code generation scripts are
    113located in the <tt>auto</tt> subdirectory.
    114</p>
    115
    116<p>
    117The code generation scripts require GNU make, wget, and perl. On
    118Windows, the simplest way to get access to these tools is to install
    119<a href="http://www.cygwin.com/">Cygwin</a>, but make sure that the
    120root directory is mounted in binary mode. The makefile in the
    121<tt>auto</tt> directory provides the following build targets:
    122</p>
    123
    124<table border=0 cellpadding=0 cellspacing=5>
    125<tr><td align="left" valign="top"><tt>make</tt></td>
    126<td align=left>Create the source files from the descriptors.<br/> If the
    127descriptors do not exist, create them from the spec files.<br/> If the spec
    128files do not exist, download them from the OpenGL repository.</td></tr>
    129<tr><td align="left" valign="top"><tt>make&nbsp;clean</tt></td>
    130<td align=left>Delete the source files.</td></tr>
    131<tr><td align="left" valign="top"><tt>make&nbsp;clobber</tt></td>
    132<td align=left>Delete the source files and the descriptors.</td></tr>
    133<tr><td align="left" valign="top"><tt>make&nbsp;destroy</tt></td>
    134<td align=left>Delete the source files, the descriptors, and the spec files.</td></tr>
    135<tr><td align="left" valign="top"><tt>make&nbsp;custom</tt></td>
    136<td align=left>Create the source files for the extensions
    137listed in <tt>auto/custom.txt</tt>.<br/> See "Custom Code
    138Generation" below for more details.</td></tr>
    139</table>
    140
    141<h3>Adding a New Extension</h3>
    142
    143<p>
    144To add a new extension, create a descriptor file for the extension in
    145<tt>auto/core</tt> and rerun the code generation scripts by typing
    146<tt>make clean; make</tt> in the <tt>auto</tt> directory.
    147</p>
    148
    149<p>
    150The format of the descriptor file is given below. Items in
    151brackets are optional.
    152</p>
    153
    154<p class="pre">
    155&lt;Extension Name&gt;<br>
    156[&lt;URL of Specification File&gt;]<br>
    157&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Token Name&gt; &lt;Token Value&gt;]<br>
    158&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Token Name&gt; &lt;Token Value&gt;]<br>
    159&nbsp;&nbsp;&nbsp;&nbsp;...<br>
    160&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Typedef&gt;]<br>
    161&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Typedef&gt;]<br>
    162&nbsp;&nbsp;&nbsp;&nbsp;...<br>
    163&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Signature&gt;]<br>
    164&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Signature&gt;]<br>
    165&nbsp;&nbsp;&nbsp;&nbsp;...<br>
    166<!-- &nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Definition&gt;]<br>
    167&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Definition&gt;]<br>
    168&nbsp;&nbsp;&nbsp;&nbsp;...<br> -->
    169</p>
    170
    171<!--
    172<p>
    173Note that <tt>Function Definitions</tt> are copied to the header files
    174without changes and have to be terminated with a semicolon. In
    175contrast, <tt>Tokens</tt>, <tt>Function signatures</tt>, and
    176<tt>Typedefs</tt> should not be terminated with a semicolon.
    177</p>
    178-->
    179
    180<p>
    181Take a look at one of the files in <tt>auto/core</tt> for an
    182example. Note that typedefs and function signatures should not be
    183terminated with a semicolon.
    184</p>
    185
    186<h3>Custom Code Generation</h3>
    187<p>
    188Starting from GLEW 1.3.0, it is possible to control which extensions
    189to include in the libarary by specifying a list in
    190<tt>auto/custom.txt</tt>. This is useful when you do not need all the
    191extensions and would like to reduce the size of the source files.
    192Type <tt>make clean; make custom</tt> in the <tt>auto</tt> directory
    193to rerun the scripts with the custom list of extensions.
    194</p>
    195
    196<p>
    197For example, the following is the list of extensions needed to get GLEW and the
    198utilities to compile.
    199</p>
    200
    201<p class="pre">
    202WGL_ARB_extensions_string<br>
    203WGL_ARB_multisample<br>
    204WGL_ARB_pixel_format<br>
    205WGL_ARB_pbuffer<br>
    206WGL_EXT_extensions_string<br>
    207WGL_ATI_pixel_format_float<br>
    208WGL_NV_float_buffer<br>
    209</p>
    210
    211<h2>Separate Namespace</h2>
    212
    213<p>
    214To avoid name clashes when linking with libraries that include the
    215same symbols, extension entry points are declared in a separate
    216namespace (release 1.1.0 and up). This is achieved by aliasing OpenGL
    217function names to their GLEW equivalents. For instance,
    218<tt>glFancyFunction</tt> is simply an alias to
    219<tt>glewFancyFunction</tt>.  The separate namespace does not effect
    220token and function pointer definitions.
    221</p>
    222
    223<h2>Known Issues</h2>
    224
    225<p>
    226GLEW requires GLX 1.2 for compatibility with GLUT.
    227</p>
    228
    229<!-- begin footer.html -->
    230</td></tr></table></body>
    231<!-- end footer.html -->
    232