Ignore:
Timestamp:
07/03/08 00:13:43 (16 years ago)
Author:
mattausch
Message:

working on ssao deferred shading approach (debug version!!)

Location:
GTP/trunk/App/Demos/Vis/FriendlyCulling
Files:
5 added
8 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/FriendlyCulling.vcproj

    r2808 r2809  
    151151                        <Tool 
    152152                                Name="VCLinkerTool" 
    153                                 AdditionalDependencies="glut32.lib glew32s.lib glew32.lib DevIL.lib ILUT.lib zlib.lib" 
     153                                AdditionalDependencies="glut32.lib glew32s.lib glew32.lib DevIL.lib ILUT.lib zlib.lib cg.lib cgGL.lib" 
    154154                                LinkIncremental="1" 
    155                                 AdditionalLibraryDirectories="libs/GL;libs/Devil/lib;libs/Zlib/lib" 
     155                                AdditionalLibraryDirectories="libs/GL;libs/Devil/lib;libs/Zlib/lib;&quot;$(CG_LIB_PATH)&quot;" 
    156156                                IgnoreAllDefaultLibraries="false" 
    157157                                IgnoreDefaultLibraryNames="LIBCMT" 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/libs/GL/glew.h

    r2642 r2809  
    11/* 
    22** The OpenGL Extension Wrangler Library 
    3 ** Copyright (C) 2004, 2003, 2002, Milan Ikits <milan ikits[at]ieee org> 
    4 ** Copyright (C) 2004, 2003, 2002, Marcelo E. Magallon <mmagallo[at]debian org> 
     3** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> 
     4** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> 
    55** Copyright (C) 2002, Lev Povalahev 
    66** All rights reserved. 
     
    3131 
    3232/* 
    33 ** License Applicability. Except to the extent portions of this file are 
    34 ** made subject to an alternative license as permitted in the SGI Free 
    35 ** Software License B, Version 1.1 (the "License"), the contents of this 
    36 ** file are subject only to the provisions of the License. You may not use 
    37 ** this file except in compliance with the License. You may obtain a copy 
    38 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 
    39 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: 
     33 * Mesa 3-D graphics library 
     34 * Version:  7.0 
     35 * 
     36 * Copyright (C) 1999-2007  Brian Paul   All Rights Reserved. 
     37 * 
     38 * Permission is hereby granted, free of charge, to any person obtaining a 
     39 * copy of this software and associated documentation files (the "Software"), 
     40 * to deal in the Software without restriction, including without limitation 
     41 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 
     42 * and/or sell copies of the Software, and to permit persons to whom the 
     43 * Software is furnished to do so, subject to the following conditions: 
     44 * 
     45 * The above copyright notice and this permission notice shall be included 
     46 * in all copies or substantial portions of the Software. 
     47 * 
     48 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
     49 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
     50 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL 
     51 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 
     52 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
     53 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
     54 */ 
     55 
     56/* 
     57** Copyright (c) 2007 The Khronos Group Inc. 
    4058**  
    41 ** http://oss.sgi.com/projects/FreeB 
     59** Permission is hereby granted, free of charge, to any person obtaining a 
     60** copy of this software and/or associated documentation files (the 
     61** "Materials"), to deal in the Materials without restriction, including 
     62** without limitation the rights to use, copy, modify, merge, publish, 
     63** distribute, sublicense, and/or sell copies of the Materials, and to 
     64** permit persons to whom the Materials are furnished to do so, subject to 
     65** the following conditions: 
    4266**  
    43 ** Note that, as provided in the License, the Software is distributed on an 
    44 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS 
    45 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND 
    46 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A 
    47 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. 
     67** The above copyright notice and this permission notice shall be included 
     68** in all copies or substantial portions of the Materials. 
    4869**  
    49 ** Original Code. The Original Code is: OpenGL Sample Implementation, 
    50 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, 
    51 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. 
    52 ** Copyright in any portions created by third parties is as indicated 
    53 ** elsewhere herein. All Rights Reserved. 
    54 **  
    55 ** Additional Notice Provisions: This software was created using the 
    56 ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has 
    57 ** not been independently verified as being compliant with the OpenGL(R) 
    58 ** version 1.2.1 Specification. 
     70** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
     71** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
     72** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
     73** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
     74** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
     75** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
     76** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 
    5977*/ 
    6078 
     
    7896#define __GLEXT_H_ 
    7997#define __gl_ATI_h_ 
    80 #define __GLX_glx_h__ 
    8198 
    8299#if defined(_WIN32) 
     
    90107#ifndef APIENTRY 
    91108#define GLEW_APIENTRY_DEFINED 
    92 #  if defined(__CYGWIN__) || defined(__MINGW32__) 
     109#  if defined(__MINGW32__) 
    93110#    define APIENTRY __stdcall 
    94 #  elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) 
     111#  elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) 
    95112#    define APIENTRY __stdcall 
    96113#  else 
     
    99116#endif 
    100117#ifndef GLAPI 
    101 #  if defined(__CYGWIN__) || defined(__MINGW32__) 
     118#  if defined(__MINGW32__) 
    102119#    define GLAPI extern 
    103120#  endif 
     
    106123#ifndef CALLBACK 
    107124#define GLEW_CALLBACK_DEFINED 
    108 #  if defined(__CYGWIN__) || defined(__MINGW32__) 
     125#  if defined(__MINGW32__) 
    109126#    define CALLBACK __attribute__ ((__stdcall__)) 
    110127#  elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) 
     
    120137#endif 
    121138/* <ctype.h> */ 
    122 #if defined(_MSC_VER) && !defined(_WCHAR_T_DEFINED) 
     139#if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(_WCHAR_T_DEFINED) 
    123140typedef unsigned short wchar_t; 
    124141#  define _WCHAR_T_DEFINED 
     
    143160 
    144161#ifndef GLAPI 
    145 #  if defined(__CYGWIN__) || defined(__MINGW32__) 
     162#  if defined(__MINGW32__) 
    146163#    define GLAPI extern 
    147164#  else 
     
    204221#define GL_VERSION_1_1 1 
    205222 
     223#if defined(__APPLE__) 
     224typedef unsigned long GLenum; 
     225typedef unsigned long GLbitfield; 
     226typedef unsigned long GLuint; 
     227typedef long GLint; 
     228typedef long GLsizei; 
     229#else 
    206230typedef unsigned int GLenum; 
     231typedef unsigned int GLbitfield; 
     232typedef unsigned int GLuint; 
     233typedef int GLint; 
     234typedef int GLsizei; 
     235#endif 
    207236typedef unsigned char GLboolean; 
    208 typedef unsigned int GLbitfield; 
    209237typedef signed char GLbyte; 
    210238typedef short GLshort; 
    211 typedef int GLint; 
    212 typedef int GLsizei; 
    213239typedef unsigned char GLubyte; 
    214240typedef unsigned short GLushort; 
    215 typedef unsigned int GLuint; 
     241typedef unsigned long GLulong; 
    216242typedef float GLfloat; 
    217243typedef float GLclampf; 
     
    219245typedef double GLclampd; 
    220246typedef void GLvoid; 
     247#if defined(_MSC_VER) && _MSC_VER < 1400 
     248typedef __int64 GLint64EXT; 
     249typedef unsigned __int64 GLuint64EXT; 
     250#else 
     251typedef signed long long GLint64EXT; 
     252typedef unsigned long long GLuint64EXT; 
     253#endif 
    221254 
    222255#define GL_ACCUM 0x0100 
     
    14231456typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); 
    14241457typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, GLfloat *params); 
     1458typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); 
     1459typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, GLint *params); 
    14251460typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue); 
    14261461typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v); 
     
    14691504#define glPointParameterf GLEW_GET_FUN(__glewPointParameterf) 
    14701505#define glPointParameterfv GLEW_GET_FUN(__glewPointParameterfv) 
     1506#define glPointParameteri GLEW_GET_FUN(__glewPointParameteri) 
     1507#define glPointParameteriv GLEW_GET_FUN(__glewPointParameteriv) 
    14711508#define glSecondaryColor3b GLEW_GET_FUN(__glewSecondaryColor3b) 
    14721509#define glSecondaryColor3bv GLEW_GET_FUN(__glewSecondaryColor3bv) 
     
    15801617typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params); 
    15811618typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params); 
    1582 typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint params); 
     1619typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params); 
    15831620typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer); 
    15841621typedef GLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id); 
     
    16151652#define GL_VERSION_2_0 1 
    16161653 
     1654#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION 
     1655#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 
     1656#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 
     1657#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 
     1658#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 
     1659#define GL_CURRENT_VERTEX_ATTRIB 0x8626 
     1660#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 
     1661#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 
     1662#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 
     1663#define GL_STENCIL_BACK_FUNC 0x8800 
     1664#define GL_STENCIL_BACK_FAIL 0x8801 
     1665#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 
     1666#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 
     1667#define GL_MAX_DRAW_BUFFERS 0x8824 
     1668#define GL_DRAW_BUFFER0 0x8825 
     1669#define GL_DRAW_BUFFER1 0x8826 
     1670#define GL_DRAW_BUFFER2 0x8827 
     1671#define GL_DRAW_BUFFER3 0x8828 
     1672#define GL_DRAW_BUFFER4 0x8829 
     1673#define GL_DRAW_BUFFER5 0x882A 
     1674#define GL_DRAW_BUFFER6 0x882B 
     1675#define GL_DRAW_BUFFER7 0x882C 
     1676#define GL_DRAW_BUFFER8 0x882D 
     1677#define GL_DRAW_BUFFER9 0x882E 
     1678#define GL_DRAW_BUFFER10 0x882F 
     1679#define GL_DRAW_BUFFER11 0x8830 
     1680#define GL_DRAW_BUFFER12 0x8831 
     1681#define GL_DRAW_BUFFER13 0x8832 
     1682#define GL_DRAW_BUFFER14 0x8833 
     1683#define GL_DRAW_BUFFER15 0x8834 
     1684#define GL_BLEND_EQUATION_ALPHA 0x883D 
     1685#define GL_POINT_SPRITE 0x8861 
     1686#define GL_COORD_REPLACE 0x8862 
     1687#define GL_MAX_VERTEX_ATTRIBS 0x8869 
     1688#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A 
     1689#define GL_MAX_TEXTURE_COORDS 0x8871 
     1690#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 
     1691#define GL_FRAGMENT_SHADER 0x8B30 
     1692#define GL_VERTEX_SHADER 0x8B31 
     1693#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 
     1694#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A 
     1695#define GL_MAX_VARYING_FLOATS 0x8B4B 
     1696#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C 
     1697#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D 
     1698#define GL_SHADER_TYPE 0x8B4F 
     1699#define GL_FLOAT_VEC2 0x8B50 
     1700#define GL_FLOAT_VEC3 0x8B51 
     1701#define GL_FLOAT_VEC4 0x8B52 
     1702#define GL_INT_VEC2 0x8B53 
     1703#define GL_INT_VEC3 0x8B54 
     1704#define GL_INT_VEC4 0x8B55 
     1705#define GL_BOOL 0x8B56 
     1706#define GL_BOOL_VEC2 0x8B57 
     1707#define GL_BOOL_VEC3 0x8B58 
     1708#define GL_BOOL_VEC4 0x8B59 
     1709#define GL_FLOAT_MAT2 0x8B5A 
     1710#define GL_FLOAT_MAT3 0x8B5B 
     1711#define GL_FLOAT_MAT4 0x8B5C 
     1712#define GL_SAMPLER_1D 0x8B5D 
     1713#define GL_SAMPLER_2D 0x8B5E 
     1714#define GL_SAMPLER_3D 0x8B5F 
     1715#define GL_SAMPLER_CUBE 0x8B60 
     1716#define GL_SAMPLER_1D_SHADOW 0x8B61 
     1717#define GL_SAMPLER_2D_SHADOW 0x8B62 
     1718#define GL_DELETE_STATUS 0x8B80 
     1719#define GL_COMPILE_STATUS 0x8B81 
     1720#define GL_LINK_STATUS 0x8B82 
     1721#define GL_VALIDATE_STATUS 0x8B83 
     1722#define GL_INFO_LOG_LENGTH 0x8B84 
     1723#define GL_ATTACHED_SHADERS 0x8B85 
     1724#define GL_ACTIVE_UNIFORMS 0x8B86 
     1725#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 
     1726#define GL_SHADER_SOURCE_LENGTH 0x8B88 
     1727#define GL_ACTIVE_ATTRIBUTES 0x8B89 
     1728#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A 
     1729#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B 
     1730#define GL_SHADING_LANGUAGE_VERSION 0x8B8C 
     1731#define GL_CURRENT_PROGRAM 0x8B8D 
     1732#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 
     1733#define GL_LOWER_LEFT 0x8CA1 
     1734#define GL_UPPER_LEFT 0x8CA2 
     1735#define GL_STENCIL_BACK_REF 0x8CA3 
     1736#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 
     1737#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 
     1738 
     1739typedef char GLchar; 
     1740 
     1741typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); 
     1742typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name); 
     1743typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum); 
     1744typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader); 
     1745typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void); 
     1746typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type); 
     1747typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program); 
     1748typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader); 
     1749typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); 
     1750typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint); 
     1751typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs); 
     1752typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint); 
     1753typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 
     1754typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); 
     1755typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders); 
     1756typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name); 
     1757typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); 
     1758typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param); 
     1759typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); 
     1760typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source); 
     1761typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param); 
     1762typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLint programObj, const GLchar* name); 
     1763typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params); 
     1764typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params); 
     1765typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid*); 
     1766typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVPROC) (GLuint, GLenum, GLdouble*); 
     1767typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*); 
     1768typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*); 
     1769typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program); 
     1770typedef GLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader); 
     1771typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program); 
     1772typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar** strings, const GLint* lengths); 
     1773typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); 
     1774typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint); 
     1775typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); 
     1776typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); 
     1777typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value); 
     1778typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0); 
     1779typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value); 
     1780typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); 
     1781typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value); 
     1782typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); 
     1783typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value); 
     1784typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); 
     1785typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value); 
     1786typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); 
     1787typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value); 
     1788typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); 
     1789typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value); 
     1790typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); 
     1791typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value); 
     1792typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); 
     1793typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); 
     1794typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); 
     1795typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program); 
     1796typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program); 
     1797typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x); 
     1798typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble* v); 
     1799typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); 
     1800typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v); 
     1801typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x); 
     1802typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort* v); 
     1803typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y); 
     1804typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble* v); 
     1805typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); 
     1806typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v); 
     1807typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y); 
     1808typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort* v); 
     1809typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); 
     1810typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble* v); 
     1811typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); 
     1812typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v); 
     1813typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z); 
     1814typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort* v); 
     1815typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte* v); 
     1816typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint* v); 
     1817typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort* v); 
     1818typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); 
     1819typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte* v); 
     1820typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint* v); 
     1821typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort* v); 
     1822typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte* v); 
     1823typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 
     1824typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble* v); 
     1825typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 
     1826typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v); 
     1827typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint* v); 
     1828typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); 
     1829typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort* v); 
     1830typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte* v); 
     1831typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint* v); 
     1832typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort* v); 
     1833typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer); 
     1834 
     1835#define glAttachShader GLEW_GET_FUN(__glewAttachShader) 
     1836#define glBindAttribLocation GLEW_GET_FUN(__glewBindAttribLocation) 
     1837#define glBlendEquationSeparate GLEW_GET_FUN(__glewBlendEquationSeparate) 
     1838#define glCompileShader GLEW_GET_FUN(__glewCompileShader) 
     1839#define glCreateProgram GLEW_GET_FUN(__glewCreateProgram) 
     1840#define glCreateShader GLEW_GET_FUN(__glewCreateShader) 
     1841#define glDeleteProgram GLEW_GET_FUN(__glewDeleteProgram) 
     1842#define glDeleteShader GLEW_GET_FUN(__glewDeleteShader) 
     1843#define glDetachShader GLEW_GET_FUN(__glewDetachShader) 
     1844#define glDisableVertexAttribArray GLEW_GET_FUN(__glewDisableVertexAttribArray) 
     1845#define glDrawBuffers GLEW_GET_FUN(__glewDrawBuffers) 
     1846#define glEnableVertexAttribArray GLEW_GET_FUN(__glewEnableVertexAttribArray) 
     1847#define glGetActiveAttrib GLEW_GET_FUN(__glewGetActiveAttrib) 
     1848#define glGetActiveUniform GLEW_GET_FUN(__glewGetActiveUniform) 
     1849#define glGetAttachedShaders GLEW_GET_FUN(__glewGetAttachedShaders) 
     1850#define glGetAttribLocation GLEW_GET_FUN(__glewGetAttribLocation) 
     1851#define glGetProgramInfoLog GLEW_GET_FUN(__glewGetProgramInfoLog) 
     1852#define glGetProgramiv GLEW_GET_FUN(__glewGetProgramiv) 
     1853#define glGetShaderInfoLog GLEW_GET_FUN(__glewGetShaderInfoLog) 
     1854#define glGetShaderSource GLEW_GET_FUN(__glewGetShaderSource) 
     1855#define glGetShaderiv GLEW_GET_FUN(__glewGetShaderiv) 
     1856#define glGetUniformLocation GLEW_GET_FUN(__glewGetUniformLocation) 
     1857#define glGetUniformfv GLEW_GET_FUN(__glewGetUniformfv) 
     1858#define glGetUniformiv GLEW_GET_FUN(__glewGetUniformiv) 
     1859#define glGetVertexAttribPointerv GLEW_GET_FUN(__glewGetVertexAttribPointerv) 
     1860#define glGetVertexAttribdv GLEW_GET_FUN(__glewGetVertexAttribdv) 
     1861#define glGetVertexAttribfv GLEW_GET_FUN(__glewGetVertexAttribfv) 
     1862#define glGetVertexAttribiv GLEW_GET_FUN(__glewGetVertexAttribiv) 
     1863#define glIsProgram GLEW_GET_FUN(__glewIsProgram) 
     1864#define glIsShader GLEW_GET_FUN(__glewIsShader) 
     1865#define glLinkProgram GLEW_GET_FUN(__glewLinkProgram) 
     1866#define glShaderSource GLEW_GET_FUN(__glewShaderSource) 
     1867#define glStencilFuncSeparate GLEW_GET_FUN(__glewStencilFuncSeparate) 
     1868#define glStencilMaskSeparate GLEW_GET_FUN(__glewStencilMaskSeparate) 
     1869#define glStencilOpSeparate GLEW_GET_FUN(__glewStencilOpSeparate) 
     1870#define glUniform1f GLEW_GET_FUN(__glewUniform1f) 
     1871#define glUniform1fv GLEW_GET_FUN(__glewUniform1fv) 
     1872#define glUniform1i GLEW_GET_FUN(__glewUniform1i) 
     1873#define glUniform1iv GLEW_GET_FUN(__glewUniform1iv) 
     1874#define glUniform2f GLEW_GET_FUN(__glewUniform2f) 
     1875#define glUniform2fv GLEW_GET_FUN(__glewUniform2fv) 
     1876#define glUniform2i GLEW_GET_FUN(__glewUniform2i) 
     1877#define glUniform2iv GLEW_GET_FUN(__glewUniform2iv) 
     1878#define glUniform3f GLEW_GET_FUN(__glewUniform3f) 
     1879#define glUniform3fv GLEW_GET_FUN(__glewUniform3fv) 
     1880#define glUniform3i GLEW_GET_FUN(__glewUniform3i) 
     1881#define glUniform3iv GLEW_GET_FUN(__glewUniform3iv) 
     1882#define glUniform4f GLEW_GET_FUN(__glewUniform4f) 
     1883#define glUniform4fv GLEW_GET_FUN(__glewUniform4fv) 
     1884#define glUniform4i GLEW_GET_FUN(__glewUniform4i) 
     1885#define glUniform4iv GLEW_GET_FUN(__glewUniform4iv) 
     1886#define glUniformMatrix2fv GLEW_GET_FUN(__glewUniformMatrix2fv) 
     1887#define glUniformMatrix3fv GLEW_GET_FUN(__glewUniformMatrix3fv) 
     1888#define glUniformMatrix4fv GLEW_GET_FUN(__glewUniformMatrix4fv) 
     1889#define glUseProgram GLEW_GET_FUN(__glewUseProgram) 
     1890#define glValidateProgram GLEW_GET_FUN(__glewValidateProgram) 
     1891#define glVertexAttrib1d GLEW_GET_FUN(__glewVertexAttrib1d) 
     1892#define glVertexAttrib1dv GLEW_GET_FUN(__glewVertexAttrib1dv) 
     1893#define glVertexAttrib1f GLEW_GET_FUN(__glewVertexAttrib1f) 
     1894#define glVertexAttrib1fv GLEW_GET_FUN(__glewVertexAttrib1fv) 
     1895#define glVertexAttrib1s GLEW_GET_FUN(__glewVertexAttrib1s) 
     1896#define glVertexAttrib1sv GLEW_GET_FUN(__glewVertexAttrib1sv) 
     1897#define glVertexAttrib2d GLEW_GET_FUN(__glewVertexAttrib2d) 
     1898#define glVertexAttrib2dv GLEW_GET_FUN(__glewVertexAttrib2dv) 
     1899#define glVertexAttrib2f GLEW_GET_FUN(__glewVertexAttrib2f) 
     1900#define glVertexAttrib2fv GLEW_GET_FUN(__glewVertexAttrib2fv) 
     1901#define glVertexAttrib2s GLEW_GET_FUN(__glewVertexAttrib2s) 
     1902#define glVertexAttrib2sv GLEW_GET_FUN(__glewVertexAttrib2sv) 
     1903#define glVertexAttrib3d GLEW_GET_FUN(__glewVertexAttrib3d) 
     1904#define glVertexAttrib3dv GLEW_GET_FUN(__glewVertexAttrib3dv) 
     1905#define glVertexAttrib3f GLEW_GET_FUN(__glewVertexAttrib3f) 
     1906#define glVertexAttrib3fv GLEW_GET_FUN(__glewVertexAttrib3fv) 
     1907#define glVertexAttrib3s GLEW_GET_FUN(__glewVertexAttrib3s) 
     1908#define glVertexAttrib3sv GLEW_GET_FUN(__glewVertexAttrib3sv) 
     1909#define glVertexAttrib4Nbv GLEW_GET_FUN(__glewVertexAttrib4Nbv) 
     1910#define glVertexAttrib4Niv GLEW_GET_FUN(__glewVertexAttrib4Niv) 
     1911#define glVertexAttrib4Nsv GLEW_GET_FUN(__glewVertexAttrib4Nsv) 
     1912#define glVertexAttrib4Nub GLEW_GET_FUN(__glewVertexAttrib4Nub) 
     1913#define glVertexAttrib4Nubv GLEW_GET_FUN(__glewVertexAttrib4Nubv) 
     1914#define glVertexAttrib4Nuiv GLEW_GET_FUN(__glewVertexAttrib4Nuiv) 
     1915#define glVertexAttrib4Nusv GLEW_GET_FUN(__glewVertexAttrib4Nusv) 
     1916#define glVertexAttrib4bv GLEW_GET_FUN(__glewVertexAttrib4bv) 
     1917#define glVertexAttrib4d GLEW_GET_FUN(__glewVertexAttrib4d) 
     1918#define glVertexAttrib4dv GLEW_GET_FUN(__glewVertexAttrib4dv) 
     1919#define glVertexAttrib4f GLEW_GET_FUN(__glewVertexAttrib4f) 
     1920#define glVertexAttrib4fv GLEW_GET_FUN(__glewVertexAttrib4fv) 
     1921#define glVertexAttrib4iv GLEW_GET_FUN(__glewVertexAttrib4iv) 
     1922#define glVertexAttrib4s GLEW_GET_FUN(__glewVertexAttrib4s) 
     1923#define glVertexAttrib4sv GLEW_GET_FUN(__glewVertexAttrib4sv) 
     1924#define glVertexAttrib4ubv GLEW_GET_FUN(__glewVertexAttrib4ubv) 
     1925#define glVertexAttrib4uiv GLEW_GET_FUN(__glewVertexAttrib4uiv) 
     1926#define glVertexAttrib4usv GLEW_GET_FUN(__glewVertexAttrib4usv) 
     1927#define glVertexAttribPointer GLEW_GET_FUN(__glewVertexAttribPointer) 
     1928 
    16171929#define GLEW_VERSION_2_0 GLEW_GET_VAR(__GLEW_VERSION_2_0) 
    16181930 
    16191931#endif /* GL_VERSION_2_0 */ 
     1932 
     1933/* ----------------------------- GL_VERSION_2_1 ---------------------------- */ 
     1934 
     1935#ifndef GL_VERSION_2_1 
     1936#define GL_VERSION_2_1 1 
     1937 
     1938#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F 
     1939#define GL_PIXEL_PACK_BUFFER 0x88EB 
     1940#define GL_PIXEL_UNPACK_BUFFER 0x88EC 
     1941#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED 
     1942#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF 
     1943#define GL_FLOAT_MAT2x3 0x8B65 
     1944#define GL_FLOAT_MAT2x4 0x8B66 
     1945#define GL_FLOAT_MAT3x2 0x8B67 
     1946#define GL_FLOAT_MAT3x4 0x8B68 
     1947#define GL_FLOAT_MAT4x2 0x8B69 
     1948#define GL_FLOAT_MAT4x3 0x8B6A 
     1949#define GL_SRGB 0x8C40 
     1950#define GL_SRGB8 0x8C41 
     1951#define GL_SRGB_ALPHA 0x8C42 
     1952#define GL_SRGB8_ALPHA8 0x8C43 
     1953#define GL_SLUMINANCE_ALPHA 0x8C44 
     1954#define GL_SLUMINANCE8_ALPHA8 0x8C45 
     1955#define GL_SLUMINANCE 0x8C46 
     1956#define GL_SLUMINANCE8 0x8C47 
     1957#define GL_COMPRESSED_SRGB 0x8C48 
     1958#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 
     1959#define GL_COMPRESSED_SLUMINANCE 0x8C4A 
     1960#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B 
     1961 
     1962typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 
     1963typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 
     1964typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 
     1965typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 
     1966typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 
     1967typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 
     1968 
     1969#define glUniformMatrix2x3fv GLEW_GET_FUN(__glewUniformMatrix2x3fv) 
     1970#define glUniformMatrix2x4fv GLEW_GET_FUN(__glewUniformMatrix2x4fv) 
     1971#define glUniformMatrix3x2fv GLEW_GET_FUN(__glewUniformMatrix3x2fv) 
     1972#define glUniformMatrix3x4fv GLEW_GET_FUN(__glewUniformMatrix3x4fv) 
     1973#define glUniformMatrix4x2fv GLEW_GET_FUN(__glewUniformMatrix4x2fv) 
     1974#define glUniformMatrix4x3fv GLEW_GET_FUN(__glewUniformMatrix4x3fv) 
     1975 
     1976#define GLEW_VERSION_2_1 GLEW_GET_VAR(__GLEW_VERSION_2_1) 
     1977 
     1978#endif /* GL_VERSION_2_1 */ 
    16201979 
    16211980/* -------------------------- GL_3DFX_multisample -------------------------- */ 
     
    17472106 
    17482107#endif /* GL_APPLE_float_pixels */ 
     2108 
     2109/* ---------------------- GL_APPLE_flush_buffer_range ---------------------- */ 
     2110 
     2111#ifndef GL_APPLE_flush_buffer_range 
     2112#define GL_APPLE_flush_buffer_range 1 
     2113 
     2114#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 
     2115#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 
     2116 
     2117typedef void (GLAPIENTRY * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param); 
     2118typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size); 
     2119 
     2120#define glBufferParameteriAPPLE GLEW_GET_FUN(__glewBufferParameteriAPPLE) 
     2121#define glFlushMappedBufferRangeAPPLE GLEW_GET_FUN(__glewFlushMappedBufferRangeAPPLE) 
     2122 
     2123#define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(__GLEW_APPLE_flush_buffer_range) 
     2124 
     2125#endif /* GL_APPLE_flush_buffer_range */ 
     2126 
     2127/* ------------------------- GL_APPLE_pixel_buffer ------------------------- */ 
     2128 
     2129#ifndef GL_APPLE_pixel_buffer 
     2130#define GL_APPLE_pixel_buffer 1 
     2131 
     2132#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10 
     2133 
     2134#define GLEW_APPLE_pixel_buffer GLEW_GET_VAR(__GLEW_APPLE_pixel_buffer) 
     2135 
     2136#endif /* GL_APPLE_pixel_buffer */ 
    17492137 
    17502138/* ------------------------ GL_APPLE_specular_vector ----------------------- */ 
     
    23302718#endif /* GL_ARB_occlusion_query */ 
    23312719 
     2720/* ----------------------- GL_ARB_pixel_buffer_object ---------------------- */ 
     2721 
     2722#ifndef GL_ARB_pixel_buffer_object 
     2723#define GL_ARB_pixel_buffer_object 1 
     2724 
     2725#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB 
     2726#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC 
     2727#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED 
     2728#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF 
     2729 
     2730#define GLEW_ARB_pixel_buffer_object GLEW_GET_VAR(__GLEW_ARB_pixel_buffer_object) 
     2731 
     2732#endif /* GL_ARB_pixel_buffer_object */ 
     2733 
    23322734/* ------------------------ GL_ARB_point_parameters ------------------------ */ 
    23332735 
     
    24032805 
    24042806typedef char GLcharARB; 
    2405 typedef int GLhandleARB; 
     2807typedef unsigned int GLhandleARB; 
    24062808 
    24072809typedef void (GLAPIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj); 
     
    27153117#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 
    27163118#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 
     3119#define GL_SAMPLER_2D_RECT_ARB 0x8B63 
     3120#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 
    27173121 
    27183122#define GLEW_ARB_texture_rectangle GLEW_GET_VAR(__GLEW_ARB_texture_rectangle) 
     
    27293133#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 
    27303134#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6 
     3135 
     3136typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); 
     3137typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); 
     3138typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); 
     3139typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); 
     3140 
     3141#define glLoadTransposeMatrixdARB GLEW_GET_FUN(__glewLoadTransposeMatrixdARB) 
     3142#define glLoadTransposeMatrixfARB GLEW_GET_FUN(__glewLoadTransposeMatrixfARB) 
     3143#define glMultTransposeMatrixdARB GLEW_GET_FUN(__glewMultTransposeMatrixdARB) 
     3144#define glMultTransposeMatrixfARB GLEW_GET_FUN(__glewMultTransposeMatrixfARB) 
    27313145 
    27323146#define GLEW_ARB_transpose_matrix GLEW_GET_VAR(__GLEW_ARB_transpose_matrix) 
     
    31643578#define GL_ATIX_point_sprites 1 
    31653579 
     3580#define GL_TEXTURE_POINT_MODE_ATIX 0x60B0 
     3581#define GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1 
     3582#define GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2 
     3583#define GL_POINT_SPRITE_CULL_MODE_ATIX 0x60B3 
     3584#define GL_POINT_SPRITE_CULL_CENTER_ATIX 0x60B4 
     3585#define GL_POINT_SPRITE_CULL_CLIP_ATIX 0x60B5 
     3586 
    31663587#define GLEW_ATIX_point_sprites GLEW_GET_VAR(__GLEW_ATIX_point_sprites) 
    31673588 
     
    33423763#define GL_SWIZZLE_STR_DR_ATI 0x8978 
    33433764#define GL_SWIZZLE_STQ_DQ_ATI 0x8979 
     3765#define GL_SWIZZLE_STRQ_ATI 0x897A 
     3766#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B 
    33443767 
    33453768typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); 
     
    34373860#endif /* GL_ATI_separate_stencil */ 
    34383861 
     3862/* ----------------------- GL_ATI_shader_texture_lod ----------------------- */ 
     3863 
     3864#ifndef GL_ATI_shader_texture_lod 
     3865#define GL_ATI_shader_texture_lod 1 
     3866 
     3867#define GLEW_ATI_shader_texture_lod GLEW_GET_VAR(__GLEW_ATI_shader_texture_lod) 
     3868 
     3869#endif /* GL_ATI_shader_texture_lod */ 
     3870 
    34393871/* ---------------------- GL_ATI_text_fragment_shader ---------------------- */ 
    34403872 
     
    34533885#define GL_ATI_texture_compression_3dc 1 
    34543886 
    3455 #define GL_COMPRESSED_RGB_3DC_ATI 0x8837 
     3887#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 
    34563888 
    34573889#define GLEW_ATI_texture_compression_3dc GLEW_GET_VAR(__GLEW_ATI_texture_compression_3dc) 
     
    37124144#endif /* GL_EXT_bgra */ 
    37134145 
     4146/* ------------------------ GL_EXT_bindable_uniform ------------------------ */ 
     4147 
     4148#ifndef GL_EXT_bindable_uniform 
     4149#define GL_EXT_bindable_uniform 1 
     4150 
     4151#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2 
     4152#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3 
     4153#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4 
     4154#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED 
     4155#define GL_UNIFORM_BUFFER_EXT 0x8DEE 
     4156#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF 
     4157 
     4158typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location); 
     4159typedef GLintptr (GLAPIENTRY * PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location); 
     4160typedef void (GLAPIENTRY * PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer); 
     4161 
     4162#define glGetUniformBufferSizeEXT GLEW_GET_FUN(__glewGetUniformBufferSizeEXT) 
     4163#define glGetUniformOffsetEXT GLEW_GET_FUN(__glewGetUniformOffsetEXT) 
     4164#define glUniformBufferEXT GLEW_GET_FUN(__glewUniformBufferEXT) 
     4165 
     4166#define GLEW_EXT_bindable_uniform GLEW_GET_VAR(__GLEW_EXT_bindable_uniform) 
     4167 
     4168#endif /* GL_EXT_bindable_uniform */ 
     4169 
    37144170/* --------------------------- GL_EXT_blend_color -------------------------- */ 
    37154171 
     
    39994455#endif /* GL_EXT_depth_bounds_test */ 
    40004456 
     4457/* -------------------------- GL_EXT_draw_buffers2 ------------------------- */ 
     4458 
     4459#ifndef GL_EXT_draw_buffers2 
     4460#define GL_EXT_draw_buffers2 1 
     4461 
     4462typedef void (GLAPIENTRY * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); 
     4463typedef void (GLAPIENTRY * PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index); 
     4464typedef void (GLAPIENTRY * PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index); 
     4465typedef void (GLAPIENTRY * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean *data); 
     4466typedef void (GLAPIENTRY * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint *data); 
     4467typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index); 
     4468 
     4469#define glColorMaskIndexedEXT GLEW_GET_FUN(__glewColorMaskIndexedEXT) 
     4470#define glDisableIndexedEXT GLEW_GET_FUN(__glewDisableIndexedEXT) 
     4471#define glEnableIndexedEXT GLEW_GET_FUN(__glewEnableIndexedEXT) 
     4472#define glGetBooleanIndexedvEXT GLEW_GET_FUN(__glewGetBooleanIndexedvEXT) 
     4473#define glGetIntegerIndexedvEXT GLEW_GET_FUN(__glewGetIntegerIndexedvEXT) 
     4474#define glIsEnabledIndexedEXT GLEW_GET_FUN(__glewIsEnabledIndexedEXT) 
     4475 
     4476#define GLEW_EXT_draw_buffers2 GLEW_GET_VAR(__GLEW_EXT_draw_buffers2) 
     4477 
     4478#endif /* GL_EXT_draw_buffers2 */ 
     4479 
     4480/* ------------------------- GL_EXT_draw_instanced ------------------------- */ 
     4481 
     4482#ifndef GL_EXT_draw_instanced 
     4483#define GL_EXT_draw_instanced 1 
     4484 
     4485typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); 
     4486typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); 
     4487 
     4488#define glDrawArraysInstancedEXT GLEW_GET_FUN(__glewDrawArraysInstancedEXT) 
     4489#define glDrawElementsInstancedEXT GLEW_GET_FUN(__glewDrawElementsInstancedEXT) 
     4490 
     4491#define GLEW_EXT_draw_instanced GLEW_GET_VAR(__GLEW_EXT_draw_instanced) 
     4492 
     4493#endif /* GL_EXT_draw_instanced */ 
     4494 
    40014495/* ----------------------- GL_EXT_draw_range_elements ---------------------- */ 
    40024496 
     
    41074601#endif /* GL_EXT_fragment_lighting */ 
    41084602 
     4603/* ------------------------ GL_EXT_framebuffer_blit ------------------------ */ 
     4604 
     4605#ifndef GL_EXT_framebuffer_blit 
     4606#define GL_EXT_framebuffer_blit 1 
     4607 
     4608#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6 
     4609#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 
     4610#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 
     4611#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA 
     4612 
     4613typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 
     4614 
     4615#define glBlitFramebufferEXT GLEW_GET_FUN(__glewBlitFramebufferEXT) 
     4616 
     4617#define GLEW_EXT_framebuffer_blit GLEW_GET_VAR(__GLEW_EXT_framebuffer_blit) 
     4618 
     4619#endif /* GL_EXT_framebuffer_blit */ 
     4620 
     4621/* --------------------- GL_EXT_framebuffer_multisample -------------------- */ 
     4622 
     4623#ifndef GL_EXT_framebuffer_multisample 
     4624#define GL_EXT_framebuffer_multisample 1 
     4625 
     4626#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB 
     4627#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 
     4628#define GL_MAX_SAMPLES_EXT 0x8D57 
     4629 
     4630typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); 
     4631 
     4632#define glRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewRenderbufferStorageMultisampleEXT) 
     4633 
     4634#define GLEW_EXT_framebuffer_multisample GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample) 
     4635 
     4636#endif /* GL_EXT_framebuffer_multisample */ 
     4637 
     4638/* ----------------------- GL_EXT_framebuffer_object ----------------------- */ 
     4639 
     4640#ifndef GL_EXT_framebuffer_object 
     4641#define GL_EXT_framebuffer_object 1 
     4642 
     4643#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 
     4644#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 
     4645#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 
     4646#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 
     4647#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 
     4648#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 
     4649#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 
     4650#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 
     4651#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 
     4652#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 
     4653#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 
     4654#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 
     4655#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 
     4656#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA 
     4657#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB 
     4658#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC 
     4659#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD 
     4660#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF 
     4661#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 
     4662#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 
     4663#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 
     4664#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 
     4665#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 
     4666#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 
     4667#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 
     4668#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 
     4669#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 
     4670#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 
     4671#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA 
     4672#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB 
     4673#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC 
     4674#define GL_COLOR_ATTACHMENT13_EXT 0x8CED 
     4675#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE 
     4676#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF 
     4677#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 
     4678#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 
     4679#define GL_FRAMEBUFFER_EXT 0x8D40 
     4680#define GL_RENDERBUFFER_EXT 0x8D41 
     4681#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 
     4682#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 
     4683#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 
     4684#define GL_STENCIL_INDEX1_EXT 0x8D46 
     4685#define GL_STENCIL_INDEX4_EXT 0x8D47 
     4686#define GL_STENCIL_INDEX8_EXT 0x8D48 
     4687#define GL_STENCIL_INDEX16_EXT 0x8D49 
     4688#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 
     4689#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 
     4690#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 
     4691#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 
     4692#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 
     4693#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 
     4694 
     4695typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); 
     4696typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); 
     4697typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target); 
     4698typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint* framebuffers); 
     4699typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint* renderbuffers); 
     4700typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); 
     4701typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); 
     4702typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); 
     4703typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); 
     4704typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint* framebuffers); 
     4705typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint* renderbuffers); 
     4706typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target); 
     4707typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); 
     4708typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); 
     4709typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); 
     4710typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); 
     4711typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); 
     4712 
     4713#define glBindFramebufferEXT GLEW_GET_FUN(__glewBindFramebufferEXT) 
     4714#define glBindRenderbufferEXT GLEW_GET_FUN(__glewBindRenderbufferEXT) 
     4715#define glCheckFramebufferStatusEXT GLEW_GET_FUN(__glewCheckFramebufferStatusEXT) 
     4716#define glDeleteFramebuffersEXT GLEW_GET_FUN(__glewDeleteFramebuffersEXT) 
     4717#define glDeleteRenderbuffersEXT GLEW_GET_FUN(__glewDeleteRenderbuffersEXT) 
     4718#define glFramebufferRenderbufferEXT GLEW_GET_FUN(__glewFramebufferRenderbufferEXT) 
     4719#define glFramebufferTexture1DEXT GLEW_GET_FUN(__glewFramebufferTexture1DEXT) 
     4720#define glFramebufferTexture2DEXT GLEW_GET_FUN(__glewFramebufferTexture2DEXT) 
     4721#define glFramebufferTexture3DEXT GLEW_GET_FUN(__glewFramebufferTexture3DEXT) 
     4722#define glGenFramebuffersEXT GLEW_GET_FUN(__glewGenFramebuffersEXT) 
     4723#define glGenRenderbuffersEXT GLEW_GET_FUN(__glewGenRenderbuffersEXT) 
     4724#define glGenerateMipmapEXT GLEW_GET_FUN(__glewGenerateMipmapEXT) 
     4725#define glGetFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetFramebufferAttachmentParameterivEXT) 
     4726#define glGetRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetRenderbufferParameterivEXT) 
     4727#define glIsFramebufferEXT GLEW_GET_FUN(__glewIsFramebufferEXT) 
     4728#define glIsRenderbufferEXT GLEW_GET_FUN(__glewIsRenderbufferEXT) 
     4729#define glRenderbufferStorageEXT GLEW_GET_FUN(__glewRenderbufferStorageEXT) 
     4730 
     4731#define GLEW_EXT_framebuffer_object GLEW_GET_VAR(__GLEW_EXT_framebuffer_object) 
     4732 
     4733#endif /* GL_EXT_framebuffer_object */ 
     4734 
     4735/* ------------------------ GL_EXT_framebuffer_sRGB ------------------------ */ 
     4736 
     4737#ifndef GL_EXT_framebuffer_sRGB 
     4738#define GL_EXT_framebuffer_sRGB 1 
     4739 
     4740#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 
     4741#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA 
     4742 
     4743#define GLEW_EXT_framebuffer_sRGB GLEW_GET_VAR(__GLEW_EXT_framebuffer_sRGB) 
     4744 
     4745#endif /* GL_EXT_framebuffer_sRGB */ 
     4746 
     4747/* ------------------------ GL_EXT_geometry_shader4 ------------------------ */ 
     4748 
     4749#ifndef GL_EXT_geometry_shader4 
     4750#define GL_EXT_geometry_shader4 1 
     4751 
     4752#define GL_LINES_ADJACENCY_EXT 0xA 
     4753#define GL_LINE_STRIP_ADJACENCY_EXT 0xB 
     4754#define GL_TRIANGLES_ADJACENCY_EXT 0xC 
     4755#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD 
     4756#define GL_PROGRAM_POINT_SIZE_EXT 0x8642 
     4757#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B 
     4758#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 
     4759#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 
     4760#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 
     4761#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 
     4762#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9 
     4763#define GL_GEOMETRY_SHADER_EXT 0x8DD9 
     4764#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA 
     4765#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB 
     4766#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC 
     4767#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD 
     4768#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE 
     4769#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF 
     4770#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 
     4771#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 
     4772 
     4773typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); 
     4774typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); 
     4775typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); 
     4776typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); 
     4777 
     4778#define glFramebufferTextureEXT GLEW_GET_FUN(__glewFramebufferTextureEXT) 
     4779#define glFramebufferTextureFaceEXT GLEW_GET_FUN(__glewFramebufferTextureFaceEXT) 
     4780#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT) 
     4781#define glProgramParameteriEXT GLEW_GET_FUN(__glewProgramParameteriEXT) 
     4782 
     4783#define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(__GLEW_EXT_geometry_shader4) 
     4784 
     4785#endif /* GL_EXT_geometry_shader4 */ 
     4786 
     4787/* --------------------- GL_EXT_gpu_program_parameters --------------------- */ 
     4788 
     4789#ifndef GL_EXT_gpu_program_parameters 
     4790#define GL_EXT_gpu_program_parameters 1 
     4791 
     4792typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); 
     4793typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); 
     4794 
     4795#define glProgramEnvParameters4fvEXT GLEW_GET_FUN(__glewProgramEnvParameters4fvEXT) 
     4796#define glProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewProgramLocalParameters4fvEXT) 
     4797 
     4798#define GLEW_EXT_gpu_program_parameters GLEW_GET_VAR(__GLEW_EXT_gpu_program_parameters) 
     4799 
     4800#endif /* GL_EXT_gpu_program_parameters */ 
     4801 
     4802/* --------------------------- GL_EXT_gpu_shader4 -------------------------- */ 
     4803 
     4804#ifndef GL_EXT_gpu_shader4 
     4805#define GL_EXT_gpu_shader4 1 
     4806 
     4807#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD 
     4808#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 
     4809#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 
     4810#define GL_SAMPLER_BUFFER_EXT 0x8DC2 
     4811#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 
     4812#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 
     4813#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 
     4814#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 
     4815#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 
     4816#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 
     4817#define GL_INT_SAMPLER_1D_EXT 0x8DC9 
     4818#define GL_INT_SAMPLER_2D_EXT 0x8DCA 
     4819#define GL_INT_SAMPLER_3D_EXT 0x8DCB 
     4820#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC 
     4821#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD 
     4822#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE 
     4823#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF 
     4824#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 
     4825#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 
     4826#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 
     4827#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 
     4828#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 
     4829#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 
     4830#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 
     4831#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 
     4832#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 
     4833 
     4834typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name); 
     4835typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name); 
     4836typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params); 
     4837typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params); 
     4838typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params); 
     4839typedef void (GLAPIENTRY * PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0); 
     4840typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); 
     4841typedef void (GLAPIENTRY * PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1); 
     4842typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); 
     4843typedef void (GLAPIENTRY * PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); 
     4844typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); 
     4845typedef void (GLAPIENTRY * PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); 
     4846typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); 
     4847typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x); 
     4848typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v); 
     4849typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x); 
     4850typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v); 
     4851typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y); 
     4852typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v); 
     4853typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y); 
     4854typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v); 
     4855typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z); 
     4856typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v); 
     4857typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z); 
     4858typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v); 
     4859typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v); 
     4860typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); 
     4861typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v); 
     4862typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v); 
     4863typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v); 
     4864typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); 
     4865typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v); 
     4866typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v); 
     4867typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); 
     4868 
     4869#define glBindFragDataLocationEXT GLEW_GET_FUN(__glewBindFragDataLocationEXT) 
     4870#define glGetFragDataLocationEXT GLEW_GET_FUN(__glewGetFragDataLocationEXT) 
     4871#define glGetUniformuivEXT GLEW_GET_FUN(__glewGetUniformuivEXT) 
     4872#define glGetVertexAttribIivEXT GLEW_GET_FUN(__glewGetVertexAttribIivEXT) 
     4873#define glGetVertexAttribIuivEXT GLEW_GET_FUN(__glewGetVertexAttribIuivEXT) 
     4874#define glUniform1uiEXT GLEW_GET_FUN(__glewUniform1uiEXT) 
     4875#define glUniform1uivEXT GLEW_GET_FUN(__glewUniform1uivEXT) 
     4876#define glUniform2uiEXT GLEW_GET_FUN(__glewUniform2uiEXT) 
     4877#define glUniform2uivEXT GLEW_GET_FUN(__glewUniform2uivEXT) 
     4878#define glUniform3uiEXT GLEW_GET_FUN(__glewUniform3uiEXT) 
     4879#define glUniform3uivEXT GLEW_GET_FUN(__glewUniform3uivEXT) 
     4880#define glUniform4uiEXT GLEW_GET_FUN(__glewUniform4uiEXT) 
     4881#define glUniform4uivEXT GLEW_GET_FUN(__glewUniform4uivEXT) 
     4882#define glVertexAttribI1iEXT GLEW_GET_FUN(__glewVertexAttribI1iEXT) 
     4883#define glVertexAttribI1ivEXT GLEW_GET_FUN(__glewVertexAttribI1ivEXT) 
     4884#define glVertexAttribI1uiEXT GLEW_GET_FUN(__glewVertexAttribI1uiEXT) 
     4885#define glVertexAttribI1uivEXT GLEW_GET_FUN(__glewVertexAttribI1uivEXT) 
     4886#define glVertexAttribI2iEXT GLEW_GET_FUN(__glewVertexAttribI2iEXT) 
     4887#define glVertexAttribI2ivEXT GLEW_GET_FUN(__glewVertexAttribI2ivEXT) 
     4888#define glVertexAttribI2uiEXT GLEW_GET_FUN(__glewVertexAttribI2uiEXT) 
     4889#define glVertexAttribI2uivEXT GLEW_GET_FUN(__glewVertexAttribI2uivEXT) 
     4890#define glVertexAttribI3iEXT GLEW_GET_FUN(__glewVertexAttribI3iEXT) 
     4891#define glVertexAttribI3ivEXT GLEW_GET_FUN(__glewVertexAttribI3ivEXT) 
     4892#define glVertexAttribI3uiEXT GLEW_GET_FUN(__glewVertexAttribI3uiEXT) 
     4893#define glVertexAttribI3uivEXT GLEW_GET_FUN(__glewVertexAttribI3uivEXT) 
     4894#define glVertexAttribI4bvEXT GLEW_GET_FUN(__glewVertexAttribI4bvEXT) 
     4895#define glVertexAttribI4iEXT GLEW_GET_FUN(__glewVertexAttribI4iEXT) 
     4896#define glVertexAttribI4ivEXT GLEW_GET_FUN(__glewVertexAttribI4ivEXT) 
     4897#define glVertexAttribI4svEXT GLEW_GET_FUN(__glewVertexAttribI4svEXT) 
     4898#define glVertexAttribI4ubvEXT GLEW_GET_FUN(__glewVertexAttribI4ubvEXT) 
     4899#define glVertexAttribI4uiEXT GLEW_GET_FUN(__glewVertexAttribI4uiEXT) 
     4900#define glVertexAttribI4uivEXT GLEW_GET_FUN(__glewVertexAttribI4uivEXT) 
     4901#define glVertexAttribI4usvEXT GLEW_GET_FUN(__glewVertexAttribI4usvEXT) 
     4902#define glVertexAttribIPointerEXT GLEW_GET_FUN(__glewVertexAttribIPointerEXT) 
     4903 
     4904#define GLEW_EXT_gpu_shader4 GLEW_GET_VAR(__GLEW_EXT_gpu_shader4) 
     4905 
     4906#endif /* GL_EXT_gpu_shader4 */ 
     4907 
    41094908/* ---------------------------- GL_EXT_histogram --------------------------- */ 
    41104909 
     
    42805079 
    42815080#endif /* GL_EXT_multisample */ 
     5081 
     5082/* ---------------------- GL_EXT_packed_depth_stencil ---------------------- */ 
     5083 
     5084#ifndef GL_EXT_packed_depth_stencil 
     5085#define GL_EXT_packed_depth_stencil 1 
     5086 
     5087#define GL_DEPTH_STENCIL_EXT 0x84F9 
     5088#define GL_UNSIGNED_INT_24_8_EXT 0x84FA 
     5089#define GL_DEPTH24_STENCIL8_EXT 0x88F0 
     5090#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 
     5091 
     5092#define GLEW_EXT_packed_depth_stencil GLEW_GET_VAR(__GLEW_EXT_packed_depth_stencil) 
     5093 
     5094#endif /* GL_EXT_packed_depth_stencil */ 
     5095 
     5096/* -------------------------- GL_EXT_packed_float -------------------------- */ 
     5097 
     5098#ifndef GL_EXT_packed_float 
     5099#define GL_EXT_packed_float 1 
     5100 
     5101#define GL_R11F_G11F_B10F_EXT 0x8C3A 
     5102#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B 
     5103#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C 
     5104 
     5105#define GLEW_EXT_packed_float GLEW_GET_VAR(__GLEW_EXT_packed_float) 
     5106 
     5107#endif /* GL_EXT_packed_float */ 
    42825108 
    42835109/* -------------------------- GL_EXT_packed_pixels ------------------------- */ 
     
    45415367 
    45425368#endif /* GL_EXT_shared_texture_palette */ 
     5369 
     5370/* ------------------------ GL_EXT_stencil_clear_tag ----------------------- */ 
     5371 
     5372#ifndef GL_EXT_stencil_clear_tag 
     5373#define GL_EXT_stencil_clear_tag 1 
     5374 
     5375#define GL_STENCIL_TAG_BITS_EXT 0x88F2 
     5376#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 
     5377 
     5378#define GLEW_EXT_stencil_clear_tag GLEW_GET_VAR(__GLEW_EXT_stencil_clear_tag) 
     5379 
     5380#endif /* GL_EXT_stencil_clear_tag */ 
    45435381 
    45445382/* ------------------------ GL_EXT_stencil_two_side ------------------------ */ 
     
    46625500#endif /* GL_EXT_texture3D */ 
    46635501 
     5502/* -------------------------- GL_EXT_texture_array ------------------------- */ 
     5503 
     5504#ifndef GL_EXT_texture_array 
     5505#define GL_EXT_texture_array 1 
     5506 
     5507#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E 
     5508#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF 
     5509#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 
     5510#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 
     5511#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A 
     5512#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B 
     5513#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C 
     5514#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D 
     5515 
     5516#define GLEW_EXT_texture_array GLEW_GET_VAR(__GLEW_EXT_texture_array) 
     5517 
     5518#endif /* GL_EXT_texture_array */ 
     5519 
     5520/* ---------------------- GL_EXT_texture_buffer_object --------------------- */ 
     5521 
     5522#ifndef GL_EXT_texture_buffer_object 
     5523#define GL_EXT_texture_buffer_object 1 
     5524 
     5525#define GL_TEXTURE_BUFFER_EXT 0x8C2A 
     5526#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B 
     5527#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C 
     5528#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D 
     5529#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E 
     5530 
     5531typedef void (GLAPIENTRY * PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer); 
     5532 
     5533#define glTexBufferEXT GLEW_GET_FUN(__glewTexBufferEXT) 
     5534 
     5535#define GLEW_EXT_texture_buffer_object GLEW_GET_VAR(__GLEW_EXT_texture_buffer_object) 
     5536 
     5537#endif /* GL_EXT_texture_buffer_object */ 
     5538 
    46645539/* -------------------- GL_EXT_texture_compression_dxt1 -------------------- */ 
    46655540 
     
    46735548 
    46745549#endif /* GL_EXT_texture_compression_dxt1 */ 
     5550 
     5551/* -------------------- GL_EXT_texture_compression_latc -------------------- */ 
     5552 
     5553#ifndef GL_EXT_texture_compression_latc 
     5554#define GL_EXT_texture_compression_latc 1 
     5555 
     5556#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 
     5557#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71 
     5558#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 
     5559#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73 
     5560 
     5561#define GLEW_EXT_texture_compression_latc GLEW_GET_VAR(__GLEW_EXT_texture_compression_latc) 
     5562 
     5563#endif /* GL_EXT_texture_compression_latc */ 
     5564 
     5565/* -------------------- GL_EXT_texture_compression_rgtc -------------------- */ 
     5566 
     5567#ifndef GL_EXT_texture_compression_rgtc 
     5568#define GL_EXT_texture_compression_rgtc 1 
     5569 
     5570#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB 
     5571#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC 
     5572#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD 
     5573#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE 
     5574 
     5575#define GLEW_EXT_texture_compression_rgtc GLEW_GET_VAR(__GLEW_EXT_texture_compression_rgtc) 
     5576 
     5577#endif /* GL_EXT_texture_compression_rgtc */ 
    46755578 
    46765579/* -------------------- GL_EXT_texture_compression_s3tc -------------------- */ 
     
    48065709#endif /* GL_EXT_texture_filter_anisotropic */ 
    48075710 
     5711/* ------------------------- GL_EXT_texture_integer ------------------------ */ 
     5712 
     5713#ifndef GL_EXT_texture_integer 
     5714#define GL_EXT_texture_integer 1 
     5715 
     5716#define GL_RGBA32UI_EXT 0x8D70 
     5717#define GL_RGB32UI_EXT 0x8D71 
     5718#define GL_ALPHA32UI_EXT 0x8D72 
     5719#define GL_INTENSITY32UI_EXT 0x8D73 
     5720#define GL_LUMINANCE32UI_EXT 0x8D74 
     5721#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75 
     5722#define GL_RGBA16UI_EXT 0x8D76 
     5723#define GL_RGB16UI_EXT 0x8D77 
     5724#define GL_ALPHA16UI_EXT 0x8D78 
     5725#define GL_INTENSITY16UI_EXT 0x8D79 
     5726#define GL_LUMINANCE16UI_EXT 0x8D7A 
     5727#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B 
     5728#define GL_RGBA8UI_EXT 0x8D7C 
     5729#define GL_RGB8UI_EXT 0x8D7D 
     5730#define GL_ALPHA8UI_EXT 0x8D7E 
     5731#define GL_INTENSITY8UI_EXT 0x8D7F 
     5732#define GL_LUMINANCE8UI_EXT 0x8D80 
     5733#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81 
     5734#define GL_RGBA32I_EXT 0x8D82 
     5735#define GL_RGB32I_EXT 0x8D83 
     5736#define GL_ALPHA32I_EXT 0x8D84 
     5737#define GL_INTENSITY32I_EXT 0x8D85 
     5738#define GL_LUMINANCE32I_EXT 0x8D86 
     5739#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87 
     5740#define GL_RGBA16I_EXT 0x8D88 
     5741#define GL_RGB16I_EXT 0x8D89 
     5742#define GL_ALPHA16I_EXT 0x8D8A 
     5743#define GL_INTENSITY16I_EXT 0x8D8B 
     5744#define GL_LUMINANCE16I_EXT 0x8D8C 
     5745#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D 
     5746#define GL_RGBA8I_EXT 0x8D8E 
     5747#define GL_RGB8I_EXT 0x8D8F 
     5748#define GL_ALPHA8I_EXT 0x8D90 
     5749#define GL_INTENSITY8I_EXT 0x8D91 
     5750#define GL_LUMINANCE8I_EXT 0x8D92 
     5751#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93 
     5752#define GL_RED_INTEGER_EXT 0x8D94 
     5753#define GL_GREEN_INTEGER_EXT 0x8D95 
     5754#define GL_BLUE_INTEGER_EXT 0x8D96 
     5755#define GL_ALPHA_INTEGER_EXT 0x8D97 
     5756#define GL_RGB_INTEGER_EXT 0x8D98 
     5757#define GL_RGBA_INTEGER_EXT 0x8D99 
     5758#define GL_BGR_INTEGER_EXT 0x8D9A 
     5759#define GL_BGRA_INTEGER_EXT 0x8D9B 
     5760#define GL_LUMINANCE_INTEGER_EXT 0x8D9C 
     5761#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D 
     5762#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E 
     5763 
     5764typedef void (GLAPIENTRY * PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha); 
     5765typedef void (GLAPIENTRY * PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha); 
     5766typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params); 
     5767typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params); 
     5768typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); 
     5769typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params); 
     5770 
     5771#define glClearColorIiEXT GLEW_GET_FUN(__glewClearColorIiEXT) 
     5772#define glClearColorIuiEXT GLEW_GET_FUN(__glewClearColorIuiEXT) 
     5773#define glGetTexParameterIivEXT GLEW_GET_FUN(__glewGetTexParameterIivEXT) 
     5774#define glGetTexParameterIuivEXT GLEW_GET_FUN(__glewGetTexParameterIuivEXT) 
     5775#define glTexParameterIivEXT GLEW_GET_FUN(__glewTexParameterIivEXT) 
     5776#define glTexParameterIuivEXT GLEW_GET_FUN(__glewTexParameterIuivEXT) 
     5777 
     5778#define GLEW_EXT_texture_integer GLEW_GET_VAR(__GLEW_EXT_texture_integer) 
     5779 
     5780#endif /* GL_EXT_texture_integer */ 
     5781 
    48085782/* ------------------------ GL_EXT_texture_lod_bias ------------------------ */ 
    48095783 
     
    48905864 
    48915865#endif /* GL_EXT_texture_rectangle */ 
     5866 
     5867/* -------------------------- GL_EXT_texture_sRGB -------------------------- */ 
     5868 
     5869#ifndef GL_EXT_texture_sRGB 
     5870#define GL_EXT_texture_sRGB 1 
     5871 
     5872#define GL_SRGB_EXT 0x8C40 
     5873#define GL_SRGB8_EXT 0x8C41 
     5874#define GL_SRGB_ALPHA_EXT 0x8C42 
     5875#define GL_SRGB8_ALPHA8_EXT 0x8C43 
     5876#define GL_SLUMINANCE_ALPHA_EXT 0x8C44 
     5877#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 
     5878#define GL_SLUMINANCE_EXT 0x8C46 
     5879#define GL_SLUMINANCE8_EXT 0x8C47 
     5880#define GL_COMPRESSED_SRGB_EXT 0x8C48 
     5881#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 
     5882#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A 
     5883#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B 
     5884#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C 
     5885#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D 
     5886#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E 
     5887#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F 
     5888 
     5889#define GLEW_EXT_texture_sRGB GLEW_GET_VAR(__GLEW_EXT_texture_sRGB) 
     5890 
     5891#endif /* GL_EXT_texture_sRGB */ 
     5892 
     5893/* --------------------- GL_EXT_texture_shared_exponent -------------------- */ 
     5894 
     5895#ifndef GL_EXT_texture_shared_exponent 
     5896#define GL_EXT_texture_shared_exponent 1 
     5897 
     5898#define GL_RGB9_E5_EXT 0x8C3D 
     5899#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E 
     5900#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F 
     5901 
     5902#define GLEW_EXT_texture_shared_exponent GLEW_GET_VAR(__GLEW_EXT_texture_shared_exponent) 
     5903 
     5904#endif /* GL_EXT_texture_shared_exponent */ 
     5905 
     5906/* --------------------------- GL_EXT_timer_query -------------------------- */ 
     5907 
     5908#ifndef GL_EXT_timer_query 
     5909#define GL_EXT_timer_query 1 
     5910 
     5911#define GL_TIME_ELAPSED_EXT 0x88BF 
     5912 
     5913typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params); 
     5914typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params); 
     5915 
     5916#define glGetQueryObjecti64vEXT GLEW_GET_FUN(__glewGetQueryObjecti64vEXT) 
     5917#define glGetQueryObjectui64vEXT GLEW_GET_FUN(__glewGetQueryObjectui64vEXT) 
     5918 
     5919#define GLEW_EXT_timer_query GLEW_GET_VAR(__GLEW_EXT_timer_query) 
     5920 
     5921#endif /* GL_EXT_timer_query */ 
    48925922 
    48935923/* -------------------------- GL_EXT_vertex_array -------------------------- */ 
     
    51916221#endif /* GL_EXT_vertex_weighting */ 
    51926222 
     6223/* ---------------------- GL_GREMEDY_frame_terminator ---------------------- */ 
     6224 
     6225#ifndef GL_GREMEDY_frame_terminator 
     6226#define GL_GREMEDY_frame_terminator 1 
     6227 
     6228typedef void (GLAPIENTRY * PFNGLFRAMETERMINATORGREMEDYPROC) (void); 
     6229 
     6230#define glFrameTerminatorGREMEDY GLEW_GET_FUN(__glewFrameTerminatorGREMEDY) 
     6231 
     6232#define GLEW_GREMEDY_frame_terminator GLEW_GET_VAR(__GLEW_GREMEDY_frame_terminator) 
     6233 
     6234#endif /* GL_GREMEDY_frame_terminator */ 
     6235 
     6236/* ------------------------ GL_GREMEDY_string_marker ----------------------- */ 
     6237 
     6238#ifndef GL_GREMEDY_string_marker 
     6239#define GL_GREMEDY_string_marker 1 
     6240 
     6241typedef void (GLAPIENTRY * PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const void* string); 
     6242 
     6243#define glStringMarkerGREMEDY GLEW_GET_FUN(__glewStringMarkerGREMEDY) 
     6244 
     6245#define GLEW_GREMEDY_string_marker GLEW_GET_VAR(__GLEW_GREMEDY_string_marker) 
     6246 
     6247#endif /* GL_GREMEDY_string_marker */ 
     6248 
    51936249/* --------------------- GL_HP_convolution_border_modes -------------------- */ 
    51946250 
     
    54426498 
    54436499#endif /* GL_KTX_buffer_region */ 
     6500 
     6501/* ------------------------- GL_MESAX_texture_stack ------------------------ */ 
     6502 
     6503#ifndef GL_MESAX_texture_stack 
     6504#define GL_MESAX_texture_stack 1 
     6505 
     6506#define GL_TEXTURE_1D_STACK_MESAX 0x8759 
     6507#define GL_TEXTURE_2D_STACK_MESAX 0x875A 
     6508#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B 
     6509#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C 
     6510#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D 
     6511#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E 
     6512 
     6513#define GLEW_MESAX_texture_stack GLEW_GET_VAR(__GLEW_MESAX_texture_stack) 
     6514 
     6515#endif /* GL_MESAX_texture_stack */ 
    54446516 
    54456517/* -------------------------- GL_MESA_pack_invert -------------------------- */ 
     
    55606632#endif /* GL_NV_copy_depth_to_color */ 
    55616633 
     6634/* ------------------------ GL_NV_depth_buffer_float ----------------------- */ 
     6635 
     6636#ifndef GL_NV_depth_buffer_float 
     6637#define GL_NV_depth_buffer_float 1 
     6638 
     6639#define GL_DEPTH_COMPONENT32F_NV 0x8DAB 
     6640#define GL_DEPTH32F_STENCIL8_NV 0x8DAC 
     6641#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD 
     6642#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF 
     6643 
     6644typedef void (GLAPIENTRY * PFNGLCLEARDEPTHDNVPROC) (GLdouble depth); 
     6645typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax); 
     6646typedef void (GLAPIENTRY * PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar); 
     6647 
     6648#define glClearDepthdNV GLEW_GET_FUN(__glewClearDepthdNV) 
     6649#define glDepthBoundsdNV GLEW_GET_FUN(__glewDepthBoundsdNV) 
     6650#define glDepthRangedNV GLEW_GET_FUN(__glewDepthRangedNV) 
     6651 
     6652#define GLEW_NV_depth_buffer_float GLEW_GET_VAR(__GLEW_NV_depth_buffer_float) 
     6653 
     6654#endif /* GL_NV_depth_buffer_float */ 
     6655 
    55626656/* --------------------------- GL_NV_depth_clamp --------------------------- */ 
    55636657 
     
    55706664 
    55716665#endif /* GL_NV_depth_clamp */ 
     6666 
     6667/* ---------------------- GL_NV_depth_range_unclamped ---------------------- */ 
     6668 
     6669#ifndef GL_NV_depth_range_unclamped 
     6670#define GL_NV_depth_range_unclamped 1 
     6671 
     6672#define GL_SAMPLE_COUNT_BITS_NV 0x8864 
     6673#define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865 
     6674#define GL_QUERY_RESULT_NV 0x8866 
     6675#define GL_QUERY_RESULT_AVAILABLE_NV 0x8867 
     6676#define GL_SAMPLE_COUNT_NV 0x8914 
     6677 
     6678#define GLEW_NV_depth_range_unclamped GLEW_GET_VAR(__GLEW_NV_depth_range_unclamped) 
     6679 
     6680#endif /* GL_NV_depth_range_unclamped */ 
    55726681 
    55736682/* ---------------------------- GL_NV_evaluators --------------------------- */ 
     
    57376846#endif /* GL_NV_fragment_program2 */ 
    57386847 
     6848/* ------------------------ GL_NV_fragment_program4 ------------------------ */ 
     6849 
     6850#ifndef GL_NV_fragment_program4 
     6851#define GL_NV_fragment_program4 1 
     6852 
     6853#define GLEW_NV_fragment_program4 GLEW_GET_VAR(__GLEW_NV_fragment_program4) 
     6854 
     6855#endif /* GL_NV_fragment_program4 */ 
     6856 
    57396857/* --------------------- GL_NV_fragment_program_option --------------------- */ 
    57406858 
     
    57466864#endif /* GL_NV_fragment_program_option */ 
    57476865 
     6866/* ----------------- GL_NV_framebuffer_multisample_coverage ---------------- */ 
     6867 
     6868#ifndef GL_NV_framebuffer_multisample_coverage 
     6869#define GL_NV_framebuffer_multisample_coverage 1 
     6870 
     6871#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB 
     6872#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 
     6873#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 
     6874#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 
     6875 
     6876typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); 
     6877 
     6878#define glRenderbufferStorageMultisampleCoverageNV GLEW_GET_FUN(__glewRenderbufferStorageMultisampleCoverageNV) 
     6879 
     6880#define GLEW_NV_framebuffer_multisample_coverage GLEW_GET_VAR(__GLEW_NV_framebuffer_multisample_coverage) 
     6881 
     6882#endif /* GL_NV_framebuffer_multisample_coverage */ 
     6883 
     6884/* ------------------------ GL_NV_geometry_program4 ------------------------ */ 
     6885 
     6886#ifndef GL_NV_geometry_program4 
     6887#define GL_NV_geometry_program4 1 
     6888 
     6889#define GL_GEOMETRY_PROGRAM_NV 0x8C26 
     6890#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27 
     6891#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 
     6892 
     6893typedef void (GLAPIENTRY * PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit); 
     6894 
     6895#define glProgramVertexLimitNV GLEW_GET_FUN(__glewProgramVertexLimitNV) 
     6896 
     6897#define GLEW_NV_geometry_program4 GLEW_GET_VAR(__GLEW_NV_geometry_program4) 
     6898 
     6899#endif /* GL_NV_geometry_program4 */ 
     6900 
     6901/* ------------------------- GL_NV_geometry_shader4 ------------------------ */ 
     6902 
     6903#ifndef GL_NV_geometry_shader4 
     6904#define GL_NV_geometry_shader4 1 
     6905 
     6906#define GLEW_NV_geometry_shader4 GLEW_GET_VAR(__GLEW_NV_geometry_shader4) 
     6907 
     6908#endif /* GL_NV_geometry_shader4 */ 
     6909 
     6910/* --------------------------- GL_NV_gpu_program4 -------------------------- */ 
     6911 
     6912#ifndef GL_NV_gpu_program4 
     6913#define GL_NV_gpu_program4 1 
     6914 
     6915#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904 
     6916#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905 
     6917#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906 
     6918#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907 
     6919#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908 
     6920#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909 
     6921#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5 
     6922#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6 
     6923 
     6924typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); 
     6925typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); 
     6926typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); 
     6927typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); 
     6928typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); 
     6929typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); 
     6930typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); 
     6931typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); 
     6932typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); 
     6933typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); 
     6934typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); 
     6935typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); 
     6936 
     6937#define glProgramEnvParameterI4iNV GLEW_GET_FUN(__glewProgramEnvParameterI4iNV) 
     6938#define glProgramEnvParameterI4ivNV GLEW_GET_FUN(__glewProgramEnvParameterI4ivNV) 
     6939#define glProgramEnvParameterI4uiNV GLEW_GET_FUN(__glewProgramEnvParameterI4uiNV) 
     6940#define glProgramEnvParameterI4uivNV GLEW_GET_FUN(__glewProgramEnvParameterI4uivNV) 
     6941#define glProgramEnvParametersI4ivNV GLEW_GET_FUN(__glewProgramEnvParametersI4ivNV) 
     6942#define glProgramEnvParametersI4uivNV GLEW_GET_FUN(__glewProgramEnvParametersI4uivNV) 
     6943#define glProgramLocalParameterI4iNV GLEW_GET_FUN(__glewProgramLocalParameterI4iNV) 
     6944#define glProgramLocalParameterI4ivNV GLEW_GET_FUN(__glewProgramLocalParameterI4ivNV) 
     6945#define glProgramLocalParameterI4uiNV GLEW_GET_FUN(__glewProgramLocalParameterI4uiNV) 
     6946#define glProgramLocalParameterI4uivNV GLEW_GET_FUN(__glewProgramLocalParameterI4uivNV) 
     6947#define glProgramLocalParametersI4ivNV GLEW_GET_FUN(__glewProgramLocalParametersI4ivNV) 
     6948#define glProgramLocalParametersI4uivNV GLEW_GET_FUN(__glewProgramLocalParametersI4uivNV) 
     6949 
     6950#define GLEW_NV_gpu_program4 GLEW_GET_VAR(__GLEW_NV_gpu_program4) 
     6951 
     6952#endif /* GL_NV_gpu_program4 */ 
     6953 
    57486954/* ---------------------------- GL_NV_half_float --------------------------- */ 
    57496955 
     
    57556961typedef unsigned short GLhalf; 
    57566962 
    5757 typedef void (GLAPIENTRY * PFNGLCOLOR3HNVPROC) (GLuint red, GLuint green, GLuint blue); 
    5758 typedef void (GLAPIENTRY * PFNGLCOLOR3HVNVPROC) (const GLuint* v); 
    5759 typedef void (GLAPIENTRY * PFNGLCOLOR4HNVPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha); 
    5760 typedef void (GLAPIENTRY * PFNGLCOLOR4HVNVPROC) (const GLuint* v); 
    5761 typedef void (GLAPIENTRY * PFNGLFOGCOORDHNVPROC) (GLuint fog); 
    5762 typedef void (GLAPIENTRY * PFNGLFOGCOORDHVNVPROC) (const GLuint* fog); 
    5763 typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLuint s); 
    5764 typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLuint* v); 
    5765 typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLuint s, GLuint t); 
    5766 typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLuint* v); 
    5767 typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLuint s, GLuint t, GLuint r); 
    5768 typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLuint* v); 
    5769 typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLuint s, GLuint t, GLuint r, GLuint q); 
    5770 typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLuint* v); 
    5771 typedef void (GLAPIENTRY * PFNGLNORMAL3HNVPROC) (GLuint nx, GLuint ny, GLuint nz); 
    5772 typedef void (GLAPIENTRY * PFNGLNORMAL3HVNVPROC) (const GLuint* v); 
    5773 typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HNVPROC) (GLuint red, GLuint green, GLuint blue); 
    5774 typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLuint* v); 
    5775 typedef void (GLAPIENTRY * PFNGLTEXCOORD1HNVPROC) (GLuint s); 
    5776 typedef void (GLAPIENTRY * PFNGLTEXCOORD1HVNVPROC) (const GLuint* v); 
    5777 typedef void (GLAPIENTRY * PFNGLTEXCOORD2HNVPROC) (GLuint s, GLuint t); 
    5778 typedef void (GLAPIENTRY * PFNGLTEXCOORD2HVNVPROC) (const GLuint* v); 
    5779 typedef void (GLAPIENTRY * PFNGLTEXCOORD3HNVPROC) (GLuint s, GLuint t, GLuint r); 
    5780 typedef void (GLAPIENTRY * PFNGLTEXCOORD3HVNVPROC) (const GLuint* v); 
    5781 typedef void (GLAPIENTRY * PFNGLTEXCOORD4HNVPROC) (GLuint s, GLuint t, GLuint r, GLuint q); 
    5782 typedef void (GLAPIENTRY * PFNGLTEXCOORD4HVNVPROC) (const GLuint* v); 
    5783 typedef void (GLAPIENTRY * PFNGLVERTEX2HNVPROC) (GLuint x, GLuint y); 
    5784 typedef void (GLAPIENTRY * PFNGLVERTEX2HVNVPROC) (const GLuint* v); 
    5785 typedef void (GLAPIENTRY * PFNGLVERTEX3HNVPROC) (GLuint x, GLuint y, GLuint z); 
    5786 typedef void (GLAPIENTRY * PFNGLVERTEX3HVNVPROC) (const GLuint* v); 
    5787 typedef void (GLAPIENTRY * PFNGLVERTEX4HNVPROC) (GLuint x, GLuint y, GLuint z, GLuint w); 
    5788 typedef void (GLAPIENTRY * PFNGLVERTEX4HVNVPROC) (const GLuint* v); 
    5789 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLuint x); 
    5790 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLuint* v); 
    5791 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLuint x, GLuint y); 
    5792 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLuint* v); 
    5793 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLuint x, GLuint y, GLuint z); 
    5794 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLuint* v); 
    5795 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); 
    5796 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLuint* v); 
    5797 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLuint* v); 
    5798 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLuint* v); 
    5799 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLuint* v); 
    5800 typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLuint* v); 
    5801 typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHNVPROC) (GLuint weight); 
    5802 typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHVNVPROC) (const GLuint* weight); 
     6963typedef void (GLAPIENTRY * PFNGLCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); 
     6964typedef void (GLAPIENTRY * PFNGLCOLOR3HVNVPROC) (const GLhalf* v); 
     6965typedef void (GLAPIENTRY * PFNGLCOLOR4HNVPROC) (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha); 
     6966typedef void (GLAPIENTRY * PFNGLCOLOR4HVNVPROC) (const GLhalf* v); 
     6967typedef void (GLAPIENTRY * PFNGLFOGCOORDHNVPROC) (GLhalf fog); 
     6968typedef void (GLAPIENTRY * PFNGLFOGCOORDHVNVPROC) (const GLhalf* fog); 
     6969typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalf s); 
     6970typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalf* v); 
     6971typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalf s, GLhalf t); 
     6972typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalf* v); 
     6973typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r); 
     6974typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalf* v); 
     6975typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q); 
     6976typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalf* v); 
     6977typedef void (GLAPIENTRY * PFNGLNORMAL3HNVPROC) (GLhalf nx, GLhalf ny, GLhalf nz); 
     6978typedef void (GLAPIENTRY * PFNGLNORMAL3HVNVPROC) (const GLhalf* v); 
     6979typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); 
     6980typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalf* v); 
     6981typedef void (GLAPIENTRY * PFNGLTEXCOORD1HNVPROC) (GLhalf s); 
     6982typedef void (GLAPIENTRY * PFNGLTEXCOORD1HVNVPROC) (const GLhalf* v); 
     6983typedef void (GLAPIENTRY * PFNGLTEXCOORD2HNVPROC) (GLhalf s, GLhalf t); 
     6984typedef void (GLAPIENTRY * PFNGLTEXCOORD2HVNVPROC) (const GLhalf* v); 
     6985typedef void (GLAPIENTRY * PFNGLTEXCOORD3HNVPROC) (GLhalf s, GLhalf t, GLhalf r); 
     6986typedef void (GLAPIENTRY * PFNGLTEXCOORD3HVNVPROC) (const GLhalf* v); 
     6987typedef void (GLAPIENTRY * PFNGLTEXCOORD4HNVPROC) (GLhalf s, GLhalf t, GLhalf r, GLhalf q); 
     6988typedef void (GLAPIENTRY * PFNGLTEXCOORD4HVNVPROC) (const GLhalf* v); 
     6989typedef void (GLAPIENTRY * PFNGLVERTEX2HNVPROC) (GLhalf x, GLhalf y); 
     6990typedef void (GLAPIENTRY * PFNGLVERTEX2HVNVPROC) (const GLhalf* v); 
     6991typedef void (GLAPIENTRY * PFNGLVERTEX3HNVPROC) (GLhalf x, GLhalf y, GLhalf z); 
     6992typedef void (GLAPIENTRY * PFNGLVERTEX3HVNVPROC) (const GLhalf* v); 
     6993typedef void (GLAPIENTRY * PFNGLVERTEX4HNVPROC) (GLhalf x, GLhalf y, GLhalf z, GLhalf w); 
     6994typedef void (GLAPIENTRY * PFNGLVERTEX4HVNVPROC) (const GLhalf* v); 
     6995typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalf x); 
     6996typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalf* v); 
     6997typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalf x, GLhalf y); 
     6998typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalf* v); 
     6999typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z); 
     7000typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalf* v); 
     7001typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w); 
     7002typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalf* v); 
     7003typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); 
     7004typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); 
     7005typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); 
     7006typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); 
     7007typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHNVPROC) (GLhalf weight); 
     7008typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalf* weight); 
    58037009 
    58047010#define glColor3hNV GLEW_GET_FUN(__glewColor3hNV) 
     
    59177123 
    59187124#endif /* GL_NV_packed_depth_stencil */ 
     7125 
     7126/* --------------------- GL_NV_parameter_buffer_object --------------------- */ 
     7127 
     7128#ifndef GL_NV_parameter_buffer_object 
     7129#define GL_NV_parameter_buffer_object 1 
     7130 
     7131#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0 
     7132#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1 
     7133#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2 
     7134#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3 
     7135#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4 
     7136 
     7137typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params); 
     7138typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params); 
     7139typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params); 
     7140 
     7141#define glProgramBufferParametersIivNV GLEW_GET_FUN(__glewProgramBufferParametersIivNV) 
     7142#define glProgramBufferParametersIuivNV GLEW_GET_FUN(__glewProgramBufferParametersIuivNV) 
     7143#define glProgramBufferParametersfvNV GLEW_GET_FUN(__glewProgramBufferParametersfvNV) 
     7144 
     7145#define GLEW_NV_parameter_buffer_object GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object) 
     7146 
     7147#endif /* GL_NV_parameter_buffer_object */ 
    59197148 
    59207149/* ------------------------- GL_NV_pixel_data_range ------------------------ */ 
     
    63017530 
    63027531#endif /* GL_NV_texture_shader3 */ 
     7532 
     7533/* ------------------------ GL_NV_transform_feedback ----------------------- */ 
     7534 
     7535#ifndef GL_NV_transform_feedback 
     7536#define GL_NV_transform_feedback 1 
     7537 
     7538#define GL_BACK_PRIMARY_COLOR_NV 0x8C77 
     7539#define GL_BACK_SECONDARY_COLOR_NV 0x8C78 
     7540#define GL_TEXTURE_COORD_NV 0x8C79 
     7541#define GL_CLIP_DISTANCE_NV 0x8C7A 
     7542#define GL_VERTEX_ID_NV 0x8C7B 
     7543#define GL_PRIMITIVE_ID_NV 0x8C7C 
     7544#define GL_GENERIC_ATTRIB_NV 0x8C7D 
     7545#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E 
     7546#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F 
     7547#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80 
     7548#define GL_ACTIVE_VARYINGS_NV 0x8C81 
     7549#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82 
     7550#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83 
     7551#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84 
     7552#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85 
     7553#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86 
     7554#define GL_PRIMITIVES_GENERATED_NV 0x8C87 
     7555#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88 
     7556#define GL_RASTERIZER_DISCARD_NV 0x8C89 
     7557#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A 
     7558#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B 
     7559#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C 
     7560#define GL_SEPARATE_ATTRIBS_NV 0x8C8D 
     7561#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E 
     7562#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F 
     7563 
     7564typedef void (GLAPIENTRY * PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name); 
     7565typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode); 
     7566typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer); 
     7567typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); 
     7568typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); 
     7569typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKNVPROC) (void); 
     7570typedef void (GLAPIENTRY * PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); 
     7571typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location); 
     7572typedef GLint (GLAPIENTRY * PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name); 
     7573typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode); 
     7574typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode); 
     7575 
     7576#define glActiveVaryingNV GLEW_GET_FUN(__glewActiveVaryingNV) 
     7577#define glBeginTransformFeedbackNV GLEW_GET_FUN(__glewBeginTransformFeedbackNV) 
     7578#define glBindBufferBaseNV GLEW_GET_FUN(__glewBindBufferBaseNV) 
     7579#define glBindBufferOffsetNV GLEW_GET_FUN(__glewBindBufferOffsetNV) 
     7580#define glBindBufferRangeNV GLEW_GET_FUN(__glewBindBufferRangeNV) 
     7581#define glEndTransformFeedbackNV GLEW_GET_FUN(__glewEndTransformFeedbackNV) 
     7582#define glGetActiveVaryingNV GLEW_GET_FUN(__glewGetActiveVaryingNV) 
     7583#define glGetTransformFeedbackVaryingNV GLEW_GET_FUN(__glewGetTransformFeedbackVaryingNV) 
     7584#define glGetVaryingLocationNV GLEW_GET_FUN(__glewGetVaryingLocationNV) 
     7585#define glTransformFeedbackAttribsNV GLEW_GET_FUN(__glewTransformFeedbackAttribsNV) 
     7586#define glTransformFeedbackVaryingsNV GLEW_GET_FUN(__glewTransformFeedbackVaryingsNV) 
     7587 
     7588#define GLEW_NV_transform_feedback GLEW_GET_VAR(__GLEW_NV_transform_feedback) 
     7589 
     7590#endif /* GL_NV_transform_feedback */ 
    63037591 
    63047592/* ------------------------ GL_NV_vertex_array_range ----------------------- */ 
     
    65987886#endif /* GL_NV_vertex_program3 */ 
    65997887 
     7888/* ------------------------- GL_NV_vertex_program4 ------------------------- */ 
     7889 
     7890#ifndef GL_NV_vertex_program4 
     7891#define GL_NV_vertex_program4 1 
     7892 
     7893#define GLEW_NV_vertex_program4 GLEW_GET_VAR(__GLEW_NV_vertex_program4) 
     7894 
     7895#endif /* GL_NV_vertex_program4 */ 
     7896 
     7897/* ------------------------ GL_OES_byte_coordinates ------------------------ */ 
     7898 
     7899#ifndef GL_OES_byte_coordinates 
     7900#define GL_OES_byte_coordinates 1 
     7901 
     7902#define GL_BYTE 0x1400 
     7903 
     7904#define GLEW_OES_byte_coordinates GLEW_GET_VAR(__GLEW_OES_byte_coordinates) 
     7905 
     7906#endif /* GL_OES_byte_coordinates */ 
     7907 
     7908/* ------------------- GL_OES_compressed_paletted_texture ------------------ */ 
     7909 
     7910#ifndef GL_OES_compressed_paletted_texture 
     7911#define GL_OES_compressed_paletted_texture 1 
     7912 
     7913#define GL_PALETTE4_RGB8_OES 0x8B90 
     7914#define GL_PALETTE4_RGBA8_OES 0x8B91 
     7915#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 
     7916#define GL_PALETTE4_RGBA4_OES 0x8B93 
     7917#define GL_PALETTE4_RGB5_A1_OES 0x8B94 
     7918#define GL_PALETTE8_RGB8_OES 0x8B95 
     7919#define GL_PALETTE8_RGBA8_OES 0x8B96 
     7920#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 
     7921#define GL_PALETTE8_RGBA4_OES 0x8B98 
     7922#define GL_PALETTE8_RGB5_A1_OES 0x8B99 
     7923 
     7924#define GLEW_OES_compressed_paletted_texture GLEW_GET_VAR(__GLEW_OES_compressed_paletted_texture) 
     7925 
     7926#endif /* GL_OES_compressed_paletted_texture */ 
     7927 
     7928/* --------------------------- GL_OES_read_format -------------------------- */ 
     7929 
     7930#ifndef GL_OES_read_format 
     7931#define GL_OES_read_format 1 
     7932 
     7933#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A 
     7934#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B 
     7935 
     7936#define GLEW_OES_read_format GLEW_GET_VAR(__GLEW_OES_read_format) 
     7937 
     7938#endif /* GL_OES_read_format */ 
     7939 
     7940/* ------------------------ GL_OES_single_precision ------------------------ */ 
     7941 
     7942#ifndef GL_OES_single_precision 
     7943#define GL_OES_single_precision 1 
     7944 
     7945typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFOESPROC) (GLclampd depth); 
     7946typedef void (GLAPIENTRY * PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat* equation); 
     7947typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f); 
     7948typedef void (GLAPIENTRY * PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); 
     7949typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat* equation); 
     7950typedef void (GLAPIENTRY * PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); 
     7951 
     7952#define glClearDepthfOES GLEW_GET_FUN(__glewClearDepthfOES) 
     7953#define glClipPlanefOES GLEW_GET_FUN(__glewClipPlanefOES) 
     7954#define glDepthRangefOES GLEW_GET_FUN(__glewDepthRangefOES) 
     7955#define glFrustumfOES GLEW_GET_FUN(__glewFrustumfOES) 
     7956#define glGetClipPlanefOES GLEW_GET_FUN(__glewGetClipPlanefOES) 
     7957#define glOrthofOES GLEW_GET_FUN(__glewOrthofOES) 
     7958 
     7959#define GLEW_OES_single_precision GLEW_GET_VAR(__GLEW_OES_single_precision) 
     7960 
     7961#endif /* GL_OES_single_precision */ 
     7962 
    66007963/* ---------------------------- GL_OML_interlace --------------------------- */ 
    66017964 
     
    71918554#ifndef GL_SGIX_shadow 
    71928555#define GL_SGIX_shadow 1 
     8556 
     8557#define GL_TEXTURE_COMPARE_SGIX 0x819A 
     8558#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B 
     8559#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C 
     8560#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D 
    71938561 
    71948562#define GLEW_SGIX_shadow GLEW_GET_VAR(__GLEW_SGIX_shadow) 
     
    77879155GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFPROC __glewPointParameterf; 
    77889156GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv; 
     9157GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIPROC __glewPointParameteri; 
     9158GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv; 
    77899159GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b; 
    77909160GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv; 
     
    78419211GLEW_FUN_EXPORT PFNGLUNMAPBUFFERPROC __glewUnmapBuffer; 
    78429212 
     9213GLEW_FUN_EXPORT PFNGLATTACHSHADERPROC __glewAttachShader; 
     9214GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation; 
     9215GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate; 
     9216GLEW_FUN_EXPORT PFNGLCOMPILESHADERPROC __glewCompileShader; 
     9217GLEW_FUN_EXPORT PFNGLCREATEPROGRAMPROC __glewCreateProgram; 
     9218GLEW_FUN_EXPORT PFNGLCREATESHADERPROC __glewCreateShader; 
     9219GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPROC __glewDeleteProgram; 
     9220GLEW_FUN_EXPORT PFNGLDELETESHADERPROC __glewDeleteShader; 
     9221GLEW_FUN_EXPORT PFNGLDETACHSHADERPROC __glewDetachShader; 
     9222GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray; 
     9223GLEW_FUN_EXPORT PFNGLDRAWBUFFERSPROC __glewDrawBuffers; 
     9224GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray; 
     9225GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib; 
     9226GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform; 
     9227GLEW_FUN_EXPORT PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders; 
     9228GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation; 
     9229GLEW_FUN_EXPORT PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog; 
     9230GLEW_FUN_EXPORT PFNGLGETPROGRAMIVPROC __glewGetProgramiv; 
     9231GLEW_FUN_EXPORT PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog; 
     9232GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEPROC __glewGetShaderSource; 
     9233GLEW_FUN_EXPORT PFNGLGETSHADERIVPROC __glewGetShaderiv; 
     9234GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation; 
     9235GLEW_FUN_EXPORT PFNGLGETUNIFORMFVPROC __glewGetUniformfv; 
     9236GLEW_FUN_EXPORT PFNGLGETUNIFORMIVPROC __glewGetUniformiv; 
     9237GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv; 
     9238GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv; 
     9239GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv; 
     9240GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv; 
     9241GLEW_FUN_EXPORT PFNGLISPROGRAMPROC __glewIsProgram; 
     9242GLEW_FUN_EXPORT PFNGLISSHADERPROC __glewIsShader; 
     9243GLEW_FUN_EXPORT PFNGLLINKPROGRAMPROC __glewLinkProgram; 
     9244GLEW_FUN_EXPORT PFNGLSHADERSOURCEPROC __glewShaderSource; 
     9245GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate; 
     9246GLEW_FUN_EXPORT PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate; 
     9247GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate; 
     9248GLEW_FUN_EXPORT PFNGLUNIFORM1FPROC __glewUniform1f; 
     9249GLEW_FUN_EXPORT PFNGLUNIFORM1FVPROC __glewUniform1fv; 
     9250GLEW_FUN_EXPORT PFNGLUNIFORM1IPROC __glewUniform1i; 
     9251GLEW_FUN_EXPORT PFNGLUNIFORM1IVPROC __glewUniform1iv; 
     9252GLEW_FUN_EXPORT PFNGLUNIFORM2FPROC __glewUniform2f; 
     9253GLEW_FUN_EXPORT PFNGLUNIFORM2FVPROC __glewUniform2fv; 
     9254GLEW_FUN_EXPORT PFNGLUNIFORM2IPROC __glewUniform2i; 
     9255GLEW_FUN_EXPORT PFNGLUNIFORM2IVPROC __glewUniform2iv; 
     9256GLEW_FUN_EXPORT PFNGLUNIFORM3FPROC __glewUniform3f; 
     9257GLEW_FUN_EXPORT PFNGLUNIFORM3FVPROC __glewUniform3fv; 
     9258GLEW_FUN_EXPORT PFNGLUNIFORM3IPROC __glewUniform3i; 
     9259GLEW_FUN_EXPORT PFNGLUNIFORM3IVPROC __glewUniform3iv; 
     9260GLEW_FUN_EXPORT PFNGLUNIFORM4FPROC __glewUniform4f; 
     9261GLEW_FUN_EXPORT PFNGLUNIFORM4FVPROC __glewUniform4fv; 
     9262GLEW_FUN_EXPORT PFNGLUNIFORM4IPROC __glewUniform4i; 
     9263GLEW_FUN_EXPORT PFNGLUNIFORM4IVPROC __glewUniform4iv; 
     9264GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv; 
     9265GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv; 
     9266GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv; 
     9267GLEW_FUN_EXPORT PFNGLUSEPROGRAMPROC __glewUseProgram; 
     9268GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPROC __glewValidateProgram; 
     9269GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d; 
     9270GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv; 
     9271GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f; 
     9272GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv; 
     9273GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s; 
     9274GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv; 
     9275GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d; 
     9276GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv; 
     9277GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f; 
     9278GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv; 
     9279GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s; 
     9280GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv; 
     9281GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d; 
     9282GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv; 
     9283GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f; 
     9284GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv; 
     9285GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s; 
     9286GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv; 
     9287GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv; 
     9288GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv; 
     9289GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv; 
     9290GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub; 
     9291GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv; 
     9292GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv; 
     9293GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv; 
     9294GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv; 
     9295GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d; 
     9296GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv; 
     9297GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f; 
     9298GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv; 
     9299GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv; 
     9300GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s; 
     9301GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv; 
     9302GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv; 
     9303GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv; 
     9304GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv; 
     9305GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer; 
     9306 
     9307GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv; 
     9308GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv; 
     9309GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv; 
     9310GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv; 
     9311GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv; 
     9312GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv; 
     9313 
    78439314GLEW_FUN_EXPORT PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX; 
    78449315 
     
    78579328GLEW_FUN_EXPORT PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE; 
    78589329GLEW_FUN_EXPORT PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE; 
     9330 
     9331GLEW_FUN_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE; 
     9332GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE; 
    78599333 
    78609334GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE; 
     
    80099483GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB; 
    80109484GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB; 
     9485 
     9486GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB; 
     9487GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB; 
     9488GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB; 
     9489GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB; 
    80119490 
    80129491GLEW_FUN_EXPORT PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB; 
     
    82079686GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI; 
    82089687 
     9688GLEW_FUN_EXPORT PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT; 
     9689GLEW_FUN_EXPORT PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT; 
     9690GLEW_FUN_EXPORT PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT; 
     9691 
    82099692GLEW_FUN_EXPORT PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT; 
    82109693 
     
    82489731 
    82499732GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT; 
     9733 
     9734GLEW_FUN_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT; 
     9735GLEW_FUN_EXPORT PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT; 
     9736GLEW_FUN_EXPORT PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT; 
     9737GLEW_FUN_EXPORT PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT; 
     9738GLEW_FUN_EXPORT PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT; 
     9739GLEW_FUN_EXPORT PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT; 
     9740 
     9741GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT; 
     9742GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT; 
    82509743 
    82519744GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT; 
     
    82769769GLEW_FUN_EXPORT PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT; 
    82779770 
     9771GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT; 
     9772 
     9773GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT; 
     9774 
     9775GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT; 
     9776GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT; 
     9777GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT; 
     9778GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT; 
     9779GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT; 
     9780GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT; 
     9781GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT; 
     9782GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT; 
     9783GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT; 
     9784GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT; 
     9785GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT; 
     9786GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT; 
     9787GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT; 
     9788GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT; 
     9789GLEW_FUN_EXPORT PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT; 
     9790GLEW_FUN_EXPORT PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT; 
     9791GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT; 
     9792 
     9793GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT; 
     9794GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT; 
     9795GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT; 
     9796GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT; 
     9797 
     9798GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT; 
     9799GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT; 
     9800 
     9801GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT; 
     9802GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT; 
     9803GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT; 
     9804GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT; 
     9805GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT; 
     9806GLEW_FUN_EXPORT PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT; 
     9807GLEW_FUN_EXPORT PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT; 
     9808GLEW_FUN_EXPORT PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT; 
     9809GLEW_FUN_EXPORT PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT; 
     9810GLEW_FUN_EXPORT PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT; 
     9811GLEW_FUN_EXPORT PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT; 
     9812GLEW_FUN_EXPORT PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT; 
     9813GLEW_FUN_EXPORT PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT; 
     9814GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT; 
     9815GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT; 
     9816GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT; 
     9817GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT; 
     9818GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT; 
     9819GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT; 
     9820GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT; 
     9821GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT; 
     9822GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT; 
     9823GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT; 
     9824GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT; 
     9825GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT; 
     9826GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT; 
     9827GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT; 
     9828GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT; 
     9829GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT; 
     9830GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT; 
     9831GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT; 
     9832GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT; 
     9833GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT; 
     9834GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT; 
     9835 
    82789836GLEW_FUN_EXPORT PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT; 
    82799837GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT; 
     
    83479905GLEW_FUN_EXPORT PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT; 
    83489906 
     9907GLEW_FUN_EXPORT PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT; 
     9908 
     9909GLEW_FUN_EXPORT PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT; 
     9910GLEW_FUN_EXPORT PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT; 
     9911GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT; 
     9912GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT; 
     9913GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT; 
     9914GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT; 
     9915 
    83499916GLEW_FUN_EXPORT PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT; 
    83509917GLEW_FUN_EXPORT PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT; 
     
    83559922 
    83569923GLEW_FUN_EXPORT PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT; 
     9924 
     9925GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT; 
     9926GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT; 
    83579927 
    83589928GLEW_FUN_EXPORT PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT; 
     
    84139983GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT; 
    84149984 
     9985GLEW_FUN_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY; 
     9986 
     9987GLEW_FUN_EXPORT PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY; 
     9988 
    84159989GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP; 
    84169990GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP; 
     
    847310047GLEW_FUN_EXPORT PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA; 
    847410048 
     10049GLEW_FUN_EXPORT PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV; 
     10050GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV; 
     10051GLEW_FUN_EXPORT PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV; 
     10052 
    847510053GLEW_FUN_EXPORT PFNGLEVALMAPSNVPROC __glewEvalMapsNV; 
    847610054GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV; 
     
    849710075GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV; 
    849810076GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV; 
     10077 
     10078GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV; 
     10079 
     10080GLEW_FUN_EXPORT PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV; 
     10081 
     10082GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV; 
     10083GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV; 
     10084GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV; 
     10085GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV; 
     10086GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV; 
     10087GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV; 
     10088GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV; 
     10089GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV; 
     10090GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV; 
     10091GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV; 
     10092GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV; 
     10093GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV; 
    849910094 
    850010095GLEW_FUN_EXPORT PFNGLCOLOR3HNVPROC __glewColor3hNV; 
     
    855310148GLEW_FUN_EXPORT PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV; 
    855410149 
     10150GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV; 
     10151GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV; 
     10152GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV; 
     10153 
    855510154GLEW_FUN_EXPORT PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV; 
    855610155GLEW_FUN_EXPORT PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV; 
     
    857810177GLEW_FUN_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV; 
    857910178GLEW_FUN_EXPORT PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV; 
     10179 
     10180GLEW_FUN_EXPORT PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV; 
     10181GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV; 
     10182GLEW_FUN_EXPORT PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV; 
     10183GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV; 
     10184GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV; 
     10185GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV; 
     10186GLEW_FUN_EXPORT PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV; 
     10187GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV; 
     10188GLEW_FUN_EXPORT PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV; 
     10189GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV; 
     10190GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV; 
    858010191 
    858110192GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV; 
     
    864710258GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV; 
    864810259 
     10260GLEW_FUN_EXPORT PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES; 
     10261GLEW_FUN_EXPORT PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES; 
     10262GLEW_FUN_EXPORT PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES; 
     10263GLEW_FUN_EXPORT PFNGLFRUSTUMFOESPROC __glewFrustumfOES; 
     10264GLEW_FUN_EXPORT PFNGLGETCLIPPLANEFOESPROC __glewGetClipPlanefOES; 
     10265GLEW_FUN_EXPORT PFNGLORTHOFOESPROC __glewOrthofOES; 
     10266 
    864910267GLEW_FUN_EXPORT PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS; 
    865010268GLEW_FUN_EXPORT PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS; 
     
    879010408GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_5; 
    879110409GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_0; 
     10410GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_1; 
    879210411GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_multisample; 
    879310412GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_tbuffer; 
     
    879710416GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_fence; 
    879810417GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_float_pixels; 
     10418GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_flush_buffer_range; 
     10419GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_pixel_buffer; 
    879910420GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_specular_vector; 
    880010421GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_range; 
     
    881510436GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multitexture; 
    881610437GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query; 
     10438GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pixel_buffer_object; 
    881710439GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_parameters; 
    881810440GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_sprite; 
     
    884910471GLEW_VAR_EXPORT GLboolean __GLEW_ATI_pn_triangles; 
    885010472GLEW_VAR_EXPORT GLboolean __GLEW_ATI_separate_stencil; 
     10473GLEW_VAR_EXPORT GLboolean __GLEW_ATI_shader_texture_lod; 
    885110474GLEW_VAR_EXPORT GLboolean __GLEW_ATI_text_fragment_shader; 
    885210475GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_compression_3dc; 
     
    886110484GLEW_VAR_EXPORT GLboolean __GLEW_EXT_abgr; 
    886210485GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bgra; 
     10486GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bindable_uniform; 
    886310487GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_color; 
    886410488GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_equation_separate; 
     
    887610500GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cull_vertex; 
    887710501GLEW_VAR_EXPORT GLboolean __GLEW_EXT_depth_bounds_test; 
     10502GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers2; 
     10503GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_instanced; 
    887810504GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_range_elements; 
    887910505GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fog_coord; 
    888010506GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fragment_lighting; 
     10507GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_blit; 
     10508GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample; 
     10509GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_object; 
     10510GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_sRGB; 
     10511GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_shader4; 
     10512GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_program_parameters; 
     10513GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_shader4; 
    888110514GLEW_VAR_EXPORT GLboolean __GLEW_EXT_histogram; 
    888210515GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_array_formats; 
     
    888810521GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multi_draw_arrays; 
    888910522GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisample; 
     10523GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_depth_stencil; 
     10524GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_float; 
    889010525GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_pixels; 
    889110526GLEW_VAR_EXPORT GLboolean __GLEW_EXT_paletted_texture; 
     
    890110536GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shadow_funcs; 
    890210537GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shared_texture_palette; 
     10538GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_clear_tag; 
    890310539GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_two_side; 
    890410540GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_wrap; 
     
    890610542GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture; 
    890710543GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture3D; 
     10544GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_array; 
     10545GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_buffer_object; 
    890810546GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_dxt1; 
     10547GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_latc; 
     10548GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_rgtc; 
    890910549GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_s3tc; 
    891010550GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_cube_map; 
     
    891510555GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_dot3; 
    891610556GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_filter_anisotropic; 
     10557GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_integer; 
    891710558GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_lod_bias; 
    891810559GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_mirror_clamp; 
     
    892010561GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_perturb_normal; 
    892110562GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_rectangle; 
     10563GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB; 
     10564GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_shared_exponent; 
     10565GLEW_VAR_EXPORT GLboolean __GLEW_EXT_timer_query; 
    892210566GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array; 
    892310567GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_shader; 
    892410568GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_weighting; 
     10569GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_frame_terminator; 
     10570GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_string_marker; 
    892510571GLEW_VAR_EXPORT GLboolean __GLEW_HP_convolution_border_modes; 
    892610572GLEW_VAR_EXPORT GLboolean __GLEW_HP_image_transform; 
     
    893810584GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_texture_scissor; 
    893910585GLEW_VAR_EXPORT GLboolean __GLEW_KTX_buffer_region; 
     10586GLEW_VAR_EXPORT GLboolean __GLEW_MESAX_texture_stack; 
    894010587GLEW_VAR_EXPORT GLboolean __GLEW_MESA_pack_invert; 
    894110588GLEW_VAR_EXPORT GLboolean __GLEW_MESA_resize_buffers; 
     
    894410591GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_square; 
    894510592GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_depth_to_color; 
     10593GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_buffer_float; 
    894610594GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_clamp; 
     10595GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_range_unclamped; 
    894710596GLEW_VAR_EXPORT GLboolean __GLEW_NV_evaluators; 
    894810597GLEW_VAR_EXPORT GLboolean __GLEW_NV_fence; 
     
    895110600GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program; 
    895210601GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program2; 
     10602GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program4; 
    895310603GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program_option; 
     10604GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_multisample_coverage; 
     10605GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_program4; 
     10606GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader4; 
     10607GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program4; 
    895410608GLEW_VAR_EXPORT GLboolean __GLEW_NV_half_float; 
    895510609GLEW_VAR_EXPORT GLboolean __GLEW_NV_light_max_exponent; 
     
    895710611GLEW_VAR_EXPORT GLboolean __GLEW_NV_occlusion_query; 
    895810612GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_depth_stencil; 
     10613GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object; 
    895910614GLEW_VAR_EXPORT GLboolean __GLEW_NV_pixel_data_range; 
    896010615GLEW_VAR_EXPORT GLboolean __GLEW_NV_point_sprite; 
     
    897110626GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader2; 
    897210627GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader3; 
     10628GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback; 
    897310629GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range; 
    897410630GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range2; 
     
    897810634GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2_option; 
    897910635GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program3; 
     10636GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program4; 
     10637GLEW_VAR_EXPORT GLboolean __GLEW_OES_byte_coordinates; 
     10638GLEW_VAR_EXPORT GLboolean __GLEW_OES_compressed_paletted_texture; 
     10639GLEW_VAR_EXPORT GLboolean __GLEW_OES_read_format; 
     10640GLEW_VAR_EXPORT GLboolean __GLEW_OES_single_precision; 
    898010641GLEW_VAR_EXPORT GLboolean __GLEW_OML_interlace; 
    898110642GLEW_VAR_EXPORT GLboolean __GLEW_OML_resample; 
     
    905910720/* string codes */ 
    906010721#define GLEW_VERSION 1 
     10722#define GLEW_VERSION_MAJOR 2 
     10723#define GLEW_VERSION_MINOR 3 
     10724#define GLEW_VERSION_MICRO 4 
    906110725 
    906210726/* API */ 
     
    906510729typedef struct GLEWContextStruct GLEWContext; 
    906610730GLEWAPI GLenum glewContextInit (GLEWContext* ctx); 
    9067  
     10731GLEWAPI GLboolean glewContextIsSupported (GLEWContext* ctx, const char* name); 
     10732 
     10733#define glewInit() glewContextInit(glewGetContext()) 
     10734#define glewIsSupported(x) glewContextIsSupported(glewGetContext(), x) 
     10735#define glewIsExtensionSupported(x) glewIsSupported(x) 
     10736 
     10737#define GLEW_GET_VAR(x) (*(const GLboolean*)&(glewGetContext()->x)) 
    906810738#ifdef _WIN32 
    9069 #  define GLEW_GET_VAR(x) glewGetContext()->x 
    907010739#  define GLEW_GET_FUN(x) glewGetContext()->x 
    907110740#else 
    9072 #  define GLEW_GET_VAR(x) glewGetContext()->x 
    907310741#  define GLEW_GET_FUN(x) x 
    907410742#endif 
     
    907710745 
    907810746GLEWAPI GLenum glewInit (); 
    9079  
    9080 #define GLEW_GET_VAR(x) x 
     10747GLEWAPI GLboolean glewIsSupported (const char* name); 
     10748#define glewIsExtensionSupported(x) glewIsSupported(x) 
     10749 
     10750#define GLEW_GET_VAR(x) (*(const GLboolean*)&x) 
    908110751#define GLEW_GET_FUN(x) x 
    908210752 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/libs/GL/wglew.h

    r2642 r2809  
    11/* 
    22** The OpenGL Extension Wrangler Library 
    3 ** Copyright (C) 2004, 2003, 2002, Milan Ikits <milan ikits[at]ieee org> 
    4 ** Copyright (C) 2004, 2003, 2002, Marcelo E. Magallon <mmagallo[at]debian org> 
     3** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org> 
     4** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org> 
    55** Copyright (C) 2002, Lev Povalahev 
    66** All rights reserved. 
     
    3131 
    3232/* 
    33 ** License Applicability. Except to the extent portions of this file are 
    34 ** made subject to an alternative license as permitted in the SGI Free 
    35 ** Software License B, Version 1.1 (the "License"), the contents of this 
    36 ** file are subject only to the provisions of the License. You may not use 
    37 ** this file except in compliance with the License. You may obtain a copy 
    38 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 
    39 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: 
     33** Copyright (c) 2007 The Khronos Group Inc. 
    4034**  
    41 ** http://oss.sgi.com/projects/FreeB 
     35** Permission is hereby granted, free of charge, to any person obtaining a 
     36** copy of this software and/or associated documentation files (the 
     37** "Materials"), to deal in the Materials without restriction, including 
     38** without limitation the rights to use, copy, modify, merge, publish, 
     39** distribute, sublicense, and/or sell copies of the Materials, and to 
     40** permit persons to whom the Materials are furnished to do so, subject to 
     41** the following conditions: 
    4242**  
    43 ** Note that, as provided in the License, the Software is distributed on an 
    44 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS 
    45 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND 
    46 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A 
    47 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. 
     43** The above copyright notice and this permission notice shall be included 
     44** in all copies or substantial portions of the Materials. 
    4845**  
    49 ** Original Code. The Original Code is: OpenGL Sample Implementation, 
    50 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, 
    51 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. 
    52 ** Copyright in any portions created by third parties is as indicated 
    53 ** elsewhere herein. All Rights Reserved. 
    54 **  
    55 ** Additional Notice Provisions: This software was created using the 
    56 ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has 
    57 ** not been independently verified as being compliant with the OpenGL(R) 
    58 ** version 1.2.1 Specification. 
     46** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
     47** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
     48** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
     49** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
     50** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
     51** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
     52** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 
    5953*/ 
    6054 
     
    7064 
    7165#if !defined(APIENTRY) && !defined(__CYGWIN__) 
    72 #define WIN32_LEAN_AND_MEAN 1 
     66#  ifndef WIN32_LEAN_AND_MEAN 
     67#    define WIN32_LEAN_AND_MEAN 1 
     68#  endif 
    7369#include <windows.h> 
    7470#endif 
     
    104100#endif /* WGL_3DFX_multisample */ 
    105101 
     102/* ------------------------- WGL_3DL_stereo_control ------------------------ */ 
     103 
     104#ifndef WGL_3DL_stereo_control 
     105#define WGL_3DL_stereo_control 1 
     106 
     107#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055 
     108#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056 
     109#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057 
     110#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058 
     111 
     112typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState); 
     113 
     114#define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL) 
     115 
     116#define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control) 
     117 
     118#endif /* WGL_3DL_stereo_control */ 
     119 
    106120/* ------------------------- WGL_ARB_buffer_region ------------------------- */ 
    107121 
     
    145159#ifndef WGL_ARB_make_current_read 
    146160#define WGL_ARB_make_current_read 1 
     161 
     162#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 
     163#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 
    147164 
    148165typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID); 
     
    342359#endif /* WGL_ATI_pixel_format_float */ 
    343360 
     361/* -------------------- WGL_ATI_render_texture_rectangle ------------------- */ 
     362 
     363#ifndef WGL_ATI_render_texture_rectangle 
     364#define WGL_ATI_render_texture_rectangle 1 
     365 
     366#define WGL_TEXTURE_RECTANGLE_ATI 0x21A5 
     367 
     368#define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle) 
     369 
     370#endif /* WGL_ATI_render_texture_rectangle */ 
     371 
    344372/* -------------------------- WGL_EXT_depth_float -------------------------- */ 
    345373 
     
    385413#endif /* WGL_EXT_extensions_string */ 
    386414 
     415/* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */ 
     416 
     417#ifndef WGL_EXT_framebuffer_sRGB 
     418#define WGL_EXT_framebuffer_sRGB 1 
     419 
     420#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9 
     421 
     422#define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB) 
     423 
     424#endif /* WGL_EXT_framebuffer_sRGB */ 
     425 
    387426/* ----------------------- WGL_EXT_make_current_read ----------------------- */ 
    388427 
    389428#ifndef WGL_EXT_make_current_read 
    390429#define WGL_EXT_make_current_read 1 
     430 
     431#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 
    391432 
    392433typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID); 
     
    508549#endif /* WGL_EXT_pixel_format */ 
    509550 
     551/* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */ 
     552 
     553#ifndef WGL_EXT_pixel_format_packed_float 
     554#define WGL_EXT_pixel_format_packed_float 1 
     555 
     556#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8 
     557 
     558#define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float) 
     559 
     560#endif /* WGL_EXT_pixel_format_packed_float */ 
     561 
    510562/* -------------------------- WGL_EXT_swap_control ------------------------- */ 
    511563 
     
    689741#endif /* WGL_NV_float_buffer */ 
    690742 
     743/* -------------------------- WGL_NV_gpu_affinity -------------------------- */ 
     744 
     745#ifndef WGL_NV_gpu_affinity 
     746#define WGL_NV_gpu_affinity 1 
     747 
     748#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0 
     749#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1 
     750 
     751DECLARE_HANDLE(HGPUNV); 
     752typedef struct _GPU_DEVICE { 
     753  DWORD cb;  
     754  CHAR DeviceName[32];  
     755  CHAR DeviceString[128];  
     756  DWORD Flags;  
     757  RECT rcVirtualScreen;  
     758} GPU_DEVICE, *PGPU_DEVICE; 
     759 
     760typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList); 
     761typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc); 
     762typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); 
     763typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu); 
     764typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu); 
     765 
     766#define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV) 
     767#define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV) 
     768#define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV) 
     769#define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV) 
     770#define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV) 
     771 
     772#define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity) 
     773 
     774#endif /* WGL_NV_gpu_affinity */ 
     775 
    691776/* ---------------------- WGL_NV_render_depth_texture ---------------------- */ 
    692777 
     
    768853{ 
    769854#endif /* GLEW_MX */ 
     855 
     856WGLEW_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL; 
    770857 
    771858WGLEW_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB; 
     
    852939WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D; 
    853940 
     941WGLEW_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV; 
     942WGLEW_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV; 
     943WGLEW_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV; 
     944WGLEW_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV; 
     945WGLEW_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV; 
     946 
    854947WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV; 
    855948WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV; 
     
    862955WGLEW_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML; 
    863956WGLEW_EXPORT GLboolean __WGLEW_3DFX_multisample; 
     957WGLEW_EXPORT GLboolean __WGLEW_3DL_stereo_control; 
    864958WGLEW_EXPORT GLboolean __WGLEW_ARB_buffer_region; 
    865959WGLEW_EXPORT GLboolean __WGLEW_ARB_extensions_string; 
     
    871965WGLEW_EXPORT GLboolean __WGLEW_ARB_render_texture; 
    872966WGLEW_EXPORT GLboolean __WGLEW_ATI_pixel_format_float; 
     967WGLEW_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle; 
    873968WGLEW_EXPORT GLboolean __WGLEW_EXT_depth_float; 
    874969WGLEW_EXPORT GLboolean __WGLEW_EXT_display_color_table; 
    875970WGLEW_EXPORT GLboolean __WGLEW_EXT_extensions_string; 
     971WGLEW_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB; 
    876972WGLEW_EXPORT GLboolean __WGLEW_EXT_make_current_read; 
    877973WGLEW_EXPORT GLboolean __WGLEW_EXT_multisample; 
    878974WGLEW_EXPORT GLboolean __WGLEW_EXT_pbuffer; 
    879975WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format; 
     976WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float; 
    880977WGLEW_EXPORT GLboolean __WGLEW_EXT_swap_control; 
    881978WGLEW_EXPORT GLboolean __WGLEW_I3D_digital_video_control; 
     
    886983WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage; 
    887984WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer; 
     985WGLEW_EXPORT GLboolean __WGLEW_NV_gpu_affinity; 
    888986WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture; 
    889987WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle; 
     
    901999typedef struct WGLEWContextStruct WGLEWContext; 
    9021000GLEWAPI GLenum wglewContextInit (WGLEWContext* ctx); 
    903  
    904 #define WGLEW_GET_VAR(x) wglewGetContext()->x 
     1001GLEWAPI GLboolean wglewContextIsSupported (WGLEWContext* ctx, const char* name); 
     1002 
     1003#define wglewInit() wglewContextInit(wglewGetContext()) 
     1004#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x) 
     1005 
     1006#define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x)) 
    9051007#define WGLEW_GET_FUN(x) wglewGetContext()->x 
    9061008 
    9071009#else /* GLEW_MX */ 
    9081010 
    909 #define WGLEW_GET_VAR(x) x 
     1011#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x) 
    9101012#define WGLEW_GET_FUN(x) x 
     1013 
     1014GLEWAPI GLboolean wglewIsSupported (const char* name); 
    9111015 
    9121016#endif /* GLEW_MX */ 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SceneQuery.cpp

    r2808 r2809  
    1212using namespace std; 
    1313 
    14 int texWidth = 2048; 
    15 int texHeight = 2048; 
     14static int texWidth = 2048; 
     15static int texHeight = 2048; 
    1616 
    17 /*static void cgErrorCallback() 
    18 { 
    19         CGerror lastError = cgGetError(); 
    20  
    21         if(lastError) 
    22         { 
    23                 printf("%s\n\n", cgGetErrorString(lastError)); 
    24                 printf("%s\n", cgGetLastListing(sCgContext)); 
    25                 printf("Cg error, exiting...\n"); 
    26  
    27                 exit(0); 
    28         } 
    29 }*/ 
    3017 
    3118 
     
    137124        cout << "Preparing scene queries" << endl; 
    138125 
    139         RenderTexture *depthTexture = new RenderTexture(texWidth, texHeight, true, true); 
    140  
    141 #ifdef ATI 
    142         depthTexture->Initialize(true, true, false, false, false, 8, 8, 8, 8, RenderTexture::RT_COPY_TO_TEXTURE); 
    143 #else 
    144         depthTexture->Initialize(true, true, false, false, false, 8, 8, 8, 8);//, RenderTexture::RT_COPY_TO_TEXTURE); 
    145 #endif 
    146  
    147         PrintGLerror("Init"); 
    148  
    149  
    150126        const float xlen = mSceneBox.Size().x * 0.5f; 
    151127        const float ylen = mSceneBox.Size().y * 0.5f; 
     
    160136        orthoCam->SetPosition(pos); 
    161137 
     138        RenderTexture *depthTexture = new RenderTexture(texWidth, texHeight, true, true); 
     139 
     140#ifdef ATI 
     141        depthTexture->Initialize(true, true, false, false, false, 8, 8, 8, 8, RenderTexture::RT_COPY_TO_TEXTURE); 
     142#else 
     143        depthTexture->Initialize(true, true, false, false, false, 8, 8, 8, 8);//, RenderTexture::RT_COPY_TO_TEXTURE); 
     144#endif 
     145 
     146        PrintGLerror("Init"); 
     147 
    162148        depthTexture->BeginCapture(); 
     149        { 
     150                glViewport(0, 0, texWidth, texHeight); 
    163151 
    164         glViewport(0, 0, texWidth, texHeight); 
     152                glClearColor(1, 1, 1, 1); 
     153                glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    165154 
    166         glClearColor(1, 1, 1, 1); 
    167         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
     155                glFrontFace(GL_CCW); 
     156                glCullFace(GL_BACK); 
    168157 
    169         glFrontFace(GL_CCW); 
    170         glCullFace(GL_BACK); 
     158                glEnable(GL_CULL_FACE); 
    171159 
    172         glDisable(GL_CULL_FACE); 
    173         //glEnable(GL_CULL_FACE); 
     160                glShadeModel(GL_FLAT); 
     161                glEnable(GL_DEPTH_TEST); 
    174162 
    175         glShadeModel(GL_FLAT); 
    176         glEnable(GL_DEPTH_TEST); 
     163                glMatrixMode(GL_PROJECTION); 
     164                glLoadIdentity(); 
    177165 
    178         glMatrixMode(GL_PROJECTION); 
    179         glLoadIdentity(); 
    180          
    181         glOrtho(-xlen, xlen, -ylen, ylen, 0.0f, mSceneBox.Size().z);  
    182          
    183         glMatrixMode(GL_MODELVIEW); 
    184          
    185         orthoCam->SetupCameraView(); 
     166                glOrtho(-xlen, xlen, -ylen, ylen, 0.0f, mSceneBox.Size().z);  
    186167 
    187         mDepth = new float[texHeight * texWidth]; 
     168                glMatrixMode(GL_MODELVIEW); 
    188169 
    189         //renderer->SetCamera(orthoCam); 
    190         renderer->RenderScene(); 
     170                orthoCam->SetupCameraView(); 
    191171 
     172                mDepth = new float[texHeight * texWidth]; 
     173 
     174                //renderer->SetCamera(orthoCam); 
     175                renderer->RenderScene(); 
     176        } 
    192177        depthTexture->EndCapture(); 
    193178 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/chcdemo.cpp

    r2808 r2809  
    2727 
    2828 
     29 
    2930using namespace std; 
    3031using namespace CHCDemoEngine; 
    3132 
    3233 
     34GLuint fbo; 
     35GLuint depthbuffer; 
     36GLuint colorbuffer; 
     37GLuint colorbuffer2; 
     38GLuint depthTex; 
     39GLuint colorTex; 
     40GLuint colorTex2; 
     41 
     42GLuint normalTex; 
     43 
     44GLuint fbo2; 
     45GLuint occlusionbuffer; 
     46GLuint occlusionTex; 
     47 
     48int texWidth2 = 512; 
     49int texHeight2 = 512; 
    3350 
    3451/// the renderable scene geometry 
     
    6582RenderQueue *renderQueue = NULL; 
    6683 
    67  
    6884/// these values get scaled with the frame rate 
    69 const float keyForwardMotion = 50.0f; 
    70 const float keyRotation = 2.0f; 
     85const static float keyForwardMotion = 50.0f; 
     86const static float keyRotation = 2.0f; 
     87 
    7188/// elapsed time in seconds 
    7289double elapsedTime = 1.0f; 
    7390double algTime = 1.0f; 
    7491 
    75 int winWidth = 1024; 
    76 int winHeight = 768; 
    77 float winAspectRatio = 1.0f; 
     92static int winWidth = 1024; 
     93static int winHeight = 768; 
     94static float winAspectRatio = 1.0f; 
    7895 
    7996double accumulatedTime = 1000; 
    8097float fps = 1e3f; 
     98 
     99float myfar = 0; 
     100 
     101// rendertexture 
     102const static int texWidth = 2048; 
     103const static int texHeight = 2048; 
    81104 
    82105int renderedObjects = 0; 
     
    98121 
    99122// mouse navigation state 
    100 int xEyeBegin, yEyeBegin, yMotionBegin = 0; 
    101 int verticalMotionBegin, horizontalMotionBegin = 0; 
     123int xEyeBegin = 0; 
     124int yEyeBegin = 0; 
     125int yMotionBegin = 0; 
     126int verticalMotionBegin = 0; 
     127int horizontalMotionBegin = 0; 
    102128 
    103129bool useOptimization = false; 
     
    119145 
    120146 
     147static Vector3 samples[32]; 
     148 
     149 
     150// function forward declarations 
    121151void InitExtensions(); 
    122152void DisplayVisualization(); 
    123153void InitGLstate(); 
     154void InitRenderTexture(); 
     155void InitCg(); 
    124156void CleanUp(); 
    125157void SetupEyeView(); 
     
    152184 
    153185void PlaceViewer(const Vector3 &oldPos); 
     186void DisplayRenderTexture(); 
    154187 
    155188 
     
    157190inline float KeyShift() { return keyForwardMotion * elapsedTime; } 
    158191 
     192void InitFBO(); 
     193 
     194void GenerateSamples(); 
     195 
     196void ComputeViewVectors(Vector3 &tl, Vector3 &tr, Vector3 &bl, Vector3 &br); 
     197 
     198GLenum mrt[] = {GL_COLOR_ATTACHMENT0_EXT, GL_COLOR_ATTACHMENT1_EXT}; 
     199 
    159200 
    160201// cg stuff 
    161202static CGcontext sCgContext = NULL; 
    162 static CGprogram sCgDepthPeelingProgram = NULL; 
    163 static CGprogram sCgPassThroughProgram = NULL; 
     203static CGprogram sCgLinearDepthProgram = NULL; 
     204static CGprogram sCgSSAOProgram = NULL; 
     205static CGprogram sCgTestProgram = NULL; 
    164206 
    165207static CGprofile sCgFragmentProfile; 
     208static CGprofile sCgVertexProfile;  
     209 
    166210static CGparameter sTextureParam; 
    167 static CGparameter sTexWidthParam;  
    168 static CGparameter sStepSizeParam; 
    169  
     211static CGparameter sSceneTextureParam; 
     212static CGparameter sNormalTextureParam; 
     213 
     214static CGparameter sTexSizeParam;  
     215static CGparameter sSamplesParam;  
     216static CGparameter sEyeVecParam;  
     217static CGparameter sRadiusParam;  
     218 
     219//static CGparameter sPositionParam; 
     220static CGparameter sModelViewMatrixParam;        
     221static CGparameter sMaxDepthParam; 
     222 
     223const static float radius = 1e-3f; 
     224 
     225 
     226static void cgErrorCallback() 
     227{ 
     228        CGerror lastError = cgGetError(); 
     229 
     230        if(lastError) 
     231        { 
     232                printf("%s\n\n", cgGetErrorString(lastError)); 
     233                printf("%s\n", cgGetLastListing(sCgContext)); 
     234                printf("Cg error, exiting...\n"); 
     235 
     236                exit(0); 
     237        } 
     238} 
     239 
     240 
     241static void PrintGLerror(char *msg) 
     242{ 
     243        GLenum errCode; 
     244        const GLubyte *errStr; 
     245         
     246        if ((errCode = glGetError()) != GL_NO_ERROR)  
     247        { 
     248                errStr = gluErrorString(errCode); 
     249                fprintf(stderr,"OpenGL ERROR: %s: %s\n", errStr, msg); 
     250        } 
     251} 
    170252 
    171253 
     
    202284        InitExtensions(); 
    203285        InitGLstate(); 
     286        //InitRenderTexture(); 
     287        InitFBO(); 
    204288 
    205289        LeftMotion(0, 0); 
     
    240324        //bvh = bvhLoader.Load("data/city/model/city.bvh", sceneEntities); 
    241325 
     326        myfar = 10.0f * Magnitude(bvh->GetBox().Diagonal()); 
     327 
    242328        if (!bvh) 
    243329        { 
     
    247333        } 
    248334 
     335        InitCg(); 
    249336 
    250337        bvh->SetCamera(camera); 
     
    266353 
    267354        return 0; 
     355} 
     356 
     357 
     358void InitCg(void)  
     359{ 
     360        GenerateSamples(); 
     361 
     362        // Setup Cg 
     363        cgSetErrorCallback(cgErrorCallback); 
     364 
     365        // Create cgContext. 
     366        sCgContext = cgCreateContext(); 
     367 
     368        // get the best profile for this hardware 
     369        sCgFragmentProfile = cgGLGetLatestProfile(CG_GL_FRAGMENT); 
     370        //assert(sCgFragmentProfile != CG_PROFILE_UNKNOWN); 
     371        cgGLSetOptimalOptions(sCgFragmentProfile); 
     372 
     373        sCgVertexProfile = cgGLGetLatestProfile(CG_GL_VERTEX); 
     374        cgGLSetOptimalOptions(sCgVertexProfile); 
     375 
     376        sCgLinearDepthProgram =  
     377                cgCreateProgramFromFile(sCgContext,  
     378                                                                CG_SOURCE, 
     379                                                                "src/lineardepth.cg",  
     380                                                                sCgVertexProfile, 
     381                                                                "main", 
     382                                                                NULL); 
     383 
     384        if(sCgLinearDepthProgram != NULL) 
     385        { 
     386                cgGLLoadProgram(sCgLinearDepthProgram); 
     387         
     388                sModelViewMatrixParam = cgGetNamedParameter(sCgLinearDepthProgram, "ModelViewProj"); 
     389        } 
     390 
     391        sCgTestProgram =  
     392                cgCreateProgramFromFile(sCgContext,  
     393                                                                CG_SOURCE, 
     394                                                                "src/test2.cg",  
     395                                                                sCgFragmentProfile, 
     396                                                                "main", 
     397                                                                NULL); 
     398 
     399        if(sCgTestProgram != NULL) 
     400        { 
     401                cgGLLoadProgram(sCgTestProgram); 
     402 
     403                sMaxDepthParam = cgGetNamedParameter(sCgTestProgram, "maxDepth"); 
     404                cgGLSetParameter1f(sMaxDepthParam, 1.0f / myfar); 
     405        } 
     406        else 
     407                cerr << "test program failed to load" << endl; 
     408 
     409        PrintGLerror("test"); 
     410 
     411 
     412        /////////////// 
     413 
     414        sCgSSAOProgram =  
     415                cgCreateProgramFromFile(sCgContext,  
     416                                                                CG_SOURCE, 
     417                                                                "src/ssao.cg",  
     418                                                                //"src/test.cg",  
     419                                                                sCgFragmentProfile, 
     420                                                                NULL, 
     421                                                                NULL); 
     422 
     423        if(sCgSSAOProgram != NULL) 
     424        { 
     425                cgGLLoadProgram(sCgSSAOProgram); 
     426 
     427                // we need size of texture for scaling 
     428                sTextureParam = cgGetNamedParameter(sCgSSAOProgram, "lindepth");   
     429                sSceneTextureParam = cgGetNamedParameter(sCgSSAOProgram, "scene");   
     430                sNormalTextureParam = cgGetNamedParameter(sCgSSAOProgram, "normal");   
     431                sTexSizeParam = cgGetNamedParameter(sCgSSAOProgram, "invTexSize"); 
     432                sRadiusParam = cgGetNamedParameter(sCgSSAOProgram, "radius"); 
     433                sEyeVecParam = cgGetNamedParameter(sCgSSAOProgram, "eyevec"); 
     434                sSamplesParam = cgGetNamedParameter(sCgSSAOProgram, "samples"); 
     435 
     436                cgGLSetParameter1f(sTexSizeParam, 1.0f / (float)texWidth); 
     437                cgGLSetParameter1f(sRadiusParam, radius); 
     438                cgGLSetParameterArray3f(sSamplesParam, 0, 32, (const float *)samples); 
     439        } 
     440        else 
     441                cerr << "ssao program failed to load" << endl; 
     442 
     443        PrintGLerror("init"); 
     444} 
     445 
     446 
     447void PrintFBOStatus(GLenum status) 
     448{ 
     449        switch(status) 
     450        { 
     451        case GL_FRAMEBUFFER_COMPLETE_EXT: 
     452                cout << "frame buffer object created successfully" << endl; 
     453                break; 
     454        case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT: 
     455                cerr << "incomplete attachment" << endl; 
     456                break; 
     457        case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT: 
     458                cerr << "missing attachment" << endl; 
     459                break; 
     460        case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT: 
     461                cerr << "incomplete dimensions" << endl; 
     462                break; 
     463        case GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT: 
     464                cerr << "incomplete formats" << endl; 
     465                break; 
     466        case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT: 
     467                cerr << "incomplete draw buffer" << endl; 
     468                break; 
     469        case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT: 
     470                cerr << "incomplete read buffer" << endl; 
     471                break; 
     472        case GL_FRAMEBUFFER_UNSUPPORTED_EXT: 
     473                cerr << "framebuffer unsupported" << endl; 
     474                break; 
     475        default: 
     476                cerr << "unknown status code " << status << endl; 
     477        } 
     478} 
     479 
     480 
     481void InitFBO() 
     482{        
     483        glGenFramebuffersEXT(1, &fbo); 
     484        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo); 
     485 
     486        // create color buffer 
     487        int samples = 8; 
     488 
     489        glGenRenderbuffersEXT(1, &colorbuffer); 
     490        //glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGBA16F_ARB, texWidth, texHeight); 
     491        glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples, GL_FLOAT_RGBA_NV, texWidth, texHeight); 
     492        glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, colorbuffer); 
     493        glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_RENDERBUFFER_EXT, colorbuffer); 
     494 
     495        glGenTextures(1, &colorTex); 
     496        glBindTexture(GL_TEXTURE_2D, colorTex); 
     497        glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F_ARB,  texWidth, texHeight, 0, GL_RGBA, GL_FLOAT, NULL); 
     498        glGenerateMipmapEXT(GL_TEXTURE_2D); 
     499        glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, colorTex, 0); 
     500 
     501        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
     502        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); 
     503 
     504        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); 
     505        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 
     506 
     507        PrintFBOStatus(glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)); 
     508 
     509 
     510        glGenRenderbuffersEXT(1, &colorbuffer2); 
     511        glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGBA16F_ARB, texWidth, texHeight); 
     512        glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, colorbuffer2); 
     513        glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT1_EXT, GL_RENDERBUFFER_EXT, colorbuffer2); 
     514 
     515        glGenTextures(1, &colorTex2); 
     516        glBindTexture(GL_TEXTURE_2D, colorTex2); 
     517        glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F_ARB,  texWidth, texHeight, 0, GL_RGBA, GL_FLOAT, NULL); 
     518        glGenerateMipmapEXT(GL_TEXTURE_2D); 
     519        glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT1_EXT, GL_TEXTURE_2D, colorTex2, 0); 
     520 
     521        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
     522        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); 
     523 
     524        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); 
     525        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 
     526 
     527        PrintFBOStatus(glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)); 
     528 
     529        /////////// 
     530        // create depth buffer 
     531 
     532        glGenRenderbuffersEXT(1, &depthbuffer);  
     533        glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, depthbuffer); 
     534        glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, texWidth, texHeight); 
     535        glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, depthbuffer); 
     536 
     537         
     538        PrintFBOStatus(glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)); 
     539         
     540        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); 
     541 
     542 
     543        //////////////// 
     544        //-- second fbo 
     545 
     546        /*glGenFramebuffersEXT(1, &fbo2); 
     547        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo2); 
     548 
     549        // create color buffer 
     550        glGenRenderbuffersEXT(1, &occlusionbuffer); 
     551        //glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_RGBA16F_ARB, texWidth, texHeight); 
     552        glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples, GL_FLOAT_RGBA_NV, texWidth2, texHeight2); 
     553        glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, occlusionbuffer); 
     554        glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_RENDERBUFFER_EXT, occlusionbuffer); 
     555 
     556        glGenTextures(1, &occlusionTex); 
     557        glBindTexture(GL_TEXTURE_2D, occlusionTex); 
     558        glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F_ARB,  texWidth2, texHeight2, 0, GL_RGBA, GL_FLOAT, NULL); 
     559        glGenerateMipmapEXT(GL_TEXTURE_2D); 
     560        glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, colorTex, 0); 
     561 
     562        PrintFBOStatus(glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)); 
     563 
     564        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);*/ 
    268565} 
    269566 
     
    470767        glLoadIdentity(); 
    471768 
    472         gluPerspective(fov, 1.0f / winAspectRatio, nearDist, 10.0f * Magnitude(bvh->GetBox().Diagonal())); 
     769        gluPerspective(fov, 1.0f / winAspectRatio, nearDist, myfar); 
    473770 
    474771        glMatrixMode(GL_MODELVIEW); 
     
    535832        algTimer.Start(); 
    536833 
     834        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo); 
     835         
     836        glPushAttrib(GL_VIEWPORT_BIT); 
     837        glViewport(0, 0, texWidth, texHeight); 
     838 
     839        cgGLEnableProfile(sCgFragmentProfile); 
     840        cgGLBindProgram(sCgTestProgram); 
     841 
     842        cgGLEnableProfile(sCgVertexProfile); 
     843        cgGLBindProgram(sCgLinearDepthProgram); 
     844 
     845        glDrawBuffers(2, mrt); 
     846         
    537847        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    538848 
     
    556866        SetupEyeView(); 
    557867 
     868        Vector3 dir =  camera->GetDirection(); 
     869        cgGLSetParameter3f(sEyeVecParam, dir.x, dir.y, dir.z); 
     870 
     871        // set modelview matrix for shaders 
     872        cgGLSetStateMatrixParameter(sModelViewMatrixParam, CG_GL_MODELVIEW_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY); 
     873        cgGLEnableProfile(sCgVertexProfile); 
     874 
    558875        // actually render the scene geometry using one of the specified algorithms 
    559876        traverser->RenderScene(); 
     
    561878 
    562879        ////// 
    563         //-- other rendering 
     880        //-- do the rest of the rendering 
    564881 
    565882        glEnableClientState(GL_VERTEX_ARRAY); 
     
    583900        glDisableClientState(GL_VERTEX_ARRAY); 
    584901        glDisableClientState(GL_NORMAL_ARRAY); 
     902         
     903         
     904        cgGLDisableProfile(sCgVertexProfile); 
     905        cgGLDisableProfile(sCgFragmentProfile); 
     906 
     907        glPopAttrib(); 
     908         
     909        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); 
     910 
     911        DisplayRenderTexture(); 
    585912 
    586913        if (useGlFinish) glFinish(); 
     
    8361163        glLoadIdentity(); 
    8371164 
    838         gluPerspective(fov, 1.0f / winAspectRatio, nearDist, 10.0f * Magnitude(bvh->GetBox().Diagonal())); 
     1165        gluPerspective(fov, 1.0f / winAspectRatio, nearDist, myfar); 
    8391166 
    8401167        glMatrixMode(GL_MODELVIEW); 
     
    10711398        DEL_PTR(loader); 
    10721399        DEL_PTR(renderQueue); 
     1400 
     1401        if (sCgLinearDepthProgram) 
     1402                cgDestroyProgram(sCgLinearDepthProgram); 
     1403        if (sCgSSAOProgram) 
     1404                cgDestroyProgram(sCgSSAOProgram); 
     1405        if (sCgContext) 
     1406                cgDestroyContext(sCgContext); 
    10731407} 
    10741408 
     
    12321566        } 
    12331567} 
     1568 
     1569 
     1570void DisplayRenderTexture2() 
     1571{ 
     1572        glEnable(GL_TEXTURE_2D); 
     1573        glBindTexture(GL_TEXTURE_2D, occlusionTex); 
     1574 
     1575        glDisable(GL_LIGHTING); 
     1576 
     1577        glMatrixMode(GL_PROJECTION); 
     1578        glPushMatrix(); 
     1579        glLoadIdentity(); 
     1580 
     1581        glMatrixMode(GL_MODELVIEW); 
     1582        glPushMatrix(); 
     1583        glLoadIdentity(); 
     1584         
     1585        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo2); 
     1586        glPushAttrib(GL_VIEWPORT_BIT); 
     1587        glViewport(0, 0, texWidth2, texHeight2); 
     1588 
     1589        glOrtho(-0.5f, 0.5f, -0.5f, 0.5f, 0, 1); 
     1590 
     1591        //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
     1592        //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
     1593         
     1594        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
     1595 
     1596        glColor3f(1.0f, 1.0f, 1.0f); 
     1597 
     1598        glBegin(GL_QUADS); 
     1599        glTexCoord2f(0, 0); glVertex3f(-1, -1, -0.5f); 
     1600        glTexCoord2f(1, 0); glVertex3f( 1, -1, -0.5f); 
     1601        glTexCoord2f(1, 1); glVertex3f( 1,  1, -0.5f); 
     1602        glTexCoord2f(0, 1); glVertex3f(-1,  1, -0.5f); 
     1603        glEnd(); 
     1604 
     1605        glEnable(GL_LIGHTING); 
     1606        glDisable(GL_TEXTURE_2D); 
     1607         
     1608        glMatrixMode(GL_PROJECTION); 
     1609        glPopMatrix(); 
     1610 
     1611        glMatrixMode(GL_MODELVIEW); 
     1612        glPopMatrix(); 
     1613 
     1614        glPopAttrib(); 
     1615        glBindTexture(GL_TEXTURE_2D, 0); 
     1616 
     1617        PrintGLerror("displaytexture2"); 
     1618} 
     1619 
     1620void DisplayRenderTexture() 
     1621{ 
     1622        glDisable(GL_TEXTURE_2D); 
     1623        glDisable(GL_LIGHTING); 
     1624 
     1625        glMatrixMode(GL_PROJECTION); 
     1626        glPushMatrix(); 
     1627        glLoadIdentity(); 
     1628 
     1629        glMatrixMode(GL_MODELVIEW); 
     1630        glPushMatrix(); 
     1631        glLoadIdentity(); 
     1632         
     1633        /*glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo2); 
     1634        glPushAttrib(GL_VIEWPORT_BIT); 
     1635        glViewport(0, 0, texWidth2, texHeight2); 
     1636*/ 
     1637        glOrtho(-0.5f, 0.5f, -0.5f, 0.5f, 0, 1); 
     1638         
     1639        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
     1640 
     1641        cgGLEnableProfile(sCgFragmentProfile); 
     1642        cgGLBindProgram(sCgSSAOProgram); 
     1643 
     1644        cgGLEnableTextureParameter(sTextureParam); 
     1645        cgGLSetTextureParameter(sTextureParam, colorTex2); 
     1646         
     1647        cgGLEnableTextureParameter(sSceneTextureParam); 
     1648        cgGLSetTextureParameter(sSceneTextureParam, colorTex); 
     1649         
     1650        cgGLEnableTextureParameter(sNormalTextureParam); 
     1651        cgGLSetTextureParameter(sNormalTextureParam, normalTex); 
     1652 
     1653        Vector3 tl, tr, bl, br; 
     1654        ComputeViewVectors(tl, tr, bl, br); 
     1655 
     1656        glColor3f(1.0f, 1.0f, 1.0f); 
     1657 
     1658        glBegin(GL_QUADS); 
     1659#if 1 
     1660        glColor3f(bl.x, bl.y, bl.z); glTexCoord2f(0, 0); glVertex3f(-1, -1, -0.5f); 
     1661        glColor3f(br.x, br.y, br.z); glTexCoord2f(1, 0); glVertex3f( 1, -1, -0.5f); 
     1662        glColor3f(tr.x, tr.y, tr.z); glTexCoord2f(1, 1); glVertex3f( 1,  1, -0.5f); 
     1663        glColor3f(tl.x, tl.y, tl.z); glTexCoord2f(0, 1); glVertex3f(-1,  1, -0.5f); 
     1664#else 
     1665        glTexCoord2f(0, 0); glVertex3f(-1, -1, -0.5f); 
     1666        glTexCoord2f(1, 0); glVertex3f( 1, -1, -0.5f); 
     1667        glTexCoord2f(1, 1); glVertex3f( 1,  1, -0.5f); 
     1668        glTexCoord2f(0, 1); glVertex3f(-1,  1, -0.5f); 
     1669#endif 
     1670        glEnd(); 
     1671 
     1672        cgGLDisableTextureParameter(sTextureParam); 
     1673        cgGLDisableTextureParameter(sSceneTextureParam); 
     1674        cgGLDisableProfile(sCgFragmentProfile); 
     1675         
     1676        glEnable(GL_LIGHTING); 
     1677        glDisable(GL_TEXTURE_2D); 
     1678         
     1679        glMatrixMode(GL_PROJECTION); 
     1680        glPopMatrix(); 
     1681 
     1682        glMatrixMode(GL_MODELVIEW); 
     1683        glPopMatrix(); 
     1684 
     1685        //glPopAttrib(); 
     1686        //glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo2); 
     1687 
     1688        PrintGLerror("displaytexture"); 
     1689        //DisplayRenderTexture2(); 
     1690} 
     1691 
     1692 
     1693 
     1694void GenerateSamples() 
     1695{ 
     1696        // fill an n * n * 2 array with uniformly distributed spherical samples 
     1697        for (int i = 0; i < 32; ++ i) 
     1698        { 
     1699                // create stratified samples over sphere 
     1700                const float rx = RandomValue(0, 1); 
     1701                const float ry = RandomValue(0, 1); 
     1702                //const float l = RandomValue(0, 1); 
     1703 
     1704                const float theta = 2.0f * acos(sqrt(1.0f - rx)); 
     1705                const float phi = 2.0f * M_PI * ry; 
     1706 
     1707                samples[i] = Vector3(sin(theta) * cos(phi), sin(theta) * sin(phi), cos(theta)); 
     1708                cout << samples[i] << endl; 
     1709        } 
     1710} 
     1711 
     1712 
     1713void ComputeViewVectors(Vector3 &tl, Vector3 &tr, Vector3 &bl, Vector3 &br) 
     1714{ 
     1715        float myfov = fov * M_PI / 180.0f; 
     1716        const float h_far = 2.0f * tan(myfov / 2.0f); 
     1717        const float w_far = h_far * texWidth / texHeight; 
     1718 
     1719        float t1 = h_far * 0.5f; 
     1720        float t2 = w_far * 0.5f; 
     1721 
     1722        bl = Normalize(Vector3(-t1, -t2, 1.0f)); 
     1723        br = Normalize(Vector3( t1, -t2, 1.0f)); 
     1724        tl = Normalize(Vector3(-t1,  t2, 1.0f)); 
     1725        tr = Normalize(Vector3( t1,  t2, 1.0f)); 
     1726 
     1727        // normalize to 0 .. 1 
     1728        bl = bl * 0.5f + 0.5f; 
     1729        br = br * 0.5f + 0.5f; 
     1730        tl = tl * 0.5f + 0.5f; 
     1731        tr = tr * 0.5f + 0.5f; 
     1732 
     1733/* 
     1734        cout << "tl: " << tl << endl; 
     1735        cout << "tr: " << tr << endl; 
     1736        cout << "bl: " << bl << endl; 
     1737        cout << "br: " << bl << endl << endl;*/ 
     1738} 
     1739 
     1740 
     1741void CreateNormalMap() 
     1742{ 
     1743        Vector3 *data = new Vector3[texWidth * texHeight]; 
     1744 
     1745        for (int i = 0; i < texWidth * texHeight; ++ i) 
     1746        { 
     1747                // create random samples over sphere 
     1748                const float rx = RandomValue(0, 1); 
     1749                const float ry = RandomValue(0, 1); 
     1750 
     1751                const float theta = 2.0f * acos(sqrt(1.0f - rx)); 
     1752                const float phi = 2.0f * M_PI * ry; 
     1753 
     1754                data[i] = Vector3(sin(theta) * cos(phi), sin(theta) * sin(phi), cos(theta)); 
     1755                data[i] += 1.0f;         
     1756                data[i] *= 0.5f; 
     1757        } 
     1758 
     1759        glGenTextures(1, &normalTex); 
     1760        glBindTexture(GL_TEXTURE_2D, normalTex); 
     1761        glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8,  texWidth, texHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, data); 
     1762} 
Note: See TracChangeset for help on using the changeset viewer.