mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-10-28 14:56:06 +03:00 
			
		
		
		
	 706c8903a1
			
		
	
	
		706c8903a1
		
			
		
	
	
	
	
		
			
			* chore(build): add vendored SDL 3.0.0 library * chore(build): add vendored glew-cmake-2.2.0 library * feat(console): in the presence of -opengl launch flag, change GxApi to OpenGl * feat(gx): add uncompleted CGxDeviceGLSDL targeting Windows and Linux * chore(build): change SDL3 linkage from shared (bad) to to static (good)
		
			
				
	
	
		
			231 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			231 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!-- begin header.html -->
 | |
| <!--
 | |
| The OpenGL Extension Wrangler Library
 | |
| Copyright (C) 2008-2019, Nigel Stewart <nigels[]users sourceforge net>
 | |
| Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
 | |
| Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
 | |
| Copyright (C) 2002, Lev Povalahev
 | |
| All rights reserved.
 | |
| 
 | |
| Redistribution and use in source and binary forms, with or without 
 | |
| modification, are permitted provided that the following conditions are met:
 | |
| 
 | |
| * Redistributions of source code must retain the above copyright notice, 
 | |
|   this list of conditions and the following disclaimer.
 | |
| * Redistributions in binary form must reproduce the above copyright notice, 
 | |
|   this list of conditions and the following disclaimer in the documentation 
 | |
|   and/or other materials provided with the distribution.
 | |
| * The name of the author may be used to endorse or promote products 
 | |
|   derived from this software without specific prior written permission.
 | |
| 
 | |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 | |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 | |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
 | |
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
 | |
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 | |
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 | |
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 | |
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 | |
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 | |
| THE POSSIBILITY OF SUCH DAMAGE.
 | |
| -->
 | |
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
 | |
| <html>
 | |
| <head>
 | |
| <title>GLEW: The OpenGL Extension Wrangler Library</title>
 | |
| <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> 
 | |
| <link href="glew.css" type="text/css" rel="stylesheet">
 | |
| </head>
 | |
| <body bgcolor="#fff0d0">
 | |
| <table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
 | |
| <tr>
 | |
| <td bgcolor="#ffffff" align="left" valign="top" width="200">
 | |
| <table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
 | |
| <tr>
 | |
| <td valign="top">
 | |
| 
 | |
| <table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
 | |
| <tr><td align="center"><i>Latest Release: <a href="https://github.com/nigels-com/glew/releases/tag/glew-2.2.0">2.2.0</a></i></td></tr>
 | |
| <tr><td align="center"><br></td></tr>
 | |
| <tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
 | |
| <tr><td align="center"><br></td></tr>
 | |
| <tr><td align="center">
 | |
| <table border="0" cellpadding="0" cellspacing="0" align="center">
 | |
| <tr><td align="center"><a href="index.html">Download</a></td></tr>
 | |
| <tr><td align="center"><a href="basic.html">Usage</a></td></tr>
 | |
| <tr><td align="center"><a href="build.html">Building</a></td></tr>
 | |
| <tr><td align="center"><a href="install.html">Installation</a></td></tr>
 | |
| <tr><td align="center">Source Generation</td></tr>
 | |
| <tr><td align="center"><a href="log.html">Change Log</a></td></tr>
 | |
| <tr><td align="center"><br></tr>
 | |
| <tr><td align="center"><a href="https://github.com/nigels-com/glew">GitHub</a></td></tr>
 | |
| <tr><td align="center"><a href="https://github.com/nigels-com/glew/issues">Issues</a></td></tr>
 | |
| <tr><td align="center"><a href="https://github.com/nigels-com/glew/pulls">Pull Requests</a></td></tr>
 | |
| <tr><td align="center"><br></tr>
 | |
| <tr><td align="center"><a href="https://sourceforge.net/projects/glew">SourceForge Page</a></td></tr>
 | |
| </table>
 | |
| <tr><td align="center"><br></tr>
 | |
| </table>
 | |
| </td>
 | |
| </tr>
 | |
| <tr>
 | |
| 
 | |
| <td valign="bottom">
 | |
| <table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
 | |
| <tr><td align="center"><i>Last Update: 03-15-20</i></td></tr>
 | |
| <tr><td align="center">
 | |
| 	<a href="http://www.opengl.org"><img src="./ogl_sm.jpg" width="68" height="35" border="0" alt="OpenGL Logo"></a><br/>
 | |
| 	<a href="https://github.com/nigels-com/glew"><img src="github.png" width="70" height="29" border="0" alt="GitHub Logo"></a><br/>
 | |
| 	<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/>
 | |
| 	<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=67586&type=1" width="88" height="31" border="0" alt="SourceForge Logo"></a>
 | |
| </td>
 | |
| </tr>
 | |
| </table>
 | |
| </td>
 | |
| </tr>
 | |
| </table>
 | |
| </td>
 | |
| 
 | |
| <td bgcolor="#ffffff" align="left" valign="top">
 | |
| 
 | |
| <h1>The OpenGL Extension Wrangler Library</h1>
 | |
| 
 | |
| <!-- end header.html -->
 | |
| 
 | |
| 
 | |
| <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 clean</tt></td>
 | |
| <td align=left>Delete the source files.</td></tr>
 | |
| <tr><td align="left" valign="top"><tt>make clobber</tt></td>
 | |
| <td align=left>Delete the source files and the descriptors.</td></tr>
 | |
| <tr><td align="left" valign="top"><tt>make 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 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">
 | |
| <Extension Name><br>
 | |
| [<URL of Specification File>]<br>
 | |
|     [<Token Name> <Token Value>]<br>
 | |
|     [<Token Name> <Token Value>]<br>
 | |
|     ...<br>
 | |
|     [<Typedef>]<br>
 | |
|     [<Typedef>]<br>
 | |
|     ...<br>
 | |
|     [<Function Signature>]<br>
 | |
|     [<Function Signature>]<br>
 | |
|     ...<br>
 | |
| <!--     [<Function Definition>]<br>
 | |
|     [<Function Definition>]<br>
 | |
|     ...<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 library 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>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>
 | |
| 
 | |
| <!-- begin footer.html -->
 | |
| </td></tr></table></body>
 | |
| <!-- end footer.html -->
 | |
| 
 |