From 1f9d3b8b9ce7d5e05f7af88c7ab0fd094609d9e5 Mon Sep 17 00:00:00 2001 From: Bergmann89 <info@bergmann89.de> Date: Sun, 21 Dec 2014 19:58:52 +0100 Subject: [PATCH] * added documentation (in-code and pasdoc generated) * added some small examples --- doc/AllClasses.html | 107 + doc/AllConstants.html | 27 + doc/AllFunctions.html | 132 + doc/AllIdentifiers.html | 267 + doc/AllTypes.html | 67 + doc/AllUnits.html | 31 + doc/AllVariables.html | 17 + doc/ClassHierarchy.html | 35 + doc/PasDocSettings.pds | 71 + doc/automated.gif | Bin 0 -> 141 bytes doc/glBitmap.EglBitmap.html | 29 + doc/glBitmap.EglBitmapNonPowerOfTwo.html | 30 + doc/glBitmap.EglBitmapNotSupported.html | 29 + doc/glBitmap.EglBitmapSizeToLarge.html | 30 + doc/glBitmap.EglBitmapUnsupportedFormat.html | 60 + doc/glBitmap.TglBitmap.html | 2061 ++ doc/glBitmap.TglBitmap1D.html | 146 + doc/glBitmap.TglBitmap2D.html | 279 + doc/glBitmap.TglBitmapCubeMap.html | 133 + doc/glBitmap.TglBitmapFormatDescriptor.html | 743 + doc/glBitmap.TglBitmapFunctionRec.html | 105 + doc/glBitmap.TglBitmapNormalMap.html | 73 + doc/glBitmap.TglBitmapPixelData.html | 69 + doc/glBitmap.TglBitmapRec4ub.html | 83 + doc/glBitmap.TglBitmapRec4ui.html | 83 + doc/glBitmap.TglBitmapRec4ul.html | 83 + doc/glBitmap.TglBitmapSize.html | 61 + doc/glBitmap.html | 602 + doc/index.html | 31 + doc/legend.html | 53 + doc/pasdoc.css | 171 + doc/private.gif | Bin 0 -> 141 bytes doc/protected.gif | Bin 0 -> 141 bytes doc/public.gif | Bin 0 -> 141 bytes doc/published.gif | Bin 0 -> 141 bytes examples/GrabScreen/GrabScreen.lpi | 82 + examples/GrabScreen/GrabScreen.lpr | 58 + examples/GrabScreen/GrabScreen.lps | 77 + examples/Helper.pas | 91 + examples/SimpleLoadFromFile/SimpleLoadFromFile.lpi | 81 + examples/SimpleLoadFromFile/SimpleLoadFromFile.lpr | 56 + examples/SimpleLoadFromFile/SimpleLoadFromFile.lps | 34 + .../TextureFromFunction/TextureFromFunction.lpi | 82 + .../TextureFromFunction/TextureFromFunction.lpr | 95 + .../TextureFromFunction/TextureFromFunction.lps | 86 + examples/dglOpenGL.pas | 20081 +++++++++++++++++++ examples/textures/BMP_24_RGB8.bmp | Bin 0 -> 3145784 bytes glBitmap.pas | 1437 +- readme.txt | 229 + 49 files changed, 27616 insertions(+), 581 deletions(-) create mode 100644 doc/AllClasses.html create mode 100644 doc/AllConstants.html create mode 100644 doc/AllFunctions.html create mode 100644 doc/AllIdentifiers.html create mode 100644 doc/AllTypes.html create mode 100644 doc/AllUnits.html create mode 100644 doc/AllVariables.html create mode 100644 doc/ClassHierarchy.html create mode 100644 doc/PasDocSettings.pds create mode 100644 doc/automated.gif create mode 100644 doc/glBitmap.EglBitmap.html create mode 100644 doc/glBitmap.EglBitmapNonPowerOfTwo.html create mode 100644 doc/glBitmap.EglBitmapNotSupported.html create mode 100644 doc/glBitmap.EglBitmapSizeToLarge.html create mode 100644 doc/glBitmap.EglBitmapUnsupportedFormat.html create mode 100644 doc/glBitmap.TglBitmap.html create mode 100644 doc/glBitmap.TglBitmap1D.html create mode 100644 doc/glBitmap.TglBitmap2D.html create mode 100644 doc/glBitmap.TglBitmapCubeMap.html create mode 100644 doc/glBitmap.TglBitmapFormatDescriptor.html create mode 100644 doc/glBitmap.TglBitmapFunctionRec.html create mode 100644 doc/glBitmap.TglBitmapNormalMap.html create mode 100644 doc/glBitmap.TglBitmapPixelData.html create mode 100644 doc/glBitmap.TglBitmapRec4ub.html create mode 100644 doc/glBitmap.TglBitmapRec4ui.html create mode 100644 doc/glBitmap.TglBitmapRec4ul.html create mode 100644 doc/glBitmap.TglBitmapSize.html create mode 100644 doc/glBitmap.html create mode 100644 doc/index.html create mode 100644 doc/legend.html create mode 100644 doc/pasdoc.css create mode 100644 doc/private.gif create mode 100644 doc/protected.gif create mode 100644 doc/public.gif create mode 100644 doc/published.gif create mode 100644 examples/GrabScreen/GrabScreen.lpi create mode 100644 examples/GrabScreen/GrabScreen.lpr create mode 100644 examples/GrabScreen/GrabScreen.lps create mode 100644 examples/Helper.pas create mode 100644 examples/SimpleLoadFromFile/SimpleLoadFromFile.lpi create mode 100644 examples/SimpleLoadFromFile/SimpleLoadFromFile.lpr create mode 100644 examples/SimpleLoadFromFile/SimpleLoadFromFile.lps create mode 100644 examples/TextureFromFunction/TextureFromFunction.lpi create mode 100644 examples/TextureFromFunction/TextureFromFunction.lpr create mode 100644 examples/TextureFromFunction/TextureFromFunction.lps create mode 100644 examples/dglOpenGL.pas create mode 100644 examples/textures/BMP_24_RGB8.bmp create mode 100644 readme.txt diff --git a/doc/AllClasses.html b/doc/AllClasses.html new file mode 100644 index 0000000..15013b0 --- /dev/null +++ b/doc/AllClasses.html @@ -0,0 +1,107 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>All Classes, Interfaces, Objects and Records</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="allitems">All Classes, Interfaces, Objects and Records</h1> +<table class="itemstable wide_list"> +<tr class="listheader"> +<th class="itemname">Name</th> +<th class="itemunit">Unit</th> +<th class="itemdesc">Description</th> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmap.html">EglBitmap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>glBitmap exception</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmapNonPowerOfTwo.html">EglBitmapNonPowerOfTwo</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>exception for non power of two textures</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmapNotSupported.html">EglBitmapNotSupported</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>exception for not supported functions</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmapSizeToLarge.html">EglBitmapSizeToLarge</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>exception for to large textures</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmapUnsupportedFormat.html">EglBitmapUnsupportedFormat</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>exception for unsupporetd formats</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmap.html">TglBitmap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>base class for all glBitmap classes. used to manage OpenGL texture objects and to load, save and manipulate texture data</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmap1D.html">TglBitmap1D</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>wrapper class for 1-dimensional textures (OpenGL target = GL_TEXTURE_1D</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmap2D.html">TglBitmap2D</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>wrapper class for 2-dimensional textures (OpenGL target = GL_TEXTURE_2D)</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapCubeMap.html">TglBitmapCubeMap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>wrapper class for cube maps (OpenGL target = GL_TEXTURE_CUBE_MAP)</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapFormatDescriptor.html">TglBitmapFormatDescriptor</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>describes the properties of a given texture data format</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapFunctionRec.html">TglBitmapFunctionRec</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>structure to store data for converting in</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapNormalMap.html">TglBitmapNormalMap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>wrapper class for cube normal maps</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapPixelData.html">TglBitmapPixelData</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>structure to store pixel data in</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>record that stores 4 unsigned byte values</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>record that stores 4 unsigned integer values</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapRec4ul.html">TglBitmapRec4ul</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>record that stores 4 unsigned long integer values</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapSize.html">TglBitmapSize</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/AllConstants.html b/doc/AllConstants.html new file mode 100644 index 0000000..c24a437 --- /dev/null +++ b/doc/AllConstants.html @@ -0,0 +1,27 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>All Constants</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="allitems">All Constants</h1> +<table class="itemstable wide_list"> +<tr class="listheader"> +<th class="itemname">Name</th> +<th class="itemunit">Unit</th> +<th class="itemdesc">Description</th> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#NULL_SIZE">NULL_SIZE</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/AllFunctions.html b/doc/AllFunctions.html new file mode 100644 index 0000000..a2448be --- /dev/null +++ b/doc/AllFunctions.html @@ -0,0 +1,132 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>All Functions and Procedures</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="allitems">All Functions and Procedures</h1> +<table class="itemstable wide_list"> +<tr class="listheader"> +<th class="itemname">Name</th> +<th class="itemunit">Unit</th> +<th class="itemdesc">Description</th> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapCreateTestTexture">glBitmapCreateTestTexture</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultDeleteTextureOnFree">glBitmapGetDefaultDeleteTextureOnFree</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultFilter">glBitmapGetDefaultFilter</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultFormat">glBitmapGetDefaultFormat</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultFreeDataAfterGenTexture">glBitmapGetDefaultFreeDataAfterGenTexture</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultMipmap">glBitmapGetDefaultMipmap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultSwizzle">glBitmapGetDefaultSwizzle</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultTextureWrap">glBitmapGetDefaultTextureWrap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapPosition">glBitmapPosition</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4ub">glBitmapRec4ub</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4ubCompare">glBitmapRec4ubCompare</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4ui">glBitmapRec4ui</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4uiCompare">glBitmapRec4uiCompare</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4ul">glBitmapRec4ul</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultDeleteTextureOnFree">glBitmapSetDefaultDeleteTextureOnFree</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultFilter">glBitmapSetDefaultFilter</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultFormat">glBitmapSetDefaultFormat</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultFreeDataAfterGenTexture">glBitmapSetDefaultFreeDataAfterGenTexture</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultMipmap">glBitmapSetDefaultMipmap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultSwizzle">glBitmapSetDefaultSwizzle</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultWrap">glBitmapSetDefaultWrap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSize">glBitmapSize</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/AllIdentifiers.html b/doc/AllIdentifiers.html new file mode 100644 index 0000000..a60ffbe --- /dev/null +++ b/doc/AllIdentifiers.html @@ -0,0 +1,267 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>All Identifiers</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="allitems">All Identifiers</h1> +<table class="itemstable wide_list"> +<tr class="listheader"> +<th class="itemname">Name</th> +<th class="itemunit">Unit</th> +<th class="itemdesc">Description</th> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmap.html">EglBitmap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>glBitmap exception</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmapNonPowerOfTwo.html">EglBitmapNonPowerOfTwo</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>exception for non power of two textures</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmapNotSupported.html">EglBitmapNotSupported</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>exception for not supported functions</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmapSizeToLarge.html">EglBitmapSizeToLarge</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>exception for to large textures</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.EglBitmapUnsupportedFormat.html">EglBitmapUnsupportedFormat</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>exception for unsupporetd formats</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapCreateTestTexture">glBitmapCreateTestTexture</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultDeleteTextureOnFree">glBitmapGetDefaultDeleteTextureOnFree</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultFilter">glBitmapGetDefaultFilter</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultFormat">glBitmapGetDefaultFormat</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultFreeDataAfterGenTexture">glBitmapGetDefaultFreeDataAfterGenTexture</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultMipmap">glBitmapGetDefaultMipmap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultSwizzle">glBitmapGetDefaultSwizzle</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapGetDefaultTextureWrap">glBitmapGetDefaultTextureWrap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapPosition">glBitmapPosition</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4ub">glBitmapRec4ub</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4ubCompare">glBitmapRec4ubCompare</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4ui">glBitmapRec4ui</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4uiCompare">glBitmapRec4uiCompare</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapRec4ul">glBitmapRec4ul</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultDeleteTextureOnFree">glBitmapSetDefaultDeleteTextureOnFree</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultFilter">glBitmapSetDefaultFilter</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultFormat">glBitmapSetDefaultFormat</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultFreeDataAfterGenTexture">glBitmapSetDefaultFreeDataAfterGenTexture</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultMipmap">glBitmapSetDefaultMipmap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultSwizzle">glBitmapSetDefaultSwizzle</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSetDefaultWrap">glBitmapSetDefaultWrap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#glBitmapSize">glBitmapSize</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#NULL_SIZE">NULL_SIZE</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#PglBitmapPixelData">PglBitmapPixelData</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmap.html">TglBitmap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>base class for all glBitmap classes. used to manage OpenGL texture objects and to load, save and manipulate texture data</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmap1D.html">TglBitmap1D</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>wrapper class for 1-dimensional textures (OpenGL target = GL_TEXTURE_1D</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmap2D.html">TglBitmap2D</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>wrapper class for 2-dimensional textures (OpenGL target = GL_TEXTURE_2D)</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapCubeMap.html">TglBitmapCubeMap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>wrapper class for cube maps (OpenGL target = GL_TEXTURE_CUBE_MAP)</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapFileType">TglBitmapFileType</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>Portable Network Graphic file (PNG)</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapFileTypes">TglBitmapFileTypes</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>type that describes the format of the data stored in a texture. the name of formats is composed of the following constituents: - multiple channels: - channel (e.g. R, G, B, A or Alpha, Luminance or X (reserved)) - width of the chanel in bit (4, 8, 16, ...) - data type (e.g. ub, us, ui) - number of elements of data types</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapFormatDescriptor.html">TglBitmapFormatDescriptor</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>describes the properties of a given texture data format</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>callback to use for converting texture data</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapFunctionRec.html">TglBitmapFunctionRec</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>structure to store data for converting in</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>possible mipmap types</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapNormalMap.html">TglBitmapNormalMap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>wrapper class for cube normal maps</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapNormalMapFunc">TglBitmapNormalMapFunc</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>possible normal map functions</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapPixelData.html">TglBitmapPixelData</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>structure to store pixel data in</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapPixelPosition">TglBitmapPixelPosition</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>record that stores 4 unsigned byte values</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>record that stores 4 unsigned integer values</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapRec4ul.html">TglBitmapRec4ul</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>record that stores 4 unsigned long integer values</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.TglBitmapSize.html">TglBitmapSize</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapSizeFields">TglBitmapSizeFields</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/AllTypes.html b/doc/AllTypes.html new file mode 100644 index 0000000..1bd8543 --- /dev/null +++ b/doc/AllTypes.html @@ -0,0 +1,67 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>All Types</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="allitems">All Types</h1> +<table class="itemstable wide_list"> +<tr class="listheader"> +<th class="itemname">Name</th> +<th class="itemunit">Unit</th> +<th class="itemdesc">Description</th> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#PglBitmapPixelData">PglBitmapPixelData</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapFileType">TglBitmapFileType</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>Portable Network Graphic file (PNG)</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapFileTypes">TglBitmapFileTypes</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>type that describes the format of the data stored in a texture. the name of formats is composed of the following constituents: - multiple channels: - channel (e.g. R, G, B, A or Alpha, Luminance or X (reserved)) - width of the chanel in bit (4, 8, 16, ...) - data type (e.g. ub, us, ui) - number of elements of data types</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>callback to use for converting texture data</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>possible mipmap types</p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapNormalMapFunc">TglBitmapNormalMapFunc</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>possible normal map functions</p></td> +</tr> +<tr class="list2"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapPixelPosition">TglBitmapPixelPosition</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html#TglBitmapSizeFields">TglBitmapSizeFields</a></td> +<td class="itemunit"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p> </p></td> +</tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/AllUnits.html b/doc/AllUnits.html new file mode 100644 index 0000000..d165995 --- /dev/null +++ b/doc/AllUnits.html @@ -0,0 +1,31 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>All Units</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="allitems">All Units</h1> +<table class="unitstable wide_list"> +<tr class="listheader"> +<th class="itemname">Name</th> +<th class="itemdesc">Description</th> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>glBitmap by Steffen Xonna aka Lossy eX (2003-2008) <a href="http://www.opengl24.de/index.php?cat=header&file=glbitmap">http://www.opengl24.de/index.php?cat=header&file=glbitmap</a> + +<p>modified by Delphi OpenGL Community (<a href="http://delphigl.com/">http://delphigl.com/</a>) (2013) + +<p>The contents of this file are used with permission, subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a> + +<p>The glBitmap is a Delphi/FPC unit that contains several wrapper classes to manage OpenGL texture objects. Below you can find a list of the main functionality of this classes: - load texture data from file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) - load texture data from several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) - save texture data to file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) - save texture data to several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) - support for many texture formats (e.g. RGB8, BGR8, RGBA8, BGRA8, ...) - manage texture properties (e.g. Filter, Clamp, Mipmap, ...) - upload texture data to video card - download texture data from video card - manipulate texture data (e.g. add alpha, remove alpha, convert to other format, switch RGB, ...)</p></td> +</tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/AllVariables.html b/doc/AllVariables.html new file mode 100644 index 0000000..e8f9961 --- /dev/null +++ b/doc/AllVariables.html @@ -0,0 +1,17 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>All Variables</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="allitems">All Variables</h1> +<p> +The units do not contain any variables.</p> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/ClassHierarchy.html b/doc/ClassHierarchy.html new file mode 100644 index 0000000..68a0311 --- /dev/null +++ b/doc/ClassHierarchy.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>Class Hierarchy</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="allitems">Class Hierarchy</h1> +<ul class="hierarchylevel"> +<li>TObject<ul class="hierarchylevel"> +<li>Exception<ul class="hierarchylevel"> +<li><a class="bold" href="glBitmap.EglBitmap.html">EglBitmap</a><ul class="hierarchylevel"> +<li><a class="bold" href="glBitmap.EglBitmapNonPowerOfTwo.html">EglBitmapNonPowerOfTwo</a><li><a class="bold" href="glBitmap.EglBitmapSizeToLarge.html">EglBitmapSizeToLarge</a><li><a class="bold" href="glBitmap.EglBitmapUnsupportedFormat.html">EglBitmapUnsupportedFormat</a></ul> +</li> +<li><a class="bold" href="glBitmap.EglBitmapNotSupported.html">EglBitmapNotSupported</a></ul> +</li> +<li><a class="bold" href="glBitmap.TglBitmap.html">TglBitmap</a><ul class="hierarchylevel"> +<li><a class="bold" href="glBitmap.TglBitmap1D.html">TglBitmap1D</a><li><a class="bold" href="glBitmap.TglBitmap2D.html">TglBitmap2D</a><ul class="hierarchylevel"> +<li><a class="bold" href="glBitmap.TglBitmapCubeMap.html">TglBitmapCubeMap</a><ul class="hierarchylevel"> +<li><a class="bold" href="glBitmap.TglBitmapNormalMap.html">TglBitmapNormalMap</a></ul> +</li> +</ul> +</li> +</ul> +</li> +<li><a class="bold" href="glBitmap.TglBitmapFormatDescriptor.html">TglBitmapFormatDescriptor</a></ul> +</li> +</ul> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/PasDocSettings.pds b/doc/PasDocSettings.pds new file mode 100644 index 0000000..6d28be1 --- /dev/null +++ b/doc/PasDocSettings.pds @@ -0,0 +1,71 @@ +[Main] +StoreRelativePaths=1 +Language=en +OutputDir=..\doc +GenerateFormat=0 +ProjectName= +Verbosity=2 +ClassMembers_0=1 +ClassMembers_1=1 +ClassMembers_2=1 +ClassMembers_3=1 +ClassMembers_4=1 +ClassMembers_5=1 +ClassMembers_6=1 +ClassMembers_7=1 +ImplicitVisibility=0 +Sorting_0=0 +Sorting_1=0 +Sorting_2=0 +Sorting_3=0 +Sorting_4=0 +Sorting_5=0 +Sorting_6=0 +Sorting_7=0 +Sorting_8=0 +Sorting_9=0 +CssFileName= +IntroductionFileName= +ConclusionFileName= +WriteUsesList=0 +AutoAbstract=0 +AutoLink=0 +HandleMacros=1 +UseTipueSearch=0 +LineBreakQuality=0 +SpecialMarkerTreatment=1 +Title= +VizGraphClasses=0 +VizGraphUses=0 +CheckSpelling=0 +LatexGraphicsPackage=0 + +[Defines] +Count=4 +Item_0=FPC +Item_1=MSWINDOWS +Item_2=WIN32 +Item_3=CPU386 + +[Header] +Count=0 + +[Footer] +Count=0 + +[IncludeDirectories] +Count=1 +Item_0=..\..\glBitmap + +[Files] +Count=1 +Item_0=..\glBitmap.pas + +[HyphenatedWords] +Count=0 + +[SpecialMarkers] +Count=0 + +[IgnoreWords] +Count=0 diff --git a/doc/automated.gif b/doc/automated.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c271d8f5afab8ace82db792952eeee12c6254de GIT binary patch literal 141 zcmZ?wbhEHb<YwSz_{hYN<|Ezv*8czh{|pQaia%L^B#{0m>RgnXSdyBeP@Y+mp%9Xh zs^ISF8^E9gk_BmGU~*;Q5KwSvU{Lj%q7kTYq=i%1jb(*F;-MBMMKzxp21*XCoWg1% g9ELy<K}Id0$U=t>phyo#z#^AUAyy`^b`b_^0C_wkqW}N^ literal 0 HcmV?d00001 diff --git a/doc/glBitmap.EglBitmap.html b/doc/glBitmap.EglBitmap.html new file mode 100644 index 0000000..15d12eb --- /dev/null +++ b/doc/glBitmap.EglBitmap.html @@ -0,0 +1,29 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class EglBitmap</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="EglBitmap"></a><h1 class="cio">Class EglBitmap</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type EglBitmap = class(Exception)</code></p> +<h2 class="description">Description</h2> +<p> +glBitmap exception</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">Exception</li> +<li class="thisitem">EglBitmap</li></ul><hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.EglBitmapNonPowerOfTwo.html b/doc/glBitmap.EglBitmapNonPowerOfTwo.html new file mode 100644 index 0000000..339a4bb --- /dev/null +++ b/doc/glBitmap.EglBitmapNonPowerOfTwo.html @@ -0,0 +1,30 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class EglBitmapNonPowerOfTwo</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="EglBitmapNonPowerOfTwo"></a><h1 class="cio">Class EglBitmapNonPowerOfTwo</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type EglBitmapNonPowerOfTwo = class(<a class="normal" href="glBitmap.EglBitmap.html">EglBitmap</a>)</code></p> +<h2 class="description">Description</h2> +<p> +exception for non power of two textures</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">Exception</li> +<li class="ancestor"><a class="normal" href="glBitmap.EglBitmap.html">EglBitmap</a></li> +<li class="thisitem">EglBitmapNonPowerOfTwo</li></ul><hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.EglBitmapNotSupported.html b/doc/glBitmap.EglBitmapNotSupported.html new file mode 100644 index 0000000..fc8e97c --- /dev/null +++ b/doc/glBitmap.EglBitmapNotSupported.html @@ -0,0 +1,29 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class EglBitmapNotSupported</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="EglBitmapNotSupported"></a><h1 class="cio">Class EglBitmapNotSupported</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type EglBitmapNotSupported = class(Exception)</code></p> +<h2 class="description">Description</h2> +<p> +exception for not supported functions</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">Exception</li> +<li class="thisitem">EglBitmapNotSupported</li></ul><hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.EglBitmapSizeToLarge.html b/doc/glBitmap.EglBitmapSizeToLarge.html new file mode 100644 index 0000000..f3bd141 --- /dev/null +++ b/doc/glBitmap.EglBitmapSizeToLarge.html @@ -0,0 +1,30 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class EglBitmapSizeToLarge</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="EglBitmapSizeToLarge"></a><h1 class="cio">Class EglBitmapSizeToLarge</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type EglBitmapSizeToLarge = class(<a class="normal" href="glBitmap.EglBitmap.html">EglBitmap</a>)</code></p> +<h2 class="description">Description</h2> +<p> +exception for to large textures</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">Exception</li> +<li class="ancestor"><a class="normal" href="glBitmap.EglBitmap.html">EglBitmap</a></li> +<li class="thisitem">EglBitmapSizeToLarge</li></ul><hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.EglBitmapUnsupportedFormat.html b/doc/glBitmap.EglBitmapUnsupportedFormat.html new file mode 100644 index 0000000..fe2bf30 --- /dev/null +++ b/doc/glBitmap.EglBitmapUnsupportedFormat.html @@ -0,0 +1,60 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class EglBitmapUnsupportedFormat</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="EglBitmapUnsupportedFormat"></a><h1 class="cio">Class EglBitmapUnsupportedFormat</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type EglBitmapUnsupportedFormat = class(<a class="normal" href="glBitmap.EglBitmap.html">EglBitmap</a>)</code></p> +<h2 class="description">Description</h2> +<p> +exception for unsupporetd formats</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">Exception</li> +<li class="ancestor"><a class="normal" href="glBitmap.EglBitmap.html">EglBitmap</a></li> +<li class="thisitem">EglBitmapUnsupportedFormat</li></ul><h2 class="overview">Overview</h2> +<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.EglBitmapUnsupportedFormat.html#Create">Create</a></b>(const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>); overload;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.EglBitmapUnsupportedFormat.html#Create">Create</a></b>(const aMsg: String; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>); overload;</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Methods</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>); overload;</code></td> +</tr> +<tr><td colspan="2"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(const aMsg: String; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>); overload;</code></td> +</tr> +<tr><td colspan="2"> + </td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmap.html b/doc/glBitmap.TglBitmap.html new file mode 100644 index 0000000..7f53bf5 --- /dev/null +++ b/doc/glBitmap.TglBitmap.html @@ -0,0 +1,2061 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class TglBitmap</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmap"></a><h1 class="cio">Class TglBitmap</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td><a class="section" href="#PasDoc-Properties">Properties</a></td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmap = class(TObject)</code></p> +<h2 class="description">Description</h2> +<p> +base class for all glBitmap classes. used to manage OpenGL texture objects and to load, save and manipulate texture data</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">TObject</li> +<li class="thisitem">TglBitmap</li></ul><h2 class="overview">Overview</h2> +<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fID">fID</a></b>: GLuint;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fTarget">fTarget</a></b>: GLuint;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fAnisotropic">fAnisotropic</a></b>: Integer;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fDeleteTextureOnFree">fDeleteTextureOnFree</a></b>: Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fFreeDataOnDestroy">fFreeDataOnDestroy</a></b>: Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fFreeDataAfterGenTexture">fFreeDataAfterGenTexture</a></b>: Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fData">fData</a></b>: PByte;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fBorderColor">fBorderColor</a></b>: array[0..3] of Single;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fDimension">fDimension</a></b>: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fMipMap">fMipMap</a></b>: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fFormat">fFormat</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fPixelSize">fPixelSize</a></b>: Integer;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fRowSize">fRowSize</a></b>: Integer;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fFilterMin">fFilterMin</a></b>: GLenum;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fFilterMag">fFilterMag</a></b>: GLenum;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fWrapS">fWrapS</a></b>: GLenum;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fWrapT">fWrapT</a></b>: GLenum;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fWrapR">fWrapR</a></b>: GLenum;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fSwizzle">fSwizzle</a></b>: array[0..3] of GLenum;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fFilename">fFilename</a></b>: String;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fCustomName">fCustomName</a></b>: String;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fCustomNameW">fCustomNameW</a></b>: WideString;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap.html#fCustomData">fCustomData</a></b>: Pointer;</code></td> +</tr> +</table> +<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#GetFormatDesc">GetFormatDesc</a></b>: <a href="glBitmap.TglBitmapFormatDescriptor.html">TglBitmapFormatDescriptor</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#GetWidth">GetWidth</a></b>: Integer; virtual;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#GetHeight">GetHeight</a></b>: Integer; virtual;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#GetFileWidth">GetFileWidth</a></b>: Integer; virtual;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#GetFileHeight">GetFileHeight</a></b>: Integer; virtual;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetCustomData">SetCustomData</a></b>(const aValue: Pointer);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetCustomName">SetCustomName</a></b>(const aValue: String);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetCustomNameW">SetCustomNameW</a></b>(const aValue: WideString);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetFreeDataOnDestroy">SetFreeDataOnDestroy</a></b>(const aValue: Boolean);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetDeleteTextureOnFree">SetDeleteTextureOnFree</a></b>(const aValue: Boolean);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetFormat">SetFormat</a></b>(const aValue: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetFreeDataAfterGenTexture">SetFreeDataAfterGenTexture</a></b>(const aValue: Boolean);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetID">SetID</a></b>(const aValue: Cardinal);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetMipMap">SetMipMap</a></b>(const aValue: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a>);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetTarget">SetTarget</a></b>(const aValue: Cardinal);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetAnisotropic">SetAnisotropic</a></b>(const aValue: Integer);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#CreateID">CreateID</a></b>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetupParameters">SetupParameters</a></b>();</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetDataPointer">SetDataPointer</a></b>(var aData: PByte; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aWidth: Integer = -1; const aHeight: Integer = -1); virtual;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#GenTexture">GenTexture</a></b>(const aTestTextureSize: Boolean = true); virtual; abstract;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#FlipHorz">FlipHorz</a></b>: Boolean; virtual;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#FlipVert">FlipVert</a></b>: Boolean; virtual;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#AfterConstruction">AfterConstruction</a></b>; override;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#BeforeDestruction">BeforeDestruction</a></b>; override;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#PrepareResType">PrepareResType</a></b>(var aResource: String; var aResType: PChar);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#LoadFromFile">LoadFromFile</a></b>(const aFilename: String);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#LoadFromStream">LoadFromStream</a></b>(const aStream: TStream); virtual;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#LoadFromFunc">LoadFromFunc</a></b>(const aSize: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aArgs: Pointer = nil);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#LoadFromResource">LoadFromResource</a></b>(const aInstance: Cardinal; aResource: String; aResType: PChar = nil);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#LoadFromResourceID">LoadFromResourceID</a></b>(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SaveToFile">SaveToFile</a></b>(const aFilename: String; const aFileType: <a href="glBitmap.html#TglBitmapFileType">TglBitmapFileType</a>);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SaveToStream">SaveToStream</a></b>(const aStream: TStream; const aFileType: <a href="glBitmap.html#TglBitmapFileType">TglBitmapFileType</a>); virtual;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#Convert">Convert</a></b>(const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; const aCreateTemp: Boolean; const aArgs: Pointer = nil): Boolean; overload;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#Convert">Convert</a></b>(const aSource: <a href="glBitmap.TglBitmap.html">TglBitmap</a>; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; aCreateTemp: Boolean; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aArgs: Pointer = nil): Boolean; overload;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#ConvertTo">ConvertTo</a></b>(const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>): Boolean; virtual;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromResource">AddAlphaFromResource</a></b>(const aInstance: Cardinal; aResource: String; aResType: PChar = nil; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromResourceID">AddAlphaFromResourceID</a></b>(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromFunc">AddAlphaFromFunc</a></b>(const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; const aArgs: Pointer = nil): Boolean; virtual;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromFile">AddAlphaFromFile</a></b>(const aFileName: String; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromStream">AddAlphaFromStream</a></b>(const aStream: TStream; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromGlBitmap">AddAlphaFromGlBitmap</a></b>(const aBitmap: <a href="glBitmap.TglBitmap.html">TglBitmap</a>; aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromColorKey">AddAlphaFromColorKey</a></b>(const aRed, aGreen, aBlue: Byte; const aDeviation: Byte = 0): Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromColorKeyRange">AddAlphaFromColorKeyRange</a></b>(const aRed, aGreen, aBlue: Cardinal; const aDeviation: Cardinal = 0): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromColorKeyFloat">AddAlphaFromColorKeyFloat</a></b>(const aRed, aGreen, aBlue: Single; const aDeviation: Single = 0): Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromValue">AddAlphaFromValue</a></b>(const aAlpha: Byte): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromValueRange">AddAlphaFromValueRange</a></b>(const aAlpha: Cardinal): Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#AddAlphaFromValueFloat">AddAlphaFromValueFloat</a></b>(const aAlpha: Single): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#RemoveAlpha">RemoveAlpha</a></b>: Boolean; virtual;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#Clone">Clone</a></b>: <a href="glBitmap.TglBitmap.html">TglBitmap</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#Invert">Invert</a></b>(const aUseRGB: Boolean = true; const aUseAlpha: Boolean = false);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#FreeData">FreeData</a></b>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#FillWithColor">FillWithColor</a></b>(const aRed, aGreen, aBlue: Byte; const aAlpha: Byte = 255);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#FillWithColorRange">FillWithColorRange</a></b>(const aRed, aGreen, aBlue: Cardinal; const aAlpha: Cardinal = $FFFFFFFF);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#FillWithColorFloat">FillWithColorFloat</a></b>(const aRed, aGreen, aBlue: Single; const aAlpha: Single = 1.0);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetFilter">SetFilter</a></b>(const aMin, aMag: GLenum);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetWrap">SetWrap</a></b>( const S: GLenum = GL_CLAMP_TO_EDGE; const T: GLenum = GL_CLAMP_TO_EDGE; const R: GLenum = GL_CLAMP_TO_EDGE);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SetSwizzle">SetSwizzle</a></b>(const r, g, b, a: GLenum);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#Bind">Bind</a></b>(const aEnableTextureUnit: Boolean = true); virtual;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#Unbind">Unbind</a></b>(const aDisableTextureUnit: Boolean = true); virtual;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.TglBitmap.html#Create">Create</a></b>; overload;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.TglBitmap.html#Create">Create</a></b>(const aFileName: String); overload;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.TglBitmap.html#Create">Create</a></b>(const aStream: TStream); overload;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.TglBitmap.html#Create">Create</a></b>(const aSize: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; aData: PByte = nil); overload;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.TglBitmap.html#Create">Create</a></b>(const aSize: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; const aArgs: Pointer = nil); overload;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.TglBitmap.html#Create">Create</a></b>(const aInstance: Cardinal; const aResource: String; const aResType: PChar = nil); overload;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.TglBitmap.html#Create">Create</a></b>(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar); overload;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#LoadRAW">LoadRAW</a></b>(const aStream: TStream): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SaveRAW">SaveRAW</a></b>(const aStream: TStream);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#LoadBMP">LoadBMP</a></b>(const aStream: TStream): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SaveBMP">SaveBMP</a></b>(const aStream: TStream);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#LoadTGA">LoadTGA</a></b>(const aStream: TStream): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SaveTGA">SaveTGA</a></b>(const aStream: TStream);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap.html#LoadDDS">LoadDDS</a></b>(const aStream: TStream): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap.html#SaveDDS">SaveDDS</a></b>(const aStream: TStream);</code></td> +</tr> +</table> +<a name="PasDoc-Properties"></a><h3 class="summary">Properties</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#Width">Width</a></b>: Integer read <a href="glBitmap.TglBitmap.html#GetWidth">GetWidth</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#Height">Height</a></b>: Integer read <a href="glBitmap.TglBitmap.html#GetHeight">GetHeight</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#FileWidth">FileWidth</a></b>: Integer read <a href="glBitmap.TglBitmap.html#GetFileWidth">GetFileWidth</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#FileHeight">FileHeight</a></b>: Integer read <a href="glBitmap.TglBitmap.html#GetFileHeight">GetFileHeight</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#ID">ID</a></b>: Cardinal read <a href="glBitmap.TglBitmap.html#fID">fID</a> write <a href="glBitmap.TglBitmap.html#SetID">SetID</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#Target">Target</a></b>: Cardinal read <a href="glBitmap.TglBitmap.html#fTarget">fTarget</a> write <a href="glBitmap.TglBitmap.html#SetTarget">SetTarget</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#Format">Format</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmap.html#fFormat">fFormat</a> write <a href="glBitmap.TglBitmap.html#SetFormat">SetFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#MipMap">MipMap</a></b>: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a> read <a href="glBitmap.TglBitmap.html#fMipMap">fMipMap</a> write <a href="glBitmap.TglBitmap.html#SetMipMap">SetMipMap</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#Anisotropic">Anisotropic</a></b>: Integer read <a href="glBitmap.TglBitmap.html#fAnisotropic">fAnisotropic</a> write <a href="glBitmap.TglBitmap.html#SetAnisotropic">SetAnisotropic</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#FormatDesc">FormatDesc</a></b>: <a href="glBitmap.TglBitmapFormatDescriptor.html">TglBitmapFormatDescriptor</a> read <a href="glBitmap.TglBitmap.html#GetFormatDesc">GetFormatDesc</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#Filename">Filename</a></b>: String read <a href="glBitmap.TglBitmap.html#fFilename">fFilename</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#CustomName">CustomName</a></b>: String read <a href="glBitmap.TglBitmap.html#fCustomName">fCustomName</a> write <a href="glBitmap.TglBitmap.html#SetCustomName">SetCustomName</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#CustomNameW">CustomNameW</a></b>: WideString read <a href="glBitmap.TglBitmap.html#fCustomNameW">fCustomNameW</a> write <a href="glBitmap.TglBitmap.html#SetCustomNameW">SetCustomNameW</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#CustomData">CustomData</a></b>: Pointer read <a href="glBitmap.TglBitmap.html#fCustomData">fCustomData</a> write <a href="glBitmap.TglBitmap.html#SetCustomData">SetCustomData</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#DeleteTextureOnFree">DeleteTextureOnFree</a></b>: Boolean read <a href="glBitmap.TglBitmap.html#fDeleteTextureOnFree">fDeleteTextureOnFree</a> write <a href="glBitmap.TglBitmap.html#SetDeleteTextureOnFree">SetDeleteTextureOnFree</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#FreeDataOnDestroy">FreeDataOnDestroy</a></b>: Boolean read <a href="glBitmap.TglBitmap.html#fFreeDataOnDestroy">fFreeDataOnDestroy</a> write <a href="glBitmap.TglBitmap.html#SetFreeDataOnDestroy">SetFreeDataOnDestroy</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#FreeDataAfterGenTexture">FreeDataAfterGenTexture</a></b>: Boolean read <a href="glBitmap.TglBitmap.html#fFreeDataAfterGenTexture">fFreeDataAfterGenTexture</a> write <a href="glBitmap.TglBitmap.html#SetFreeDataAfterGenTexture">SetFreeDataAfterGenTexture</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#Dimension">Dimension</a></b>: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a> read <a href="glBitmap.TglBitmap.html#fDimension">fDimension</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap.html#Data">Data</a></b>: PByte read <a href="glBitmap.TglBitmap.html#fData">fData</a>;</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Fields</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fID"></a><code><b>fID</b>: GLuint;</code></td> +</tr> +<tr><td colspan="2"> +<p> +name of the OpenGL texture object</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fTarget"></a><code><b>fTarget</b>: GLuint;</code></td> +</tr> +<tr><td colspan="2"> +<p> +texture target (e.g. GL_TEXTURE_2D)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fAnisotropic"></a><code><b>fAnisotropic</b>: Integer;</code></td> +</tr> +<tr><td colspan="2"> +<p> +anisotropic level</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fDeleteTextureOnFree"></a><code><b>fDeleteTextureOnFree</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +delete OpenGL texture object when this object is destroyed</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fFreeDataOnDestroy"></a><code><b>fFreeDataOnDestroy</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +free stored data when this object is destroyed</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fFreeDataAfterGenTexture"></a><code><b>fFreeDataAfterGenTexture</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +free stored data after data was uploaded to video card</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fData"></a><code><b>fData</b>: PByte;</code></td> +</tr> +<tr><td colspan="2"> +<p> +data of this texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fBorderColor"></a><code><b>fBorderColor</b>: array[0..3] of Single;</code></td> +</tr> +<tr><td colspan="2"> +<p> +color of the texture border</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fDimension"></a><code><b>fDimension</b>: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +size of this texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fMipMap"></a><code><b>fMipMap</b>: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +mipmap type</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fFormat"></a><code><b>fFormat</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +format the texture data is stored in</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fPixelSize"></a><code><b>fPixelSize</b>: Integer;</code></td> +</tr> +<tr><td colspan="2"> +<p> +size of one pixel (in byte)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fRowSize"></a><code><b>fRowSize</b>: Integer;</code></td> +</tr> +<tr><td colspan="2"> +<p> +size of one pixel row (in byte)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fFilterMin"></a><code><b>fFilterMin</b>: GLenum;</code></td> +</tr> +<tr><td colspan="2"> +<p> +min filter to apply to the texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fFilterMag"></a><code><b>fFilterMag</b>: GLenum;</code></td> +</tr> +<tr><td colspan="2"> +<p> +mag filter to apply to the texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fWrapS"></a><code><b>fWrapS</b>: GLenum;</code></td> +</tr> +<tr><td colspan="2"> +<p> +texture wrapping for x axis</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fWrapT"></a><code><b>fWrapT</b>: GLenum;</code></td> +</tr> +<tr><td colspan="2"> +<p> +texture wrapping for y axis</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fWrapR"></a><code><b>fWrapR</b>: GLenum;</code></td> +</tr> +<tr><td colspan="2"> +<p> +texture wrapping for z axis</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fSwizzle"></a><code><b>fSwizzle</b>: array[0..3] of GLenum;</code></td> +</tr> +<tr><td colspan="2"> +<p> +color channel swizzle</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fFilename"></a><code><b>fFilename</b>: String;</code></td> +</tr> +<tr><td colspan="2"> +<p> +filename the texture was load from</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fCustomName"></a><code><b>fCustomName</b>: String;</code></td> +</tr> +<tr><td colspan="2"> +<p> +user defined name</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fCustomNameW"></a><code><b>fCustomNameW</b>: WideString;</code></td> +</tr> +<tr><td colspan="2"> +<p> +user defined name</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fCustomData"></a><code><b>fCustomData</b>: Pointer;</code></td> +</tr> +<tr><td colspan="2"> +<p> +user defined data</p> +</td></tr> +</table> +<h3 class="detail">Methods</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="GetFormatDesc"></a><code>function <b>GetFormatDesc</b>: <a href="glBitmap.TglBitmapFormatDescriptor.html">TglBitmapFormatDescriptor</a>;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return">format descriptor that describes the format of the stored data</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="GetWidth"></a><code>function <b>GetWidth</b>: Integer; virtual;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return">the actual width of the texture</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="GetHeight"></a><code>function <b>GetHeight</b>: Integer; virtual;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return">the actual height of the texture</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="GetFileWidth"></a><code>function <b>GetFileWidth</b>: Integer; virtual;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return">the width of the texture or 1 if the width is zero</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="GetFileHeight"></a><code>function <b>GetFileHeight</b>: Integer; virtual;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return">the height of the texture or 1 if the height is zero</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetCustomData"></a><code>procedure <b>SetCustomData</b>(const aValue: Pointer);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set a new value for fCustomData</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetCustomName"></a><code>procedure <b>SetCustomName</b>(const aValue: String);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set a new value for fCustomName</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetCustomNameW"></a><code>procedure <b>SetCustomNameW</b>(const aValue: WideString);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set a new value for fCustomNameW</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetFreeDataOnDestroy"></a><code>procedure <b>SetFreeDataOnDestroy</b>(const aValue: Boolean);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new value for fFreeDataOnDestroy</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetDeleteTextureOnFree"></a><code>procedure <b>SetDeleteTextureOnFree</b>(const aValue: Boolean);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new value for fDeleteTextureOnFree</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetFormat"></a><code>procedure <b>SetFormat</b>(const aValue: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new value for the data format. only possible if new format has the same pixel size. if you want to convert the texture data, see ConvertTo function</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetFreeDataAfterGenTexture"></a><code>procedure <b>SetFreeDataAfterGenTexture</b>(const aValue: Boolean);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new value for fFreeDataAfterGenTexture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetID"></a><code>procedure <b>SetID</b>(const aValue: Cardinal);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set name of OpenGL texture object</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetMipMap"></a><code>procedure <b>SetMipMap</b>(const aValue: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a>);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new value for fMipMap</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetTarget"></a><code>procedure <b>SetTarget</b>(const aValue: Cardinal);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new value for target</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetAnisotropic"></a><code>procedure <b>SetAnisotropic</b>(const aValue: Integer);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new value for fAnisotrophic</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="CreateID"></a><code>procedure <b>CreateID</b>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +create OpenGL texture object (delete exisiting object if exists)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetupParameters"></a><code>procedure <b>SetupParameters</b>();</code></td> +</tr> +<tr><td colspan="2"> +<p> +setup texture parameters</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetDataPointer"></a><code>procedure <b>SetDataPointer</b>(var aData: PByte; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aWidth: Integer = -1; const aHeight: Integer = -1); virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +set data pointer of texture data </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aData</dt> +<dd>pointer to new texture data (be carefull, aData could be freed by this function)</dd> +<dt>aFormat</dt> +<dd>format of the data stored at aData</dd> +<dt>aWidth</dt> +<dd>width of the texture data</dd> +<dt>aHeight</dt> +<dd>height of the texture data</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="GenTexture"></a><code>procedure <b>GenTexture</b>(const aTestTextureSize: Boolean = true); virtual; abstract;</code></td> +</tr> +<tr><td colspan="2"> +<p> +generate texture (upload texture data to video card) </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aTestTextureSize</dt> +<dd>test texture size before uploading and raise exception if something is wrong</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="FlipHorz"></a><code>function <b>FlipHorz</b>: Boolean; virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +flip texture horizontal </p> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> in success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="FlipVert"></a><code>function <b>FlipVert</b>: Boolean; virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +flip texture vertical </p> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> in success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AfterConstruction"></a><code>procedure <b>AfterConstruction</b>; override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +this method is called after the constructor and sets the default values of this object</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="BeforeDestruction"></a><code>procedure <b>BeforeDestruction</b>; override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +this method is called before the destructor and does some cleanup</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="PrepareResType"></a><code>procedure <b>PrepareResType</b>(var aResource: String; var aResType: PChar);</code></td> +</tr> +<tr><td colspan="2"> +<p> +splits a resource identifier into the resource and it's type </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aResource</dt> +<dd>resource identifier to split and store name in</dd> +<dt>aResType</dt> +<dd>type of the resource</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="LoadFromFile"></a><code>procedure <b>LoadFromFile</b>(const aFilename: String);</code></td> +</tr> +<tr><td colspan="2"> +<p> +load a texture from a file </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aFilename</dt> +<dd>file to load texuture from</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="LoadFromStream"></a><code>procedure <b>LoadFromStream</b>(const aStream: TStream); virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +load a texture from a stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to load texture from</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="LoadFromFunc"></a><code>procedure <b>LoadFromFunc</b>(const aSize: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aArgs: Pointer = nil);</code></td> +</tr> +<tr><td colspan="2"> +<p> +use a function to generate texture data </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aSize</dt> +<dd>size of the texture</dd> +<dt>aFunc</dt> +<dd>callback to use for generation</dd> +<dt>aFormat</dt> +<dd>format of the texture data</dd> +<dt>aArgs</dt> +<dd>user defined paramaters (use at will)</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="LoadFromResource"></a><code>procedure <b>LoadFromResource</b>(const aInstance: Cardinal; aResource: String; aResType: PChar = nil);</code></td> +</tr> +<tr><td colspan="2"> +<p> +load a texture from a resource </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aInstance</dt> +<dd>resource handle</dd> +<dt>aResource</dt> +<dd>resource indentifier</dd> +<dt>aResType</dt> +<dd>resource type (if known)</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="LoadFromResourceID"></a><code>procedure <b>LoadFromResourceID</b>(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar);</code></td> +</tr> +<tr><td colspan="2"> +<p> +load a texture from a resource id </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aInstance</dt> +<dd>resource handle</dd> +<dt>aResource</dt> +<dd>resource ID</dd> +<dt>aResType</dt> +<dd>resource type</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="SaveToFile"></a><code>procedure <b>SaveToFile</b>(const aFilename: String; const aFileType: <a href="glBitmap.html#TglBitmapFileType">TglBitmapFileType</a>);</code></td> +</tr> +<tr><td colspan="2"> +<p> +save texture data to a file </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aFilename</dt> +<dd>filename to store texture in</dd> +<dt>aFileType</dt> +<dd>file type to store data into</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="SaveToStream"></a><code>procedure <b>SaveToStream</b>(const aStream: TStream; const aFileType: <a href="glBitmap.html#TglBitmapFileType">TglBitmapFileType</a>); virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +save texture data to a stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aFilename</dt> +<dd>filename to store texture in</dd> +<dt>aFileType</dt> +<dd>file type to store data into</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Convert"></a><code>function <b>Convert</b>(const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; const aCreateTemp: Boolean; const aArgs: Pointer = nil): Boolean; overload;</code></td> +</tr> +<tr><td colspan="2"> +<p> +convert texture data using a user defined callback </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aFunc</dt> +<dd>callback to use for converting</dd> +<dt>aCreateTemp</dt> +<dd>create a temporary buffer to use for converting</dd> +<dt>aArgs</dt> +<dd>user defined paramters (use at will)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> if converting was successful, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Convert"></a><code>function <b>Convert</b>(const aSource: <a href="glBitmap.TglBitmap.html">TglBitmap</a>; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; aCreateTemp: Boolean; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aArgs: Pointer = nil): Boolean; overload;</code></td> +</tr> +<tr><td colspan="2"> +<p> +convert texture data using a user defined callback </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aSource</dt> +<dd>glBitmap to read data from</dd> +<dt>aFunc</dt> +<dd>callback to use for converting</dd> +<dt>aCreateTemp</dt> +<dd>create a temporary buffer to use for converting</dd> +<dt>aFormat</dt> +<dd>format of the new data</dd> +<dt>aArgs</dt> +<dd>user defined paramters (use at will)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> if converting was successful, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="ConvertTo"></a><code>function <b>ConvertTo</b>(const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>): Boolean; virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +convert texture data using a specific format </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aFormat</dt> +<dd>new format of texture data</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> if converting was successful, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromResource"></a><code>function <b>AddAlphaFromResource</b>(const aInstance: Cardinal; aResource: String; aResType: PChar = nil; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +load alpha channel data from resource </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aInstance</dt> +<dd>resource handle</dd> +<dt>aResource</dt> +<dd>resource ID</dd> +<dt>aResType</dt> +<dd>resource type</dd> +<dt>aFunc</dt> +<dd>callback to use for converting</dd> +<dt>aArgs</dt> +<dd>user defined parameters (use at will)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromResourceID"></a><code>function <b>AddAlphaFromResourceID</b>(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +load alpha channel data from resource ID </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aInstance</dt> +<dd>resource handle</dd> +<dt>aResourceID</dt> +<dd>resource ID</dd> +<dt>aResType</dt> +<dd>resource type</dd> +<dt>aFunc</dt> +<dd>callback to use for converting</dd> +<dt>aArgs</dt> +<dd>user defined parameters (use at will)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromFunc"></a><code>function <b>AddAlphaFromFunc</b>(const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; const aArgs: Pointer = nil): Boolean; virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add alpha channel data from function </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aFunc</dt> +<dd>callback to get data from</dd> +<dt>aArgs</dt> +<dd>user defined parameters (use at will)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromFile"></a><code>function <b>AddAlphaFromFile</b>(const aFileName: String; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add alpha channel data from file (macro for: new glBitmap, LoadFromFile, AddAlphaFromGlBitmap) </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aFilename</dt> +<dd>file to load alpha channel data from</dd> +<dt>aFunc</dt> +<dd>callback to use for converting</dd> +<dt>aArgs</dt> +<dd>user defined parameters (use at will)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromStream"></a><code>function <b>AddAlphaFromStream</b>(const aStream: TStream; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add alpha channel data from stream (macro for: new glBitmap, LoadFromStream, AddAlphaFromGlBitmap) </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to load alpha channel data from</dd> +<dt>aFunc</dt> +<dd>callback to use for converting</dd> +<dt>aArgs</dt> +<dd>user defined parameters (use at will)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromGlBitmap"></a><code>function <b>AddAlphaFromGlBitmap</b>(const aBitmap: <a href="glBitmap.TglBitmap.html">TglBitmap</a>; aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a> = nil; const aArgs: Pointer = nil): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add alpha channel data from existing glBitmap object </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aBitmap</dt> +<dd>TglBitmap to copy alpha channel data from</dd> +<dt>aFunc</dt> +<dd>callback to use for converting</dd> +<dt>aArgs</dt> +<dd>user defined parameters (use at will)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromColorKey"></a><code>function <b>AddAlphaFromColorKey</b>(const aRed, aGreen, aBlue: Byte; const aDeviation: Byte = 0): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add alpha to pixel if the pixels color is greter than the given color value </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aRed</dt> +<dd>red threshold (0-255)</dd> +<dt>aGreen</dt> +<dd>green threshold (0-255)</dd> +<dt>aBlue</dt> +<dd>blue threshold (0-255)</dd> +<dt>aDeviatation</dt> +<dd>accepted deviatation (0-255)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromColorKeyRange"></a><code>function <b>AddAlphaFromColorKeyRange</b>(const aRed, aGreen, aBlue: Cardinal; const aDeviation: Cardinal = 0): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add alpha to pixel if the pixels color is greter than the given color value </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aRed</dt> +<dd>red threshold (0-Range.r)</dd> +<dt>aGreen</dt> +<dd>green threshold (0-Range.g)</dd> +<dt>aBlue</dt> +<dd>blue threshold (0-Range.b)</dd> +<dt>aDeviatation</dt> +<dd>accepted deviatation (0-max(Range.rgb))</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromColorKeyFloat"></a><code>function <b>AddAlphaFromColorKeyFloat</b>(const aRed, aGreen, aBlue: Single; const aDeviation: Single = 0): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add alpha to pixel if the pixels color is greter than the given color value </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aRed</dt> +<dd>red threshold (0.0-1.0)</dd> +<dt>aGreen</dt> +<dd>green threshold (0.0-1.0)</dd> +<dt>aBlue</dt> +<dd>blue threshold (0.0-1.0)</dd> +<dt>aDeviatation</dt> +<dd>accepted deviatation (0.0-1.0)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromValue"></a><code>function <b>AddAlphaFromValue</b>(const aAlpha: Byte): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add a constand alpha value to all pixels </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aAlpha</dt> +<dd>alpha value to add (0-255)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromValueRange"></a><code>function <b>AddAlphaFromValueRange</b>(const aAlpha: Cardinal): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add a constand alpha value to all pixels </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aAlpha</dt> +<dd>alpha value to add (0-max(Range.rgb))</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AddAlphaFromValueFloat"></a><code>function <b>AddAlphaFromValueFloat</b>(const aAlpha: Single): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +add a constand alpha value to all pixels </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aAlpha</dt> +<dd>alpha value to add (0.0-1.0)</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="RemoveAlpha"></a><code>function <b>RemoveAlpha</b>: Boolean; virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +remove alpha channel </p> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Clone"></a><code>function <b>Clone</b>: <a href="glBitmap.TglBitmap.html">TglBitmap</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +create a clone of the current object </p> +<h6 class="description_section">Returns</h6> +<p class="return">clone of this object</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Invert"></a><code>procedure <b>Invert</b>(const aUseRGB: Boolean = true; const aUseAlpha: Boolean = false);</code></td> +</tr> +<tr><td colspan="2"> +<p> +invert color data (xor) </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aUseRGB</dt> +<dd>xor each color channel</dd> +<dt>aUseAlpha</dt> +<dd>xor alpha channel</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FreeData"></a><code>procedure <b>FreeData</b>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +free texture stored data</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FillWithColor"></a><code>procedure <b>FillWithColor</b>(const aRed, aGreen, aBlue: Byte; const aAlpha: Byte = 255);</code></td> +</tr> +<tr><td colspan="2"> +<p> +fill complete texture with one color </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aRed</dt> +<dd>red color for border (0-255)</dd> +<dt>aGreen</dt> +<dd>green color for border (0-255)</dd> +<dt>aBlue</dt> +<dd>blue color for border (0-255)</dd> +<dt>aAlpha</dt> +<dd>alpha color for border (0-255)</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FillWithColorRange"></a><code>procedure <b>FillWithColorRange</b>(const aRed, aGreen, aBlue: Cardinal; const aAlpha: Cardinal = $FFFFFFFF);</code></td> +</tr> +<tr><td colspan="2"> +<p> +fill complete texture with one color </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aRed</dt> +<dd>red color for border (0-Range.r)</dd> +<dt>aGreen</dt> +<dd>green color for border (0-Range.g)</dd> +<dt>aBlue</dt> +<dd>blue color for border (0-Range.b)</dd> +<dt>aAlpha</dt> +<dd>alpha color for border (0-Range.a)</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FillWithColorFloat"></a><code>procedure <b>FillWithColorFloat</b>(const aRed, aGreen, aBlue: Single; const aAlpha: Single = 1.0);</code></td> +</tr> +<tr><td colspan="2"> +<p> +fill complete texture with one color </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aRed</dt> +<dd>red color for border (0.0-1.0)</dd> +<dt>aGreen</dt> +<dd>green color for border (0.0-1.0)</dd> +<dt>aBlue</dt> +<dd>blue color for border (0.0-1.0)</dd> +<dt>aAlpha</dt> +<dd>alpha color for border (0.0-1.0)</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="SetFilter"></a><code>procedure <b>SetFilter</b>(const aMin, aMag: GLenum);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new texture filer </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aMin</dt> +<dd>min filter</dd> +<dt>aMag</dt> +<dd>mag filter</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="SetWrap"></a><code>procedure <b>SetWrap</b>( const S: GLenum = GL_CLAMP_TO_EDGE; const T: GLenum = GL_CLAMP_TO_EDGE; const R: GLenum = GL_CLAMP_TO_EDGE);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new texture wrapping </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>S</dt> +<dd>texture wrapping for x axis</dd> +<dt>T</dt> +<dd>texture wrapping for y axis</dd> +<dt>R</dt> +<dd>texture wrapping for z axis</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="SetSwizzle"></a><code>procedure <b>SetSwizzle</b>(const r, g, b, a: GLenum);</code></td> +</tr> +<tr><td colspan="2"> +<p> +set new swizzle </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>r</dt> +<dd>swizzle for red channel</dd> +<dt>g</dt> +<dd>swizzle for green channel</dd> +<dt>b</dt> +<dd>swizzle for blue channel</dd> +<dt>a</dt> +<dd>swizzle for alpha channel</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Bind"></a><code>procedure <b>Bind</b>(const aEnableTextureUnit: Boolean = true); virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +bind texture </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aEnableTextureUnit</dt> +<dd>enable texture unit for this texture (e.g. glEnable(GL_TEXTURE_2D))</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Unbind"></a><code>procedure <b>Unbind</b>(const aDisableTextureUnit: Boolean = true); virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +bind texture </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aDisableTextureUnit</dt> +<dd>disable texture unit for this texture (e.g. glEnable(GL_TEXTURE_2D))</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>; overload;</code></td> +</tr> +<tr><td colspan="2"> +<p> +constructor - created an empty texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(const aFileName: String); overload;</code></td> +</tr> +<tr><td colspan="2"> +<p> +constructor - creates a texture and load it from a file </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aFilename</dt> +<dd>file to load texture from</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(const aStream: TStream); overload;</code></td> +</tr> +<tr><td colspan="2"> +<p> +constructor - creates a texture and load it from a stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to load texture from</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(const aSize: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; aData: PByte = nil); overload;</code></td> +</tr> +<tr><td colspan="2"> +<p> +constructor - creates a texture with the given size, format and data you can control this by setting DeleteTextureOnFree, FreeDataOnDestroy and FreeDataAfterGenTexture</p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aSize</dt> +<dd>size of the texture</dd> +<dt>aFormat</dt> +<dd>format of the given data</dd> +<dt>aData</dt> +<dd>texture data - be carefull: the data will now be managed by the glBitmap object,</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(const aSize: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aFunc: <a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a>; const aArgs: Pointer = nil); overload;</code></td> +</tr> +<tr><td colspan="2"> +<p> +constructor - creates a texture with the given size and format and uses the given callback to create the data </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aSize</dt> +<dd>size of the texture</dd> +<dt>aFormat</dt> +<dd>format of the given data</dd> +<dt>aFunc</dt> +<dd>callback to use for generating the data</dd> +<dt>aArgs</dt> +<dd>user defined parameters (use at will)</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(const aInstance: Cardinal; const aResource: String; const aResType: PChar = nil); overload;</code></td> +</tr> +<tr><td colspan="2"> +<p> +constructor - creates a texture and loads it from a resource </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aInstance</dt> +<dd>resource handle</dd> +<dt>aResource</dt> +<dd>resource indentifier</dd> +<dt>aResType</dt> +<dd>resource type (if known)</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar); overload;</code></td> +</tr> +<tr><td colspan="2"> +<p> +constructor - creates a texture and loads it from a resource </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aInstance</dt> +<dd>resource handle</dd> +<dt>aResourceID</dt> +<dd>resource ID</dd> +<dt>aResType</dt> +<dd>resource type (if known)</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="LoadRAW"></a><code>function <b>LoadRAW</b>(const aStream: TStream): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +try to load a RAW image from a stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to load RAW image from</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="SaveRAW"></a><code>procedure <b>SaveRAW</b>(const aStream: TStream);</code></td> +</tr> +<tr><td colspan="2"> +<p> +save texture data as RAW image to stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to save data to</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="LoadBMP"></a><code>function <b>LoadBMP</b>(const aStream: TStream): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +try to load a BMP from a stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to load BMP from</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="SaveBMP"></a><code>procedure <b>SaveBMP</b>(const aStream: TStream);</code></td> +</tr> +<tr><td colspan="2"> +<p> +save texture data as BMP to stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to save data to</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="LoadTGA"></a><code>function <b>LoadTGA</b>(const aStream: TStream): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +try to load a TGA from a stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to load TGA from</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="SaveTGA"></a><code>procedure <b>SaveTGA</b>(const aStream: TStream);</code></td> +</tr> +<tr><td colspan="2"> +<p> +save texture data as TGA to stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to save data to</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="LoadDDS"></a><code>function <b>LoadDDS</b>(const aStream: TStream): Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +try to load a DDS from a stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to load DDS from</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="SaveDDS"></a><code>procedure <b>SaveDDS</b>(const aStream: TStream);</code></td> +</tr> +<tr><td colspan="2"> +<p> +save texture data as DDS to stream </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aStream</dt> +<dd>stream to save data to</dd> +</dl> +</td></tr> +</table> +<h3 class="detail">Properties</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="Width"></a><code>property <b>Width</b>: Integer read <a href="glBitmap.TglBitmap.html#GetWidth">GetWidth</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +the actual width of the texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="Height"></a><code>property <b>Height</b>: Integer read <a href="glBitmap.TglBitmap.html#GetHeight">GetHeight</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +the actual height of the texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="FileWidth"></a><code>property <b>FileWidth</b>: Integer read <a href="glBitmap.TglBitmap.html#GetFileWidth">GetFileWidth</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +the width of the texture or 1 if the width is zero</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="FileHeight"></a><code>property <b>FileHeight</b>: Integer read <a href="glBitmap.TglBitmap.html#GetFileHeight">GetFileHeight</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +the height of the texture or 1 if the height is zero</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="ID"></a><code>property <b>ID</b>: Cardinal read <a href="glBitmap.TglBitmap.html#fID">fID</a> write <a href="glBitmap.TglBitmap.html#SetID">SetID</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +name of the OpenGL texture object</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Target"></a><code>property <b>Target</b>: Cardinal read <a href="glBitmap.TglBitmap.html#fTarget">fTarget</a> write <a href="glBitmap.TglBitmap.html#SetTarget">SetTarget</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +texture target (e.g. GL_TEXTURE_2D)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Format"></a><code>property <b>Format</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmap.html#fFormat">fFormat</a> write <a href="glBitmap.TglBitmap.html#SetFormat">SetFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +format the texture data is stored in</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="MipMap"></a><code>property <b>MipMap</b>: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a> read <a href="glBitmap.TglBitmap.html#fMipMap">fMipMap</a> write <a href="glBitmap.TglBitmap.html#SetMipMap">SetMipMap</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +mipmap type</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Anisotropic"></a><code>property <b>Anisotropic</b>: Integer read <a href="glBitmap.TglBitmap.html#fAnisotropic">fAnisotropic</a> write <a href="glBitmap.TglBitmap.html#SetAnisotropic">SetAnisotropic</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +anisotropic level</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FormatDesc"></a><code>property <b>FormatDesc</b>: <a href="glBitmap.TglBitmapFormatDescriptor.html">TglBitmapFormatDescriptor</a> read <a href="glBitmap.TglBitmap.html#GetFormatDesc">GetFormatDesc</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +format descriptor that describes the format of the stored data</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Filename"></a><code>property <b>Filename</b>: String read <a href="glBitmap.TglBitmap.html#fFilename">fFilename</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +filename the texture was load from</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="CustomName"></a><code>property <b>CustomName</b>: String read <a href="glBitmap.TglBitmap.html#fCustomName">fCustomName</a> write <a href="glBitmap.TglBitmap.html#SetCustomName">SetCustomName</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +user defined name (use at will)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="CustomNameW"></a><code>property <b>CustomNameW</b>: WideString read <a href="glBitmap.TglBitmap.html#fCustomNameW">fCustomNameW</a> write <a href="glBitmap.TglBitmap.html#SetCustomNameW">SetCustomNameW</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +user defined name (as WideString; use at will)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="CustomData"></a><code>property <b>CustomData</b>: Pointer read <a href="glBitmap.TglBitmap.html#fCustomData">fCustomData</a> write <a href="glBitmap.TglBitmap.html#SetCustomData">SetCustomData</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +user defined data (use at will)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="DeleteTextureOnFree"></a><code>property <b>DeleteTextureOnFree</b>: Boolean read <a href="glBitmap.TglBitmap.html#fDeleteTextureOnFree">fDeleteTextureOnFree</a> write <a href="glBitmap.TglBitmap.html#SetDeleteTextureOnFree">SetDeleteTextureOnFree</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +delete texture object when this object is destroyed</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FreeDataOnDestroy"></a><code>property <b>FreeDataOnDestroy</b>: Boolean read <a href="glBitmap.TglBitmap.html#fFreeDataOnDestroy">fFreeDataOnDestroy</a> write <a href="glBitmap.TglBitmap.html#SetFreeDataOnDestroy">SetFreeDataOnDestroy</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +free stored data when this object is destroyed</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FreeDataAfterGenTexture"></a><code>property <b>FreeDataAfterGenTexture</b>: Boolean read <a href="glBitmap.TglBitmap.html#fFreeDataAfterGenTexture">fFreeDataAfterGenTexture</a> write <a href="glBitmap.TglBitmap.html#SetFreeDataAfterGenTexture">SetFreeDataAfterGenTexture</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +free stored data after it is uplaoded to video card</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Dimension"></a><code>property <b>Dimension</b>: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a> read <a href="glBitmap.TglBitmap.html#fDimension">fDimension</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +size of the texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Data"></a><code>property <b>Data</b>: PByte read <a href="glBitmap.TglBitmap.html#fData">fData</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +texture data (or <code>Nil</code> if unset)</p> +</td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmap1D.html b/doc/glBitmap.TglBitmap1D.html new file mode 100644 index 0000000..d41d806 --- /dev/null +++ b/doc/glBitmap.TglBitmap1D.html @@ -0,0 +1,146 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class TglBitmap1D</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmap1D"></a><h1 class="cio">Class TglBitmap1D</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td><a class="section" href="#PasDoc-Properties">Properties</a></td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmap1D = class(<a class="normal" href="glBitmap.TglBitmap.html">TglBitmap</a>)</code></p> +<h2 class="description">Description</h2> +<p> +wrapper class for 1-dimensional textures (OpenGL target = GL_TEXTURE_1D</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">TObject</li> +<li class="ancestor"><a class="normal" href="glBitmap.TglBitmap.html">TglBitmap</a></li> +<li class="thisitem">TglBitmap1D</li></ul><h2 class="overview">Overview</h2> +<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap1D.html#SetDataPointer">SetDataPointer</a></b>(var aData: PByte; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aWidth: Integer = - 1; const aHeight: Integer = - 1); override;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap1D.html#UploadData">UploadData</a></b>(const aBuildWithGlu: Boolean);</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap1D.html#AfterConstruction">AfterConstruction</a></b>; override;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap1D.html#FlipHorz">FlipHorz</a></b>: Boolean; override;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap1D.html#GenTexture">GenTexture</a></b>(const aTestTextureSize: Boolean = true); override;</code></td> +</tr> +</table> +<a name="PasDoc-Properties"></a><h3 class="summary">Properties</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap1D.html#Width">Width</a></b>;</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Methods</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetDataPointer"></a><code>procedure <b>SetDataPointer</b>(var aData: PByte; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aWidth: Integer = - 1; const aHeight: Integer = - 1); override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +set data pointer of texture data </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aData</dt> +<dd>pointer to new texture data (be carefull, aData could be freed by this function)</dd> +<dt>aFormat</dt> +<dd>format of the data stored at aData</dd> +<dt>aWidth</dt> +<dd>width of the texture data</dd> +<dt>aHeight</dt> +<dd>height of the texture data</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="UploadData"></a><code>procedure <b>UploadData</b>(const aBuildWithGlu: Boolean);</code></td> +</tr> +<tr><td colspan="2"> +<p> +upload the texture data to video card </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aBuildWithGlu</dt> +<dd>use glu functions to build mipmaps</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AfterConstruction"></a><code>procedure <b>AfterConstruction</b>; override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +this method is called after constructor and initializes the object</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FlipHorz"></a><code>function <b>FlipHorz</b>: Boolean; override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +flip texture horizontally </p> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, @fals otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="GenTexture"></a><code>procedure <b>GenTexture</b>(const aTestTextureSize: Boolean = true); override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +generate texture (create texture object if not exist, set texture parameters and upload data </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aTestTextureSize</dt> +<dd>check the size of the texture and throw exception if something is wrong</dd> +</dl> +</td></tr> +</table> +<h3 class="detail">Properties</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Width"></a><code>property <b>Width</b>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +actual with of the texture</p> +</td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmap2D.html b/doc/glBitmap.TglBitmap2D.html new file mode 100644 index 0000000..ce0232a --- /dev/null +++ b/doc/glBitmap.TglBitmap2D.html @@ -0,0 +1,279 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class TglBitmap2D</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmap2D"></a><h1 class="cio">Class TglBitmap2D</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td><a class="section" href="#PasDoc-Properties">Properties</a></td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmap2D = class(<a class="normal" href="glBitmap.TglBitmap.html">TglBitmap</a>)</code></p> +<h2 class="description">Description</h2> +<p> +wrapper class for 2-dimensional textures (OpenGL target = GL_TEXTURE_2D)</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">TObject</li> +<li class="ancestor"><a class="normal" href="glBitmap.TglBitmap.html">TglBitmap</a></li> +<li class="thisitem">TglBitmap2D</li></ul><h2 class="overview">Overview</h2> +<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmap2D.html#fLines">fLines</a></b>: array of PByte;</code></td> +</tr> +</table> +<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap2D.html#GetScanline">GetScanline</a></b>(const aIndex: Integer): Pointer;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap2D.html#SetDataPointer">SetDataPointer</a></b>(var aData: PByte; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aWidth: Integer = - 1; const aHeight: Integer = - 1); override;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap2D.html#UploadData">UploadData</a></b>(const aTarget: GLenum);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap2D.html#AfterConstruction">AfterConstruction</a></b>; override;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap2D.html#GrabScreen">GrabScreen</a></b>(const aTop, aLeft, aRight, aBottom: Integer; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap2D.html#GenTexture">GenTexture</a></b>(const aTestTextureSize: Boolean = true); override;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap2D.html#FlipHorz">FlipHorz</a></b>: Boolean; override;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmap2D.html#FlipVert">FlipVert</a></b>: Boolean; override;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmap2D.html#GenerateNormalMap">GenerateNormalMap</a></b>(const aFunc: <a href="glBitmap.html#TglBitmapNormalMapFunc">TglBitmapNormalMapFunc</a> = nm3x3; const aScale: Single = 2; const aUseAlpha: Boolean = false);</code></td> +</tr> +</table> +<a name="PasDoc-Properties"></a><h3 class="summary">Properties</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap2D.html#Width">Width</a></b>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap2D.html#Height">Height</a></b>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmap2D.html#Scanline">Scanline</a></b>[constaIndex:Integer]: Pointer read <a href="glBitmap.TglBitmap2D.html#GetScanline">GetScanline</a>;</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Fields</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fLines"></a><code><b>fLines</b>: array of PByte;</code></td> +</tr> +<tr><td colspan="2"> +<p> +array to store scanline entry points in</p> +</td></tr> +</table> +<h3 class="detail">Methods</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="GetScanline"></a><code>function <b>GetScanline</b>(const aIndex: Integer): Pointer;</code></td> +</tr> +<tr><td colspan="2"> +<p> +get a specific scanline </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aIndex</dt> +<dd>index of the scanline to return</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return">scanline at position aIndex or <code>Nil</code></p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetDataPointer"></a><code>procedure <b>SetDataPointer</b>(var aData: PByte; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>; const aWidth: Integer = - 1; const aHeight: Integer = - 1); override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +set data pointer of texture data </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aData</dt> +<dd>pointer to new texture data (be carefull, aData could be freed by this function)</dd> +<dt>aFormat</dt> +<dd>format of the data stored at aData</dd> +<dt>aWidth</dt> +<dd>width of the texture data</dd> +<dt>aHeight</dt> +<dd>height of the texture data</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="UploadData"></a><code>procedure <b>UploadData</b>(const aTarget: GLenum);</code></td> +</tr> +<tr><td colspan="2"> +<p> +upload the texture data to video card </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aTarget</dt> +<dd>target o upload data to (e.g. GL_TEXTURE_2D)</dd> +<dt>aBuildWithGlu</dt> +<dd>use glu functions to build mipmaps</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AfterConstruction"></a><code>procedure <b>AfterConstruction</b>; override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +this method is called after constructor and initializes the object</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="GrabScreen"></a><code>procedure <b>GrabScreen</b>(const aTop, aLeft, aRight, aBottom: Integer; const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>);</code></td> +</tr> +<tr><td colspan="2"> +<p> +copy a part of the frame buffer top the texture </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aTop</dt> +<dd>topmost pixel to copy</dd> +<dt>aLeft</dt> +<dd>leftmost pixel to copy</dd> +<dt>aRight</dt> +<dd>rightmost pixel to copy</dd> +<dt>aBottom</dt> +<dd>bottommost pixel to copy</dd> +<dt>aFormat</dt> +<dd>format to store data in</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="GenTexture"></a><code>procedure <b>GenTexture</b>(const aTestTextureSize: Boolean = true); override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +generate texture (create texture object if not exist, set texture parameters and upload data) </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aTestTextureSize</dt> +<dd>check the size of the texture and throw exception if something is wrong</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FlipHorz"></a><code>function <b>FlipHorz</b>: Boolean; override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +flip texture horizontally </p> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="FlipVert"></a><code>function <b>FlipVert</b>: Boolean; override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +flip texture vertically </p> +<h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> on success, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="GenerateNormalMap"></a><code>procedure <b>GenerateNormalMap</b>(const aFunc: <a href="glBitmap.html#TglBitmapNormalMapFunc">TglBitmapNormalMapFunc</a> = nm3x3; const aScale: Single = 2; const aUseAlpha: Boolean = false);</code></td> +</tr> +<tr><td colspan="2"> +<p> +create normal map from texture data </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aFunc</dt> +<dd>normal map function to generate normalmap with</dd> +<dt>aScale</dt> +<dd>scale of the normale stored in the normal map</dd> +<dt>aUseAlpha</dt> +<dd>generate normalmap from alpha channel data (if present)</dd> +</dl> +</td></tr> +</table> +<h3 class="detail">Properties</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Width"></a><code>property <b>Width</b>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +actual width of the texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Height"></a><code>property <b>Height</b>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +actual height of the texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Scanline"></a><code>property <b>Scanline</b>[constaIndex:Integer]: Pointer read <a href="glBitmap.TglBitmap2D.html#GetScanline">GetScanline</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +scanline to access texture data directly</p> +</td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmapCubeMap.html b/doc/glBitmap.TglBitmapCubeMap.html new file mode 100644 index 0000000..e3bd45b --- /dev/null +++ b/doc/glBitmap.TglBitmapCubeMap.html @@ -0,0 +1,133 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class TglBitmapCubeMap</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmapCubeMap"></a><h1 class="cio">Class TglBitmapCubeMap</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmapCubeMap = class(<a class="normal" href="glBitmap.TglBitmap2D.html">TglBitmap2D</a>)</code></p> +<h2 class="description">Description</h2> +<p> +wrapper class for cube maps (OpenGL target = GL_TEXTURE_CUBE_MAP)</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">TObject</li> +<li class="ancestor"><a class="normal" href="glBitmap.TglBitmap.html">TglBitmap</a></li> +<li class="ancestor"><a class="normal" href="glBitmap.TglBitmap2D.html">TglBitmap2D</a></li> +<li class="thisitem">TglBitmapCubeMap</li></ul><h2 class="overview">Overview</h2> +<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmapCubeMap.html#GenTexture">GenTexture</a></b>(const aTestTextureSize: Boolean = true); reintroduce;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmapCubeMap.html#AfterConstruction">AfterConstruction</a></b>; override;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmapCubeMap.html#GenerateCubeMap">GenerateCubeMap</a></b>(const aCubeTarget: Cardinal; const aTestTextureSize: Boolean = true);</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmapCubeMap.html#Bind">Bind</a></b>( const aEnableTextureUnit: Boolean = true); reintroduce; virtual;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmapCubeMap.html#Unbind">Unbind</a></b>( const aDisableTextureUnit: Boolean = true); reintroduce; virtual;</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Methods</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="GenTexture"></a><code>procedure <b>GenTexture</b>(const aTestTextureSize: Boolean = true); reintroduce;</code></td> +</tr> +<tr><td colspan="2"> +<p> +generate texture (create texture object if not exist, set texture parameters and upload data do not call directly for cubemaps, use GenerateCubeMap instead </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aTestTextureSize</dt> +<dd>check the size of the texture and throw exception if something is wrong</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AfterConstruction"></a><code>procedure <b>AfterConstruction</b>; override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +this method is called after constructor and initializes the object</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="GenerateCubeMap"></a><code>procedure <b>GenerateCubeMap</b>(const aCubeTarget: Cardinal; const aTestTextureSize: Boolean = true);</code></td> +</tr> +<tr><td colspan="2"> +<p> +generate texture (create texture object if not exist, set texture parameters and upload data </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aCubeTarget</dt> +<dd>cube map target to upload data to (e.g. GL_TEXTURE_CUBE_MAP_POSITIVE_X)</dd> +<dt>aTestTextureSize</dt> +<dd>check the size of the texture and throw exception if something is wrong</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Bind"></a><code>procedure <b>Bind</b>( const aEnableTextureUnit: Boolean = true); reintroduce; virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +bind texture </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aEnableTexCoordsGen</dt> +<dd>enable cube map generator</dd> +<dt>aEnableTextureUnit</dt> +<dd>enable texture unit</dd> +</dl> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Unbind"></a><code>procedure <b>Unbind</b>( const aDisableTextureUnit: Boolean = true); reintroduce; virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +unbind texture </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aDisableTexCoordsGen</dt> +<dd>disable cube map generator</dd> +<dt>aDisableTextureUnit</dt> +<dd>disable texture unit</dd> +</dl> +</td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmapFormatDescriptor.html b/doc/glBitmap.TglBitmapFormatDescriptor.html new file mode 100644 index 0000000..c903418 --- /dev/null +++ b/doc/glBitmap.TglBitmapFormatDescriptor.html @@ -0,0 +1,743 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class TglBitmapFormatDescriptor</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmapFormatDescriptor"></a><h1 class="cio">Class TglBitmapFormatDescriptor</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td><a class="section" href="#PasDoc-Properties">Properties</a></td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmapFormatDescriptor = class(TObject)</code></p> +<h2 class="description">Description</h2> +<p> +describes the properties of a given texture data format</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">TObject</li> +<li class="thisitem">TglBitmapFormatDescriptor</li></ul><h2 class="overview">Overview</h2> +<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fBytesPerPixel">fBytesPerPixel</a></b>: Single;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fChannelCount">fChannelCount</a></b>: Integer;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fMask">fMask</a></b>: <a href="glBitmap.TglBitmapRec4ul.html">TglBitmapRec4ul</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fRange">fRange</a></b>: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fFormat">fFormat</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fWithAlpha">fWithAlpha</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fWithoutAlpha">fWithoutAlpha</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fOpenGLFormat">fOpenGLFormat</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fRGBInverted">fRGBInverted</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fUncompressed">fUncompressed</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fBitsPerPixel">fBitsPerPixel</a></b>: Integer;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fIsCompressed">fIsCompressed</a></b>: Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fPrecision">fPrecision</a></b>: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fShift">fShift</a></b>: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fglFormat">fglFormat</a></b>: GLenum;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fglInternalFormat">fglInternalFormat</a></b>: GLenum;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFormatDescriptor.html#fglDataFormat">fglDataFormat</a></b>: GLenum;</code></td> +</tr> +</table> +<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasRed">GetHasRed</a></b>: Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasGreen">GetHasGreen</a></b>: Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasBlue">GetHasBlue</a></b>: Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasAlpha">GetHasAlpha</a></b>: Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasColor">GetHasColor</a></b>: Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><code>function <b><a href="glBitmap.TglBitmapFormatDescriptor.html#GetIsGrayscale">GetIsGrayscale</a></b>: Boolean;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmapFormatDescriptor.html#SetValues">SetValues</a></b>; virtual;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmapFormatDescriptor.html#CalcValues">CalcValues</a></b>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>constructor <b><a href="glBitmap.TglBitmapFormatDescriptor.html#Create">Create</a></b>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>class function <b><a href="glBitmap.TglBitmapFormatDescriptor.html#GetByFormat">GetByFormat</a></b>(const aInternalFormat: GLenum): <a href="glBitmap.TglBitmapFormatDescriptor.html">TglBitmapFormatDescriptor</a>;</code></td> +</tr> +</table> +<a name="PasDoc-Properties"></a><h3 class="summary">Properties</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#Format">Format</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fFormat">fFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#ChannelCount">ChannelCount</a></b>: Integer read <a href="glBitmap.TglBitmapFormatDescriptor.html#fChannelCount">fChannelCount</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#IsCompressed">IsCompressed</a></b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#fIsCompressed">fIsCompressed</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#BitsPerPixel">BitsPerPixel</a></b>: Integer read <a href="glBitmap.TglBitmapFormatDescriptor.html#fBitsPerPixel">fBitsPerPixel</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#BytesPerPixel">BytesPerPixel</a></b>: Single read <a href="glBitmap.TglBitmapFormatDescriptor.html#fBytesPerPixel">fBytesPerPixel</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#Precision">Precision</a></b>: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fPrecision">fPrecision</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#Shift">Shift</a></b>: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fShift">fShift</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#Range">Range</a></b>: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fRange">fRange</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#Mask">Mask</a></b>: <a href="glBitmap.TglBitmapRec4ul.html">TglBitmapRec4ul</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fMask">fMask</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#RGBInverted">RGBInverted</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fRGBInverted">fRGBInverted</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#WithAlpha">WithAlpha</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fWithAlpha">fWithAlpha</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#WithoutAlpha">WithoutAlpha</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fWithAlpha">fWithAlpha</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#OpenGLFormat">OpenGLFormat</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fOpenGLFormat">fOpenGLFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#Uncompressed">Uncompressed</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fUncompressed">fUncompressed</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#glFormat">glFormat</a></b>: GLenum read <a href="glBitmap.TglBitmapFormatDescriptor.html#fglFormat">fglFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#glInternalFormat">glInternalFormat</a></b>: GLenum read <a href="glBitmap.TglBitmapFormatDescriptor.html#fglInternalFormat">fglInternalFormat</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#glDataFormat">glDataFormat</a></b>: GLenum read <a href="glBitmap.TglBitmapFormatDescriptor.html#fglDataFormat">fglDataFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#HasRed">HasRed</a></b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasRed">GetHasRed</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#HasGreen">HasGreen</a></b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasGreen">GetHasGreen</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#HasBlue">HasBlue</a></b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasBlue">GetHasBlue</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#HasAlpha">HasAlpha</a></b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasAlpha">GetHasAlpha</a>;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#HasColor">HasColor</a></b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasColor">GetHasColor</a>;</code></td> +</tr> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>property <b><a href="glBitmap.TglBitmapFormatDescriptor.html#IsGrayscale">IsGrayscale</a></b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetIsGrayscale">GetIsGrayscale</a>;</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Fields</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="fBytesPerPixel"></a><code><b>fBytesPerPixel</b>: Single;</code></td> +</tr> +<tr><td colspan="2"> +<p> +number of bytes for each pixel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="fChannelCount"></a><code><b>fChannelCount</b>: Integer;</code></td> +</tr> +<tr><td colspan="2"> +<p> +number of color channels</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="fMask"></a><code><b>fMask</b>: <a href="glBitmap.TglBitmapRec4ul.html">TglBitmapRec4ul</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +bitmask for each color channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="fRange"></a><code><b>fRange</b>: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +maximal value of each color channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fFormat"></a><code><b>fFormat</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +format this descriptor belongs to</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fWithAlpha"></a><code><b>fWithAlpha</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format with alpha channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fWithoutAlpha"></a><code><b>fWithoutAlpha</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format without alpha channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fOpenGLFormat"></a><code><b>fOpenGLFormat</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format that is supported by OpenGL</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fRGBInverted"></a><code><b>fRGBInverted</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format with inverted RGB channels</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fUncompressed"></a><code><b>fUncompressed</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format with uncompressed data</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fBitsPerPixel"></a><code><b>fBitsPerPixel</b>: Integer;</code></td> +</tr> +<tr><td colspan="2"> +<p> +number of bits per pixel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fIsCompressed"></a><code><b>fIsCompressed</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> +<p> +<code>True</code> if the format is compressed, <code>False</code> otherwise</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fPrecision"></a><code><b>fPrecision</b>: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +number of bits for each color channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fShift"></a><code><b>fShift</b>: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +bit offset for each color channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fglFormat"></a><code><b>fglFormat</b>: GLenum;</code></td> +</tr> +<tr><td colspan="2"> +<p> +OpenGL format enum (e.g. GL_RGB)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fglInternalFormat"></a><code><b>fglInternalFormat</b>: GLenum;</code></td> +</tr> +<tr><td colspan="2"> +<p> +OpenGL internal format enum (e.g. GL_RGB8)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="fglDataFormat"></a><code><b>fglDataFormat</b>: GLenum;</code></td> +</tr> +<tr><td colspan="2"> +<p> +OpenGL data format enum (e.g. GL_UNSIGNED_BYTE)</p> +</td></tr> +</table> +<h3 class="detail">Methods</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="GetHasRed"></a><code>function <b>GetHasRed</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> if the format has a red color channel, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="GetHasGreen"></a><code>function <b>GetHasGreen</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> if the format has a green color channel, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="GetHasBlue"></a><code>function <b>GetHasBlue</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> if the format has a blue color channel, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="GetHasAlpha"></a><code>function <b>GetHasAlpha</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> if the format has a alpha color channel, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="GetHasColor"></a><code>function <b>GetHasColor</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> if the format has any color color channel, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="private.gif" alt="Private" title="Private"></a></td> +<td class="itemcode"><a name="GetIsGrayscale"></a><code>function <b>GetIsGrayscale</b>: Boolean;</code></td> +</tr> +<tr><td colspan="2"> + <h6 class="description_section">Returns</h6> +<p class="return"><code>True</code> if the format is a grayscale format, <code>False</code> otherwise</p></td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="SetValues"></a><code>procedure <b>SetValues</b>; virtual;</code></td> +</tr> +<tr><td colspan="2"> +<p> +set values for this format descriptor</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td> +<td class="itemcode"><a name="CalcValues"></a><code>procedure <b>CalcValues</b>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +calculate cached values</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +constructor</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="GetByFormat"></a><code>class function <b>GetByFormat</b>(const aInternalFormat: GLenum): <a href="glBitmap.TglBitmapFormatDescriptor.html">TglBitmapFormatDescriptor</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +get the format descriptor by a given OpenGL internal format </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aInternalFormat</dt> +<dd>OpenGL internal format to get format descriptor for</dd> +</dl> +<h6 class="description_section">Returns</h6> +<p class="return">suitable format descriptor or tfEmpty-Descriptor</p></td></tr> +</table> +<h3 class="detail">Properties</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Format"></a><code>property <b>Format</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fFormat">fFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +format this descriptor belongs to</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="ChannelCount"></a><code>property <b>ChannelCount</b>: Integer read <a href="glBitmap.TglBitmapFormatDescriptor.html#fChannelCount">fChannelCount</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +number of color channels</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="IsCompressed"></a><code>property <b>IsCompressed</b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#fIsCompressed">fIsCompressed</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +<code>True</code> if the format is compressed, <code>False</code> otherwise</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="BitsPerPixel"></a><code>property <b>BitsPerPixel</b>: Integer read <a href="glBitmap.TglBitmapFormatDescriptor.html#fBitsPerPixel">fBitsPerPixel</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +number of bytes per pixel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="BytesPerPixel"></a><code>property <b>BytesPerPixel</b>: Single read <a href="glBitmap.TglBitmapFormatDescriptor.html#fBytesPerPixel">fBytesPerPixel</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +number of bits per pixel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Precision"></a><code>property <b>Precision</b>: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fPrecision">fPrecision</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +number of bits for each color channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Shift"></a><code>property <b>Shift</b>: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fShift">fShift</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +bit offset for each color channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Range"></a><code>property <b>Range</b>: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fRange">fRange</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +maximal value of each color channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Mask"></a><code>property <b>Mask</b>: <a href="glBitmap.TglBitmapRec4ul.html">TglBitmapRec4ul</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fMask">fMask</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +bitmask for each color channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="RGBInverted"></a><code>property <b>RGBInverted</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fRGBInverted">fRGBInverted</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format with inverted RGB channels</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="WithAlpha"></a><code>property <b>WithAlpha</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fWithAlpha">fWithAlpha</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format with alpha channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="WithoutAlpha"></a><code>property <b>WithoutAlpha</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fWithAlpha">fWithAlpha</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format without alpha channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="OpenGLFormat"></a><code>property <b>OpenGLFormat</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fOpenGLFormat">fOpenGLFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format that is supported by OpenGL</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="Uncompressed"></a><code>property <b>Uncompressed</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a> read <a href="glBitmap.TglBitmapFormatDescriptor.html#fUncompressed">fUncompressed</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +suitable format with uncompressed data</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="glFormat"></a><code>property <b>glFormat</b>: GLenum read <a href="glBitmap.TglBitmapFormatDescriptor.html#fglFormat">fglFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +OpenGL format enum (e.g. GL_RGB)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="glInternalFormat"></a><code>property <b>glInternalFormat</b>: GLenum read <a href="glBitmap.TglBitmapFormatDescriptor.html#fglInternalFormat">fglInternalFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +OpenGL internal format enum (e.g. GL_RGB8)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="glDataFormat"></a><code>property <b>glDataFormat</b>: GLenum read <a href="glBitmap.TglBitmapFormatDescriptor.html#fglDataFormat">fglDataFormat</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +OpenGL data format enum (e.g. GL_UNSIGNED_BYTE)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="HasRed"></a><code>property <b>HasRed</b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasRed">GetHasRed</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +<code>True</code> if the format has a red color channel, <code>False</code> otherwise</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="HasGreen"></a><code>property <b>HasGreen</b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasGreen">GetHasGreen</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +<code>True</code> if the format has a green color channel, <code>False</code> otherwise</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="HasBlue"></a><code>property <b>HasBlue</b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasBlue">GetHasBlue</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +<code>True</code> if the format has a blue color channel, <code>False</code> otherwise</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="HasAlpha"></a><code>property <b>HasAlpha</b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasAlpha">GetHasAlpha</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +<code>True</code> if the format has a alpha color channel, <code>False</code> otherwise</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="HasColor"></a><code>property <b>HasColor</b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetHasColor">GetHasColor</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +<code>True</code> if the format has any color color channel, <code>False</code> otherwise</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="IsGrayscale"></a><code>property <b>IsGrayscale</b>: Boolean read <a href="glBitmap.TglBitmapFormatDescriptor.html#GetIsGrayscale">GetIsGrayscale</a>;</code></td> +</tr> +<tr><td colspan="2"> +<p> +<code>True</code> if the format is a grayscale format, <code>False</code> otherwise</p> +</td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmapFunctionRec.html b/doc/glBitmap.TglBitmapFunctionRec.html new file mode 100644 index 0000000..23f734f --- /dev/null +++ b/doc/glBitmap.TglBitmapFunctionRec.html @@ -0,0 +1,105 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: record TglBitmapFunctionRec</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmapFunctionRec"></a><h1 class="cio">record TglBitmapFunctionRec</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td>Hierarchy</td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmapFunctionRec = record</code></p> +<h2 class="description">Description</h2> +<p> +structure to store data for converting in</p> +<h2 class="overview">Overview</h2> +<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFunctionRec.html#Sender">Sender</a></b>: <a href="glBitmap.TglBitmap.html">TglBitmap</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFunctionRec.html#Size">Size</a></b>: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFunctionRec.html#Position">Position</a></b>: <a href="glBitmap.html#TglBitmapPixelPosition">TglBitmapPixelPosition</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFunctionRec.html#Source">Source</a></b>: <a href="glBitmap.TglBitmapPixelData.html">TglBitmapPixelData</a>;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFunctionRec.html#Dest">Dest</a></b>: <a href="glBitmap.TglBitmapPixelData.html">TglBitmapPixelData</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapFunctionRec.html#Args">Args</a></b>: Pointer;</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Fields</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Sender"></a><code><b>Sender</b>: <a href="glBitmap.TglBitmap.html">TglBitmap</a>;</code></td> +</tr> +<tr><td colspan="1"> +<p> +texture object that stores the data to convert</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Size"></a><code><b>Size</b>: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>;</code></td> +</tr> +<tr><td colspan="1"> +<p> +size of the texture</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Position"></a><code><b>Position</b>: <a href="glBitmap.html#TglBitmapPixelPosition">TglBitmapPixelPosition</a>;</code></td> +</tr> +<tr><td colspan="1"> +<p> +position of the currently pixel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Source"></a><code><b>Source</b>: <a href="glBitmap.TglBitmapPixelData.html">TglBitmapPixelData</a>;</code></td> +</tr> +<tr><td colspan="1"> +<p> +pixel data of the current pixel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Dest"></a><code><b>Dest</b>: <a href="glBitmap.TglBitmapPixelData.html">TglBitmapPixelData</a>;</code></td> +</tr> +<tr><td colspan="1"> +<p> +new data of the pixel (must be filled in)</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Args"></a><code><b>Args</b>: Pointer;</code></td> +</tr> +<tr><td colspan="1"> +<p> +user defined args that was passed to the convert function</p> +</td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmapNormalMap.html b/doc/glBitmap.TglBitmapNormalMap.html new file mode 100644 index 0000000..b58e758 --- /dev/null +++ b/doc/glBitmap.TglBitmapNormalMap.html @@ -0,0 +1,73 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: Class TglBitmapNormalMap</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmapNormalMap"></a><h1 class="cio">Class TglBitmapNormalMap</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmapNormalMap = class(<a class="normal" href="glBitmap.TglBitmapCubeMap.html">TglBitmapCubeMap</a>)</code></p> +<h2 class="description">Description</h2> +<p> +wrapper class for cube normal maps</p> +<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2> +<ul class="hierarchy"><li class="ancestor">TObject</li> +<li class="ancestor"><a class="normal" href="glBitmap.TglBitmap.html">TglBitmap</a></li> +<li class="ancestor"><a class="normal" href="glBitmap.TglBitmap2D.html">TglBitmap2D</a></li> +<li class="ancestor"><a class="normal" href="glBitmap.TglBitmapCubeMap.html">TglBitmapCubeMap</a></li> +<li class="thisitem">TglBitmapNormalMap</li></ul><h2 class="overview">Overview</h2> +<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmapNormalMap.html#AfterConstruction">AfterConstruction</a></b>; override;</code></td> +</tr> +<tr class="list2"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><code>procedure <b><a href="glBitmap.TglBitmapNormalMap.html#GenerateNormalMap">GenerateNormalMap</a></b>(const aSize: Integer = 32; const aTestTextureSize: Boolean = true);</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Methods</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="AfterConstruction"></a><code>procedure <b>AfterConstruction</b>; override;</code></td> +</tr> +<tr><td colspan="2"> +<p> +this method is called after constructor and initializes the object</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td> +<td class="itemcode"><a name="GenerateNormalMap"></a><code>procedure <b>GenerateNormalMap</b>(const aSize: Integer = 32; const aTestTextureSize: Boolean = true);</code></td> +</tr> +<tr><td colspan="2"> +<p> +create cube normal map from texture data and upload it to video card </p> +<h6 class="description_section">Parameters</h6> +<dl class="parameters"> +<dt>aSize</dt> +<dd>size of each cube map texture</dd> +<dt>aTestTextureSize</dt> +<dd>check texture size when uploading and throw exception if something is wrong</dd> +</dl> +</td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmapPixelData.html b/doc/glBitmap.TglBitmapPixelData.html new file mode 100644 index 0000000..9144e65 --- /dev/null +++ b/doc/glBitmap.TglBitmapPixelData.html @@ -0,0 +1,69 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: packed record TglBitmapPixelData</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmapPixelData"></a><h1 class="cio">packed record TglBitmapPixelData</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td>Hierarchy</td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmapPixelData = packed record</code></p> +<h2 class="description">Description</h2> +<p> +structure to store pixel data in</p> +<h2 class="overview">Overview</h2> +<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapPixelData.html#Data">Data</a></b>: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapPixelData.html#Range">Range</a></b>: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapPixelData.html#Format">Format</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Fields</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Data"></a><code><b>Data</b>: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>;</code></td> +</tr> +<tr><td colspan="1"> +<p> +color data for each color channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Range"></a><code><b>Range</b>: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>;</code></td> +</tr> +<tr><td colspan="1"> +<p> +maximal color value for each channel</p> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Format"></a><code><b>Format</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr><td colspan="1"> +<p> +format of the pixel</p> +</td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmapRec4ub.html b/doc/glBitmap.TglBitmapRec4ub.html new file mode 100644 index 0000000..7f5f880 --- /dev/null +++ b/doc/glBitmap.TglBitmapRec4ub.html @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: packed record TglBitmapRec4ub</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmapRec4ub"></a><h1 class="cio">packed record TglBitmapRec4ub</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td>Hierarchy</td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmapRec4ub = packed record</code></p> +<h2 class="description">Description</h2> +<p> +record that stores 4 unsigned byte values</p> +<h2 class="overview">Overview</h2> +<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ub.html#r">r</a></b>: Byte</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ub.html#g">g</a></b>: Byte</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ub.html#b">b</a></b>: Byte</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ub.html#a">a</a></b>: Byte</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ub.html#arr">arr</a></b>: array[0..3] of Byte</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Fields</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="r"></a><code><b>r</b>: Byte</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="g"></a><code><b>g</b>: Byte</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="b"></a><code><b>b</b>: Byte</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="a"></a><code><b>a</b>: Byte</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="arr"></a><code><b>arr</b>: array[0..3] of Byte</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmapRec4ui.html b/doc/glBitmap.TglBitmapRec4ui.html new file mode 100644 index 0000000..36e5ce5 --- /dev/null +++ b/doc/glBitmap.TglBitmapRec4ui.html @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: packed record TglBitmapRec4ui</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmapRec4ui"></a><h1 class="cio">packed record TglBitmapRec4ui</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td>Hierarchy</td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmapRec4ui = packed record</code></p> +<h2 class="description">Description</h2> +<p> +record that stores 4 unsigned integer values</p> +<h2 class="overview">Overview</h2> +<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ui.html#r">r</a></b>: Cardinal</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ui.html#g">g</a></b>: Cardinal</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ui.html#b">b</a></b>: Cardinal</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ui.html#a">a</a></b>: Cardinal</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ui.html#arr">arr</a></b>: array[0..3] of Cardinal</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Fields</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="r"></a><code><b>r</b>: Cardinal</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="g"></a><code><b>g</b>: Cardinal</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="b"></a><code><b>b</b>: Cardinal</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="a"></a><code><b>a</b>: Cardinal</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="arr"></a><code><b>arr</b>: array[0..3] of Cardinal</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmapRec4ul.html b/doc/glBitmap.TglBitmapRec4ul.html new file mode 100644 index 0000000..f9e9b67 --- /dev/null +++ b/doc/glBitmap.TglBitmapRec4ul.html @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: packed record TglBitmapRec4ul</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmapRec4ul"></a><h1 class="cio">packed record TglBitmapRec4ul</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td>Hierarchy</td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmapRec4ul = packed record</code></p> +<h2 class="description">Description</h2> +<p> +record that stores 4 unsigned long integer values</p> +<h2 class="overview">Overview</h2> +<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ul.html#r">r</a></b>: QWord</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ul.html#g">g</a></b>: QWord</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ul.html#b">b</a></b>: QWord</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ul.html#a">a</a></b>: QWord</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapRec4ul.html#arr">arr</a></b>: array[0..3] of QWord</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Fields</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="r"></a><code><b>r</b>: QWord</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="g"></a><code><b>g</b>: QWord</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="b"></a><code><b>b</b>: QWord</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="a"></a><code><b>a</b>: QWord</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="arr"></a><code><b>arr</b>: array[0..3] of QWord</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.TglBitmapSize.html b/doc/glBitmap.TglBitmapSize.html new file mode 100644 index 0000000..67b9ace --- /dev/null +++ b/doc/glBitmap.TglBitmapSize.html @@ -0,0 +1,61 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap: packed record TglBitmapSize</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<a name="TglBitmapSize"></a><h1 class="cio">packed record TglBitmapSize</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td>Hierarchy</td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td>Methods</td><td>Properties</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2> +<p class="unitlink"> +<a href="glBitmap.html">glBitmap</a></p> +<h2 class="declaration">Declaration</h2> +<p class="declaration"> +<code>type TglBitmapSize = packed record</code></p> +<h2 class="description">Description</h2> + <h2 class="overview">Overview</h2> +<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapSize.html#Fields">Fields</a></b>: <a href="glBitmap.html#TglBitmapSizeFields">TglBitmapSizeFields</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapSize.html#X">X</a></b>: Word;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.TglBitmapSize.html#Y">Y</a></b>: Word;</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Fields</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Fields"></a><code><b>Fields</b>: <a href="glBitmap.html#TglBitmapSizeFields">TglBitmapSizeFields</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="X"></a><code><b>X</b>: Word;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="Y"></a><code><b>Y</b>: Word;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/glBitmap.html b/doc/glBitmap.html new file mode 100644 index 0000000..839c453 --- /dev/null +++ b/doc/glBitmap.html @@ -0,0 +1,602 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>glBitmap</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="unit">Unit glBitmap</h1> +<table class="sections wide_list"> +<tr> +<td><a class="section" href="#PasDoc-Description">Description</a></td><td>Uses</td><td><a class="section" href="#PasDoc-Classes">Classes, Interfaces, Objects and Records</a></td><td><a class="section" href="#PasDoc-FuncsProcs">Functions and Procedures</a></td><td><a class="section" href="#PasDoc-Types">Types</a></td><td><a class="section" href="#PasDoc-Constants">Constants</a></td><td>Variables</td></tr></table> +<a name="PasDoc-Description"></a><h2 class="description">Description</h2> +<p> +glBitmap by Steffen Xonna aka Lossy eX (2003-2008) <a href="http://www.opengl24.de/index.php?cat=header&file=glbitmap">http://www.opengl24.de/index.php?cat=header&file=glbitmap</a> + +<p>modified by Delphi OpenGL Community (<a href="http://delphigl.com/">http://delphigl.com/</a>) (2013) + +<p>The contents of this file are used with permission, subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a> + +<p>The glBitmap is a Delphi/FPC unit that contains several wrapper classes to manage OpenGL texture objects. Below you can find a list of the main functionality of this classes: - load texture data from file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) - load texture data from several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) - save texture data to file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) - save texture data to several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) - support for many texture formats (e.g. RGB8, BGR8, RGBA8, BGRA8, ...) - manage texture properties (e.g. Filter, Clamp, Mipmap, ...) - upload texture data to video card - download texture data from video card - manipulate texture data (e.g. add alpha, remove alpha, convert to other format, switch RGB, ...)</p> +<a name="PasDoc-Uses"></a><h2 class="overview">Overview</h2> +<a name="PasDoc-Classes"></a><h3 class="cio">Classes, Interfaces, Objects and Records</h3> +<table class="classestable wide_list"> +<tr class="listheader"> +<th class="itemname">Name</th> +<th class="itemdesc">Description</th> +</tr> +<tr class="list"> +<td class="itemname">Class <a class="bold" href="glBitmap.EglBitmap.html"><code>EglBitmap</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list2"> +<td class="itemname">Class <a class="bold" href="glBitmap.EglBitmapNotSupported.html"><code>EglBitmapNotSupported</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list"> +<td class="itemname">Class <a class="bold" href="glBitmap.EglBitmapSizeToLarge.html"><code>EglBitmapSizeToLarge</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list2"> +<td class="itemname">Class <a class="bold" href="glBitmap.EglBitmapNonPowerOfTwo.html"><code>EglBitmapNonPowerOfTwo</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list"> +<td class="itemname">Class <a class="bold" href="glBitmap.EglBitmapUnsupportedFormat.html"><code>EglBitmapUnsupportedFormat</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list2"> +<td class="itemname">packed record <a class="bold" href="glBitmap.TglBitmapRec4ui.html"><code>TglBitmapRec4ui</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list"> +<td class="itemname">packed record <a class="bold" href="glBitmap.TglBitmapRec4ub.html"><code>TglBitmapRec4ub</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list2"> +<td class="itemname">packed record <a class="bold" href="glBitmap.TglBitmapRec4ul.html"><code>TglBitmapRec4ul</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list"> +<td class="itemname">Class <a class="bold" href="glBitmap.TglBitmapFormatDescriptor.html"><code>TglBitmapFormatDescriptor</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list2"> +<td class="itemname">packed record <a class="bold" href="glBitmap.TglBitmapPixelData.html"><code>TglBitmapPixelData</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list"> +<td class="itemname">packed record <a class="bold" href="glBitmap.TglBitmapSize.html"><code>TglBitmapSize</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list2"> +<td class="itemname">record <a class="bold" href="glBitmap.TglBitmapFunctionRec.html"><code>TglBitmapFunctionRec</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list"> +<td class="itemname">Class <a class="bold" href="glBitmap.TglBitmap.html"><code>TglBitmap</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list2"> +<td class="itemname">Class <a class="bold" href="glBitmap.TglBitmap1D.html"><code>TglBitmap1D</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list"> +<td class="itemname">Class <a class="bold" href="glBitmap.TglBitmap2D.html"><code>TglBitmap2D</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list2"> +<td class="itemname">Class <a class="bold" href="glBitmap.TglBitmapCubeMap.html"><code>TglBitmapCubeMap</code></a></td> +<td class="itemdesc"> </td> +</tr> +<tr class="list"> +<td class="itemname">Class <a class="bold" href="glBitmap.TglBitmapNormalMap.html"><code>TglBitmapNormalMap</code></a></td> +<td class="itemdesc"> </td> +</tr> +</table> +<a name="PasDoc-FuncsProcs"></a><h3 class="summary">Functions and Procedures</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapSetDefaultDeleteTextureOnFree">glBitmapSetDefaultDeleteTextureOnFree</a></b>(const aDeleteTextureOnFree: Boolean);</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapSetDefaultFreeDataAfterGenTexture">glBitmapSetDefaultFreeDataAfterGenTexture</a></b>(const aFreeData: Boolean);</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapSetDefaultMipmap">glBitmapSetDefaultMipmap</a></b>(const aValue: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a>);</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapSetDefaultFormat">glBitmapSetDefaultFormat</a></b>(const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>);</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapSetDefaultFilter">glBitmapSetDefaultFilter</a></b>(const aMin, aMag: Integer);</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapSetDefaultWrap">glBitmapSetDefaultWrap</a></b>( const S: Cardinal = GL_CLAMP_TO_EDGE; const T: Cardinal = GL_CLAMP_TO_EDGE; const R: Cardinal = GL_CLAMP_TO_EDGE);</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapSetDefaultSwizzle">glBitmapSetDefaultSwizzle</a></b>(const r: GLenum = GL_RED; g: GLenum = GL_GREEN; b: GLenum = GL_BLUE; a: GLenum = GL_ALPHA);</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapGetDefaultDeleteTextureOnFree">glBitmapGetDefaultDeleteTextureOnFree</a></b>: Boolean;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapGetDefaultFreeDataAfterGenTexture">glBitmapGetDefaultFreeDataAfterGenTexture</a></b>: Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapGetDefaultMipmap">glBitmapGetDefaultMipmap</a></b>: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a>;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapGetDefaultFormat">glBitmapGetDefaultFormat</a></b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapGetDefaultFilter">glBitmapGetDefaultFilter</a></b>(var aMin, aMag: Cardinal);</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapGetDefaultTextureWrap">glBitmapGetDefaultTextureWrap</a></b>(var S, T, R: Cardinal);</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>procedure <b><a href="glBitmap.html#glBitmapGetDefaultSwizzle">glBitmapGetDefaultSwizzle</a></b>(var r, g, b, a: GLenum);</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapSize">glBitmapSize</a></b>(X: Integer = -1; Y: Integer = -1): <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapPosition">glBitmapPosition</a></b>(X: Integer = -1; Y: Integer = -1): <a href="glBitmap.html#TglBitmapPixelPosition">TglBitmapPixelPosition</a>;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapRec4ub">glBitmapRec4ub</a></b>(const r, g, b, a: Byte): <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapRec4ui">glBitmapRec4ui</a></b>(const r, g, b, a: Cardinal): <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapRec4ul">glBitmapRec4ul</a></b>(const r, g, b, a: QWord): <a href="glBitmap.TglBitmapRec4ul.html">TglBitmapRec4ul</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapRec4ubCompare">glBitmapRec4ubCompare</a></b>(const r1, r2: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a>): Boolean;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapRec4uiCompare">glBitmapRec4uiCompare</a></b>(const r1, r2: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>): Boolean;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code>function <b><a href="glBitmap.html#glBitmapCreateTestTexture">glBitmapCreateTestTexture</a></b>(const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>): <a href="glBitmap.TglBitmap2D.html">TglBitmap2D</a>;</code></td> +</tr> +</table> +<a name="PasDoc-Types"></a><h3 class="summary">Types</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a></b> = (...);</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.html#TglBitmapFileType">TglBitmapFileType</a></b> = (...);</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.html#TglBitmapFileTypes">TglBitmapFileTypes</a></b> = set of <a href="glBitmap.html#TglBitmapFileType">TglBitmapFileType</a>;</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a></b> = (...);</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.html#TglBitmapNormalMapFunc">TglBitmapNormalMapFunc</a></b> = (...);</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.html#PglBitmapPixelData">PglBitmapPixelData</a></b> = ˆ<a href="glBitmap.TglBitmapPixelData.html">TglBitmapPixelData</a>;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.html#TglBitmapSizeFields">TglBitmapSizeFields</a></b> = set of (ffX, ffY);</code></td> +</tr> +<tr class="list2"> +<td class="itemcode"><code><b><a href="glBitmap.html#TglBitmapPixelPosition">TglBitmapPixelPosition</a></b> = <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>;</code></td> +</tr> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.html#TglBitmapFunction">TglBitmapFunction</a></b> = procedure(var FuncRec: <a href="glBitmap.TglBitmapFunctionRec.html">TglBitmapFunctionRec</a>);</code></td> +</tr> +</table> +<a name="PasDoc-Constants"></a><h3 class="summary">Constants</h3> +<table class="summary wide_list"> +<tr class="list"> +<td class="itemcode"><code><b><a href="glBitmap.html#NULL_SIZE">NULL_SIZE</a></b>: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a> = (Fields: []; X: 0; Y: 0);</code></td> +</tr> +</table> +<h2 class="description">Description</h2> +<h3 class="detail">Functions and Procedures</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapSetDefaultDeleteTextureOnFree"></a><code>procedure <b>glBitmapSetDefaultDeleteTextureOnFree</b>(const aDeleteTextureOnFree: Boolean);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapSetDefaultFreeDataAfterGenTexture"></a><code>procedure <b>glBitmapSetDefaultFreeDataAfterGenTexture</b>(const aFreeData: Boolean);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapSetDefaultMipmap"></a><code>procedure <b>glBitmapSetDefaultMipmap</b>(const aValue: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a>);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapSetDefaultFormat"></a><code>procedure <b>glBitmapSetDefaultFormat</b>(const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapSetDefaultFilter"></a><code>procedure <b>glBitmapSetDefaultFilter</b>(const aMin, aMag: Integer);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapSetDefaultWrap"></a><code>procedure <b>glBitmapSetDefaultWrap</b>( const S: Cardinal = GL_CLAMP_TO_EDGE; const T: Cardinal = GL_CLAMP_TO_EDGE; const R: Cardinal = GL_CLAMP_TO_EDGE);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapSetDefaultSwizzle"></a><code>procedure <b>glBitmapSetDefaultSwizzle</b>(const r: GLenum = GL_RED; g: GLenum = GL_GREEN; b: GLenum = GL_BLUE; a: GLenum = GL_ALPHA);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapGetDefaultDeleteTextureOnFree"></a><code>function <b>glBitmapGetDefaultDeleteTextureOnFree</b>: Boolean;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapGetDefaultFreeDataAfterGenTexture"></a><code>function <b>glBitmapGetDefaultFreeDataAfterGenTexture</b>: Boolean;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapGetDefaultMipmap"></a><code>function <b>glBitmapGetDefaultMipmap</b>: <a href="glBitmap.html#TglBitmapMipMap">TglBitmapMipMap</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapGetDefaultFormat"></a><code>function <b>glBitmapGetDefaultFormat</b>: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapGetDefaultFilter"></a><code>procedure <b>glBitmapGetDefaultFilter</b>(var aMin, aMag: Cardinal);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapGetDefaultTextureWrap"></a><code>procedure <b>glBitmapGetDefaultTextureWrap</b>(var S, T, R: Cardinal);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapGetDefaultSwizzle"></a><code>procedure <b>glBitmapGetDefaultSwizzle</b>(var r, g, b, a: GLenum);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapSize"></a><code>function <b>glBitmapSize</b>(X: Integer = -1; Y: Integer = -1): <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapPosition"></a><code>function <b>glBitmapPosition</b>(X: Integer = -1; Y: Integer = -1): <a href="glBitmap.html#TglBitmapPixelPosition">TglBitmapPixelPosition</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapRec4ub"></a><code>function <b>glBitmapRec4ub</b>(const r, g, b, a: Byte): <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapRec4ui"></a><code>function <b>glBitmapRec4ui</b>(const r, g, b, a: Cardinal): <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapRec4ul"></a><code>function <b>glBitmapRec4ul</b>(const r, g, b, a: QWord): <a href="glBitmap.TglBitmapRec4ul.html">TglBitmapRec4ul</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapRec4ubCompare"></a><code>function <b>glBitmapRec4ubCompare</b>(const r1, r2: <a href="glBitmap.TglBitmapRec4ub.html">TglBitmapRec4ub</a>): Boolean;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapRec4uiCompare"></a><code>function <b>glBitmapRec4uiCompare</b>(const r1, r2: <a href="glBitmap.TglBitmapRec4ui.html">TglBitmapRec4ui</a>): Boolean;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="glBitmapCreateTestTexture"></a><code>function <b>glBitmapCreateTestTexture</b>(const aFormat: <a href="glBitmap.html#TglBitmapFormat">TglBitmapFormat</a>): <a href="glBitmap.TglBitmap2D.html">TglBitmap2D</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<h3 class="detail">Types</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="TglBitmapFormat"></a><code><b>TglBitmapFormat</b> = (...);</code></td> +</tr> +<tr><td colspan="1"> +<p> +type that describes the format of the data stored in a texture. the name of formats is composed of the following constituents: - multiple channels: - channel (e.g. R, G, B, A or Alpha, Luminance or X (reserved)) - width of the chanel in bit (4, 8, 16, ...) - data type (e.g. ub, us, ui) - number of elements of data types</p> +<h6 class="description_section">Values</h6> +<ul> +<li> +tfEmpty = 0: </li> +<li> +tfAlpha4ub1: 1 x unsigned byte</li> +<li> +tfAlpha8ub1: 1 x unsigned byte</li> +<li> +tfAlpha16us1: 1 x unsigned short</li> +<li> +tfLuminance4ub1: 1 x unsigned byte</li> +<li> +tfLuminance8ub1: 1 x unsigned byte</li> +<li> +tfLuminance16us1: 1 x unsigned short</li> +<li> +tfLuminance4Alpha4ub2: 1 x unsigned byte (lum), 1 x unsigned byte (alpha)</li> +<li> +tfLuminance6Alpha2ub2: 1 x unsigned byte (lum), 1 x unsigned byte (alpha)</li> +<li> +tfLuminance8Alpha8ub2: 1 x unsigned byte (lum), 1 x unsigned byte (alpha)</li> +<li> +tfLuminance12Alpha4us2: 1 x unsigned short (lum), 1 x unsigned short (alpha)</li> +<li> +tfLuminance16Alpha16us2: 1 x unsigned short (lum), 1 x unsigned short (alpha)</li> +<li> +tfR3G3B2ub1: 1 x unsigned byte (3bit red, 3bit green, 2bit blue)</li> +<li> +tfRGBX4us1: 1 x unsigned short (4bit red, 4bit green, 4bit blue, 4bit reserverd)</li> +<li> +tfXRGB4us1: 1 x unsigned short (4bit reserved, 4bit red, 4bit green, 4bit blue)</li> +<li> +tfR5G6B5us1: 1 x unsigned short (5bit red, 6bit green, 5bit blue)</li> +<li> +tfRGB5X1us1: 1 x unsigned short (5bit red, 5bit green, 5bit blue, 1bit reserved)</li> +<li> +tfX1RGB5us1: 1 x unsigned short (1bit reserved, 5bit red, 5bit green, 5bit blue)</li> +<li> +tfRGB8ub3: 1 x unsigned byte (red), 1 x unsigned byte (green), 1 x unsigned byte (blue)</li> +<li> +tfRGBX8ui1: 1 x unsigned int (8bit red, 8bit green, 8bit blue, 8bit reserved)</li> +<li> +tfXRGB8ui1: 1 x unsigned int (8bit reserved, 8bit red, 8bit green, 8bit blue)</li> +<li> +tfRGB10X2ui1: 1 x unsigned int (10bit red, 10bit green, 10bit blue, 2bit reserved)</li> +<li> +tfX2RGB10ui1: 1 x unsigned int (2bit reserved, 10bit red, 10bit green, 10bit blue)</li> +<li> +tfRGB16us3: 1 x unsigned short (red), 1 x unsigned short (green), 1 x unsigned short (blue)</li> +<li> +tfRGBA4us1: 1 x unsigned short (4bit red, 4bit green, 4bit blue, 4bit alpha)</li> +<li> +tfARGB4us1: 1 x unsigned short (4bit alpha, 4bit red, 4bit green, 4bit blue)</li> +<li> +tfRGB5A1us1: 1 x unsigned short (5bit red, 5bit green, 5bit blue, 1bit alpha)</li> +<li> +tfA1RGB5us1: 1 x unsigned short (1bit alpha, 5bit red, 5bit green, 5bit blue)</li> +<li> +tfRGBA8ui1: 1 x unsigned int (8bit red, 8bit green, 8bit blue, 8 bit alpha)</li> +<li> +tfARGB8ui1: 1 x unsigned int (8 bit alpha, 8bit red, 8bit green, 8bit blue)</li> +<li> +tfRGBA8ub4: 1 x unsigned byte (red), 1 x unsigned byte (green), 1 x unsigned byte (blue), 1 x unsigned byte (alpha)</li> +<li> +tfRGB10A2ui1: 1 x unsigned int (10bit red, 10bit green, 10bit blue, 2bit alpha)</li> +<li> +tfA2RGB10ui1: 1 x unsigned int (2bit alpha, 10bit red, 10bit green, 10bit blue)</li> +<li> +tfRGBA16us4: 1 x unsigned short (red), 1 x unsigned short (green), 1 x unsigned short (blue), 1 x unsigned short (alpha)</li> +<li> +tfBGRX4us1: 1 x unsigned short (4bit blue, 4bit green, 4bit red, 4bit reserved)</li> +<li> +tfXBGR4us1: 1 x unsigned short (4bit reserved, 4bit blue, 4bit green, 4bit red)</li> +<li> +tfB5G6R5us1: 1 x unsigned short (5bit blue, 6bit green, 5bit red)</li> +<li> +tfBGR5X1us1: 1 x unsigned short (5bit blue, 5bit green, 5bit red, 1bit reserved)</li> +<li> +tfX1BGR5us1: 1 x unsigned short (1bit reserved, 5bit blue, 5bit green, 5bit red)</li> +<li> +tfBGR8ub3: 1 x unsigned byte (blue), 1 x unsigned byte (green), 1 x unsigned byte (red)</li> +<li> +tfBGRX8ui1: 1 x unsigned int (8bit blue, 8bit green, 8bit red, 8bit reserved)</li> +<li> +tfXBGR8ui1: 1 x unsigned int (8bit reserved, 8bit blue, 8bit green, 8bit red)</li> +<li> +tfBGR10X2ui1: 1 x unsigned int (10bit blue, 10bit green, 10bit red, 2bit reserved)</li> +<li> +tfX2BGR10ui1: 1 x unsigned int (2bit reserved, 10bit blue, 10bit green, 10bit red)</li> +<li> +tfBGR16us3: 1 x unsigned short (blue), 1 x unsigned short (green), 1 x unsigned short (red)</li> +<li> +tfBGRA4us1: 1 x unsigned short (4bit blue, 4bit green, 4bit red, 4bit alpha)</li> +<li> +tfABGR4us1: 1 x unsigned short (4bit alpha, 4bit blue, 4bit green, 4bit red)</li> +<li> +tfBGR5A1us1: 1 x unsigned short (5bit blue, 5bit green, 5bit red, 1bit alpha)</li> +<li> +tfA1BGR5us1: 1 x unsigned short (1bit alpha, 5bit blue, 5bit green, 5bit red)</li> +<li> +tfBGRA8ui1: 1 x unsigned int (8bit blue, 8bit green, 8bit red, 8bit alpha)</li> +<li> +tfABGR8ui1: 1 x unsigned int (8bit alpha, 8bit blue, 8bit green, 8bit red)</li> +<li> +tfBGRA8ub4: 1 x unsigned byte (blue), 1 x unsigned byte (green), 1 x unsigned byte (red), 1 x unsigned byte (alpha)</li> +<li> +tfBGR10A2ui1: 1 x unsigned int (10bit blue, 10bit green, 10bit red, 2bit alpha)</li> +<li> +tfA2BGR10ui1: 1 x unsigned int (2bit alpha, 10bit blue, 10bit green, 10bit red)</li> +<li> +tfBGRA16us4: 1 x unsigned short (blue), 1 x unsigned short (green), 1 x unsigned short (red), 1 x unsigned short (alpha)</li> +<li> +tfDepth16us1: 1 x unsigned short (depth)</li> +<li> +tfDepth24ui1: 1 x unsigned int (depth)</li> +<li> +tfDepth32ui1: 1 x unsigned int (depth)</li> +<li> +tfS3tcDtx1RGBA: </li> +<li> +tfS3tcDtx3RGBA: </li> +<li> +tfS3tcDtx5RGBA: </li> +</ul> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="TglBitmapFileType"></a><code><b>TglBitmapFileType</b> = (...);</code></td> +</tr> +<tr><td colspan="1"> +<p> +Portable Network Graphic file (PNG)</p> +<h6 class="description_section">Values</h6> +<ul> +<li> +ftDDS: Direct Draw Surface file (DDS)</li> +<li> +ftTGA: Targa Image File (TGA)</li> +<li> +ftBMP: Windows Bitmap File (BMP)</li> +<li> +ftRAW: glBitmap RAW file format</li> +</ul> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="TglBitmapFileTypes"></a><code><b>TglBitmapFileTypes</b> = set of <a href="glBitmap.html#TglBitmapFileType">TglBitmapFileType</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="TglBitmapMipMap"></a><code><b>TglBitmapMipMap</b> = (...);</code></td> +</tr> +<tr><td colspan="1"> +<p> +possible mipmap types</p> +<h6 class="description_section">Values</h6> +<ul> +<li> +mmNone: no mipmaps</li> +<li> +mmMipmap: normal mipmaps</li> +<li> +mmMipmapGlu: mipmaps generated with glu functions</li> +</ul> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="TglBitmapNormalMapFunc"></a><code><b>TglBitmapNormalMapFunc</b> = (...);</code></td> +</tr> +<tr><td colspan="1"> +<p> +possible normal map functions</p> +<h6 class="description_section">Values</h6> +<ul> +<li> +nm4Samples: </li> +<li> +nmSobel: </li> +<li> +nm3x3: </li> +<li> +nm5x5: </li> +</ul> +</td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="PglBitmapPixelData"></a><code><b>PglBitmapPixelData</b> = ˆ<a href="glBitmap.TglBitmapPixelData.html">TglBitmapPixelData</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="TglBitmapSizeFields"></a><code><b>TglBitmapSizeFields</b> = set of (ffX, ffY);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="TglBitmapPixelPosition"></a><code><b>TglBitmapPixelPosition</b> = <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a>;</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="TglBitmapFunction"></a><code><b>TglBitmapFunction</b> = procedure(var FuncRec: <a href="glBitmap.TglBitmapFunctionRec.html">TglBitmapFunctionRec</a>);</code></td> +</tr> +<tr><td colspan="1"> +<p> +callback to use for converting texture data</p> +</td></tr> +</table> +<h3 class="detail">Constants</h3> +<table class="detail wide_list"> +<tr class="list"> +<td class="itemcode"><a name="NULL_SIZE"></a><code><b>NULL_SIZE</b>: <a href="glBitmap.TglBitmapSize.html">TglBitmapSize</a> = (Fields: []; X: 0; Y: 0);</code></td> +</tr> +<tr><td colspan="1"> + </td></tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..d165995 --- /dev/null +++ b/doc/index.html @@ -0,0 +1,31 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>All Units</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="allitems">All Units</h1> +<table class="unitstable wide_list"> +<tr class="listheader"> +<th class="itemname">Name</th> +<th class="itemdesc">Description</th> +</tr> +<tr class="list"> +<td class="itemname"><a class="bold" href="glBitmap.html">glBitmap</a></td> +<td class="itemdesc"><p>glBitmap by Steffen Xonna aka Lossy eX (2003-2008) <a href="http://www.opengl24.de/index.php?cat=header&file=glbitmap">http://www.opengl24.de/index.php?cat=header&file=glbitmap</a> + +<p>modified by Delphi OpenGL Community (<a href="http://delphigl.com/">http://delphigl.com/</a>) (2013) + +<p>The contents of this file are used with permission, subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a> + +<p>The glBitmap is a Delphi/FPC unit that contains several wrapper classes to manage OpenGL texture objects. Below you can find a list of the main functionality of this classes: - load texture data from file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) - load texture data from several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) - save texture data to file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) - save texture data to several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) - support for many texture formats (e.g. RGB8, BGR8, RGBA8, BGRA8, ...) - manage texture properties (e.g. Filter, Clamp, Mipmap, ...) - upload texture data to video card - download texture data from video card - manipulate texture data (e.g. add alpha, remove alpha, convert to other format, switch RGB, ...)</p></td> +</tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/legend.html b/doc/legend.html new file mode 100644 index 0000000..e2df3a3 --- /dev/null +++ b/doc/legend.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>Legend</title> +<meta name="generator" content="PasDoc 0.13.0"> +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> +<link rel="StyleSheet" type="text/css" href="pasdoc.css"> +</head> +<body> +<table class="container"><tr><td class="navigation"> +<p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content"> +<h1 class="markerlegend">Legend</h1> +<table class="markerlegend wide_list"> +<tr class="listheader"> +<th class="itemname">Marker</th> +<th class="itemdesc">Visibility</th> +</tr> +<tr class="list"> +<td class="legendmarker"><img src="private.gif" alt="Strict Private" title="Strict Private"></td> +<td class="legenddesc">Strict Private</td> +</tr> +<tr class="list2"> +<td class="legendmarker"><img src="private.gif" alt="Private" title="Private"></td> +<td class="legenddesc">Private</td> +</tr> +<tr class="list"> +<td class="legendmarker"><img src="protected.gif" alt="Strict Protected" title="Strict Protected"></td> +<td class="legenddesc">Strict Protected</td> +</tr> +<tr class="list2"> +<td class="legendmarker"><img src="protected.gif" alt="Protected" title="Protected"></td> +<td class="legenddesc">Protected</td> +</tr> +<tr class="list"> +<td class="legendmarker"><img src="public.gif" alt="Public" title="Public"></td> +<td class="legenddesc">Public</td> +</tr> +<tr class="list2"> +<td class="legendmarker"><img src="published.gif" alt="Published" title="Published"></td> +<td class="legenddesc">Published</td> +</tr> +<tr class="list"> +<td class="legendmarker"><img src="automated.gif" alt="Automated" title="Automated"></td> +<td class="legenddesc">Automated</td> +</tr> +<tr class="list2"> +<td class="legendmarker"><img src="published.gif" alt="Implicit" title="Implicit"></td> +<td class="legenddesc">Implicit</td> +</tr> +</table> +<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2014-12-21 15:05:48</em> +</span> +</td></tr></table></body></html> diff --git a/doc/pasdoc.css b/doc/pasdoc.css new file mode 100644 index 0000000..81e3138 --- /dev/null +++ b/doc/pasdoc.css @@ -0,0 +1,171 @@ +body, html, table.container { + margin: 0; + padding: 0; +} + +body { + font-family: Verdana,Arial; + color: black; + background-color: white; + font-size: 12px; +} + +table.container { + width: 100%; + border-spacing: 0; +} +table.container td { + vertical-align: top; +} + +td.navigation { + width: 200px; + color: white; + background-color: #787878; + margin: 0; + /* padding-bottom is a little larger, to make navigation column have some + nice height even when td.content column is very small. */ + padding: 1em 1em 100px 1em; +} +td.navigation p { padding: 0; } +td.navigation h2 { margin-top: 0; } + +td.content { padding: 1em; } +td.content h1 { margin-top: 0; } + +img { border:0px; } + +a:link {color:#C91E0C; text-decoration: none; } +a:visited {color:#7E5C31; text-decoration: none; } +a:hover {text-decoration: underline; } +a:active {text-decoration: underline; } + +a.navigation:link { color: white; text-decoration: none; } +a.navigation:visited { color: white; text-decoration: none; } +a.navigation:hover { color: white; font-weight: bold; text-decoration: none; } +a.navigation:active { color: white; text-decoration: none; } + +a.bold:link {color:#C91E0C; text-decoration: none; font-weight:bold; } +a.bold:visited {color:#7E5C31; text-decoration: none; font-weight:bold; } +a.bold:hover {text-decoration: underline; font-weight:bold; } +a.bold:active {text-decoration: underline; font-weight:bold; } + +a.section {color: green; text-decoration: none; font-weight: bold; } +a.section:hover {color: green; text-decoration: underline; font-weight: bold; } + +ul.useslist a:link {color:#C91E0C; text-decoration: none; font-weight:bold; } +ul.useslist a:visited {color:#7E5C31; text-decoration: none; font-weight:bold; } +ul.useslist a:hover {text-decoration: underline; font-weight:bold; } +ul.useslist a:active {text-decoration: underline; font-weight:bold; } + +ul.hierarchy { list-style-type:none; } +ul.hierarchylevel { list-style-type:none; } + +p.unitlink a:link {color:#C91E0C; text-decoration: none; font-weight:bold; } +p.unitlink a:visited {color:#7E5C31; text-decoration: none; font-weight:bold; } +p.unitlink a:hover {text-decoration: underline; font-weight:bold; } +p.unitlink a:active {text-decoration: underline; font-weight:bold; } + +tr.list { background: #FFBF44; } +tr.list2 { background: #FFC982; } +tr.listheader { background: #C91E0C; color: white; } + +table.wide_list { border-spacing:2px; width:100%; } +table.wide_list td { vertical-align:top; padding:4px; } + +table.markerlegend { width:auto; } +table.markerlegend td.legendmarker { text-align:center; } + +table.sections { background:white; } +table.sections td {background:lightgray; } + +table.summary td.itemcode { width:100%; } +table.detail td.itemcode { width:100%; } + +td.itemname {white-space:nowrap; } +td.itemunit {white-space:nowrap; } +td.itemdesc { width:100%; } + +div.nodescription { color:red; } +dl.parameters dt { color:blue; } + +/* Various browsers have various default styles for <h6>, + sometimes ugly for our purposes, so it's best to set things + like font-size and font-weight in out pasdoc.css explicitly. */ +h6.description_section { + /* font-size 100% means that it has the same font size as the + parent element, i.e. normal description text */ + font-size: 100%; + font-weight: bold; + /* By default browsers usually have some large margin-bottom and + margin-top for <h1-6> tags. In our case, margin-bottom is + unnecessary, we want to visually show that description_section + is closely related to content below. In this situation + (where the font size is just as a normal text), smaller bottom + margin seems to look good. */ + margin-bottom: 0em; +} + +/* Style applied to Pascal code in documentation + (e.g. produced by @longcode tag) } */ +span.pascal_string { color: #000080; } +span.pascal_keyword { font-weight: bolder; } +span.pascal_comment { color: #000080; font-style: italic; } +span.pascal_compiler_comment { color: #008000; } +span.pascal_numeric { } +span.pascal_hex { } + +p.hint_directive { color: red; } + +input#search_text { } +input#search_submit_button { } + +acronym.mispelling { background-color: #ffa; } + +/* Actually this reduces vertical space between *every* paragraph + inside list with @itemSpacing(compact). + While we would like to reduce this space only for the + top of 1st and bottom of last paragraph within each list item. + But, well, user probably will not do any paragraph breaks + within a list with @itemSpacing(compact) anyway, so it's + acceptable solution. */ +ul.compact_spacing p { margin-top: 0em; margin-bottom: 0em; } +ol.compact_spacing p { margin-top: 0em; margin-bottom: 0em; } +dl.compact_spacing p { margin-top: 0em; margin-bottom: 0em; } + +/* Style for table created by @table tags: + just some thin border. + + This way we have some borders around the cells + (so cells are visibly separated), but the border + "blends with the background" so it doesn't look too ugly. + Hopefully it looks satisfactory in most cases and for most + people. + + We add padding for cells, otherwise they look too close. + This is normal thing to do when border-collapse is set to + collapse (because this eliminates spacing between cells). +*/ +table.table_tag { border-collapse: collapse; } +table.table_tag td { border: 1pt solid gray; padding: 0.3em; } +table.table_tag th { border: 1pt solid gray; padding: 0.3em; } + +table.detail { + border: 1pt solid gray; + margin-top: 0.3em; + margin-bottom: 0.3em; +} + +.search-form { white-space: nowrap; } +.search-input, .search-button { display: inline-block; vertical-align: middle; } + +/* Do not make extra vertical space at the beginning/end of table cells. + We need ">" selector, to not change paragraphs inside lists inside + table cells. */ +table.table_tag td > p:first-child, +table.table_tag th > p:first-child, + td.itemdesc > p:first-child { margin-top: 0em; } + +table.table_tag td > p:last-child, +table.table_tag th > p:last-child, + td.itemdesc > p:last-child { margin-bottom: 0em; } diff --git a/doc/private.gif b/doc/private.gif new file mode 100644 index 0000000000000000000000000000000000000000..dca4ce267765ccd8c5161c580651f2c5efd779bb GIT binary patch literal 141 zcmZ?wbhEHb<YwSz_{hYN<|F-pk@5fk{|pQaia%L^B#{0m>RgnXSdyBeP@Y+mp%9Xh zs^ISF8^E9gk_BmGU~*;Q5KwSvU{Lj%q7kTYq=i%1jb(*F;-MBMMKzxp21*XCoWg1% g9ELy<K}Id0$U=t>phyo#z#^AUAyy`^b`b_^01>Go%m4rY literal 0 HcmV?d00001 diff --git a/doc/protected.gif b/doc/protected.gif new file mode 100644 index 0000000000000000000000000000000000000000..96cc3822b7efa426b3d5c7e5dc5c2fa1d0ca51f3 GIT binary patch literal 141 zcmZ?wbhEHb<YwSz_{hYN<|F<8y!!wD{}~t<6o0Y+Ng(}C)VU}%u_QG`p**uBLm?z1 zRl(iUH-JG0Bn#5Wz~supA)w&Uz@X|iMI%t*NDHU18_NoV#6vAiifTSH43r#NIfd0k gI1GUzf{a=~k%bN&K#?AffJH8yLaa<+?IH};0G8Gx-v9sr literal 0 HcmV?d00001 diff --git a/doc/public.gif b/doc/public.gif new file mode 100644 index 0000000000000000000000000000000000000000..89f11977a68c5a6d38402c3b7cb1a659e669eb12 GIT binary patch literal 141 zcmZ?wbhEHb<YwSz_{hYN<|A#fMEU>!{|pQaia%L^B#{0m>RgnXSdyBeP@Y+mp%9Xh zs^ISF8^E9gk_BmGU~*;Q5KwSvU{Lj%q7kTYq=i%1jb(*F;-MBMMKzxp21*XCoWg1% g9ELy<K}Id0$U=t>phyo#z#^AUAyy`^b`b_^03Pci=>Px# literal 0 HcmV?d00001 diff --git a/doc/published.gif b/doc/published.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ed9af6cd3cd0203a73abe35d9216cd1b99531f9 GIT binary patch literal 141 zcmZ?wbhEHb<YwSz_{hYN<|8d<vFrc;{|pQaia%L^B#{0m>RgnXSdyBeP@Y+mp%9Xh zs^ISF8^E9gk_BmGU~*;Q5KwSvU{Lj%q7kTYq=i%1jb(*F;-MBMMKzxp21*XCoWg1% g9ELy<K}Id0$U=t>phyo#z#^AUAyy`^b`b_^048=K`Tzg` literal 0 HcmV?d00001 diff --git a/examples/GrabScreen/GrabScreen.lpi b/examples/GrabScreen/GrabScreen.lpi new file mode 100644 index 0000000..de9d899 --- /dev/null +++ b/examples/GrabScreen/GrabScreen.lpi @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectOptions> + <Version Value="9"/> + <PathDelim Value="\"/> + <General> + <Flags> + <MainUnitHasCreateFormStatements Value="False"/> + <MainUnitHasTitleStatement Value="False"/> + </Flags> + <SessionStorage Value="InProjectDir"/> + <MainUnit Value="0"/> + <Title Value="GrabScreen"/> + <UseAppBundle Value="False"/> + <ResourceType Value="res"/> + </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <Units Count="4"> + <Unit0> + <Filename Value="GrabScreen.lpr"/> + <IsPartOfProject Value="True"/> + <UnitName Value="GrabScreen"/> + </Unit0> + <Unit1> + <Filename Value="..\dglOpenGL.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="dglOpenGL"/> + </Unit1> + <Unit2> + <Filename Value="..\Helper.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="Helper"/> + </Unit2> + <Unit3> + <Filename Value="..\..\glBitmap.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="glBitmap"/> + </Unit3> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="GrabScreen"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value="..;..\.."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/examples/GrabScreen/GrabScreen.lpr b/examples/GrabScreen/GrabScreen.lpr new file mode 100644 index 0000000..c3b7b77 --- /dev/null +++ b/examples/GrabScreen/GrabScreen.lpr @@ -0,0 +1,58 @@ +program SimpleLoadFromFile; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Classes, Windows, SysUtils, dglOpenGL, glBitmap, Helper; + +var + oglWindow: TOpenGLWindow; + running: Boolean = true; + +function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; +var + tex: TglBitmap2D; +begin + case Msg of + WM_DESTROY: begin + running := false; + end; + + WM_KEYDOWN: begin + if wParam = VK_RETURN then begin + tex := TglBitmap2D.Create; // create empty texture + try + tex.GrabScreen(0, 0, 800, 600, tfRGB8ub3); // copy current framebuffer content to texture + tex.SaveToFile(ExtractFilePath(ApplicationName) + 'screen.bmp', ftBMP); // save texture to file + WriteLn('screen saved to screen.bmp'); + finally + FreeAndNil(tex); + end; + end; + end; + end; + result := DefWindowProc(hWnd, Msg, wParam, lParam); +end; + +procedure RenderLoop; +begin + glBegin(GL_TRIANGLES); + glColor4f(1, 0, 0, 1); glVertex2f(400, 100); + glColor4f(0, 1, 0, 1); glVertex2f(100, 500); + glColor4f(0, 0, 1, 1); glVertex2f(700, 500); + glEnd; +end; + +begin + oglWindow := CreateOpenGLWindow('GrapScreen (hit enter to grab screen)', 800, 600, @WindowProc); + while running and ProgressMesages do begin + RenderLoop; + SwapBuffers(oglWindow.DC); + end; + DestroyOpenGLWindow(oglWindow); +end. + + diff --git a/examples/GrabScreen/GrabScreen.lps b/examples/GrabScreen/GrabScreen.lps new file mode 100644 index 0000000..dd7a9c5 --- /dev/null +++ b/examples/GrabScreen/GrabScreen.lps @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectSession> + <PathDelim Value="\"/> + <Version Value="9"/> + <BuildModes Active="Default"/> + <Units Count="4"> + <Unit0> + <Filename Value="GrabScreen.lpr"/> + <IsPartOfProject Value="True"/> + <UnitName Value="GrabScreen"/> + <IsVisibleTab Value="True"/> + <TopLine Value="15"/> + <CursorPos X="25" Y="30"/> + <UsageCount Value="20"/> + <Loaded Value="True"/> + </Unit0> + <Unit1> + <Filename Value="..\dglOpenGL.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="dglOpenGL"/> + <EditorIndex Value="-1"/> + <UsageCount Value="20"/> + </Unit1> + <Unit2> + <Filename Value="..\Helper.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="Helper"/> + <EditorIndex Value="1"/> + <TopLine Value="37"/> + <CursorPos X="40" Y="36"/> + <UsageCount Value="20"/> + <Loaded Value="True"/> + </Unit2> + <Unit3> + <Filename Value="..\..\glBitmap.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="glBitmap"/> + <EditorIndex Value="2"/> + <TopLine Value="8731"/> + <CursorPos X="9" Y="8903"/> + <UsageCount Value="20"/> + <Loaded Value="True"/> + </Unit3> + </Units> + <JumpHistory Count="7" HistoryIndex="6"> + <Position1> + <Filename Value="GrabScreen.lpr"/> + <Caret Line="14" Column="9"/> + </Position1> + <Position2> + <Filename Value="GrabScreen.lpr"/> + <Caret Line="16" Column="27"/> + </Position2> + <Position3> + <Filename Value="GrabScreen.lpr"/> + <Caret Line="45" Column="106" TopLine="21"/> + </Position3> + <Position4> + <Filename Value="GrabScreen.lpr"/> + <Caret Line="52" Column="18" TopLine="27"/> + </Position4> + <Position5> + <Filename Value="GrabScreen.lpr"/> + <Caret Line="55" Column="6" TopLine="26"/> + </Position5> + <Position6> + <Filename Value="GrabScreen.lpr"/> + <Caret Line="47" Column="46" TopLine="24"/> + </Position6> + <Position7> + <Filename Value="..\Helper.pas"/> + <Caret Line="39" Column="13" TopLine="17"/> + </Position7> + </JumpHistory> + </ProjectSession> +</CONFIG> diff --git a/examples/Helper.pas b/examples/Helper.pas new file mode 100644 index 0000000..5311e5c --- /dev/null +++ b/examples/Helper.pas @@ -0,0 +1,91 @@ +unit Helper; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, Windows, dglOpenGL; + +type + TOpenGLWindow = packed record + LWndClass: TWndClass; + hMainHandle: HWND; + DC: HDC; + RC: HGLRC; + end; + +function CreateOpenGLWindow(const aCaption: String; const aWidth, aHeight: Integer; const aWndProc: WNDPROC): TOpenGLWindow; +function ProgressMesages: Boolean; +procedure DestroyOpenGLWindow(const aWindow: TOpenGLWindow); + +implementation + +function CreateOpenGLWindow(const aCaption: String; const aWidth, aHeight: Integer; const aWndProc: WNDPROC): TOpenGLWindow; +begin + //create the window + result.LWndClass.hInstance := hInstance; + with result.LWndClass do begin + lpszClassName := 'MyWinApiWnd'; + Style := CS_PARENTDC or CS_BYTEALIGNCLIENT; + hIcon := LoadIcon(hInstance,'MAINICON'); + lpfnWndProc := aWndProc; + hbrBackground := COLOR_BTNFACE+1; + hCursor := LoadCursor(0,IDC_ARROW); + end; + RegisterClass(result.LWndClass); + result.hMainHandle := CreateWindow( + result.LWndClass.lpszClassName, + PAnsiChar(aCaption), + WS_CAPTION or WS_MINIMIZEBOX or WS_SYSMENU or WS_VISIBLE, + (GetSystemMetrics(SM_CXSCREEN) - aWidth) div 2, + (GetSystemMetrics(SM_CYSCREEN) - aHeight) div 2, + aWidth, aHeight, 0, 0, hInstance, nil); + + // create and activate rendering context + result.DC := GetDC(result.hMainHandle); + if (result.DC = 0) then begin + WriteLn('unable to get DeviceContext'); + halt; + end; + result.RC := CreateRenderingContext(result.DC, [opDoubleBuffered], 32, 24, 0, 0, 0, 0); + if (result.RC = 0) then begin + WriteLn('unable to create RenderingContext'); + halt; + end; + ActivateRenderingContext(result.DC, result.RC); + + // init OpenGL + glViewport(0, 0, aWidth, aHeight); + glClearColor(0, 0, 0, 0); + glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); + + glDisable(GL_DEPTH_TEST); + glDisable(GL_CULL_FACE); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity; + glOrtho(0, aWidth, aHeight, 0, -10, 10); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity; +end; + +function ProgressMesages: Boolean; +var + Msg: TMSG; +begin + result := GetMessage(Msg, 0, 0, 0); + if result then begin + TranslateMessage(Msg); + DispatchMessage(Msg); + end; +end; + +procedure DestroyOpenGLWindow(const aWindow: TOpenGLWindow); +begin + DestroyRenderingContext(aWindow.RC); + ReleaseDC(aWindow.hMainHandle, aWindow.DC); +end; + +end. + diff --git a/examples/SimpleLoadFromFile/SimpleLoadFromFile.lpi b/examples/SimpleLoadFromFile/SimpleLoadFromFile.lpi new file mode 100644 index 0000000..cc27760 --- /dev/null +++ b/examples/SimpleLoadFromFile/SimpleLoadFromFile.lpi @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectOptions> + <Version Value="9"/> + <PathDelim Value="\"/> + <General> + <Flags> + <MainUnitHasCreateFormStatements Value="False"/> + <MainUnitHasTitleStatement Value="False"/> + </Flags> + <SessionStorage Value="InProjectDir"/> + <MainUnit Value="0"/> + <Title Value="SimpleLoadFromFile"/> + <UseAppBundle Value="False"/> + <ResourceType Value="res"/> + </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <Units Count="4"> + <Unit0> + <Filename Value="SimpleLoadFromFile.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="..\dglOpenGL.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="dglOpenGL"/> + </Unit1> + <Unit2> + <Filename Value="..\..\glBitmap.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="glBitmap"/> + </Unit2> + <Unit3> + <Filename Value="..\Helper.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="Helper"/> + </Unit3> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="SimpleLoadFromFile"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value="..;..\.."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/examples/SimpleLoadFromFile/SimpleLoadFromFile.lpr b/examples/SimpleLoadFromFile/SimpleLoadFromFile.lpr new file mode 100644 index 0000000..cb7cc15 --- /dev/null +++ b/examples/SimpleLoadFromFile/SimpleLoadFromFile.lpr @@ -0,0 +1,56 @@ +program SimpleLoadFromFile; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Classes, Windows, SysUtils, dglOpenGL, glBitmap, Helper; + +var + oglWindow: TOpenGLWindow; + running: Boolean = true; + tex: TglBitmap2D; + +function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; +begin + case Msg of + WM_DESTROY: begin + running := false; + end; + end; + result := DefWindowProc(hWnd, Msg, wParam, lParam); +end; + +procedure RenderLoop; +begin + tex.Bind(); + glColor4f(1, 1, 1, 1); + glBegin(GL_QUADS); + glTexCoord2f(0, 0); glVertex2f(100, 100); + glTexCoord2f(1, 0); glVertex2f(700, 100); + glTexCoord2f(1, 1); glVertex2f(700, 500); + glTexCoord2f(0, 1); glVertex2f(100, 500); + glEnd; + tex.Unbind(); +end; + +begin + oglWindow := CreateOpenGLWindow('SimpleLoadFromFile', 800, 600, @WindowProc); + try + // load texture + tex := TglBitmap2D.Create; + tex.LoadFromFile(ExtractFilePath(ApplicationName) + '../textures/BMP_24_RGB8.bmp'); + tex.GenTexture; + + while running and ProgressMesages do begin + RenderLoop; + SwapBuffers(oglWindow.DC); + end; + finally + FreeAndNil(tex); + DestroyOpenGLWindow(oglWindow); + end; +end. + diff --git a/examples/SimpleLoadFromFile/SimpleLoadFromFile.lps b/examples/SimpleLoadFromFile/SimpleLoadFromFile.lps new file mode 100644 index 0000000..84a19dc --- /dev/null +++ b/examples/SimpleLoadFromFile/SimpleLoadFromFile.lps @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectSession> + <PathDelim Value="\"/> + <Version Value="9"/> + <BuildModes Active="Default"/> + <Units Count="4"> + <Unit0> + <Filename Value="SimpleLoadFromFile.lpr"/> + <IsPartOfProject Value="True"/> + <IsVisibleTab Value="True"/> + <TopLine Value="22"/> + <UsageCount Value="20"/> + <Loaded Value="True"/> + </Unit0> + <Unit1> + <Filename Value="..\dglOpenGL.pas"/> + <IsPartOfProject Value="True"/> + <UsageCount Value="20"/> + </Unit1> + <Unit2> + <Filename Value="..\..\glBitmap.pas"/> + <IsPartOfProject Value="True"/> + <UsageCount Value="20"/> + </Unit2> + <Unit3> + <Filename Value="..\Helper.pas"/> + <IsPartOfProject Value="True"/> + <UsageCount Value="20"/> + </Unit3> + </Units> + <JumpHistory HistoryIndex="-1"/> + </ProjectSession> +</CONFIG> diff --git a/examples/TextureFromFunction/TextureFromFunction.lpi b/examples/TextureFromFunction/TextureFromFunction.lpi new file mode 100644 index 0000000..3852d10 --- /dev/null +++ b/examples/TextureFromFunction/TextureFromFunction.lpi @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectOptions> + <Version Value="9"/> + <PathDelim Value="\"/> + <General> + <Flags> + <MainUnitHasCreateFormStatements Value="False"/> + <MainUnitHasTitleStatement Value="False"/> + </Flags> + <SessionStorage Value="InProjectDir"/> + <MainUnit Value="0"/> + <Title Value="TextureFromFunction"/> + <UseAppBundle Value="False"/> + <ResourceType Value="res"/> + </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <Units Count="4"> + <Unit0> + <Filename Value="TextureFromFunction.lpr"/> + <IsPartOfProject Value="True"/> + <UnitName Value="TextureFromFunction"/> + </Unit0> + <Unit1> + <Filename Value="..\dglOpenGL.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="dglOpenGL"/> + </Unit1> + <Unit2> + <Filename Value="..\Helper.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="Helper"/> + </Unit2> + <Unit3> + <Filename Value="..\..\glBitmap.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="glBitmap"/> + </Unit3> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="TextureFromFunction"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value="..;..\.."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/examples/TextureFromFunction/TextureFromFunction.lpr b/examples/TextureFromFunction/TextureFromFunction.lpr new file mode 100644 index 0000000..f960c25 --- /dev/null +++ b/examples/TextureFromFunction/TextureFromFunction.lpr @@ -0,0 +1,95 @@ +program SimpleLoadFromFile; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Classes, Windows, SysUtils, dglOpenGL, glBitmap, Helper; + +var + oglWindow: TOpenGLWindow; + running: Boolean = true; + tex: TglBitmap2D; + +function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; +begin + case Msg of + WM_DESTROY: begin + running := false; + end; + end; + result := DefWindowProc(hWnd, Msg, wParam, lParam); +end; + +procedure RenderLoop; +begin + tex.Bind(); + glColor4f(1, 1, 1, 1); + glBegin(GL_QUADS); + glTexCoord2f(0, 0); glVertex2f(100, 100); + glTexCoord2f(1, 0); glVertex2f(700, 100); + glTexCoord2f(1, 1); glVertex2f(700, 500); + glTexCoord2f(0, 1); glVertex2f(100, 500); + glEnd; + tex.Unbind(); +end; + +{ function to generate texture data } +procedure GenerateTextureFunc1(var FuncRec: TglBitmapFunctionRec); +var + g1, g2, g3, g4: Single; +begin + g1 := (sin(FuncRec.Position.X / 25) + 1) / 2; // generator function 1: large sinus on x position (0.0 to 1.0) + g2 := (sin(FuncRec.Position.Y / 25) + 1) / 2; // generator function 2: large sinus on y position (0.0 to 1.0) + g3 := FuncRec.Position.X / FuncRec.Size.X; // generator function 3: linear fade on x position (0.0 to 1.0) + g4 := FuncRec.Position.Y / FuncRec.Size.Y; // generator function 4: linear fade on y position (0.0 to 1.0) + + FuncRec.Dest.Data.r := Trunc(g1 * FuncRec.Dest.Range.r); + FuncRec.Dest.Data.g := Trunc(g2 * FuncRec.Dest.Range.g); + FuncRec.Dest.Data.b := Trunc(g3 * FuncRec.Dest.Range.b); + FuncRec.Dest.Data.a := Trunc(g4 * FuncRec.Dest.Range.a); +end; + +{ function to generate texture data } +procedure GenerateTextureFunc2(var FuncRec: TglBitmapFunctionRec); +var + x, y: Single; +begin + x := FuncRec.Position.X / FuncRec.Size.X; + y := FuncRec.Position.Y / FuncRec.Size.Y; + if (x < 0.05) or (x > 0.95) or (y < 0.05) or (y > 0.95) then + begin + FuncRec.Dest.Data := FuncRec.Dest.Range; + end else if (y < 0.333) then begin + FuncRec.Dest.Data := glBitmapRec4ui(0, 0, 0, 0); + end else if (y < 0.666) then begin + FuncRec.Dest.Data := glBitmapRec4ui(FuncRec.Dest.Range.r, 0, 0, 0); + end else begin + FuncRec.Dest.Data := glBitmapRec4ui(FuncRec.Dest.Range.r, FuncRec.Dest.Range.g, 0, 0); + end; +end; + +begin + oglWindow := CreateOpenGLWindow('TextureFromFunction', 800, 600, @WindowProc); + try + // create texture use either GenerateTextureFunc1 or GenerateTextureFunc2 + tex := TglBitmap2D.Create( + glBitmapSize(512, 512), + tfRGBA8ub4, + @GenerateTextureFunc1 + //@GenerateTextureFunc2 + ); + tex.GenTexture; + + while running and ProgressMesages do begin + RenderLoop; + SwapBuffers(oglWindow.DC); + end; + finally + FreeAndNil(tex); + DestroyOpenGLWindow(oglWindow); + end; +end. + diff --git a/examples/TextureFromFunction/TextureFromFunction.lps b/examples/TextureFromFunction/TextureFromFunction.lps new file mode 100644 index 0000000..e3c3fb0 --- /dev/null +++ b/examples/TextureFromFunction/TextureFromFunction.lps @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectSession> + <PathDelim Value="\"/> + <Version Value="9"/> + <BuildModes Active="Default"/> + <Units Count="5"> + <Unit0> + <Filename Value="TextureFromFunction.lpr"/> + <IsPartOfProject Value="True"/> + <UnitName Value="TextureFromFunction"/> + <IsVisibleTab Value="True"/> + <TopLine Value="59"/> + <CursorPos X="9" Y="81"/> + <UsageCount Value="20"/> + <Loaded Value="True"/> + </Unit0> + <Unit1> + <Filename Value="..\dglOpenGL.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="dglOpenGL"/> + <EditorIndex Value="2"/> + <UsageCount Value="20"/> + <Loaded Value="True"/> + </Unit1> + <Unit2> + <Filename Value="..\Helper.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="Helper"/> + <EditorIndex Value="3"/> + <UsageCount Value="20"/> + <Loaded Value="True"/> + </Unit2> + <Unit3> + <Filename Value="..\..\glBitmap.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="glBitmap"/> + <EditorIndex Value="1"/> + <TopLine Value="852"/> + <CursorPos X="67" Y="869"/> + <UsageCount Value="20"/> + <Loaded Value="True"/> + </Unit3> + <Unit4> + <Filename Value="..\SimpleLoadFromFile\SimpleLoadFromFile.lpr"/> + <UnitName Value="SimpleLoadFromFile"/> + <EditorIndex Value="-1"/> + <TopLine Value="23"/> + <CursorPos Y="56"/> + <UsageCount Value="10"/> + </Unit4> + </Units> + <JumpHistory Count="8" HistoryIndex="6"> + <Position1> + <Filename Value="TextureFromFunction.lpr"/> + </Position1> + <Position2> + <Filename Value="..\..\glBitmap.pas"/> + </Position2> + <Position3> + <Filename Value="TextureFromFunction.lpr"/> + <Caret Line="44" Column="62" TopLine="23"/> + </Position3> + <Position4> + <Filename Value="..\..\glBitmap.pas"/> + <Caret Line="1474" Column="3" TopLine="1445"/> + </Position4> + <Position5> + <Filename Value="..\..\glBitmap.pas"/> + <Caret Line="874" Column="3" TopLine="1340"/> + </Position5> + <Position6> + <Filename Value="TextureFromFunction.lpr"/> + <Caret Line="59" TopLine="29"/> + </Position6> + <Position7> + <Filename Value="TextureFromFunction.lpr"/> + <Caret Line="62" Column="32" TopLine="46"/> + </Position7> + <Position8> + <Filename Value="TextureFromFunction.lpr"/> + <Caret Line="91" TopLine="58"/> + </Position8> + </JumpHistory> + </ProjectSession> +</CONFIG> diff --git a/examples/dglOpenGL.pas b/examples/dglOpenGL.pas new file mode 100644 index 0000000..7772eee --- /dev/null +++ b/examples/dglOpenGL.pas @@ -0,0 +1,20081 @@ +{ ============================================================================ + + OpenGL 4.4 - Headertranslation + Version 4.4 + Date : 2013/07/22 + + Supported environments and targets : + - (Win32) Delphi 4 and up + - (Win32, Win64) Delphi XE2 + - (Win32, Win64, Linux, MacOSX) FreePascal (1.9.3 and up) + +============================================================================== + + Containts the translations of glext.h, gl_1_1.h, glu.h and weglext.h. + It also contains some helperfunctions that were inspired by those + found in Mike Lischke's OpenGL12.pas. + + Copyright (C) DGL-OpenGL2-Portteam + All Rights Reserved + + Obtained through: + Delphi OpenGL Community(DGL) - www.delphigl.com + + Converted and maintained by DGL's GL2.0-Team : + - Sascha Willems - http://www.saschawillems.de + - Steffen Xonna (Lossy eX) - http://www.dev-center.de + Additional input : + - Andrey Gruzdev (Mac OS X patch for XE2 / FPC) + - Lars Middendorf + - Martin Waldegger (Mars) + - Benjamin Rosseaux (BeRo) - http://www.0ok.de + Additional thanks: + sigsegv (libdl.so) + +============================================================================== + You may retrieve the latest version of this file at the Delphi OpenGL + Community home page, located at http://www.delphigl.com/ + + The contents of this file are used with permission, subject to + the Mozilla Public License Version 1.1 (the "License"); you may + not use this file except in compliance with the License. You may + obtain a copy of the License at + http://www.mozilla.org/MPL/MPL-1.1.html + + Software distributed under the License is distributed on an + "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + implied. See the License for the specific language governing + rights and limitations under the License. + +============================================================================== + History : + Version 1.0 Initial Release + Version 1.1 Added PPointer in Tpyessection for compatiblity with Delphi + versions lower than 7 (SW) + Added a function named RaiseLastOSError including a comment + on how to make it run under Delphi versions lower than 7 (SW) + Added some data types according to the GL-Syntax (SW) + Version 1.2 Fixed some problems with getting the addresses of some + Extensions (e.g. glTexImage3D) where the EXT/ARB did work + but not the core-functions (SW) + Version 1.3 A second call to ReadimplementationProperties won't + revert to the default libs anymore (MW) + Libraries now will be released if necessary (MW) + Version 1.3a Small fixes for glSlang-functions (SW) + Version 1.3b Fixed a small bug with GL_ARB_shader_objects, that lead + lead to that extension not loaded correctly (SW) + Version 1.3c more GL 1.5 compliance by FOG_COORD_xx and + ARB less VBO and occlusion query routines (MW) + Version 1.3d Fixed linebreaks (should now be corrected under D5) (SW) + Version 1.4 Changed header to correspond to the OpenGL-Shading + Language specification 1.10 : + - Added new GL_SAMPLER_*-Constants + - Added Constant GL_SHADING_LANGUAGE_VERSION_ARB + - Added Constant GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB + - Added Constant GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB (SW) + Version 1.4a Fixed a missing stdcall for glBindAttribLocationARB (SW) + Version 1.4b Fixed declaration for glUniform*(f/i)vARB (added count) (MW) + glCompileShaderARB changed from function to procedure (MW) + Version 1.5 Added support for FreePascal (BR) + Added type TGLVectorf3/TGLVector3f (SW) + Version 1.6 Added Extension GL_EXT_framebuffer_object (SX) + Version 1.7 Added Extension GL_ARB_fragment_program_shadow (SX) + Added Extension GL_ARB_draw_buffers (SX) + Added Extension GL_ARB_texture_rectangle (SX) + Added Extension GL_ARB_color_buffer_float (SX) + Added Extension GL_ARB_half_float_pixel (SX) + Added Extension GL_ARB_texture_float (SX) + Added Extension GL_ARB_pixel_buffer_object (SX) + Added Extension GL_EXT_depth_bounds_test (SX) + Added Extension GL_EXT_texture_mirror_clamp (SX) + Added Extension GL_EXT_blend_equation_separate (SX) + Added Extension GL_EXT_pixel_buffer_object (SX) + Added Extension GL_EXT_texture_compression_dxt1 (SX) + Added Extension GL_NV_fragment_program_option (SX) + Added Extension GL_NV_fragment_program2 (SX) + Added Extension GL_NV_vertex_program2_option (SX) + Added Extension GL_NV_vertex_program3 (SX) + Version 1.8 Added explicit delegate type definitions (LM) + Added .Net 1.1 Support (LM) + Added .Net overloaded functions (LM) + Added delayed extension loading and stubs (LM) + Added automatic InitOpenGL call in CreateRenderingContext(LM) + Added extra Read_* function (LM) + Version 2.0 fixed some Problem with version string and damn drivers. + String 1.15 identified as OpenGL 1.5 not as OpenGL 1.1 (SX) + Removed unexisting extension GL_ARB_texture_mirror_repeat(SX) + Added Extension WGL_ARB_pixel_format_float (SX) + Added Extension GL_EXT_stencil_clear_tag (SX) + Added Extension GL_EXT_texture_rectangle (SX) + Added Extension GL_EXT_texture_edge_clamp (SX) + Some 1.5 Core Consts added (now completed) (SX) + gluProject need pointer for not .net (SX) + gluUnProject need pointer for not .net (SX) + wglUseFontOutlines* need pointer for not .net (SX) + wglSwapMultipleBuffers need pointer for not .net (SX) + Bug with wglGetExtensionsStringEXT removed + different type for .net (SX) + Added OpenGL 2.0 Core (SX) + Version 2.0.1 fixed some problems with glGetActiveAttrib in 2.0 Core (SX) + fixes some problems with gluProject (SX) + fixes some problems with gluUnProject (SX) + fixes some problems with gluTessVertex (SX) + fixes some problems with gluLoadSamplingMatrices (SX) + Version 2.1 Removed .NET Support (SX) + Better support for Linux (SX) + Better Codeformation (SX) + Added some more Vector/Matrix types (SX) + Added OpenGL 2.1 Core (SX) + Added Extension GL_EXT_packed_depth_stencil (SX) + Added Extension GL_EXT_texture_sRGB (SX) + Added Extension GL_EXT_framebuffer_blit (SX) + Added Extension GL_EXT_framebuffer_multisample (SX) + Added Extension GL_EXT_timer_query (SX) + Added Extension GL_EXT_gpu_program_parameters (SX) + Added Extension GL_EXT_bindable_uniform (SX) + Added Extension GL_EXT_draw_buffers2 (SX) + Added Extension GL_EXT_draw_instanced (SX) + Added Extension GL_EXT_framebuffer_sRGB (SX) + Added Extension GL_EXT_geometry_shader4 (SX) + Added Extension GL_EXT_gpu_shader4 (SX) + Added Extension GL_EXT_packed_float (SX) + Added Extension GL_EXT_texture_array (SX) + Added Extension GL_EXT_texture_buffer_object (SX) + Added Extension GL_EXT_texture_compression_latc (SX) + Added Extension GL_EXT_texture_compression_rgtc (SX) + Added Extension GL_EXT_texture_integer (SX) + Added Extension GL_EXT_texture_shared_exponent (SX) + Added Extension GL_NV_depth_buffer_float (SX) + Added Extension GL_NV_fragment_program4 (SX) + Added Extension GL_NV_framebuffer_multisample_coverage (SX) + Added Extension GL_NV_geometry_program4 (SX) + Added Extension GL_NV_gpu_program4 (SX) + Added Extension GL_NV_parameter_buffer_object (SX) + Added Extension GL_NV_transform_feedback (SX) + Added Extension GL_NV_vertex_program4 (SX) + Version 3.0 fixed some const of GL_EXT_texture_shared_exponent (SX) + possible better support for mac (SX) + Added OpenGL 3.0 Core (SX) + Added Extension GL_ARB_depth_buffer_float (SX) + Added Extension GL_ARB_draw_instanced (SX) + Added Extension GL_ARB_framebuffer_object (SX) + Added Extension GL_ARB_framebuffer_sRGB (SX) + Added Extension GL_ARB_geometry_shader4 (SX) + Added Extension GL_ARB_half_float_vertex (SX) + Added Extension GL_ARB_instanced_arrays (SX) + Added Extension GL_ARB_map_buffer_range (SX) + Added Extension GL_ARB_texture_buffer_object (SX) + Added Extension GL_ARB_texture_compression_rgtc (SX) + Added Extension GL_ARB_texture_rg (SX) + Added Extension GL_ARB_vertex_array_object (SX) + Added Extension GL_NV_conditional_render (SX) + Added Extension GL_NV_present_video (SX) + Added Extension GL_EXT_transform_feedback (SX) + Added Extension GL_EXT_direct_state_access (SX) + Added Extension GL_EXT_vertex_array_bgra (SX) + Added Extension GL_EXT_texture_swizzle (SX) + Added Extension GL_NV_explicit_multisample (SX) + Added Extension GL_NV_transform_feedback2 (SX) + Added Extension WGL_ARB_create_context (SX) + Added Extension WGL_NV_present_video (SX) + Added Extension WGL_NV_video_out (SX) + Added Extension WGL_NV_swap_group (SX) + Added Extension WGL_NV_gpu_affinity (SX) + Added define DGL_TINY_HEADER to suppress automatic + function loading (SX) + glProcedure renamed to dglGetProcAddress and now it's + visible from outside the unit to custom load functions (SX) + dglCheckExtension added to check if an extension exists (SX) + Read_GL_ARB_buffer_object renamed to + Read_GL_ARB_vertex_buffer_object (SX) + Version 3.0.1 fixed an problem with fpc (SX) + Version 3.0.2 fixed an problem with WGL_ARB_create_context (SX) + Version 3.2 Functions from GL_VERSION_3_0 where updated (SX) + Functions from GL_ARB_map_buffer_range where updated (SX) + Functions from GL_NV_present_video where added (SX) + Added consts of GL_ARB_instanced_arrays (SX) + Defines to identify Delphi was changed (prevent for + feature maintenance) (SX) + Added Extension GL_ATI_meminfo (SX) + Added Extension GL_AMD_performance_monitor (SX) + Added Extension GL_AMD_texture_texture4 (SX) + Added Extension GL_AMD_vertex_shader_tesselator (SX) + Added Extension GL_EXT_provoking_vertex (SX) + Added Extension WGL_AMD_gpu_association (SX) + Added OpenGL 3.1 Core (SX) + All deprecated stuff can be disabled if you undef the + define DGL_DEPRECATED (SX) + Added Extension GL_ARB_uniform_buffer_object (SX) + Added Extension GL_ARB_compatibility (SX) + Added Extension GL_ARB_copy_buffer (SX) + Added Extension GL_ARB_shader_texture_lod (SX) + Remove function from GL_NV_present_video (SX) + Added Extension WGL_3DL_stereo_control (SX) + Added Extension GL_EXT_texture_snorm (SX) + Added Extension GL_AMD_draw_buffers_blend (SX) + Added Extension GL_APPLE_texture_range (SX) + Added Extension GL_APPLE_float_pixels (SX) + Added Extension GL_APPLE_vertex_program_evaluators (SX) + Added Extension GL_APPLE_aux_depth_stencil (SX) + Added Extension GL_APPLE_object_purgeable (SX) + Added Extension GL_APPLE_row_bytes (SX) + Added OpenGL 3.2 Core (SX) + Added Extension GL_ARB_depth_clamp (SX) + Added Extension GL_ARB_draw_elements_base_vertex (SX) + Added Extension GL_ARB_fragment_coord_conventions (SX) + Added Extension GL_ARB_provoking_vertex (SX) + Added Extension GL_ARB_seamless_cube_map (SX) + Added Extension GL_ARB_sync (SX) + Added Extension GL_ARB_texture_multisample (SX) + Added Extension GL_ARB_vertex_array_bgra (SX) + Added Extension GL_ARB_draw_buffers_blend (SX) + Added Extension GL_ARB_sample_shading (SX) + Added Extension GL_ARB_texture_cube_map_array (SX) + Added Extension GL_ARB_texture_gather (SX) + Added Extension GL_ARB_texture_query_lod (SX) + Added Extension WGL_ARB_create_context_profile (SX) + Added GLX Core up to Version 1.4 (SX) + Added Extension GLX_ARB_multisample (SX) + Added Extension GLX_ARB_fbconfig_float (SX) + Added Extension GLX_ARB_get_proc_address (SX) + Added Extension GLX_ARB_create_context (SX) + Added Extension GLX_ARB_create_context_profile (SX) + Added Extension GLX_EXT_visual_info (SX) + Added Extension GLX_EXT_visual_rating (SX) + Added Extension GLX_EXT_import_context (SX) + Added Extension GLX_EXT_fbconfig_packed_float (SX) + Added Extension GLX_EXT_framebuffer_sRGB (SX) + Added Extension GLX_EXT_texture_from_pixmap (SX) + Version 3.2.1 Fixed some problems with Delphi < 6 (SX) + Version 3.2.2 Added Extension GL_APPLE_rgb_422 (SX) + Added Extension GL_EXT_separate_shader_objects (SX) + Added Extension GL_NV_video_capture (SX) + Added Extension GL_NV_copy_image (SX) + Added Extension GL_NV_parameter_buffer_object2 (SX) + Added Extension GL_NV_shader_buffer_load (SX) + Added Extension GL_NV_vertex_buffer_unified_memory (SX) + Added Extension GL_NV_texture_barrier (SX) + Variable GL_EXT_texture_snorm will be filled (SX) + Variable GL_APPLE_row_bytes will be filled (SX) + Added Extension WGL_NV_video_capture (SX) + Added Extension WGL_NV_copy_image (SX) + WGL_NV_video_out now named WGL_NV_video_output (SX) + Added Extension GLX_EXT_swap_control (SX) + Version 3.2.3 Fixed an Problem with glGetAttribLocation (SX) + Added const GL_UNIFORM_BUFFER_EXT (SX) + Functions of GL_NV_texture_barrier now will be loaded (SX) + Version 4.0 Changes on Extension GL_ARB_texture_gather (SX) + Changes on Extension GL_NV_shader_buffer_load (SX) + Added OpenGL 3.3 Core (SX) + Added OpenGL 4.0 Core (SX) + Added Extension GL_AMD_shader_stencil_export (SX) + Added Extension GL_AMD_seamless_cubemap_per_texture (SX) + Added Extension GL_ARB_shading_language_include (SX) + Added Extension GL_ARB_texture_compression_bptc (SX) + Added Extension GL_ARB_blend_func_extended (SX) + Added Extension GL_ARB_explicit_attrib_location (SX) + Added Extension GL_ARB_occlusion_query2 (SX) + Added Extension GL_ARB_sampler_objects (SX) + Added Extension GL_ARB_shader_bit_encoding (SX) + Added Extension GL_ARB_texture_rgb10_a2ui (SX) + Added Extension GL_ARB_texture_swizzle (SX) + Added Extension GL_ARB_timer_query (SX) + Added Extension GL_ARB_vertex_type_2_10_10_10_rev (SX) + Added Extension GL_ARB_draw_indirect (SX) + Added Extension GL_ARB_gpu_shader5 (SX) + Added Extension GL_ARB_gpu_shader_fp64 (SX) + Added Extension GL_ARB_shader_subroutine (SX) + Added Extension GL_ARB_tessellation_shader (SX) + Added Extension GL_ARB_texture_buffer_object_rgb32 (SX) + Added Extension GL_ARB_transform_feedback2 (SX) + Added Extension GL_ARB_transform_feedback3 (SX) + Version 4.1 Possible fix some strange linux behavior (SX) + All function uses GL instead of TGL types (SX) + GL_AMD_vertex_shader_tesselator will be read now (SX) + GL_AMD_draw_buffers_blend will be read now (SX) + Changes on glStencilFuncSeparate (GL_2_0) (SX) + Changes on GL_VERSION_3_2 (SX) + Changes on GL_VERSION_3_3 (SX) + Changes on GL_VERSION_4_0 (SX) + Changes on GL_ARB_sample_shading (SX) + Changes on GL_ARB_texture_cube_map_array (SX) + Changes on GL_ARB_gpu_shader5 (SX) + Changes on GL_ARB_transform_feedback3 (SX) + Changes on GL_ARB_sampler_objects (SX) + Changes on GL_ARB_gpu_shader_fp64 (SX) + Changes on GL_APPLE_element_array (SX) + Changes on GL_APPLE_vertex_array_range (SX) + Changes on GL_NV_transform_feedback (SX) + Changes on GL_NV_vertex_buffer_unified_memory (SX) + Changes on GL_EXT_multi_draw_arrays (SX) + Changes on GL_EXT_direct_state_access (SX) + Changes on GL_AMD_performance_monitor (SX) + Changes on GL_AMD_seamless_cubemap_per_texture (SX) + Changes on GL_EXT_geometry_shader4 (SX) + Added OpenGL 4.1 Core (SX) + Added Extension GL_ARB_ES2_compatibility (SX) + Added Extension GL_ARB_get_program_binary (SX) + Added Extension GL_ARB_separate_shader_objects (SX) + Added Extension GL_ARB_shader_precision (SX) + Added Extension GL_ARB_vertex_attrib_64bit (SX) + Added Extension GL_ARB_viewport_array (SX) + Added Extension GL_ARB_cl_event (SX) + Added Extension GL_ARB_debug_output (SX) + Added Extension GL_ARB_robustness (SX) + Added Extension GL_ARB_shader_stencil_export (SX) + Added Extension GL_AMD_conservative_depth (SX) + Added Extension GL_EXT_shader_image_load_store (SX) + Added Extension GL_EXT_vertex_attrib_64bit (SX) + Added Extension GL_NV_gpu_program5 (SX) + Added Extension GL_NV_gpu_shader5 (SX) + Added Extension GL_NV_shader_buffer_store (SX) + Added Extension GL_NV_tessellation_program5 (SX) + Added Extension GL_NV_vertex_attrib_integer_64bit (SX) + Added Extension GL_NV_multisample_coverage (SX) + Added Extension GL_AMD_name_gen_delete (SX) + Added Extension GL_AMD_debug_output (SX) + Added Extension GL_NV_vdpau_interop (SX) + Added Extension GL_AMD_transform_feedback3_lines_triangles (SX) + Added Extension GL_AMD_depth_clamp_separate (SX) + Added Extension GL_EXT_texture_sRGB_decode (SX) + Added Extension WGL_ARB_framebuffer_sRGB (SX) + Added Extension WGL_ARB_create_context_robustness (SX) + Added Extension WGL_EXT_create_context_es2_profile (SX) + Added Extension WGL_NV_multisample_coverage (SX) + Added Extension GLX_ARB_vertex_buffer_object (SX) + Added Extension GLX_ARB_framebuffer_sRGB (SX) + Added Extension GLX_ARB_create_context_robustness (SX) + Added Extension GLX_EXT_create_context_es2_profile (SX) + Version 4.1a Fix for dglGetProcAddress with FPC and linux (def param) (SW) + Version 4.2 Added OpenGL 4.2 Core (SW) + Added Extension GL_ARB_base_instance (SW) + Added Extension GL_ARB_shading_language_420pack (SW) + Added Extension GL_ARB_transform_feedback_instanced (SW) + Added Extension GL_ARB_compressed_texture_pixel_storage (SW) + Added Extension GL_ARB_conservative_depth (SW) + Added Extension GL_ARB_internalformat_query (SW) + Added Extension GL_ARB_map_buffer_alignment (SW) + Added Extension GL_ARB_shader_atomic_counters (SW) + Added Extension GL_ARB_shader_image_load_store (SW) + Added Extension GL_ARB_shading_language_packing (SW) + Added Extension GL_ARB_texture_storage (SW) + Added Extension WGL_NV_DX_interop (SW) + Added Define for WGL_EXT_create_context_es2_profile (SW) + Version 4.2a Added Mac OS X patch by Andrey Gruzdev (SW) + Version 4.3 Added OpenGL 4.3 Core (SW) + Added GL_ARB_arrays_of_arrays (SW) + Added GL_ARB_fragment_layer_viewport (SW) + Added GL_ARB_shader_image_size (SW) + Added GL_ARB_ES3_compatibility (SW) + Added GL_ARB_clear_buffer_object (SW) + Added GL_ARB_compute_shader (SW) + Added GL_ARB_copy_image (SW) + Added GL_KHR_debug (SW) + Added GL_ARB_explicit_uniform_location, (SW) + Added GL_ARB_framebuffer_no_attachments (SW) + Added GL_ARB_internalformat_query2 (SW) + Added GL_ARB_invalidate_subdata (SW) + Added GL_ARB_multi_draw_indirect (SW) + Added GL_ARB_program_interface_query (SW) + Added GL_ARB_robust_buffer_access_behavior (SW) + Added GL_ARB_shader_storage_buffer_object (SW) + Added GL_ARB_stencil_texturing (SW) + Added GL_ARB_texture_buffer_range (SW) + Added GL_ARB_texture_query_levels (SW) + Added GL_ARB_texture_storage_multisample (SW) + Added GL_ARB_texture_view (SW) + Added GL_ARB_vertex_attrib_binding (SW) + Added new vendor-specific extensions (SW) + Added GL_NV_path_rendering (SW) + Added GL_AMD_pinned_memory (SW) + Added GL_AMD_stencil_operation_extended (SW) + Added GL_AMD_vertex_shader_viewport_index (SW) + Added GL_AMD_vertex_shader_layer (SW) + Added GL_NV_bindless_texture (SW) + Added GL_NV_shader_atomic_float (SW) + Added GL_AMD_query_buffer_object (SW) + Added CreateRenderingContextVersion (SW) + Version 4.4 Added ARB_buffer_storage (SW) + Added ARB_clear_texture extension (SW) + Added ARB_enhanced_layouts extension (SW) + Added ARB_multi_bind extension (SW) + Added ARB_query_buffer_object extension (SW) + Added ARB_texture_mirror_clamp_to_edge extension (SW) + Added ARB_texture_stencil8 extension (SW) + Added ARB_vertex_type_10f_11f_11f_rev extension (SW) + Added MAX_VERTEX_ATTRIB_STRIDE stat (SW) + Added missing functions for GL_EXT_direct_state_access (SW) + GL3.0+ uses non-deprecated way of getting extensions + (thanks to frenK) (SW) + Added missing cdecl for TglXGetVisualFromFBConfig (SW) + + +============================================================================== + Header based on glext.h rev 87 (2012-08-06) + Header based on wglext.h rev 24 (2012/01/04) + Header based on glxext.h rev 33 (2012/02/29) (only Core/ARB/EXT) + + This is an important notice for maintaining. Dont remove it. And make sure + to keep it up to date +============================================================================== } + +{$define DGL_DEPRECATED} +{ + This define defines if the header should use deprecated ARB stuff or not. + per Default the Header use deprecated Stuff. +} + + +{.$define DGL_TINY_HEADER} +{ + If you enable the define DGL_TINY_HEADER no function automatically will be loaded if you + call ActivateRenderingContext. This may some bit faster and the smart linker can delete + all non used functions. This will reduce the filesize of your binary file. But in this + case you have to load the functions by yourself. There are two ways to do this. + + 1. You can load whole extension by calling the func Read_Extensionname. But if you do + this it's possible to load functions you dont use. So you have the same "problem" + like before. But it's only an bit smaler. + > Read_GL_ARB_multitexture; + + 2. You are able to load only the functions you exactly need. In this case you are able + to use the variables of the dglOpenGL.pas. So you only need to load the functions + and you can use the header like before. + To do this you have to created and activated an opengl context and than you can load + the needed functions. + > ActivateRenderingContext(fDC, fRC); + > glActiveTextureARB := dglGetProcAddress('glActiveTextureARB'); + > glMultiTexCoord2fARB := dglGetProcAddress('glMultiTexCoord2fARB'); + + So only the function "glActiveTextureARB" and "glMultiTexCoord2fARB" will be loaded. + + + Please notice that the extension variables won't be loaded if this define is active. But + you can call dglCheckExtension to check if any extension exists. You can assign them to + the variables of the dglOpenGL.pas so all code they use this will find them. + + > GL_ARB_shading_language_100 := dglCheckExtension('GL_ARB_shading_language_100'); +} + + +unit dglOpenGL; + +interface + +// defines to configure freepascal +{$IFDEF FPC} + {$MODE Delphi} + + {$IFNDEF WINDOWS} + {$LINKLIB c} + {$ENDIF} +{$ENDIF} + +// known delphi versions +{$IFNDEF FPC} // if freepascal isnt defined + {$IFDEF VER140} // Delphi 6 + {$DEFINE DELPHI6_AND_DOWN} + {$ENDIF} + + {$IFDEF VER130} // Delphi 5 + {$DEFINE DELPHI6_AND_DOWN} + {$ENDIF} + + {$IFDEF VER120} // Delphi 4 + {$DEFINE DELPHI6_AND_DOWN} + {$ENDIF} + + {$IFDEF VER110} // C++ Builder 3 + {$DEFINE DELPHI6_AND_DOWN} + {$ENDIF} + + {$IFDEF VER100} // Delphi 3 + {$DEFINE DELPHI6_AND_DOWN} + {$ENDIF} +{$ENDIF} + +// Options for Delphi < 5 +{$IFDEF DELPHI6_AND_DOWN} + {$A+} +{$ELSE} + {$A4} +{$ENDIF} + +// generell options +{$H+,O+,X+} + +// detecting Windows +{$IFDEF Win32} // Delphi and fpc of 32 Bit Windows + {$DEFINE DGL_WIN} +{$ENDIF} + +{$IFDEF Win64} // Delphi and fpc of 32 Bit Windows + {$DEFINE DGL_WIN} +{$ENDIF} + +// detecting Linux +{$IFDEF linux} // Linux + {$DEFINE DGL_LINUX} +{$ENDIF} + +{$IFDEF DARWIN} // Mac OS X and FPC + {$DEFINE DGL_MAC} +{$ENDIF} + +{$IFDEF DELPHI} // Mac OS X add Delphi +{$IFDEF MACOS} + {$DEFINE DGL_MAC} +{$ENDIF} +{$ENDIF} + + +// detecting 64 Bit CPU +{$IFDEF CPU64} // fpc on 64 bit cpus + {$DEFINE DGL_64BIT} // dgl define for 64 bit +{$ENDIF} + + + +uses + {$IFDEF FPC}{$IFDEF DARWIN}dynlibs,{$ENDIF}{$ENDIF} // LoadLibrary functions + SysUtils + {$IFDEF DGL_WIN}, Windows{$ENDIF} + {$IFDEF DGL_LINUX}, X, XLib, XUtil{$ENDIF} + ; + +type + // Needed for Delphi 6 and less (defined in system.pas for Delphi 7) + PPointer = ^Pointer; + PCardinal = ^Cardinal; + + GLenum = Cardinal; + GLboolean = BYTEBOOL; + GLbitfield = Cardinal; + GLbyte = Shortint; + GLshort = SmallInt; + GLint = Integer; + GLsizei = Integer; + GLubyte = Byte; + GLushort = Word; + GLuint = Cardinal; + GLfloat = Single; + GLclampf = Single; + GLdouble = Double; + GLclampd = Double; + GLvoid = Pointer; + GLint64 = Int64; + GLuint64 = {$IFDEF DELPHI6_AND_DOWN} Int64 {$ELSE} UInt64 {$ENDIF}; + + TGLenum = GLenum; + TGLboolean = GLboolean; + TGLbitfield = GLbitfield; + TGLbyte = GLbyte; + TGLshort = GLshort; + TGLint = GLint; + TGLsizei = GLsizei; + TGLubyte = GLubyte; + TGLushort = GLushort; + TGLuint = GLuint; + TGLfloat = GLfloat; + TGLclampf = GLclampf; + TGLdouble = GLdouble; + TGLclampd = GLclampd; + TGLvoid = GLvoid; + TGLint64 = GLint64; + TGLuint64 = GLuint64; + + PGLboolean = ^GLboolean; + PGLbyte = ^GLbyte; + PGLshort = ^GLshort; + PGLint = ^GLint; + PGLsizei = ^GLsizei; + PGLubyte = ^GLubyte; + PGLushort = ^GLushort; + PGLuint = ^GLuint; + PGLclampf = ^GLclampf; + PGLfloat = ^GLfloat; + PGLdouble = ^GLdouble; + PGLclampd = ^GLclampd; + PGLenum = ^GLenum; + PGLvoid = Pointer; + PPGLvoid = ^PGLvoid; + PGLint64 = ^GLint64; + PGLuint64 = ^GLuint64; + + // GL_NV_half_float + GLhalfNV = WORD; + TGLhalfNV = GLhalfNV; + PGLhalfNV = ^GLhalfNV; + + // GL_ARB_shader_objects + PGLHandleARB = ^GLHandleARB; + GLHandleARB = Integer; + GLcharARB = AnsiChar; + PGLcharARB = PAnsiChar; + PPGLcharARB = ^PGLcharARB; + + // GL_VERSION_1_5 + GLintptr = GLint; + GLsizeiptr = GLsizei; + + // GL_ARB_vertex_buffer_object + GLintptrARB = GLint; + GLsizeiptrARB = GLsizei; + + // GL_VERSION_2_0 + GLHandle = Integer; + PGLchar = PAnsiChar; + PPGLchar = ^PGLChar; + + // GL_EXT_timer_query + GLint64EXT = Int64; + TGLint64EXT = GLint64EXT; + PGLint64EXT = ^GLint64EXT; + + GLuint64EXT = GLuint64; + TGLuint64EXT = GLuint64EXT; + PGLuint64EXT = ^GLuint64EXT; + + // WGL_ARB_pbuffer + HPBUFFERARB = THandle; + + // WGL_EXT_pbuffer + HPBUFFEREXT = THandle; + + // WGL_NV_present_video + PHVIDEOOUTPUTDEVICENV = ^HVIDEOOUTPUTDEVICENV; + HVIDEOOUTPUTDEVICENV = THandle; + + // WGL_NV_video_output + PHPVIDEODEV = ^HPVIDEODEV; + HPVIDEODEV = THandle; + + // WGL_NV_gpu_affinity + PHPGPUNV = ^HPGPUNV; + PHGPUNV = ^HGPUNV; + + // WGL_NV_video_capture + HVIDEOINPUTDEVICENV = THandle; + PHVIDEOINPUTDEVICENV = ^HVIDEOINPUTDEVICENV; + + HPGPUNV = THandle; + HGPUNV = THandle; + + // GL_ARB_sync + GLsync = Pointer; + + // GL_ARB_cl_event + { These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event } + _cl_context = record end; + _cl_event = record end; + p_cl_context = ^_cl_context; + p_cl_event = ^_cl_event; + + // GL_ARB_debug_output + TglDebugProcARB = procedure (source: GLenum; type_: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const message_: PGLchar; userParam: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_AMD_debug_output + TglDebugProcAMD = procedure (id: GLuint; category: GLenum; severity: GLenum; length: GLsizei; const message_: PGLchar; userParam: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // (4.3) GL_KHR_debug + TglDebugProc = procedure(source : GLEnum; type_ : GLEnum; id : GLUInt; severity : GLUInt; length : GLsizei; const message_ : PGLCHar; userParam : PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_vdpau_interop + GLvdpauSurfaceNV = GLintptr; + PGLvdpauSurfaceNV = ^GLvdpauSurfaceNV; + + + // GLX + {$IFDEF DGL_LINUX} + GLXContext = Pointer; + GLXContextID = TXID; + GLXDrawable = TXID; + GLXFBConfig = Pointer; + GLXPbuffer = TXID; + GLXPixmap = TXID; + GLXWindow = TXID; + + Window = TXID; + Colormap = TXID; + Pixmap = TXID; + Font = TXID; + {$ENDIF} + + // Datatypes corresponding to GL's types TGL(name)(type)(count) + TGLVectorub2 = array[0..1] of GLubyte; + TGLVectori2 = array[0..1] of GLint; + TGLVectorf2 = array[0..1] of GLfloat; + TGLVectord2 = array[0..1] of GLdouble; + TGLVectorp2 = array[0..1] of Pointer; + + TGLVectorub3 = array[0..2] of GLubyte; + TGLVectori3 = array[0..2] of GLint; + TGLVectorf3 = array[0..2] of GLfloat; + TGLVectord3 = array[0..2] of GLdouble; + TGLVectorp3 = array[0..2] of Pointer; + + TGLVectorub4 = array[0..3] of GLubyte; + TGLVectori4 = array[0..3] of GLint; + TGLVectorf4 = array[0..3] of GLfloat; + TGLVectord4 = array[0..3] of GLdouble; + TGLVectorp4 = array[0..3] of Pointer; + + TGLArrayf4 = TGLVectorf4; + TGLArrayf3 = TGLVectorf3; + TGLArrayd3 = TGLVectord3; + TGLArrayi4 = TGLVectori4; + TGLArrayp4 = TGLVectorp4; + + TGlMatrixub3 = array[0..2, 0..2] of GLubyte; + TGlMatrixi3 = array[0..2, 0..2] of GLint; + TGLMatrixf3 = array[0..2, 0..2] of GLfloat; + TGLMatrixd3 = array[0..2, 0..2] of GLdouble; + + TGlMatrixub4 = array[0..3, 0..3] of GLubyte; + TGlMatrixi4 = array[0..3, 0..3] of GLint; + TGLMatrixf4 = array[0..3, 0..3] of GLfloat; + TGLMatrixd4 = array[0..3, 0..3] of GLdouble; + + TGLVector3f = TGLVectorf3; + + // Datatypes corresponding to OpenGL12.pas for easy porting + TVector3d = TGLVectord3; + + TVector4i = TGLVectori4; + TVector4f = TGLVectorf4; + TVector4p = TGLVectorp4; + + TMatrix4f = TGLMatrixf4; + TMatrix4d = TGLMatrixd4; + + PGLMatrixd4 = ^TGLMatrixd4; + PVector4i = ^TVector4i; + + + +{$IFDEF FPC} + TRect = packed record + Left, Top, Right, Bottom: Longint; + end; +{$ENDIF} + + + PGPU_DEVICE = ^GPU_DEVICE; + GPU_DEVICE = record + cb: DWORD; + DeviceName: array [0..31] of AnsiChar; + DeviceString: array [0..127] of AnsiChar; + Flags: DWORD; + rcVirtualScreen: TRect; + end; + + +type +{$IFDEF FPC} + {$IFDEF DGL_WIN} + PWGLSwap = ^TWGLSwap; + {$EXTERNALSYM _WGLSWAP} + _WGLSWAP = packed record + hdc: HDC; + uiFlags: UINT; + end; + + TWGLSwap = _WGLSWAP; + {$EXTERNALSYM WGLSWAP} + WGLSWAP = _WGLSWAP; + + {$ENDIF} +{$ENDIF} + + // GLU types + TGLUNurbs = record + end; + TGLUQuadric = record + end; + TGLUTesselator = record + end; + PGLUNurbs = ^TGLUNurbs; + PGLUQuadric = ^TGLUQuadric; + PGLUTesselator = ^TGLUTesselator; + // backwards compatibility + TGLUNurbsObj = TGLUNurbs; + TGLUQuadricObj = TGLUQuadric; + TGLUTesselatorObj = TGLUTesselator; + TGLUTriangulatorObj = TGLUTesselator; + PGLUNurbsObj = PGLUNurbs; + PGLUQuadricObj = PGLUQuadric; + PGLUTesselatorObj = PGLUTesselator; + PGLUTriangulatorObj = PGLUTesselator; + + // GLUQuadricCallback + TGLUQuadricErrorProc = procedure(errorCode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + // GLUTessCallback + TGLUTessBeginProc = procedure(AType: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessEdgeFlagProc = procedure(Flag: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessVertexProc = procedure(VertexData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessEndProc = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessErrorProc = procedure(ErrNo: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessCombineProc = procedure(Coords: TGLArrayd3; VertexData: TGLArrayp4; Weight: TGLArrayf4; OutData: PPointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessBeginDataProc = procedure(AType: GLenum; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessEdgeFlagDataProc = procedure(Flag: GLboolean; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessVertexDataProc = procedure(VertexData: Pointer; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessEndDataProc = procedure(UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessErrorDataProc = procedure(ErrNo: GLenum; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TGLUTessCombineDataProc = procedure(Coords: TGLArrayd3; VertexData: TGLArrayp4; Weight: TGLArrayf4; OutData: PPointer; UserData: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + // GLUNurbsCallback + TGLUNurbsErrorProc = procedure(ErrorCode: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + +var + GL_VERSION_1_0, + GL_VERSION_1_1, + GL_VERSION_1_2, + GL_VERSION_1_3, + GL_VERSION_1_4, + GL_VERSION_1_5, + GL_VERSION_2_0, + GL_VERSION_2_1, + GL_VERSION_3_0, + GL_VERSION_3_1, + GL_VERSION_3_2, + GL_VERSION_3_3, + GL_VERSION_4_0, + GL_VERSION_4_1, + GL_VERSION_4_2, + GL_VERSION_4_3, + GL_VERSION_4_4, + GLU_VERSION_1_1, + GLU_VERSION_1_2, + GLU_VERSION_1_3, + GL_3DFX_multisample, + GL_3DFX_tbuffer, + GL_3DFX_texture_compression_FXT1, + GL_APPLE_client_storage, + GL_APPLE_element_array, + GL_APPLE_fence, + GL_APPLE_specular_vector, + GL_APPLE_transform_hint, + GL_APPLE_vertex_array_object, + GL_APPLE_vertex_array_range, + GL_APPLE_ycbcr_422, + GL_APPLE_texture_range, + GL_APPLE_float_pixels, + GL_APPLE_vertex_program_evaluators, + GL_APPLE_aux_depth_stencil, + GL_APPLE_object_purgeable, + GL_APPLE_row_bytes, + GL_APPLE_rgb_422, + GL_ARB_depth_texture, + GL_ARB_fragment_program, + GL_ARB_imaging, + GL_ARB_matrix_palette, + GL_ARB_multisample, + GL_ARB_multitexture, + GL_ARB_point_parameters, + GL_ARB_shadow, + GL_ARB_shadow_ambient, + GL_ARB_texture_border_clamp, + GL_ARB_texture_compression, + GL_ARB_texture_cube_map, + GL_ARB_texture_env_add, + GL_ARB_texture_env_combine, + GL_ARB_texture_env_crossbar, + GL_ARB_texture_env_dot3, + GL_ARB_texture_mirrored_repeat, + GL_ARB_transpose_matrix, + GL_ARB_vertex_blend, + GL_ARB_vertex_buffer_object, + GL_ARB_vertex_program, + GL_ARB_window_pos, + GL_ARB_shader_objects, + GL_ARB_vertex_shader, + GL_ARB_fragment_shader, + GL_ARB_shading_language_100, + GL_ARB_occlusion_query, + GL_ARB_texture_non_power_of_two, + GL_ARB_point_sprite, + GL_ARB_fragment_program_shadow, + GL_ARB_draw_buffers, + GL_ARB_texture_rectangle, + GL_ARB_color_buffer_float, + GL_ARB_half_float_pixel, + GL_ARB_texture_float, + GL_ARB_pixel_buffer_object, + GL_ARB_depth_buffer_float, + GL_ARB_draw_instanced, + GL_ARB_framebuffer_object, + GL_ARB_framebuffer_sRGB, + GL_ARB_geometry_shader4, + GL_ARB_half_float_vertex, + GL_ARB_instanced_arrays, + GL_ARB_map_buffer_range, + GL_ARB_texture_buffer_object, + GL_ARB_texture_compression_rgtc, + GL_ARB_texture_rg, + GL_ARB_vertex_array_object, + GL_ARB_uniform_buffer_object, + GL_ARB_compatibility, + GL_ARB_copy_buffer, + GL_ARB_shader_texture_lod, + GL_ARB_depth_clamp, + GL_ARB_draw_elements_base_vertex, + GL_ARB_fragment_coord_conventions, + GL_ARB_provoking_vertex, + GL_ARB_seamless_cube_map, + GL_ARB_sync, + GL_ARB_texture_multisample, + GL_ARB_vertex_array_bgra, + GL_ARB_draw_buffers_blend, + GL_ARB_sample_shading, + GL_ARB_texture_cube_map_array, + GL_ARB_texture_gather, + GL_ARB_texture_query_lod, + GL_ARB_shading_language_include, + GL_ARB_texture_compression_bptc, + GL_ARB_blend_func_extended, + GL_ARB_explicit_attrib_location, + GL_ARB_occlusion_query2, + GL_ARB_sampler_objects, + GL_ARB_shader_bit_encoding, + GL_ARB_texture_rgb10_a2ui, + GL_ARB_texture_swizzle, + GL_ARB_timer_query, + GL_ARB_vertex_type_2_10_10_10_rev, + GL_ARB_draw_indirect, + GL_ARB_gpu_shader5, + GL_ARB_gpu_shader_fp64, + GL_ARB_shader_subroutine, + GL_ARB_tessellation_shader, + GL_ARB_texture_buffer_object_rgb32, + GL_ARB_transform_feedback2, + GL_ARB_transform_feedback3, + GL_ARB_ES2_compatibility, + GL_ARB_get_program_binary, + GL_ARB_separate_shader_objects, + GL_ARB_shader_precision, + GL_ARB_vertex_attrib_64bit, + GL_ARB_viewport_array, + + // GL 4.2 + GL_ARB_base_instance, + GL_ARB_shading_language_420pack, + GL_ARB_transform_feedback_instanced, + GL_ARB_compressed_texture_pixel_storage, + GL_ARB_conservative_depth, + GL_ARB_internalformat_query, + GL_ARB_map_buffer_alignment, + GL_ARB_shader_atomic_counters, + GL_ARB_shader_image_load_store, + GL_ARB_shading_language_packing, + GL_ARB_texture_storage, + // END GL 4.2 + + // GL 4.3 + GL_ARB_arrays_of_arrays, + GL_ARB_fragment_layer_viewport, + GL_ARB_shader_image_size, + GL_ARB_ES3_compatibility, + GL_ARB_clear_buffer_object, + GL_ARB_compute_shader, + GL_ARB_copy_image, + GL_KHR_debug, + GL_ARB_explicit_uniform_location, + GL_ARB_framebuffer_no_attachments, + GL_ARB_internalformat_query2, + GL_ARB_invalidate_subdata, + GL_ARB_multi_draw_indirect, + GL_ARB_program_interface_query, + GL_ARB_robust_buffer_access_behavior, + GL_ARB_shader_storage_buffer_object, + GL_ARB_stencil_texturing, + GL_ARB_texture_buffer_range, + GL_ARB_texture_query_levels, + GL_ARB_texture_storage_multisample, + GL_ARB_texture_view, + GL_ARB_vertex_attrib_binding, + GL_NV_path_rendering, + GL_AMD_pinned_memory, + GL_AMD_stencil_operation_extended, + GL_AMD_vertex_shader_viewport_index, + GL_AMD_vertex_shader_layer, + GL_NV_bindless_texture, + GL_NV_shader_atomic_float, + GL_AMD_query_buffer_object, + // END GL 4.3 + + // GL 4.4 + GL_ARB_buffer_storage, + GL_ARB_clear_texture, + GL_ARB_enhanced_layouts, + GL_ARB_multi_bind, + GL_ARB_query_buffer_object, + GL_ARB_texture_mirror_clamp_to_edge, + GL_ARB_texture_stencil8, + GL_ARB_vertex_type_10f_11f_11f_rev, + // END 4.4 + + GL_ARB_cl_event, + GL_ARB_debug_output, + GL_ARB_robustness, + GL_ARB_shader_stencil_export, + GL_ATI_draw_buffers, + GL_ATI_element_array, + GL_ATI_envmap_bumpmap, + GL_ATI_fragment_shader, + GL_ATI_map_object_buffer, + GL_ATI_pn_triangles, + GL_ATI_separate_stencil, + GL_ATI_text_fragment_shader, + GL_ATI_texture_env_combine3, + GL_ATI_texture_float, + GL_ATI_texture_mirror_once, + GL_ATI_vertex_array_object, + GL_ATI_vertex_attrib_array_object, + GL_ATI_vertex_streams, + GL_ATI_meminfo, + GL_AMD_performance_monitor, + GL_AMD_texture_texture4, + GL_AMD_vertex_shader_tesselator, + GL_AMD_draw_buffers_blend, + GL_AMD_shader_stencil_export, + GL_AMD_seamless_cubemap_per_texture, + GL_AMD_conservative_depth, + GL_AMD_name_gen_delete, + GL_AMD_debug_output, + GL_AMD_transform_feedback3_lines_triangles, + GL_AMD_depth_clamp_separate, + GL_EXT_422_pixels, + GL_EXT_abgr, + GL_EXT_bgra, + GL_EXT_blend_color, + GL_EXT_blend_func_separate, + GL_EXT_blend_logic_op, + GL_EXT_blend_minmax, + GL_EXT_blend_subtract, + GL_EXT_clip_volume_hint, + GL_EXT_cmyka, + GL_EXT_color_matrix, + GL_EXT_color_subtable, + GL_EXT_compiled_vertex_array, + GL_EXT_convolution, + GL_EXT_coordinate_frame, + GL_EXT_copy_texture, + GL_EXT_cull_vertex, + GL_EXT_draw_range_elements, + GL_EXT_fog_coord, + GL_EXT_framebuffer_object, + GL_EXT_histogram, + GL_EXT_index_array_formats, + GL_EXT_index_func, + GL_EXT_index_material, + GL_EXT_index_texture, + GL_EXT_light_texture, + GL_EXT_misc_attribute, + GL_EXT_multi_draw_arrays, + GL_EXT_multisample, + GL_EXT_packed_pixels, + GL_EXT_paletted_texture, + GL_EXT_pixel_transform, + GL_EXT_pixel_transform_color_table, + GL_EXT_point_parameters, + GL_EXT_polygon_offset, + GL_EXT_rescale_normal, + GL_EXT_secondary_color, + GL_EXT_separate_specular_color, + GL_EXT_shadow_funcs, + GL_EXT_shared_texture_palette, + GL_EXT_stencil_two_side, + GL_EXT_stencil_wrap, + GL_EXT_subtexture, + GL_EXT_texture, + GL_EXT_texture3D, + GL_EXT_texture_compression_s3tc, + GL_EXT_texture_cube_map, + GL_EXT_texture_edge_clamp, + GL_EXT_texture_env_add, + GL_EXT_texture_env_combine, + GL_EXT_texture_env_dot3, + GL_EXT_texture_filter_anisotropic, + GL_EXT_texture_lod_bias, + GL_EXT_texture_object, + GL_EXT_texture_perturb_normal, + GL_EXT_texture_rectangle, + GL_EXT_vertex_array, + GL_EXT_vertex_shader, + GL_EXT_vertex_weighting, + GL_EXT_depth_bounds_test, + GL_EXT_texture_mirror_clamp, + GL_EXT_blend_equation_separate, + GL_EXT_pixel_buffer_object, + GL_EXT_texture_compression_dxt1, + GL_EXT_stencil_clear_tag, + GL_EXT_packed_depth_stencil, + GL_EXT_texture_sRGB, + GL_EXT_framebuffer_blit, + GL_EXT_framebuffer_multisample, + GL_EXT_timer_query, + GL_EXT_gpu_program_parameters, + GL_EXT_bindable_uniform, + GL_EXT_draw_buffers2, + GL_EXT_draw_instanced, + GL_EXT_framebuffer_sRGB, + GL_EXT_geometry_shader4, + GL_EXT_gpu_shader4, + GL_EXT_packed_float, + GL_EXT_texture_array, + GL_EXT_texture_buffer_object, + GL_EXT_texture_compression_latc, + GL_EXT_texture_compression_rgtc, + GL_EXT_texture_integer, + GL_EXT_texture_shared_exponent, + GL_EXT_transform_feedback, + GL_EXT_direct_state_access, + GL_EXT_vertex_array_bgra, + GL_EXT_texture_swizzle, + GL_EXT_provoking_vertex, + GL_EXT_texture_snorm, + GL_EXT_separate_shader_objects, + GL_EXT_shader_image_load_store, + GL_EXT_vertex_attrib_64bit, + GL_EXT_texture_sRGB_decode, + GL_FfdMaskSGIX, + GL_HP_convolution_border_modes, + GL_HP_image_transform, + GL_HP_occlusion_test, + GL_HP_texture_lighting, + GL_IBM_cull_vertex, + GL_IBM_multimode_draw_arrays, + GL_IBM_rasterpos_clip, + GL_IBM_texture_mirrored_repeat, + GL_IBM_vertex_array_lists, + GL_INGR_blend_func_separate, + GL_INGR_color_clamp, + GL_INGR_interlace_read, + GL_INGR_palette_buffer, + GL_INTEL_parallel_arrays, + GL_INTEL_texture_scissor, + GL_MESA_resize_buffers, + GL_MESA_window_pos, + GL_NV_blend_square, + GL_NV_copy_depth_to_color, + GL_NV_depth_clamp, + GL_NV_evaluators, + GL_NV_fence, + GL_NV_float_buffer, + GL_NV_fog_distance, + GL_NV_fragment_program, + GL_NV_half_float, + GL_NV_light_max_exponent, + GL_NV_multisample_filter_hint, + GL_NV_occlusion_query, + GL_NV_packed_depth_stencil, + GL_NV_pixel_data_range, + GL_NV_point_sprite, + GL_NV_primitive_restart, + GL_NV_register_combiners, + GL_NV_register_combiners2, + GL_NV_texgen_emboss, + GL_NV_texgen_reflection, + GL_NV_texture_compression_vtc, + GL_NV_texture_env_combine4, + GL_NV_texture_expand_normal, + GL_NV_texture_rectangle, + GL_NV_texture_shader, + GL_NV_texture_shader2, + GL_NV_texture_shader3, + GL_NV_vertex_array_range, + GL_NV_vertex_array_range2, + GL_NV_vertex_program, + GL_NV_vertex_program1_1, + GL_NV_vertex_program2, + GL_NV_fragment_program_option, + GL_NV_fragment_program2, + GL_NV_vertex_program2_option, + GL_NV_vertex_program3, + GL_NV_depth_buffer_float, + GL_NV_fragment_program4, + GL_NV_framebuffer_multisample_coverage, + GL_NV_geometry_program4, + GL_NV_gpu_program4, + GL_NV_parameter_buffer_object, + GL_NV_transform_feedback, + GL_NV_vertex_program4, + GL_NV_conditional_render, + GL_NV_present_video, + GL_NV_explicit_multisample, + GL_NV_transform_feedback2, + GL_NV_video_capture, + GL_NV_copy_image, + GL_NV_parameter_buffer_object2, + GL_NV_shader_buffer_load, + GL_NV_vertex_buffer_unified_memory, + GL_NV_gpu_program5, + GL_NV_gpu_shader5, + GL_NV_shader_buffer_store, + GL_NV_tessellation_program5, + GL_NV_vertex_attrib_integer_64bit, + GL_NV_multisample_coverage, + GL_NV_vdpau_interop, + GL_NV_texture_barrier, + GL_OML_interlace, + GL_OML_resample, + GL_OML_subsample, + GL_PGI_misc_hints, + GL_PGI_vertex_hints, + GL_REND_screen_coordinates, + GL_S3_s3tc, + GL_SGIS_detail_texture, + GL_SGIS_fog_function, + GL_SGIS_generate_mipmap, + GL_SGIS_multisample, + GL_SGIS_pixel_texture, + GL_SGIS_point_line_texgen, + GL_SGIS_point_parameters, + GL_SGIS_sharpen_texture, + GL_SGIS_texture4D, + GL_SGIS_texture_border_clamp, + GL_SGIS_texture_color_mask, + GL_SGIS_texture_edge_clamp, + GL_SGIS_texture_filter4, + GL_SGIS_texture_lod, + GL_SGIS_texture_select, + GL_SGIX_async, + GL_SGIX_async_histogram, + GL_SGIX_async_pixel, + GL_SGIX_blend_alpha_minmax, + GL_SGIX_calligraphic_fragment, + GL_SGIX_clipmap, + GL_SGIX_convolution_accuracy, + GL_SGIX_depth_pass_instrument, + GL_SGIX_depth_texture, + GL_SGIX_flush_raster, + GL_SGIX_fog_offset, + GL_SGIX_fog_scale, + GL_SGIX_fragment_lighting, + GL_SGIX_framezoom, + GL_SGIX_igloo_interface, + GL_SGIX_impact_pixel_texture, + GL_SGIX_instruments, + GL_SGIX_interlace, + GL_SGIX_ir_instrument1, + GL_SGIX_list_priority, + GL_SGIX_pixel_texture, + GL_SGIX_pixel_tiles, + GL_SGIX_polynomial_ffd, + GL_SGIX_reference_plane, + GL_SGIX_resample, + GL_SGIX_scalebias_hint, + GL_SGIX_shadow, + GL_SGIX_shadow_ambient, + GL_SGIX_sprite, + GL_SGIX_subsample, + GL_SGIX_tag_sample_buffer, + GL_SGIX_texture_add_env, + GL_SGIX_texture_coordinate_clamp, + GL_SGIX_texture_lod_bias, + GL_SGIX_texture_multi_buffer, + GL_SGIX_texture_scale_bias, + GL_SGIX_texture_select, + GL_SGIX_vertex_preclip, + GL_SGIX_ycrcb, + GL_SGIX_ycrcb_subsample, + GL_SGIX_ycrcba, + GL_SGI_color_matrix, + GL_SGI_color_table, + GL_SGI_depth_pass_instrument, + GL_SGI_texture_color_table, + GL_SUNX_constant_data, + GL_SUN_convolution_border_modes, + GL_SUN_global_alpha, + GL_SUN_mesh_array, + GL_SUN_slice_accum, + GL_SUN_triangle_list, + GL_SUN_vertex, + + GL_WIN_phong_shading, + GL_WIN_specular_fog, + WGL_3DFX_multisample, + WGL_ARB_buffer_region, + WGL_ARB_extensions_string, + WGL_ARB_make_current_read, + WGL_ARB_multisample, + WGL_ARB_pbuffer, + WGL_ARB_pixel_format, + WGL_ARB_pixel_format_float, + WGL_ARB_render_texture, + WGL_ARB_create_context, + WGL_ARB_create_context_profile, + WGL_ARB_framebuffer_sRGB, + WGL_ARB_create_context_robustness, + WGL_ATI_pixel_format_float, + WGL_AMD_gpu_association, + WGL_EXT_depth_float, + WGL_EXT_display_color_table, + WGL_EXT_extensions_string, + WGL_EXT_make_current_read, + WGL_EXT_multisample, + WGL_EXT_pbuffer, + WGL_EXT_pixel_format, + WGL_EXT_swap_control, + WGL_EXT_create_context_es2_profile, + WGL_I3D_digital_video_control, + WGL_I3D_gamma, + WGL_I3D_genlock, + WGL_I3D_image_buffer, + WGL_I3D_swap_frame_lock, + WGL_I3D_swap_frame_usage, + WGL_NV_float_buffer, + WGL_NV_render_depth_texture, + WGL_NV_render_texture_rectangle, + WGL_NV_vertex_array_range, + WGL_NV_present_video, + WGL_NV_video_output, + WGL_NV_swap_group, + WGL_NV_gpu_affinity, + WGL_NV_video_capture, + WGL_NV_copy_image, + WGL_NV_multisample_coverage, + WGL_NV_DX_interop, + WGL_OML_sync_control, + WGL_3DL_stereo_control, + WIN_draw_range_elements, + WIN_swap_hint, + +// GLX_VERSION_1_0, + GLX_VERSION_1_3, + GLX_VERSION_1_4, + GLX_ARB_multisample, + GLX_ARB_fbconfig_float, + GLX_ARB_get_proc_address, + GLX_ARB_create_context, + GLX_ARB_create_context_profile, + GLX_ARB_vertex_buffer_object, + GLX_ARB_framebuffer_sRGB, + GLX_ARB_create_context_robustness, + GLX_EXT_visual_info, + GLX_EXT_visual_rating, + GLX_EXT_import_context, + GLX_EXT_fbconfig_packed_float, + GLX_EXT_framebuffer_sRGB, + GLX_EXT_texture_from_pixmap, + GLX_EXT_swap_control, + GLX_EXT_create_context_es2_profile : Boolean; + +const + // GL_VERSION_1_1 + { AttribMask } + GL_DEPTH_BUFFER_BIT = $00000100; + GL_STENCIL_BUFFER_BIT = $00000400; + GL_COLOR_BUFFER_BIT = $00004000; + { Boolean } + GL_TRUE = 1; + GL_FALSE = 0; + { BeginMode } + GL_POINTS = $0000; + GL_LINES = $0001; + GL_LINE_LOOP = $0002; + GL_LINE_STRIP = $0003; + GL_TRIANGLES = $0004; + GL_TRIANGLE_STRIP = $0005; + GL_TRIANGLE_FAN = $0006; + { AlphaFunction } + GL_NEVER = $0200; + GL_LESS = $0201; + GL_EQUAL = $0202; + GL_LEQUAL = $0203; + GL_GREATER = $0204; + GL_NOTEQUAL = $0205; + GL_GEQUAL = $0206; + GL_ALWAYS = $0207; + { BlendingFactorDest } + GL_ZERO = 0; + GL_ONE = 1; + GL_SRC_COLOR = $0300; + GL_ONE_MINUS_SRC_COLOR = $0301; + GL_SRC_ALPHA = $0302; + GL_ONE_MINUS_SRC_ALPHA = $0303; + GL_DST_ALPHA = $0304; + GL_ONE_MINUS_DST_ALPHA = $0305; + { BlendingFactorSrc } + GL_DST_COLOR = $0306; + GL_ONE_MINUS_DST_COLOR = $0307; + GL_SRC_ALPHA_SATURATE = $0308; + { DrawBufferMode } + GL_NONE = 0; + GL_FRONT_LEFT = $0400; + GL_FRONT_RIGHT = $0401; + GL_BACK_LEFT = $0402; + GL_BACK_RIGHT = $0403; + GL_FRONT = $0404; + GL_BACK = $0405; + GL_LEFT = $0406; + GL_RIGHT = $0407; + GL_FRONT_AND_BACK = $0408; + { ErrorCode } + GL_NO_ERROR = 0; + GL_INVALID_ENUM = $0500; + GL_INVALID_VALUE = $0501; + GL_INVALID_OPERATION = $0502; + GL_OUT_OF_MEMORY = $0505; + { FrontFaceDirection } + GL_CW = $0900; + GL_CCW = $0901; + { GetPName } + GL_POINT_SIZE = $0B11; + GL_POINT_SIZE_RANGE = $0B12; + GL_POINT_SIZE_GRANULARITY = $0B13; + GL_LINE_SMOOTH = $0B20; + GL_LINE_WIDTH = $0B21; + GL_LINE_WIDTH_RANGE = $0B22; + GL_LINE_WIDTH_GRANULARITY = $0B23; + GL_POLYGON_SMOOTH = $0B41; + GL_CULL_FACE = $0B44; + GL_CULL_FACE_MODE = $0B45; + GL_FRONT_FACE = $0B46; + GL_DEPTH_RANGE = $0B70; + GL_DEPTH_TEST = $0B71; + GL_DEPTH_WRITEMASK = $0B72; + GL_DEPTH_CLEAR_VALUE = $0B73; + GL_DEPTH_FUNC = $0B74; + GL_STENCIL_TEST = $0B90; + GL_STENCIL_CLEAR_VALUE = $0B91; + GL_STENCIL_FUNC = $0B92; + GL_STENCIL_VALUE_MASK = $0B93; + GL_STENCIL_FAIL = $0B94; + GL_STENCIL_PASS_DEPTH_FAIL = $0B95; + GL_STENCIL_PASS_DEPTH_PASS = $0B96; + GL_STENCIL_REF = $0B97; + GL_STENCIL_WRITEMASK = $0B98; + GL_VIEWPORT = $0BA2; + GL_DITHER = $0BD0; + GL_BLEND_DST = $0BE0; + GL_BLEND_SRC = $0BE1; + GL_BLEND = $0BE2; + GL_LOGIC_OP_MODE = $0BF0; + GL_COLOR_LOGIC_OP = $0BF2; + GL_DRAW_BUFFER = $0C01; + GL_READ_BUFFER = $0C02; + GL_SCISSOR_BOX = $0C10; + GL_SCISSOR_TEST = $0C11; + GL_COLOR_CLEAR_VALUE = $0C22; + GL_COLOR_WRITEMASK = $0C23; + GL_DOUBLEBUFFER = $0C32; + GL_STEREO = $0C33; + GL_LINE_SMOOTH_HINT = $0C52; + GL_POLYGON_SMOOTH_HINT = $0C53; + GL_UNPACK_SWAP_BYTES = $0CF0; + GL_UNPACK_LSB_FIRST = $0CF1; + GL_UNPACK_ROW_LENGTH = $0CF2; + GL_UNPACK_SKIP_ROWS = $0CF3; + GL_UNPACK_SKIP_PIXELS = $0CF4; + GL_UNPACK_ALIGNMENT = $0CF5; + GL_PACK_SWAP_BYTES = $0D00; + GL_PACK_LSB_FIRST = $0D01; + GL_PACK_ROW_LENGTH = $0D02; + GL_PACK_SKIP_ROWS = $0D03; + GL_PACK_SKIP_PIXELS = $0D04; + GL_PACK_ALIGNMENT = $0D05; + GL_MAX_TEXTURE_SIZE = $0D33; + GL_MAX_VIEWPORT_DIMS = $0D3A; + GL_SUBPIXEL_BITS = $0D50; + GL_TEXTURE_1D = $0DE0; + GL_TEXTURE_2D = $0DE1; + GL_POLYGON_OFFSET_UNITS = $2A00; + GL_POLYGON_OFFSET_POINT = $2A01; + GL_POLYGON_OFFSET_LINE = $2A02; + GL_POLYGON_OFFSET_FILL = $8037; + GL_POLYGON_OFFSET_FACTOR = $8038; + GL_TEXTURE_BINDING_1D = $8068; + GL_TEXTURE_BINDING_2D = $8069; + { GetTextureParameter } + GL_TEXTURE_WIDTH = $1000; + GL_TEXTURE_HEIGHT = $1001; + GL_TEXTURE_INTERNAL_FORMAT = $1003; + GL_TEXTURE_BORDER_COLOR = $1004; + GL_TEXTURE_BORDER = $1005; + GL_TEXTURE_RED_SIZE = $805C; + GL_TEXTURE_GREEN_SIZE = $805D; + GL_TEXTURE_BLUE_SIZE = $805E; + GL_TEXTURE_ALPHA_SIZE = $805F; + { HintMode } + GL_DONT_CARE = $1100; + GL_FASTEST = $1101; + GL_NICEST = $1102; + { DataType } + GL_BYTE = $1400; + GL_UNSIGNED_BYTE = $1401; + GL_SHORT = $1402; + GL_UNSIGNED_SHORT = $1403; + GL_INT = $1404; + GL_UNSIGNED_INT = $1405; + GL_FLOAT = $1406; + GL_DOUBLE = $140A; + { LogicOp } + GL_CLEAR = $1500; + GL_AND = $1501; + GL_AND_REVERSE = $1502; + GL_COPY = $1503; + GL_AND_INVERTED = $1504; + GL_NOOP = $1505; + GL_XOR = $1506; + GL_OR = $1507; + GL_NOR = $1508; + GL_EQUIV = $1509; + GL_INVERT = $150A; + GL_OR_REVERSE = $150B; + GL_COPY_INVERTED = $150C; + GL_OR_INVERTED = $150D; + GL_NAND = $150E; + GL_SET = $150F; + { MatrixMode (for gl3.h, FBO attachment type) } + GL_TEXTURE = $1702; + { PixelCopyType } + GL_COLOR = $1800; + GL_DEPTH = $1801; + GL_STENCIL = $1802; + { PixelFormat } + GL_STENCIL_INDEX = $1901; + GL_DEPTH_COMPONENT = $1902; + GL_RED = $1903; + GL_GREEN = $1904; + GL_BLUE = $1905; + GL_ALPHA = $1906; + GL_RGB = $1907; + GL_RGBA = $1908; + { PolygonMode } + GL_POINT = $1B00; + GL_LINE = $1B01; + GL_FILL = $1B02; + { StencilOp } + GL_KEEP = $1E00; + GL_REPLACE = $1E01; + GL_INCR = $1E02; + GL_DECR = $1E03; + { StringName } + GL_VENDOR = $1F00; + GL_RENDERER = $1F01; + GL_VERSION = $1F02; + GL_EXTENSIONS = $1F03; + { TextureMagFilter } + GL_NEAREST = $2600; + GL_LINEAR = $2601; + { TextureMinFilter } + GL_NEAREST_MIPMAP_NEAREST = $2700; + GL_LINEAR_MIPMAP_NEAREST = $2701; + GL_NEAREST_MIPMAP_LINEAR = $2702; + GL_LINEAR_MIPMAP_LINEAR = $2703; + { TextureParameterName } + GL_TEXTURE_MAG_FILTER = $2800; + GL_TEXTURE_MIN_FILTER = $2801; + GL_TEXTURE_WRAP_S = $2802; + GL_TEXTURE_WRAP_T = $2803; + { TextureTarget } + GL_PROXY_TEXTURE_1D = $8063; + GL_PROXY_TEXTURE_2D = $8064; + { TextureWrapMode } + GL_REPEAT = $2901; + { PixelInternalFormat } + GL_R3_G3_B2 = $2A10; + GL_RGB4 = $804F; + GL_RGB5 = $8050; + GL_RGB8 = $8051; + GL_RGB10 = $8052; + GL_RGB12 = $8053; + GL_RGB16 = $8054; + GL_RGBA2 = $8055; + GL_RGBA4 = $8056; + GL_RGB5_A1 = $8057; + GL_RGBA8 = $8058; + GL_RGB10_A2 = $8059; + GL_RGBA12 = $805A; + GL_RGBA16 = $805B; +{$ifdef DGL_DEPRECATED} + GL_ACCUM = $0100; + GL_LOAD = $0101; + GL_RETURN = $0102; + GL_MULT = $0103; + GL_ADD = $0104; + GL_CURRENT_BIT = $00000001; + GL_POINT_BIT = $00000002; + GL_LINE_BIT = $00000004; + GL_POLYGON_BIT = $00000008; + GL_POLYGON_STIPPLE_BIT = $00000010; + GL_PIXEL_MODE_BIT = $00000020; + GL_LIGHTING_BIT = $00000040; + GL_FOG_BIT = $00000080; + GL_ACCUM_BUFFER_BIT = $00000200; + GL_VIEWPORT_BIT = $00000800; + GL_TRANSFORM_BIT = $00001000; + GL_ENABLE_BIT = $00002000; + GL_HINT_BIT = $00008000; + GL_EVAL_BIT = $00010000; + GL_LIST_BIT = $00020000; + GL_TEXTURE_BIT = $00040000; + GL_SCISSOR_BIT = $00080000; + GL_ALL_ATTRIB_BITS = $000FFFFF; + GL_QUADS = $0007; + GL_QUAD_STRIP = $0008; + GL_POLYGON = $0009; + GL_CLIP_PLANE0 = $3000; + GL_CLIP_PLANE1 = $3001; + GL_CLIP_PLANE2 = $3002; + GL_CLIP_PLANE3 = $3003; + GL_CLIP_PLANE4 = $3004; + GL_CLIP_PLANE5 = $3005; + GL_2_BYTES = $1407; + GL_3_BYTES = $1408; + GL_4_BYTES = $1409; + GL_AUX0 = $0409; + GL_AUX1 = $040A; + GL_AUX2 = $040B; + GL_AUX3 = $040C; + GL_STACK_OVERFLOW = $0503; + GL_STACK_UNDERFLOW = $0504; + GL_2D = $0600; + GL_3D = $0601; + GL_3D_COLOR = $0602; + GL_3D_COLOR_TEXTURE = $0603; + GL_4D_COLOR_TEXTURE = $0604; + GL_PASS_THROUGH_TOKEN = $0700; + GL_POINT_TOKEN = $0701; + GL_LINE_TOKEN = $0702; + GL_POLYGON_TOKEN = $0703; + GL_BITMAP_TOKEN = $0704; + GL_DRAW_PIXEL_TOKEN = $0705; + GL_COPY_PIXEL_TOKEN = $0706; + GL_LINE_RESET_TOKEN = $0707; + GL_EXP = $0800; + GL_EXP2 = $0801; + GL_COEFF = $0A00; + GL_ORDER = $0A01; + GL_DOMAIN = $0A02; + GL_CURRENT_COLOR = $0B00; + GL_CURRENT_INDEX = $0B01; + GL_CURRENT_NORMAL = $0B02; + GL_CURRENT_TEXTURE_COORDS = $0B03; + GL_CURRENT_RASTER_COLOR = $0B04; + GL_CURRENT_RASTER_INDEX = $0B05; + GL_CURRENT_RASTER_TEXTURE_COORDS = $0B06; + GL_CURRENT_RASTER_POSITION = $0B07; + GL_CURRENT_RASTER_POSITION_VALID = $0B08; + GL_CURRENT_RASTER_DISTANCE = $0B09; + GL_POINT_SMOOTH = $0B10; + GL_LINE_STIPPLE = $0B24; + GL_LINE_STIPPLE_PATTERN = $0B25; + GL_LINE_STIPPLE_REPEAT = $0B26; + GL_LIST_MODE = $0B30; + GL_MAX_LIST_NESTING = $0B31; + GL_LIST_BASE = $0B32; + GL_LIST_INDEX = $0B33; + GL_POLYGON_MODE = $0B40; + GL_POLYGON_STIPPLE = $0B42; + GL_EDGE_FLAG = $0B43; + GL_LIGHTING = $0B50; + GL_LIGHT_MODEL_LOCAL_VIEWER = $0B51; + GL_LIGHT_MODEL_TWO_SIDE = $0B52; + GL_LIGHT_MODEL_AMBIENT = $0B53; + GL_SHADE_MODEL = $0B54; + GL_COLOR_MATERIAL_FACE = $0B55; + GL_COLOR_MATERIAL_PARAMETER = $0B56; + GL_COLOR_MATERIAL = $0B57; + GL_FOG = $0B60; + GL_FOG_INDEX = $0B61; + GL_FOG_DENSITY = $0B62; + GL_FOG_START = $0B63; + GL_FOG_END = $0B64; + GL_FOG_MODE = $0B65; + GL_FOG_COLOR = $0B66; + GL_ACCUM_CLEAR_VALUE = $0B80; + GL_MATRIX_MODE = $0BA0; + GL_NORMALIZE = $0BA1; + GL_MODELVIEW_STACK_DEPTH = $0BA3; + GL_PROJECTION_STACK_DEPTH = $0BA4; + GL_TEXTURE_STACK_DEPTH = $0BA5; + GL_MODELVIEW_MATRIX = $0BA6; + GL_PROJECTION_MATRIX = $0BA7; + GL_TEXTURE_MATRIX = $0BA8; + GL_ATTRIB_STACK_DEPTH = $0BB0; + GL_CLIENT_ATTRIB_STACK_DEPTH = $0BB1; + GL_ALPHA_TEST = $0BC0; + GL_ALPHA_TEST_FUNC = $0BC1; + GL_ALPHA_TEST_REF = $0BC2; + GL_INDEX_LOGIC_OP = $0BF1; + GL_AUX_BUFFERS = $0C00; + GL_INDEX_CLEAR_VALUE = $0C20; + GL_INDEX_WRITEMASK = $0C21; + GL_INDEX_MODE = $0C30; + GL_RGBA_MODE = $0C31; + GL_RENDER_MODE = $0C40; + GL_PERSPECTIVE_CORRECTION_HINT = $0C50; + GL_POINT_SMOOTH_HINT = $0C51; + GL_FOG_HINT = $0C54; + GL_TEXTURE_GEN_S = $0C60; + GL_TEXTURE_GEN_T = $0C61; + GL_TEXTURE_GEN_R = $0C62; + GL_TEXTURE_GEN_Q = $0C63; + GL_PIXEL_MAP_I_TO_I = $0C70; + GL_PIXEL_MAP_S_TO_S = $0C71; + GL_PIXEL_MAP_I_TO_R = $0C72; + GL_PIXEL_MAP_I_TO_G = $0C73; + GL_PIXEL_MAP_I_TO_B = $0C74; + GL_PIXEL_MAP_I_TO_A = $0C75; + GL_PIXEL_MAP_R_TO_R = $0C76; + GL_PIXEL_MAP_G_TO_G = $0C77; + GL_PIXEL_MAP_B_TO_B = $0C78; + GL_PIXEL_MAP_A_TO_A = $0C79; + GL_PIXEL_MAP_I_TO_I_SIZE = $0CB0; + GL_PIXEL_MAP_S_TO_S_SIZE = $0CB1; + GL_PIXEL_MAP_I_TO_R_SIZE = $0CB2; + GL_PIXEL_MAP_I_TO_G_SIZE = $0CB3; + GL_PIXEL_MAP_I_TO_B_SIZE = $0CB4; + GL_PIXEL_MAP_I_TO_A_SIZE = $0CB5; + GL_PIXEL_MAP_R_TO_R_SIZE = $0CB6; + GL_PIXEL_MAP_G_TO_G_SIZE = $0CB7; + GL_PIXEL_MAP_B_TO_B_SIZE = $0CB8; + GL_PIXEL_MAP_A_TO_A_SIZE = $0CB9; + GL_MAP_COLOR = $0D10; + GL_MAP_STENCIL = $0D11; + GL_INDEX_SHIFT = $0D12; + GL_INDEX_OFFSET = $0D13; + GL_RED_SCALE = $0D14; + GL_RED_BIAS = $0D15; + GL_ZOOM_X = $0D16; + GL_ZOOM_Y = $0D17; + GL_GREEN_SCALE = $0D18; + GL_GREEN_BIAS = $0D19; + GL_BLUE_SCALE = $0D1A; + GL_BLUE_BIAS = $0D1B; + GL_ALPHA_SCALE = $0D1C; + GL_ALPHA_BIAS = $0D1D; + GL_DEPTH_SCALE = $0D1E; + GL_DEPTH_BIAS = $0D1F; + GL_MAX_EVAL_ORDER = $0D30; + GL_MAX_LIGHTS = $0D31; + GL_MAX_CLIP_PLANES = $0D32; + GL_MAX_PIXEL_MAP_TABLE = $0D34; + GL_MAX_ATTRIB_STACK_DEPTH = $0D35; + GL_MAX_MODELVIEW_STACK_DEPTH = $0D36; + GL_MAX_NAME_STACK_DEPTH = $0D37; + GL_MAX_PROJECTION_STACK_DEPTH = $0D38; + GL_MAX_TEXTURE_STACK_DEPTH = $0D39; + GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = $0D3B; + GL_INDEX_BITS = $0D51; + GL_RED_BITS = $0D52; + GL_GREEN_BITS = $0D53; + GL_BLUE_BITS = $0D54; + GL_ALPHA_BITS = $0D55; + GL_DEPTH_BITS = $0D56; + GL_STENCIL_BITS = $0D57; + GL_ACCUM_RED_BITS = $0D58; + GL_ACCUM_GREEN_BITS = $0D59; + GL_ACCUM_BLUE_BITS = $0D5A; + GL_ACCUM_ALPHA_BITS = $0D5B; + GL_NAME_STACK_DEPTH = $0D70; + GL_AUTO_NORMAL = $0D80; + GL_MAP1_COLOR_4 = $0D90; + GL_MAP1_INDEX = $0D91; + GL_MAP1_NORMAL = $0D92; + GL_MAP1_TEXTURE_COORD_1 = $0D93; + GL_MAP1_TEXTURE_COORD_2 = $0D94; + GL_MAP1_TEXTURE_COORD_3 = $0D95; + GL_MAP1_TEXTURE_COORD_4 = $0D96; + GL_MAP1_VERTEX_3 = $0D97; + GL_MAP1_VERTEX_4 = $0D98; + GL_MAP2_COLOR_4 = $0DB0; + GL_MAP2_INDEX = $0DB1; + GL_MAP2_NORMAL = $0DB2; + GL_MAP2_TEXTURE_COORD_1 = $0DB3; + GL_MAP2_TEXTURE_COORD_2 = $0DB4; + GL_MAP2_TEXTURE_COORD_3 = $0DB5; + GL_MAP2_TEXTURE_COORD_4 = $0DB6; + GL_MAP2_VERTEX_3 = $0DB7; + GL_MAP2_VERTEX_4 = $0DB8; + GL_MAP1_GRID_DOMAIN = $0DD0; + GL_MAP1_GRID_SEGMENTS = $0DD1; + GL_MAP2_GRID_DOMAIN = $0DD2; + GL_MAP2_GRID_SEGMENTS = $0DD3; + GL_FEEDBACK_BUFFER_POINTER = $0DF0; + GL_FEEDBACK_BUFFER_SIZE = $0DF1; + GL_FEEDBACK_BUFFER_TYPE = $0DF2; + GL_SELECTION_BUFFER_POINTER = $0DF3; + GL_SELECTION_BUFFER_SIZE = $0DF4; + GL_LIGHT0 = $4000; + GL_LIGHT1 = $4001; + GL_LIGHT2 = $4002; + GL_LIGHT3 = $4003; + GL_LIGHT4 = $4004; + GL_LIGHT5 = $4005; + GL_LIGHT6 = $4006; + GL_LIGHT7 = $4007; + GL_AMBIENT = $1200; + GL_DIFFUSE = $1201; + GL_SPECULAR = $1202; + GL_POSITION = $1203; + GL_SPOT_DIRECTION = $1204; + GL_SPOT_EXPONENT = $1205; + GL_SPOT_CUTOFF = $1206; + GL_CONSTANT_ATTENUATION = $1207; + GL_LINEAR_ATTENUATION = $1208; + GL_QUADRATIC_ATTENUATION = $1209; + GL_COMPILE = $1300; + GL_COMPILE_AND_EXECUTE = $1301; + GL_EMISSION = $1600; + GL_SHININESS = $1601; + GL_AMBIENT_AND_DIFFUSE = $1602; + GL_COLOR_INDEXES = $1603; + GL_MODELVIEW = $1700; + GL_PROJECTION = $1701; + GL_COLOR_INDEX = $1900; + GL_LUMINANCE = $1909; + GL_LUMINANCE_ALPHA = $190A; + GL_BITMAP = $1A00; + GL_RENDER = $1C00; + GL_FEEDBACK = $1C01; + GL_SELECT = $1C02; + GL_FLAT = $1D00; + GL_SMOOTH = $1D01; + GL_S = $2000; + GL_T = $2001; + GL_R = $2002; + GL_Q = $2003; + GL_MODULATE = $2100; + GL_DECAL = $2101; + GL_TEXTURE_ENV_MODE = $2200; + GL_TEXTURE_ENV_COLOR = $2201; + GL_TEXTURE_ENV = $2300; + GL_EYE_LINEAR = $2400; + GL_OBJECT_LINEAR = $2401; + GL_SPHERE_MAP = $2402; + GL_TEXTURE_GEN_MODE = $2500; + GL_OBJECT_PLANE = $2501; + GL_EYE_PLANE = $2502; + GL_CLAMP = $2900; + GL_CLIENT_PIXEL_STORE_BIT = $00000001; + GL_CLIENT_VERTEX_ARRAY_BIT = $00000002; + GL_CLIENT_ALL_ATTRIB_BITS = $FFFFFFFF; + GL_ALPHA4 = $803B; + GL_ALPHA8 = $803C; + GL_ALPHA12 = $803D; + GL_ALPHA16 = $803E; + GL_LUMINANCE4 = $803F; + GL_LUMINANCE8 = $8040; + GL_LUMINANCE12 = $8041; + GL_LUMINANCE16 = $8042; + GL_LUMINANCE4_ALPHA4 = $8043; + GL_LUMINANCE6_ALPHA2 = $8044; + GL_LUMINANCE8_ALPHA8 = $8045; + GL_LUMINANCE12_ALPHA4 = $8046; + GL_LUMINANCE12_ALPHA12 = $8047; + GL_LUMINANCE16_ALPHA16 = $8048; + GL_INTENSITY = $8049; + GL_INTENSITY4 = $804A; + GL_INTENSITY8 = $804B; + GL_INTENSITY12 = $804C; + GL_INTENSITY16 = $804D; + GL_TEXTURE_LUMINANCE_SIZE = $8060; + GL_TEXTURE_INTENSITY_SIZE = $8061; + GL_TEXTURE_PRIORITY = $8066; + GL_TEXTURE_RESIDENT = $8067; + GL_VERTEX_ARRAY = $8074; + GL_NORMAL_ARRAY = $8075; + GL_COLOR_ARRAY = $8076; + GL_INDEX_ARRAY = $8077; + GL_TEXTURE_COORD_ARRAY = $8078; + GL_EDGE_FLAG_ARRAY = $8079; + GL_VERTEX_ARRAY_SIZE = $807A; + GL_VERTEX_ARRAY_TYPE = $807B; + GL_VERTEX_ARRAY_STRIDE = $807C; + GL_NORMAL_ARRAY_TYPE = $807E; + GL_NORMAL_ARRAY_STRIDE = $807F; + GL_COLOR_ARRAY_SIZE = $8081; + GL_COLOR_ARRAY_TYPE = $8082; + GL_COLOR_ARRAY_STRIDE = $8083; + GL_INDEX_ARRAY_TYPE = $8085; + GL_INDEX_ARRAY_STRIDE = $8086; + GL_TEXTURE_COORD_ARRAY_SIZE = $8088; + GL_TEXTURE_COORD_ARRAY_TYPE = $8089; + GL_TEXTURE_COORD_ARRAY_STRIDE = $808A; + GL_EDGE_FLAG_ARRAY_STRIDE = $808C; + GL_VERTEX_ARRAY_POINTER = $808E; + GL_NORMAL_ARRAY_POINTER = $808F; + GL_COLOR_ARRAY_POINTER = $8090; + GL_INDEX_ARRAY_POINTER = $8091; + GL_TEXTURE_COORD_ARRAY_POINTER = $8092; + GL_EDGE_FLAG_ARRAY_POINTER = $8093; + GL_V2F = $2A20; + GL_V3F = $2A21; + GL_C4UB_V2F = $2A22; + GL_C4UB_V3F = $2A23; + GL_C3F_V3F = $2A24; + GL_N3F_V3F = $2A25; + GL_C4F_N3F_V3F = $2A26; + GL_T2F_V3F = $2A27; + GL_T4F_V4F = $2A28; + GL_T2F_C4UB_V3F = $2A29; + GL_T2F_C3F_V3F = $2A2A; + GL_T2F_N3F_V3F = $2A2B; + GL_T2F_C4F_N3F_V3F = $2A2C; + GL_T4F_C4F_N3F_V4F = $2A2D; + GL_COLOR_TABLE_FORMAT_EXT = $80D8; + GL_COLOR_TABLE_WIDTH_EXT = $80D9; + GL_COLOR_TABLE_RED_SIZE_EXT = $80DA; + GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB; + GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC; + GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD; + GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE; + GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF; + GL_LOGIC_OP = GL_INDEX_LOGIC_OP; + GL_TEXTURE_COMPONENTS = GL_TEXTURE_INTERNAL_FORMAT; +{$endif} + + // GL_VERSION_1_2 + GL_UNSIGNED_BYTE_3_3_2 = $8032; + GL_UNSIGNED_SHORT_4_4_4_4 = $8033; + GL_UNSIGNED_SHORT_5_5_5_1 = $8034; + GL_UNSIGNED_INT_8_8_8_8 = $8035; + GL_UNSIGNED_INT_10_10_10_2 = $8036; + GL_TEXTURE_BINDING_3D = $806A; + GL_PACK_SKIP_IMAGES = $806B; + GL_PACK_IMAGE_HEIGHT = $806C; + GL_UNPACK_SKIP_IMAGES = $806D; + GL_UNPACK_IMAGE_HEIGHT = $806E; + GL_TEXTURE_3D = $806F; + GL_PROXY_TEXTURE_3D = $8070; + GL_TEXTURE_DEPTH = $8071; + GL_TEXTURE_WRAP_R = $8072; + GL_MAX_3D_TEXTURE_SIZE = $8073; + GL_UNSIGNED_BYTE_2_3_3_REV = $8362; + GL_UNSIGNED_SHORT_5_6_5 = $8363; + GL_UNSIGNED_SHORT_5_6_5_REV = $8364; + GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365; + GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366; + GL_UNSIGNED_INT_8_8_8_8_REV = $8367; + GL_UNSIGNED_INT_2_10_10_10_REV = $8368; + GL_BGR = $80E0; + GL_BGRA = $80E1; + GL_MAX_ELEMENTS_VERTICES = $80E8; + GL_MAX_ELEMENTS_INDICES = $80E9; + GL_CLAMP_TO_EDGE = $812F; + GL_TEXTURE_MIN_LOD = $813A; + GL_TEXTURE_MAX_LOD = $813B; + GL_TEXTURE_BASE_LEVEL = $813C; + GL_TEXTURE_MAX_LEVEL = $813D; + GL_SMOOTH_POINT_SIZE_RANGE = $0B12; + GL_SMOOTH_POINT_SIZE_GRANULARITY = $0B13; + GL_SMOOTH_LINE_WIDTH_RANGE = $0B22; + GL_SMOOTH_LINE_WIDTH_GRANULARITY = $0B23; + GL_ALIASED_LINE_WIDTH_RANGE = $846E; +{$ifdef DGL_DEPRECATED} + GL_RESCALE_NORMAL = $803A; + GL_LIGHT_MODEL_COLOR_CONTROL = $81F8; + GL_SINGLE_COLOR = $81F9; + GL_SEPARATE_SPECULAR_COLOR = $81FA; + GL_ALIASED_POINT_SIZE_RANGE = $846D; +{$endif} + + // GL_VERSION_1_3 + GL_TEXTURE0 = $84C0; + GL_TEXTURE1 = $84C1; + GL_TEXTURE2 = $84C2; + GL_TEXTURE3 = $84C3; + GL_TEXTURE4 = $84C4; + GL_TEXTURE5 = $84C5; + GL_TEXTURE6 = $84C6; + GL_TEXTURE7 = $84C7; + GL_TEXTURE8 = $84C8; + GL_TEXTURE9 = $84C9; + GL_TEXTURE10 = $84CA; + GL_TEXTURE11 = $84CB; + GL_TEXTURE12 = $84CC; + GL_TEXTURE13 = $84CD; + GL_TEXTURE14 = $84CE; + GL_TEXTURE15 = $84CF; + GL_TEXTURE16 = $84D0; + GL_TEXTURE17 = $84D1; + GL_TEXTURE18 = $84D2; + GL_TEXTURE19 = $84D3; + GL_TEXTURE20 = $84D4; + GL_TEXTURE21 = $84D5; + GL_TEXTURE22 = $84D6; + GL_TEXTURE23 = $84D7; + GL_TEXTURE24 = $84D8; + GL_TEXTURE25 = $84D9; + GL_TEXTURE26 = $84DA; + GL_TEXTURE27 = $84DB; + GL_TEXTURE28 = $84DC; + GL_TEXTURE29 = $84DD; + GL_TEXTURE30 = $84DE; + GL_TEXTURE31 = $84DF; + GL_ACTIVE_TEXTURE = $84E0; + GL_MULTISAMPLE = $809D; + GL_SAMPLE_ALPHA_TO_COVERAGE = $809E; + GL_SAMPLE_ALPHA_TO_ONE = $809F; + GL_SAMPLE_COVERAGE = $80A0; + GL_SAMPLE_BUFFERS = $80A8; + GL_SAMPLES = $80A9; + GL_SAMPLE_COVERAGE_VALUE = $80AA; + GL_SAMPLE_COVERAGE_INVERT = $80AB; + GL_TEXTURE_CUBE_MAP = $8513; + GL_TEXTURE_BINDING_CUBE_MAP = $8514; + GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515; + GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516; + GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517; + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518; + GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519; + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A; + GL_PROXY_TEXTURE_CUBE_MAP = $851B; + GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C; + GL_COMPRESSED_RGB = $84ED; + GL_COMPRESSED_RGBA = $84EE; + GL_TEXTURE_COMPRESSION_HINT = $84EF; + GL_TEXTURE_COMPRESSED_IMAGE_SIZE = $86A0; + GL_TEXTURE_COMPRESSED = $86A1; + GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2; + GL_COMPRESSED_TEXTURE_FORMATS = $86A3; + GL_CLAMP_TO_BORDER = $812D; +{$ifdef DGL_DEPRECATED} + GL_CLIENT_ACTIVE_TEXTURE = $84E1; + GL_MAX_TEXTURE_UNITS = $84E2; + GL_TRANSPOSE_MODELVIEW_MATRIX = $84E3; + GL_TRANSPOSE_PROJECTION_MATRIX = $84E4; + GL_TRANSPOSE_TEXTURE_MATRIX = $84E5; + GL_TRANSPOSE_COLOR_MATRIX = $84E6; + GL_MULTISAMPLE_BIT = $20000000; + GL_NORMAL_MAP = $8511; + GL_REFLECTION_MAP = $8512; + GL_COMPRESSED_ALPHA = $84E9; + GL_COMPRESSED_LUMINANCE = $84EA; + GL_COMPRESSED_LUMINANCE_ALPHA = $84EB; + GL_COMPRESSED_INTENSITY = $84EC; + GL_COMBINE = $8570; + GL_COMBINE_RGB = $8571; + GL_COMBINE_ALPHA = $8572; + GL_SOURCE0_RGB = $8580; + GL_SOURCE1_RGB = $8581; + GL_SOURCE2_RGB = $8582; + GL_SOURCE0_ALPHA = $8588; + GL_SOURCE1_ALPHA = $8589; + GL_SOURCE2_ALPHA = $858A; + GL_OPERAND0_RGB = $8590; + GL_OPERAND1_RGB = $8591; + GL_OPERAND2_RGB = $8592; + GL_OPERAND0_ALPHA = $8598; + GL_OPERAND1_ALPHA = $8599; + GL_OPERAND2_ALPHA = $859A; + GL_RGB_SCALE = $8573; + GL_ADD_SIGNED = $8574; + GL_INTERPOLATE = $8575; + GL_SUBTRACT = $84E7; + GL_CONSTANT = $8576; + GL_PRIMARY_COLOR = $8577; + GL_PREVIOUS = $8578; + GL_DOT3_RGB = $86AE; + GL_DOT3_RGBA = $86AF; +{$endif} + + // GL_VERSION_1_4 + GL_BLEND_DST_RGB = $80C8; + GL_BLEND_SRC_RGB = $80C9; + GL_BLEND_DST_ALPHA = $80CA; + GL_BLEND_SRC_ALPHA = $80CB; + GL_POINT_FADE_THRESHOLD_SIZE = $8128; + GL_DEPTH_COMPONENT16 = $81A5; + GL_DEPTH_COMPONENT24 = $81A6; + GL_DEPTH_COMPONENT32 = $81A7; + GL_MIRRORED_REPEAT = $8370; + GL_MAX_TEXTURE_LOD_BIAS = $84FD; + GL_TEXTURE_LOD_BIAS = $8501; + GL_INCR_WRAP = $8507; + GL_DECR_WRAP = $8508; + GL_TEXTURE_DEPTH_SIZE = $884A; + GL_TEXTURE_COMPARE_MODE = $884C; + GL_TEXTURE_COMPARE_FUNC = $884D; +{$ifdef DGL_DEPRECATED} + GL_POINT_SIZE_MIN = $8126; + GL_POINT_SIZE_MAX = $8127; + GL_POINT_DISTANCE_ATTENUATION = $8129; + GL_GENERATE_MIPMAP = $8191; + GL_GENERATE_MIPMAP_HINT = $8192; + GL_FOG_COORDINATE_SOURCE = $8450; + GL_FOG_COORDINATE = $8451; + GL_FRAGMENT_DEPTH = $8452; + GL_CURRENT_FOG_COORDINATE = $8453; + GL_FOG_COORDINATE_ARRAY_TYPE = $8454; + GL_FOG_COORDINATE_ARRAY_STRIDE = $8455; + GL_FOG_COORDINATE_ARRAY_POINTER = $8456; + GL_FOG_COORDINATE_ARRAY = $8457; + GL_COLOR_SUM = $8458; + GL_CURRENT_SECONDARY_COLOR = $8459; + GL_SECONDARY_COLOR_ARRAY_SIZE = $845A; + GL_SECONDARY_COLOR_ARRAY_TYPE = $845B; + GL_SECONDARY_COLOR_ARRAY_STRIDE = $845C; + GL_SECONDARY_COLOR_ARRAY_POINTER = $845D; + GL_SECONDARY_COLOR_ARRAY = $845E; + GL_TEXTURE_FILTER_CONTROL = $8500; + GL_DEPTH_TEXTURE_MODE = $884B; + GL_COMPARE_R_TO_TEXTURE = $884E; +{$endif} + + // GL_VERSION_1_5 + GL_BUFFER_SIZE = $8764; + GL_BUFFER_USAGE = $8765; + GL_QUERY_COUNTER_BITS = $8864; + GL_CURRENT_QUERY = $8865; + GL_QUERY_RESULT = $8866; + GL_QUERY_RESULT_AVAILABLE = $8867; + GL_ARRAY_BUFFER = $8892; + GL_ELEMENT_ARRAY_BUFFER = $8893; + GL_ARRAY_BUFFER_BINDING = $8894; + GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895; + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F; + GL_READ_ONLY = $88B8; + GL_WRITE_ONLY = $88B9; + GL_READ_WRITE = $88BA; + GL_BUFFER_ACCESS = $88BB; + GL_BUFFER_MAPPED = $88BC; + GL_BUFFER_MAP_POINTER = $88BD; + GL_STREAM_DRAW = $88E0; + GL_STREAM_READ = $88E1; + GL_STREAM_COPY = $88E2; + GL_STATIC_DRAW = $88E4; + GL_STATIC_READ = $88E5; + GL_STATIC_COPY = $88E6; + GL_DYNAMIC_DRAW = $88E8; + GL_DYNAMIC_READ = $88E9; + GL_DYNAMIC_COPY = $88EA; + GL_SAMPLES_PASSED = $8914; +{$ifdef DGL_DEPRECATED} + GL_VERTEX_ARRAY_BUFFER_BINDING = $8896; + GL_NORMAL_ARRAY_BUFFER_BINDING = $8897; + GL_COLOR_ARRAY_BUFFER_BINDING = $8898; + GL_INDEX_ARRAY_BUFFER_BINDING = $8899; + GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A; + GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = $889B; + GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = $889C; + GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = $889D; + GL_WEIGHT_ARRAY_BUFFER_BINDING = $889E; + GL_FOG_COORD_SRC = $8450; + GL_FOG_COORD = $8451; + GL_CURRENT_FOG_COORD = $8453; + GL_FOG_COORD_ARRAY_TYPE = $8454; + GL_FOG_COORD_ARRAY_STRIDE = $8455; + GL_FOG_COORD_ARRAY_POINTER = $8456; + GL_FOG_COORD_ARRAY = $8457; + GL_FOG_COORD_ARRAY_BUFFER_BINDING = $889D; + GL_SRC0_RGB = $8580; + GL_SRC1_RGB = $8581; + GL_SRC2_RGB = $8582; + GL_SRC0_ALPHA = $8588; + GL_SRC1_ALPHA = $8589; + GL_SRC2_ALPHA = $858A; +{$endif} + + // GL_VERSION_2_0 + GL_BLEND_EQUATION_RGB = $8009; + GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622; + GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623; + GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624; + GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625; + GL_CURRENT_VERTEX_ATTRIB = $8626; + GL_VERTEX_PROGRAM_POINT_SIZE = $8642; + GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645; + GL_STENCIL_BACK_FUNC = $8800; + GL_STENCIL_BACK_FAIL = $8801; + GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802; + GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803; + GL_MAX_DRAW_BUFFERS = $8824; + GL_DRAW_BUFFER0 = $8825; + GL_DRAW_BUFFER1 = $8826; + GL_DRAW_BUFFER2 = $8827; + GL_DRAW_BUFFER3 = $8828; + GL_DRAW_BUFFER4 = $8829; + GL_DRAW_BUFFER5 = $882A; + GL_DRAW_BUFFER6 = $882B; + GL_DRAW_BUFFER7 = $882C; + GL_DRAW_BUFFER8 = $882D; + GL_DRAW_BUFFER9 = $882E; + GL_DRAW_BUFFER10 = $882F; + GL_DRAW_BUFFER11 = $8830; + GL_DRAW_BUFFER12 = $8831; + GL_DRAW_BUFFER13 = $8832; + GL_DRAW_BUFFER14 = $8833; + GL_DRAW_BUFFER15 = $8834; + GL_BLEND_EQUATION_ALPHA = $883D; + GL_MAX_VERTEX_ATTRIBS = $8869; + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A; + GL_MAX_TEXTURE_IMAGE_UNITS = $8872; + GL_FRAGMENT_SHADER = $8B30; + GL_VERTEX_SHADER = $8B31; + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49; + GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A; + GL_MAX_VARYING_FLOATS = $8B4B; + GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C; + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D; + GL_SHADER_TYPE = $8B4F; + GL_FLOAT_VEC2 = $8B50; + GL_FLOAT_VEC3 = $8B51; + GL_FLOAT_VEC4 = $8B52; + GL_INT_VEC2 = $8B53; + GL_INT_VEC3 = $8B54; + GL_INT_VEC4 = $8B55; + GL_BOOL = $8B56; + GL_BOOL_VEC2 = $8B57; + GL_BOOL_VEC3 = $8B58; + GL_BOOL_VEC4 = $8B59; + GL_FLOAT_MAT2 = $8B5A; + GL_FLOAT_MAT3 = $8B5B; + GL_FLOAT_MAT4 = $8B5C; + GL_SAMPLER_1D = $8B5D; + GL_SAMPLER_2D = $8B5E; + GL_SAMPLER_3D = $8B5F; + GL_SAMPLER_CUBE = $8B60; + GL_SAMPLER_1D_SHADOW = $8B61; + GL_SAMPLER_2D_SHADOW = $8B62; + GL_DELETE_STATUS = $8B80; + GL_COMPILE_STATUS = $8B81; + GL_LINK_STATUS = $8B82; + GL_VALIDATE_STATUS = $8B83; + GL_INFO_LOG_LENGTH = $8B84; + GL_ATTACHED_SHADERS = $8B85; + GL_ACTIVE_UNIFORMS = $8B86; + GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87; + GL_SHADER_SOURCE_LENGTH = $8B88; + GL_ACTIVE_ATTRIBUTES = $8B89; + GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A; + GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B; + GL_SHADING_LANGUAGE_VERSION = $8B8C; + GL_CURRENT_PROGRAM = $8B8D; + GL_POINT_SPRITE_COORD_ORIGIN = $8CA0; + GL_LOWER_LEFT = $8CA1; + GL_UPPER_LEFT = $8CA2; + GL_STENCIL_BACK_REF = $8CA3; + GL_STENCIL_BACK_VALUE_MASK = $8CA4; + GL_STENCIL_BACK_WRITEMASK = $8CA5; +{$ifdef DGL_DEPRECATED} + GL_VERTEX_PROGRAM_TWO_SIDE = $8643; + GL_POINT_SPRITE = $8861; + GL_COORD_REPLACE = $8862; + GL_MAX_TEXTURE_COORDS = $8871; +{$endif} + + // GL_VERSION_2_1 + GL_PIXEL_PACK_BUFFER = $88EB; + GL_PIXEL_UNPACK_BUFFER = $88EC; + GL_PIXEL_PACK_BUFFER_BINDING = $88ED; + GL_PIXEL_UNPACK_BUFFER_BINDING = $88EF; + GL_FLOAT_MAT2x3 = $8B65; + GL_FLOAT_MAT2x4 = $8B66; + GL_FLOAT_MAT3x2 = $8B67; + GL_FLOAT_MAT3x4 = $8B68; + GL_FLOAT_MAT4x2 = $8B69; + GL_FLOAT_MAT4x3 = $8B6A; + GL_SRGB = $8C40; + GL_SRGB8 = $8C41; + GL_SRGB_ALPHA = $8C42; + GL_SRGB8_ALPHA8 = $8C43; + GL_COMPRESSED_SRGB = $8C48; + GL_COMPRESSED_SRGB_ALPHA = $8C49; +{$ifdef DGL_DEPRECATED} + GL_CURRENT_RASTER_SECONDARY_COLOR = $845F; + GL_SLUMINANCE_ALPHA = $8C44; + GL_SLUMINANCE8_ALPHA8 = $8C45; + GL_SLUMINANCE = $8C46; + GL_SLUMINANCE8 = $8C47; + GL_COMPRESSED_SLUMINANCE = $8C4A; + GL_COMPRESSED_SLUMINANCE_ALPHA = $8C4B; +{$endif} + + // GL_VERSION_3_0 + GL_COMPARE_REF_TO_TEXTURE = $884E; + GL_CLIP_DISTANCE0 = $3000; + GL_CLIP_DISTANCE1 = $3001; + GL_CLIP_DISTANCE2 = $3002; + GL_CLIP_DISTANCE3 = $3003; + GL_CLIP_DISTANCE4 = $3004; + GL_CLIP_DISTANCE5 = $3005; + GL_CLIP_DISTANCE6 = $3006; + GL_CLIP_DISTANCE7 = $3007; + GL_MAX_CLIP_DISTANCES = $0D32; + GL_MAJOR_VERSION = $821B; + GL_MINOR_VERSION = $821C; + GL_NUM_EXTENSIONS = $821D; + GL_CONTEXT_FLAGS = $821E; + GL_DEPTH_BUFFER = $8223; + GL_STENCIL_BUFFER = $8224; + GL_COMPRESSED_RED = $8225; + GL_COMPRESSED_RG = $8226; + GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = $0001; + GL_RGBA32F = $8814; + GL_RGB32F = $8815; + GL_RGBA16F = $881A; + GL_RGB16F = $881B; + GL_VERTEX_ATTRIB_ARRAY_INTEGER = $88FD; + GL_MAX_ARRAY_TEXTURE_LAYERS = $88FF; + GL_MIN_PROGRAM_TEXEL_OFFSET = $8904; + GL_MAX_PROGRAM_TEXEL_OFFSET = $8905; + GL_CLAMP_READ_COLOR = $891C; + GL_FIXED_ONLY = $891D; + GL_MAX_VARYING_COMPONENTS = $8B4B; + GL_TEXTURE_1D_ARRAY = $8C18; + GL_PROXY_TEXTURE_1D_ARRAY = $8C19; + GL_TEXTURE_2D_ARRAY = $8C1A; + GL_PROXY_TEXTURE_2D_ARRAY = $8C1B; + GL_TEXTURE_BINDING_1D_ARRAY = $8C1C; + GL_TEXTURE_BINDING_2D_ARRAY = $8C1D; + GL_R11F_G11F_B10F = $8C3A; + GL_UNSIGNED_INT_10F_11F_11F_REV = $8C3B; + GL_RGB9_E5 = $8C3D; + GL_UNSIGNED_INT_5_9_9_9_REV = $8C3E; + GL_TEXTURE_SHARED_SIZE = $8C3F; + GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = $8C76; + GL_TRANSFORM_FEEDBACK_BUFFER_MODE = $8C7F; + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = $8C80; + GL_TRANSFORM_FEEDBACK_VARYINGS = $8C83; + GL_TRANSFORM_FEEDBACK_BUFFER_START = $8C84; + GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = $8C85; + GL_PRIMITIVES_GENERATED = $8C87; + GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = $8C88; + GL_RASTERIZER_DISCARD = $8C89; + GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = $8C8A; + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = $8C8B; + GL_INTERLEAVED_ATTRIBS = $8C8C; + GL_SEPARATE_ATTRIBS = $8C8D; + GL_TRANSFORM_FEEDBACK_BUFFER = $8C8E; + GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = $8C8F; + GL_RGBA32UI = $8D70; + GL_RGB32UI = $8D71; + GL_RGBA16UI = $8D76; + GL_RGB16UI = $8D77; + GL_RGBA8UI = $8D7C; + GL_RGB8UI = $8D7D; + GL_RGBA32I = $8D82; + GL_RGB32I = $8D83; + GL_RGBA16I = $8D88; + GL_RGB16I = $8D89; + GL_RGBA8I = $8D8E; + GL_RGB8I = $8D8F; + GL_RED_INTEGER = $8D94; + GL_GREEN_INTEGER = $8D95; + GL_BLUE_INTEGER = $8D96; + GL_RGB_INTEGER = $8D98; + GL_RGBA_INTEGER = $8D99; + GL_BGR_INTEGER = $8D9A; + GL_BGRA_INTEGER = $8D9B; + GL_SAMPLER_1D_ARRAY = $8DC0; + GL_SAMPLER_2D_ARRAY = $8DC1; + GL_SAMPLER_1D_ARRAY_SHADOW = $8DC3; + GL_SAMPLER_2D_ARRAY_SHADOW = $8DC4; + GL_SAMPLER_CUBE_SHADOW = $8DC5; + GL_UNSIGNED_INT_VEC2 = $8DC6; + GL_UNSIGNED_INT_VEC3 = $8DC7; + GL_UNSIGNED_INT_VEC4 = $8DC8; + GL_INT_SAMPLER_1D = $8DC9; + GL_INT_SAMPLER_2D = $8DCA; + GL_INT_SAMPLER_3D = $8DCB; + GL_INT_SAMPLER_CUBE = $8DCC; + GL_INT_SAMPLER_1D_ARRAY = $8DCE; + GL_INT_SAMPLER_2D_ARRAY = $8DCF; + GL_UNSIGNED_INT_SAMPLER_1D = $8DD1; + GL_UNSIGNED_INT_SAMPLER_2D = $8DD2; + GL_UNSIGNED_INT_SAMPLER_3D = $8DD3; + GL_UNSIGNED_INT_SAMPLER_CUBE = $8DD4; + GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = $8DD6; + GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = $8DD7; + GL_QUERY_WAIT = $8E13; + GL_QUERY_NO_WAIT = $8E14; + GL_QUERY_BY_REGION_WAIT = $8E15; + GL_QUERY_BY_REGION_NO_WAIT = $8E16; + GL_BUFFER_ACCESS_FLAGS = $911F; + GL_BUFFER_MAP_LENGTH = $9120; + GL_BUFFER_MAP_OFFSET = $9121; + { Reuse tokens from ARB_depth_buffer_float } + { reuse GL_DEPTH_COMPONENT32F } + { reuse GL_DEPTH32F_STENCIL8 } + { reuse GL_FLOAT_32_UNSIGNED_INT_24_8_REV } + { Reuse tokens from ARB_framebuffer_object } + { reuse GL_INVALID_FRAMEBUFFER_OPERATION } + { reuse GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING } + { reuse GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE } + { reuse GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE } + { reuse GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE } + { reuse GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE } + { reuse GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE } + { reuse GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE } + { reuse GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE } + { reuse GL_FRAMEBUFFER_DEFAULT } + { reuse GL_FRAMEBUFFER_UNDEFINED } + { reuse GL_DEPTH_STENCIL_ATTACHMENT } + { reuse GL_INDEX } + { reuse GL_MAX_RENDERBUFFER_SIZE } + { reuse GL_DEPTH_STENCIL } + { reuse GL_UNSIGNED_INT_24_8 } + { reuse GL_DEPTH24_STENCIL8 } + { reuse GL_TEXTURE_STENCIL_SIZE } + { reuse GL_TEXTURE_RED_TYPE } + { reuse GL_TEXTURE_GREEN_TYPE } + { reuse GL_TEXTURE_BLUE_TYPE } + { reuse GL_TEXTURE_ALPHA_TYPE } + { reuse GL_TEXTURE_DEPTH_TYPE } + { reuse GL_UNSIGNED_NORMALIZED } + { reuse GL_FRAMEBUFFER_BINDING } + { reuse GL_DRAW_FRAMEBUFFER_BINDING } + { reuse GL_RENDERBUFFER_BINDING } + { reuse GL_READ_FRAMEBUFFER } + { reuse GL_DRAW_FRAMEBUFFER } + { reuse GL_READ_FRAMEBUFFER_BINDING } + { reuse GL_RENDERBUFFER_SAMPLES } + { reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE } + { reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME } + { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL } + { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE } + { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER } + { reuse GL_FRAMEBUFFER_COMPLETE } + { reuse GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT } + { reuse GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT } + { reuse GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER } + { reuse GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER } + { reuse GL_FRAMEBUFFER_UNSUPPORTED } + { reuse GL_MAX_COLOR_ATTACHMENTS } + { reuse GL_COLOR_ATTACHMENT0 } + { reuse GL_COLOR_ATTACHMENT1 } + { reuse GL_COLOR_ATTACHMENT2 } + { reuse GL_COLOR_ATTACHMENT3 } + { reuse GL_COLOR_ATTACHMENT4 } + { reuse GL_COLOR_ATTACHMENT5 } + { reuse GL_COLOR_ATTACHMENT6 } + { reuse GL_COLOR_ATTACHMENT7 } + { reuse GL_COLOR_ATTACHMENT8 } + { reuse GL_COLOR_ATTACHMENT9 } + { reuse GL_COLOR_ATTACHMENT10 } + { reuse GL_COLOR_ATTACHMENT11 } + { reuse GL_COLOR_ATTACHMENT12 } + { reuse GL_COLOR_ATTACHMENT13 } + { reuse GL_COLOR_ATTACHMENT14 } + { reuse GL_COLOR_ATTACHMENT15 } + { reuse GL_DEPTH_ATTACHMENT } + { reuse GL_STENCIL_ATTACHMENT } + { reuse GL_FRAMEBUFFER } + { reuse GL_RENDERBUFFER } + { reuse GL_RENDERBUFFER_WIDTH } + { reuse GL_RENDERBUFFER_HEIGHT } + { reuse GL_RENDERBUFFER_INTERNAL_FORMAT } + { reuse GL_STENCIL_INDEX1 } + { reuse GL_STENCIL_INDEX4 } + { reuse GL_STENCIL_INDEX8 } + { reuse GL_STENCIL_INDEX16 } + { reuse GL_RENDERBUFFER_RED_SIZE } + { reuse GL_RENDERBUFFER_GREEN_SIZE } + { reuse GL_RENDERBUFFER_BLUE_SIZE } + { reuse GL_RENDERBUFFER_ALPHA_SIZE } + { reuse GL_RENDERBUFFER_DEPTH_SIZE } + { reuse GL_RENDERBUFFER_STENCIL_SIZE } + { reuse GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE } + { reuse GL_MAX_SAMPLES } + { Reuse tokens from ARB_framebuffer_sRGB } + { reuse GL_FRAMEBUFFER_SRGB } + { Reuse tokens from ARB_half_float_vertex } + { reuse GL_HALF_FLOAT } + { Reuse tokens from ARB_map_buffer_range } + { reuse GL_MAP_READ_BIT } + { reuse GL_MAP_WRITE_BIT } + { reuse GL_MAP_INVALIDATE_RANGE_BIT } + { reuse GL_MAP_INVALIDATE_BUFFER_BIT } + { reuse GL_MAP_FLUSH_EXPLICIT_BIT } + { reuse GL_MAP_UNSYNCHRONIZED_BIT } + { Reuse tokens from ARB_texture_compression_rgtc } + { reuse GL_COMPRESSED_RED_RGTC1 } + { reuse GL_COMPRESSED_SIGNED_RED_RGTC1 } + { reuse GL_COMPRESSED_RG_RGTC2 } + { reuse GL_COMPRESSED_SIGNED_RG_RGTC2 } + { Reuse tokens from ARB_texture_rg } + { reuse GL_RG } + { reuse GL_RG_INTEGER } + { reuse GL_R8 } + { reuse GL_R16 } + { reuse GL_RG8 } + { reuse GL_RG16 } + { reuse GL_R16F } + { reuse GL_R32F } + { reuse GL_RG16F } + { reuse GL_RG32F } + { reuse GL_R8I } + { reuse GL_R8UI } + { reuse GL_R16I } + { reuse GL_R16UI } + { reuse GL_R32I } + { reuse GL_R32UI } + { reuse GL_RG8I } + { reuse GL_RG8UI } + { reuse GL_RG16I } + { reuse GL_RG16UI } + { reuse GL_RG32I } + { reuse GL_RG32UI } + { Reuse tokens from ARB_vertex_array_object } + { reuse GL_VERTEX_ARRAY_BINDING } +{$ifdef DGL_DEPRECATED} + GL_CLAMP_VERTEX_COLOR = $891A; + GL_CLAMP_FRAGMENT_COLOR = $891B; + GL_ALPHA_INTEGER = $8D97; + { Reuse tokens from ARB_framebuffer_object } + { reuse GL_TEXTURE_LUMINANCE_TYPE } + { reuse GL_TEXTURE_INTENSITY_TYPE } +{$endif} + + // GL_VERSION_3_1 + GL_SAMPLER_2D_RECT = $8B63; + GL_SAMPLER_2D_RECT_SHADOW = $8B64; + GL_SAMPLER_BUFFER = $8DC2; + GL_INT_SAMPLER_2D_RECT = $8DCD; + GL_INT_SAMPLER_BUFFER = $8DD0; + GL_UNSIGNED_INT_SAMPLER_2D_RECT = $8DD5; + GL_UNSIGNED_INT_SAMPLER_BUFFER = $8DD8; + GL_TEXTURE_BUFFER = $8C2A; + GL_MAX_TEXTURE_BUFFER_SIZE = $8C2B; + GL_TEXTURE_BINDING_BUFFER = $8C2C; + GL_TEXTURE_BUFFER_DATA_STORE_BINDING = $8C2D; + GL_TEXTURE_BUFFER_FORMAT = $8C2E; + GL_TEXTURE_RECTANGLE = $84F5; + GL_TEXTURE_BINDING_RECTANGLE = $84F6; + GL_PROXY_TEXTURE_RECTANGLE = $84F7; + GL_MAX_RECTANGLE_TEXTURE_SIZE = $84F8; + GL_RED_SNORM = $8F90; + GL_RG_SNORM = $8F91; + GL_RGB_SNORM = $8F92; + GL_RGBA_SNORM = $8F93; + GL_R8_SNORM = $8F94; + GL_RG8_SNORM = $8F95; + GL_RGB8_SNORM = $8F96; + GL_RGBA8_SNORM = $8F97; + GL_R16_SNORM = $8F98; + GL_RG16_SNORM = $8F99; + GL_RGB16_SNORM = $8F9A; + GL_RGBA16_SNORM = $8F9B; + GL_SIGNED_NORMALIZED = $8F9C; + GL_PRIMITIVE_RESTART = $8F9D; + GL_PRIMITIVE_RESTART_INDEX = $8F9E; + { Reuse tokens from ARB_copy_buffer } + { reuse GL_COPY_READ_BUFFER } + { reuse GL_COPY_WRITE_BUFFER } + { Reuse tokens from ARB_draw_instanced (none) } + { Reuse tokens from ARB_uniform_buffer_object } + { reuse GL_UNIFORM_BUFFER } + { reuse GL_UNIFORM_BUFFER_BINDING } + { reuse GL_UNIFORM_BUFFER_START } + { reuse GL_UNIFORM_BUFFER_SIZE } + { reuse GL_MAX_VERTEX_UNIFORM_BLOCKS } + { reuse GL_MAX_FRAGMENT_UNIFORM_BLOCKS } + { reuse GL_MAX_COMBINED_UNIFORM_BLOCKS } + { reuse GL_MAX_UNIFORM_BUFFER_BINDINGS } + { reuse GL_MAX_UNIFORM_BLOCK_SIZE } + { reuse GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS } + { reuse GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS } + { reuse GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT } + { reuse GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH } + { reuse GL_ACTIVE_UNIFORM_BLOCKS } + { reuse GL_UNIFORM_TYPE } + { reuse GL_UNIFORM_SIZE } + { reuse GL_UNIFORM_NAME_LENGTH } + { reuse GL_UNIFORM_BLOCK_INDEX } + { reuse GL_UNIFORM_OFFSET } + { reuse GL_UNIFORM_ARRAY_STRIDE } + { reuse GL_UNIFORM_MATRIX_STRIDE } + { reuse GL_UNIFORM_IS_ROW_MAJOR } + { reuse GL_UNIFORM_BLOCK_BINDING } + { reuse GL_UNIFORM_BLOCK_DATA_SIZE } + { reuse GL_UNIFORM_BLOCK_NAME_LENGTH } + { reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS } + { reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES } + { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER } + { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER } + { reuse GL_INVALID_INDEX } + + // GL_VERSION_3_2 + GL_CONTEXT_CORE_PROFILE_BIT = $00000001; + GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = $00000002; + GL_LINES_ADJACENCY = $000A; + GL_LINE_STRIP_ADJACENCY = $000B; + GL_TRIANGLES_ADJACENCY = $000C; + GL_TRIANGLE_STRIP_ADJACENCY = $000D; + GL_PROGRAM_POINT_SIZE = $8642; + GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = $8C29; + GL_FRAMEBUFFER_ATTACHMENT_LAYERED = $8DA7; + GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = $8DA8; + GL_GEOMETRY_SHADER = $8DD9; + GL_GEOMETRY_VERTICES_OUT = $8916; + GL_GEOMETRY_INPUT_TYPE = $8917; + GL_GEOMETRY_OUTPUT_TYPE = $8918; + GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = $8DDF; + GL_MAX_GEOMETRY_OUTPUT_VERTICES = $8DE0; + GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = $8DE1; + GL_MAX_VERTEX_OUTPUT_COMPONENTS = $9122; + GL_MAX_GEOMETRY_INPUT_COMPONENTS = $9123; + GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = $9124; + GL_MAX_FRAGMENT_INPUT_COMPONENTS = $9125; + GL_CONTEXT_PROFILE_MASK = $9126; + { reuse GL_MAX_VARYING_COMPONENTS } + { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER } + { Reuse tokens from ARB_depth_clamp } + { reuse GL_DEPTH_CLAMP } + { Reuse tokens from ARB_draw_elements_base_vertex (none) } + { Reuse tokens from ARB_fragment_coord_conventions (none) } + { Reuse tokens from ARB_provoking_vertex } + { reuse GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION } + { reuse GL_FIRST_VERTEX_CONVENTION } + { reuse GL_LAST_VERTEX_CONVENTION } + { reuse GL_PROVOKING_VERTEX } + { Reuse tokens from ARB_seamless_cube_map } + { reuse GL_TEXTURE_CUBE_MAP_SEAMLESS } + { Reuse tokens from ARB_sync } + { reuse GL_MAX_SERVER_WAIT_TIMEOUT } + { reuse GL_OBJECT_TYPE } + { reuse GL_SYNC_CONDITION } + { reuse GL_SYNC_STATUS } + { reuse GL_SYNC_FLAGS } + { reuse GL_SYNC_FENCE } + { reuse GL_SYNC_GPU_COMMANDS_COMPLETE } + { reuse GL_UNSIGNALED } + { reuse GL_SIGNALED } + { reuse GL_ALREADY_SIGNALED } + { reuse GL_TIMEOUT_EXPIRED } + { reuse GL_CONDITION_SATISFIED } + { reuse GL_WAIT_FAILED } + { reuse GL_TIMEOUT_IGNORED } + { reuse GL_SYNC_FLUSH_COMMANDS_BIT } + { reuse GL_TIMEOUT_IGNORED } + { Reuse tokens from ARB_texture_multisample } + { reuse GL_SAMPLE_POSITION } + { reuse GL_SAMPLE_MASK } + { reuse GL_SAMPLE_MASK_VALUE } + { reuse GL_MAX_SAMPLE_MASK_WORDS } + { reuse GL_TEXTURE_2D_MULTISAMPLE } + { reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE } + { reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY } + { reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY } + { reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE } + { reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY } + { reuse GL_TEXTURE_SAMPLES } + { reuse GL_TEXTURE_FIXED_SAMPLE_LOCATIONS } + { reuse GL_SAMPLER_2D_MULTISAMPLE } + { reuse GL_INT_SAMPLER_2D_MULTISAMPLE } + { reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE } + { reuse GL_SAMPLER_2D_MULTISAMPLE_ARRAY } + { reuse GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY } + { reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY } + { reuse GL_MAX_COLOR_TEXTURE_SAMPLES } + { reuse GL_MAX_DEPTH_TEXTURE_SAMPLES } + { reuse GL_MAX_INTEGER_SAMPLES } + { Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core } + + // GL_VERSION_3_3 + GL_VERTEX_ATTRIB_ARRAY_DIVISOR = $88FE; + { Reuse tokens from ARB_blend_func_extended } + { reuse GL_SRC1_COLOR } + { reuse GL_ONE_MINUS_SRC1_COLOR } + { reuse GL_ONE_MINUS_SRC1_ALPHA } + { reuse GL_MAX_DUAL_SOURCE_DRAW_BUFFERS } + { Reuse tokens from ARB_explicit_attrib_location (none) } + { Reuse tokens from ARB_occlusion_query2 } + { reuse GL_ANY_SAMPLES_PASSED } + { Reuse tokens from ARB_sampler_objects } + { reuse GL_SAMPLER_BINDING } + { Reuse tokens from ARB_shader_bit_encoding (none) } + { Reuse tokens from ARB_texture_rgb10_a2ui } + { reuse GL_RGB10_A2UI } + { Reuse tokens from ARB_texture_swizzle } + { reuse GL_TEXTURE_SWIZZLE_R } + { reuse GL_TEXTURE_SWIZZLE_G } + { reuse GL_TEXTURE_SWIZZLE_B } + { reuse GL_TEXTURE_SWIZZLE_A } + { reuse GL_TEXTURE_SWIZZLE_RGBA } + { Reuse tokens from ARB_timer_query } + { reuse GL_TIME_ELAPSED } + { reuse GL_TIMESTAMP } + { Reuse tokens from ARB_vertex_type_2_10_10_10_rev } + { reuse GL_INT_2_10_10_10_REV } + + // GL_VERSION_4_0 + GL_SAMPLE_SHADING = $8C36; + GL_MIN_SAMPLE_SHADING_VALUE = $8C37; + GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5E; + GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5F; + GL_TEXTURE_CUBE_MAP_ARRAY = $9009; + GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = $900A; + GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = $900B; + GL_SAMPLER_CUBE_MAP_ARRAY = $900C; + GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = $900D; + GL_INT_SAMPLER_CUBE_MAP_ARRAY = $900E; + GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = $900F; + { Reuse tokens from ARB_texture_query_lod (none) } + { Reuse tokens from ARB_draw_buffers_blend (none) } + { Reuse tokens from ARB_draw_indirect } + { reuse GL_DRAW_INDIRECT_BUFFER } + { reuse GL_DRAW_INDIRECT_BUFFER_BINDING } + { Reuse tokens from ARB_gpu_shader5 } + { reuse GL_GEOMETRY_SHADER_INVOCATIONS } + { reuse GL_MAX_GEOMETRY_SHADER_INVOCATIONS } + { reuse GL_MIN_FRAGMENT_INTERPOLATION_OFFSET } + { reuse GL_MAX_FRAGMENT_INTERPOLATION_OFFSET } + { reuse GL_FRAGMENT_INTERPOLATION_OFFSET_BITS } + { reuse GL_MAX_VERTEX_STREAMS } + { Reuse tokens from ARB_gpu_shader_fp64 } + { reuse GL_DOUBLE_VEC2 } + { reuse GL_DOUBLE_VEC3 } + { reuse GL_DOUBLE_VEC4 } + { reuse GL_DOUBLE_MAT2 } + { reuse GL_DOUBLE_MAT3 } + { reuse GL_DOUBLE_MAT4 } + { reuse GL_DOUBLE_MAT2x3 } + { reuse GL_DOUBLE_MAT2x4 } + { reuse GL_DOUBLE_MAT3x2 } + { reuse GL_DOUBLE_MAT3x4 } + { reuse GL_DOUBLE_MAT4x2 } + { reuse GL_DOUBLE_MAT4x3 } + { Reuse tokens from ARB_shader_subroutine } + { reuse GL_ACTIVE_SUBROUTINES } + { reuse GL_ACTIVE_SUBROUTINE_UNIFORMS } + { reuse GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS } + { reuse GL_ACTIVE_SUBROUTINE_MAX_LENGTH } + { reuse GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH } + { reuse GL_MAX_SUBROUTINES } + { reuse GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS } + { reuse GL_NUM_COMPATIBLE_SUBROUTINES } + { reuse GL_COMPATIBLE_SUBROUTINES } + { Reuse tokens from ARB_tessellation_shader } + { reuse GL_PATCHES } + { reuse GL_PATCH_VERTICES } + { reuse GL_PATCH_DEFAULT_INNER_LEVEL } + { reuse GL_PATCH_DEFAULT_OUTER_LEVEL } + { reuse GL_TESS_CONTROL_OUTPUT_VERTICES } + { reuse GL_TESS_GEN_MODE } + { reuse GL_TESS_GEN_SPACING } + { reuse GL_TESS_GEN_VERTEX_ORDER } + { reuse GL_TESS_GEN_POINT_MODE } + { reuse GL_ISOLINES } + { reuse GL_FRACTIONAL_ODD } + { reuse GL_FRACTIONAL_EVEN } + { reuse GL_MAX_PATCH_VERTICES } + { reuse GL_MAX_TESS_GEN_LEVEL } + { reuse GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS } + { reuse GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS } + { reuse GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS } + { reuse GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS } + { reuse GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS } + { reuse GL_MAX_TESS_PATCH_COMPONENTS } + { reuse GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS } + { reuse GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS } + { reuse GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS } + { reuse GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS } + { reuse GL_MAX_TESS_CONTROL_INPUT_COMPONENTS } + { reuse GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS } + { reuse GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS } + { reuse GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS } + { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER } + { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER } + { reuse GL_TESS_EVALUATION_SHADER } + { reuse GL_TESS_CONTROL_SHADER } + { Reuse tokens from ARB_texture_buffer_object_rgb32 (none) } + { Reuse tokens from ARB_transform_feedback2 } + { reuse GL_TRANSFORM_FEEDBACK } + { reuse GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED } + { reuse GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE } + { reuse GL_TRANSFORM_FEEDBACK_BINDING } + { Reuse tokens from ARB_transform_feedback3 } + { reuse GL_MAX_TRANSFORM_FEEDBACK_BUFFERS } + { reuse GL_MAX_VERTEX_STREAMS } + + // GL_VERSION_4_1 + { Reuse tokens from ARB_ES2_compatibility } + { reuse GL_FIXED } + { reuse GL_IMPLEMENTATION_COLOR_READ_TYPE } + { reuse GL_IMPLEMENTATION_COLOR_READ_FORMAT } + { reuse GL_LOW_FLOAT } + { reuse GL_MEDIUM_FLOAT } + { reuse GL_HIGH_FLOAT } + { reuse GL_LOW_INT } + { reuse GL_MEDIUM_INT } + { reuse GL_HIGH_INT } + { reuse GL_SHADER_COMPILER } + { reuse GL_NUM_SHADER_BINARY_FORMATS } + { reuse GL_MAX_VERTEX_UNIFORM_VECTORS } + { reuse GL_MAX_VARYING_VECTORS } + { reuse GL_MAX_FRAGMENT_UNIFORM_VECTORS } + { reuse GL_RGB565 } + { Reuse tokens from ARB_get_program_binary } + { reuse GL_PROGRAM_BINARY_RETRIEVABLE_HINT } + { reuse GL_PROGRAM_BINARY_LENGTH } + { reuse GL_NUM_PROGRAM_BINARY_FORMATS } + { reuse GL_PROGRAM_BINARY_FORMATS } + { Reuse tokens from ARB_separate_shader_objects } + { reuse GL_VERTEX_SHADER_BIT } + { reuse GL_FRAGMENT_SHADER_BIT } + { reuse GL_GEOMETRY_SHADER_BIT } + { reuse GL_TESS_CONTROL_SHADER_BIT } + { reuse GL_TESS_EVALUATION_SHADER_BIT } + { reuse GL_ALL_SHADER_BITS } + { reuse GL_PROGRAM_SEPARABLE } + { reuse GL_ACTIVE_PROGRAM } + { reuse GL_PROGRAM_PIPELINE_BINDING } + { Reuse tokens from ARB_shader_precision (none) } + { Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already } + { Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already } + { reuse GL_MAX_VIEWPORTS } + { reuse GL_VIEWPORT_SUBPIXEL_BITS } + { reuse GL_VIEWPORT_BOUNDS_RANGE } + { reuse GL_LAYER_PROVOKING_VERTEX } + { reuse GL_VIEWPORT_INDEX_PROVOKING_VERTEX } + { reuse GL_UNDEFINED_VERTEX } + + // GL_VERSION_4_2 + { Reuse tokens from ARB_base_instance (none) } + { Reuse tokens from ARB_shading_language_420pack (none) } + { Reuse tokens from ARB_transform_feedback_instanced (none) } + { Reuse tokens from ARB_compressed_texture_pixel_storage } + { reuse GL_UNPACK_COMPRESSED_BLOCK_WIDTH } + { reuse GL_UNPACK_COMPRESSED_BLOCK_HEIGHT } + { reuse GL_UNPACK_COMPRESSED_BLOCK_DEPTH } + { reuse GL_UNPACK_COMPRESSED_BLOCK_SIZE } + { reuse GL_PACK_COMPRESSED_BLOCK_WIDTH } + { reuse GL_PACK_COMPRESSED_BLOCK_HEIGHT } + { reuse GL_PACK_COMPRESSED_BLOCK_DEPTH } + { reuse GL_PACK_COMPRESSED_BLOCK_SIZE } + { Reuse tokens from ARB_conservative_depth (none) } + { Reuse tokens from ARB_internalformat_query } + { reuse GL_NUM_SAMPLE_COUNTS } + { Reuse tokens from ARB_map_buffer_alignment } + { reuse GL_MIN_MAP_BUFFER_ALIGNMENT } + { Reuse tokens from ARB_shader_atomic_counters } + { reuse GL_ATOMIC_COUNTER_BUFFER } + { reuse GL_ATOMIC_COUNTER_BUFFER_BINDING } + { reuse GL_ATOMIC_COUNTER_BUFFER_START } + { reuse GL_ATOMIC_COUNTER_BUFFER_SIZE } + { reuse GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE } + { reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS } + { reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES } + { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER } + { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER } + { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER } + { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER } + { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER } + { reuse GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS } + { reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS } + { reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS } + { reuse GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS } + { reuse GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS } + { reuse GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS } + { reuse GL_MAX_VERTEX_ATOMIC_COUNTERS } + { reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS } + { reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS } + { reuse GL_MAX_GEOMETRY_ATOMIC_COUNTERS } + { reuse GL_MAX_FRAGMENT_ATOMIC_COUNTERS } + { reuse GL_MAX_COMBINED_ATOMIC_COUNTERS } + { reuse GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE } + { reuse GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS } + { reuse GL_ACTIVE_ATOMIC_COUNTER_BUFFERS } + { reuse GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX } + { reuse GL_UNSIGNED_INT_ATOMIC_COUNTER } + { Reuse tokens from ARB_shader_image_load_store } + { reuse GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT } + { reuse GL_ELEMENT_ARRAY_BARRIER_BIT } + { reuse GL_UNIFORM_BARRIER_BIT } + { reuse GL_TEXTURE_FETCH_BARRIER_BIT } + { reuse GL_SHADER_IMAGE_ACCESS_BARRIER_BIT } + { reuse GL_COMMAND_BARRIER_BIT } + { reuse GL_PIXEL_BUFFER_BARRIER_BIT } + { reuse GL_TEXTURE_UPDATE_BARRIER_BIT } + { reuse GL_BUFFER_UPDATE_BARRIER_BIT } + { reuse GL_FRAMEBUFFER_BARRIER_BIT } + { reuse GL_TRANSFORM_FEEDBACK_BARRIER_BIT } + { reuse GL_ATOMIC_COUNTER_BARRIER_BIT } + { reuse GL_ALL_BARRIER_BITS } + { reuse GL_MAX_IMAGE_UNITS } + { reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS } + { reuse GL_IMAGE_BINDING_NAME } + { reuse GL_IMAGE_BINDING_LEVEL } + { reuse GL_IMAGE_BINDING_LAYERED } + { reuse GL_IMAGE_BINDING_LAYER } + { reuse GL_IMAGE_BINDING_ACCESS } + { reuse GL_IMAGE_1D } + { reuse GL_IMAGE_2D } + { reuse GL_IMAGE_3D } + { reuse GL_IMAGE_2D_RECT } + { reuse GL_IMAGE_CUBE } + { reuse GL_IMAGE_BUFFER } + { reuse GL_IMAGE_1D_ARRAY } + { reuse GL_IMAGE_2D_ARRAY } + { reuse GL_IMAGE_CUBE_MAP_ARRAY } + { reuse GL_IMAGE_2D_MULTISAMPLE } + { reuse GL_IMAGE_2D_MULTISAMPLE_ARRAY } + { reuse GL_INT_IMAGE_1D } + { reuse GL_INT_IMAGE_2D } + { reuse GL_INT_IMAGE_3D } + { reuse GL_INT_IMAGE_2D_RECT } + { reuse GL_INT_IMAGE_CUBE } + { reuse GL_INT_IMAGE_BUFFER } + { reuse GL_INT_IMAGE_1D_ARRAY } + { reuse GL_INT_IMAGE_2D_ARRAY } + { reuse GL_INT_IMAGE_CUBE_MAP_ARRAY } + { reuse GL_INT_IMAGE_2D_MULTISAMPLE } + { reuse GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY } + { reuse GL_UNSIGNED_INT_IMAGE_1D } + { reuse GL_UNSIGNED_INT_IMAGE_2D } + { reuse GL_UNSIGNED_INT_IMAGE_3D } + { reuse GL_UNSIGNED_INT_IMAGE_2D_RECT } + { reuse GL_UNSIGNED_INT_IMAGE_CUBE } + { reuse GL_UNSIGNED_INT_IMAGE_BUFFER } + { reuse GL_UNSIGNED_INT_IMAGE_1D_ARRAY } + { reuse GL_UNSIGNED_INT_IMAGE_2D_ARRAY } + { reuse GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY } + { reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE } + { reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY } + { reuse GL_MAX_IMAGE_SAMPLES } + { reuse GL_IMAGE_BINDING_FORMAT } + { reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE } + { reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE } + { reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS } + { reuse GL_MAX_VERTEX_IMAGE_UNIFORMS } + { reuse GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS } + { reuse GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS } + { reuse GL_MAX_GEOMETRY_IMAGE_UNIFORMS } + { reuse GL_MAX_FRAGMENT_IMAGE_UNIFORMS } + { reuse GL_MAX_COMBINED_IMAGE_UNIFORMS } + { Reuse tokens from ARB_shading_language_packing (none) } + { Reuse tokens from ARB_texture_storage } + { reuse GL_TEXTURE_IMMUTABLE_FORMAT } + + // GL_VERSION_4_3 + GL_NUM_SHADING_LANGUAGE_VERSIONS = $82E9; + GL_VERTEX_ATTRIB_ARRAY_LONG = $874E; + { Reuse tokens from ARB_arrays_of_arrays (none, GLSL only) } + { Reuse tokens from ARB_fragment_layer_viewport (none, GLSL only) } + { Reuse tokens from ARB_shader_image_size (none, GLSL only) } + { Reuse tokens from ARB_ES3_compatibility } + { reuse GL_COMPRESSED_RGB8_ETC2 } + { reuse GL_COMPRESSED_SRGB8_ETC2 } + { reuse GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 } + { reuse GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 } + { reuse GL_COMPRESSED_RGBA8_ETC2_EAC } + { reuse GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC } + { reuse GL_COMPRESSED_R11_EAC } + { reuse GL_COMPRESSED_SIGNED_R11_EAC } + { reuse GL_COMPRESSED_RG11_EAC } + { reuse GL_COMPRESSED_SIGNED_RG11_EAC } + { reuse GL_PRIMITIVE_RESTART_FIXED_INDEX } + { reuse GL_ANY_SAMPLES_PASSED_CONSERVATIVE } + { reuse GL_MAX_ELEMENT_INDEX } + { Reuse tokens from ARB_clear_buffer_object (none) } + { Reuse tokens from ARB_compute_shader } + { reuse GL_COMPUTE_SHADER } + { reuse GL_MAX_COMPUTE_UNIFORM_BLOCKS } + { reuse GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS } + { reuse GL_MAX_COMPUTE_IMAGE_UNIFORMS } + { reuse GL_MAX_COMPUTE_SHARED_MEMORY_SIZE } + { reuse GL_MAX_COMPUTE_UNIFORM_COMPONENTS } + { reuse GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS } + { reuse GL_MAX_COMPUTE_ATOMIC_COUNTERS } + { reuse GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS } + { reuse GL_MAX_COMPUTE_LOCAL_INVOCATIONS } + { reuse GL_MAX_COMPUTE_WORK_GROUP_COUNT } + { reuse GL_MAX_COMPUTE_WORK_GROUP_SIZE } + { reuse GL_COMPUTE_LOCAL_WORK_SIZE } + { reuse GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER } + { reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER } + { reuse GL_DISPATCH_INDIRECT_BUFFER } + { reuse GL_DISPATCH_INDIRECT_BUFFER_BINDING } + { Reuse tokens from ARB_copy_image (none) } + { Reuse tokens from KHR_debug } + { reuse GL_DEBUG_OUTPUT_SYNCHRONOUS } + { reuse GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH } + { reuse GL_DEBUG_CALLBACK_FUNCTION } + { reuse GL_DEBUG_CALLBACK_USER_PARAM } + { reuse GL_DEBUG_SOURCE_API } + { reuse GL_DEBUG_SOURCE_WINDOW_SYSTEM } + { reuse GL_DEBUG_SOURCE_SHADER_COMPILER } + { reuse GL_DEBUG_SOURCE_THIRD_PARTY } + { reuse GL_DEBUG_SOURCE_APPLICATION } + { reuse GL_DEBUG_SOURCE_OTHER } + { reuse GL_DEBUG_TYPE_ERROR } + { reuse GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR } + { reuse GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR } + { reuse GL_DEBUG_TYPE_PORTABILITY } + { reuse GL_DEBUG_TYPE_PERFORMANCE } + { reuse GL_DEBUG_TYPE_OTHER } + { reuse GL_MAX_DEBUG_MESSAGE_LENGTH } + { reuse GL_MAX_DEBUG_LOGGED_MESSAGES } + { reuse GL_DEBUG_LOGGED_MESSAGES } + { reuse GL_DEBUG_SEVERITY_HIGH } + { reuse GL_DEBUG_SEVERITY_MEDIUM } + { reuse GL_DEBUG_SEVERITY_LOW } + { reuse GL_DEBUG_TYPE_MARKER } + { reuse GL_DEBUG_TYPE_PUSH_GROUP } + { reuse GL_DEBUG_TYPE_POP_GROUP } + { reuse GL_DEBUG_SEVERITY_NOTIFICATION } + { reuse GL_MAX_DEBUG_GROUP_STACK_DEPTH } + { reuse GL_DEBUG_GROUP_STACK_DEPTH } + { reuse GL_BUFFER } + { reuse GL_SHADER } + { reuse GL_PROGRAM } + { reuse GL_QUERY } + { reuse GL_PROGRAM_PIPELINE } + { reuse GL_SAMPLER } + { reuse GL_DISPLAY_LIST } + { reuse GL_MAX_LABEL_LENGTH } + { reuse GL_DEBUG_OUTPUT } + { reuse GL_CONTEXT_FLAG_DEBUG_BIT } + { reuse GL_STACK_UNDERFLOW } + { reuse GL_STACK_OVERFLOW } + { Reuse tokens from ARB_explicit_uniform_location } + { reuse GL_MAX_UNIFORM_LOCATIONS } + { Reuse tokens from ARB_framebuffer_no_attachments } + { reuse GL_FRAMEBUFFER_DEFAULT_WIDTH } + { reuse GL_FRAMEBUFFER_DEFAULT_HEIGHT } + { reuse GL_FRAMEBUFFER_DEFAULT_LAYERS } + { reuse GL_FRAMEBUFFER_DEFAULT_SAMPLES } + { reuse GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS } + { reuse GL_MAX_FRAMEBUFFER_WIDTH } + { reuse GL_MAX_FRAMEBUFFER_HEIGHT } + { reuse GL_MAX_FRAMEBUFFER_LAYERS } + { reuse GL_MAX_FRAMEBUFFER_SAMPLES } + { Reuse tokens from ARB_internalformat_query2 } + { reuse GL_INTERNALFORMAT_SUPPORTED } + { reuse GL_INTERNALFORMAT_PREFERRED } + { reuse GL_INTERNALFORMAT_RED_SIZE } + { reuse GL_INTERNALFORMAT_GREEN_SIZE } + { reuse GL_INTERNALFORMAT_BLUE_SIZE } + { reuse GL_INTERNALFORMAT_ALPHA_SIZE } + { reuse GL_INTERNALFORMAT_DEPTH_SIZE } + { reuse GL_INTERNALFORMAT_STENCIL_SIZE } + { reuse GL_INTERNALFORMAT_SHARED_SIZE } + { reuse GL_INTERNALFORMAT_RED_TYPE } + { reuse GL_INTERNALFORMAT_GREEN_TYPE } + { reuse GL_INTERNALFORMAT_BLUE_TYPE } + { reuse GL_INTERNALFORMAT_ALPHA_TYPE } + { reuse GL_INTERNALFORMAT_DEPTH_TYPE } + { reuse GL_INTERNALFORMAT_STENCIL_TYPE } + { reuse GL_MAX_WIDTH } + { reuse GL_MAX_HEIGHT } + { reuse GL_MAX_DEPTH } + { reuse GL_MAX_LAYERS } + { reuse GL_MAX_COMBINED_DIMENSIONS } + { reuse GL_COLOR_COMPONENTS } + { reuse GL_DEPTH_COMPONENTS } + { reuse GL_STENCIL_COMPONENTS } + { reuse GL_COLOR_RENDERABLE } + { reuse GL_DEPTH_RENDERABLE } + { reuse GL_STENCIL_RENDERABLE } + { reuse GL_FRAMEBUFFER_RENDERABLE } + { reuse GL_FRAMEBUFFER_RENDERABLE_LAYERED } + { reuse GL_FRAMEBUFFER_BLEND } + { reuse GL_READ_PIXELS } + { reuse GL_READ_PIXELS_FORMAT } + { reuse GL_READ_PIXELS_TYPE } + { reuse GL_TEXTURE_IMAGE_FORMAT } + { reuse GL_TEXTURE_IMAGE_TYPE } + { reuse GL_GET_TEXTURE_IMAGE_FORMAT } + { reuse GL_GET_TEXTURE_IMAGE_TYPE } + { reuse GL_MIPMAP } + { reuse GL_MANUAL_GENERATE_MIPMAP } + { reuse GL_AUTO_GENERATE_MIPMAP } + { reuse GL_COLOR_ENCODING } + { reuse GL_SRGB_READ } + { reuse GL_SRGB_WRITE } + { reuse GL_FILTER } + { reuse GL_VERTEX_TEXTURE } + { reuse GL_TESS_CONTROL_TEXTURE } + { reuse GL_TESS_EVALUATION_TEXTURE } + { reuse GL_GEOMETRY_TEXTURE } + { reuse GL_FRAGMENT_TEXTURE } + { reuse GL_COMPUTE_TEXTURE } + { reuse GL_TEXTURE_SHADOW } + { reuse GL_TEXTURE_GATHER } + { reuse GL_TEXTURE_GATHER_SHADOW } + { reuse GL_SHADER_IMAGE_LOAD } + { reuse GL_SHADER_IMAGE_STORE } + { reuse GL_SHADER_IMAGE_ATOMIC } + { reuse GL_IMAGE_TEXEL_SIZE } + { reuse GL_IMAGE_COMPATIBILITY_CLASS } + { reuse GL_IMAGE_PIXEL_FORMAT } + { reuse GL_IMAGE_PIXEL_TYPE } + { reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST } + { reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST } + { reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE } + { reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE } + { reuse GL_TEXTURE_COMPRESSED_BLOCK_WIDTH } + { reuse GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT } + { reuse GL_TEXTURE_COMPRESSED_BLOCK_SIZE } + { reuse GL_CLEAR_BUFFER } + { reuse GL_TEXTURE_VIEW } + { reuse GL_VIEW_COMPATIBILITY_CLASS } + { reuse GL_FULL_SUPPORT } + { reuse GL_CAVEAT_SUPPORT } + { reuse GL_IMAGE_CLASS_4_X_32 } + { reuse GL_IMAGE_CLASS_2_X_32 } + { reuse GL_IMAGE_CLASS_1_X_32 } + { reuse GL_IMAGE_CLASS_4_X_16 } + { reuse GL_IMAGE_CLASS_2_X_16 } + { reuse GL_IMAGE_CLASS_1_X_16 } + { reuse GL_IMAGE_CLASS_4_X_8 } + { reuse GL_IMAGE_CLASS_2_X_8 } + { reuse GL_IMAGE_CLASS_1_X_8 } + { reuse GL_IMAGE_CLASS_11_11_10 } + { reuse GL_IMAGE_CLASS_10_10_10_2 } + { reuse GL_VIEW_CLASS_128_BITS } + { reuse GL_VIEW_CLASS_96_BITS } + { reuse GL_VIEW_CLASS_64_BITS } + { reuse GL_VIEW_CLASS_48_BITS } + { reuse GL_VIEW_CLASS_32_BITS } + { reuse GL_VIEW_CLASS_24_BITS } + { reuse GL_VIEW_CLASS_16_BITS } + { reuse GL_VIEW_CLASS_8_BITS } + { reuse GL_VIEW_CLASS_S3TC_DXT1_RGB } + { reuse GL_VIEW_CLASS_S3TC_DXT1_RGBA } + { reuse GL_VIEW_CLASS_S3TC_DXT3_RGBA } + { reuse GL_VIEW_CLASS_S3TC_DXT5_RGBA } + { reuse GL_VIEW_CLASS_RGTC1_RED } + { reuse GL_VIEW_CLASS_RGTC2_RG } + { reuse GL_VIEW_CLASS_BPTC_UNORM } + { reuse GL_VIEW_CLASS_BPTC_FLOAT } + { Reuse tokens from ARB_invalidate_subdata (none) } + { Reuse tokens from ARB_multi_draw_indirect (none) } + { Reuse tokens from ARB_program_interface_query } + { reuse GL_UNIFORM } + { reuse GL_UNIFORM_BLOCK } + { reuse GL_PROGRAM_INPUT } + { reuse GL_PROGRAM_OUTPUT } + { reuse GL_BUFFER_VARIABLE } + { reuse GL_SHADER_STORAGE_BLOCK } + { reuse GL_VERTEX_SUBROUTINE } + { reuse GL_TESS_CONTROL_SUBROUTINE } + { reuse GL_TESS_EVALUATION_SUBROUTINE } + { reuse GL_GEOMETRY_SUBROUTINE } + { reuse GL_FRAGMENT_SUBROUTINE } + { reuse GL_COMPUTE_SUBROUTINE } + { reuse GL_VERTEX_SUBROUTINE_UNIFORM } + { reuse GL_TESS_CONTROL_SUBROUTINE_UNIFORM } + { reuse GL_TESS_EVALUATION_SUBROUTINE_UNIFORM } + { reuse GL_GEOMETRY_SUBROUTINE_UNIFORM } + { reuse GL_FRAGMENT_SUBROUTINE_UNIFORM } + { reuse GL_COMPUTE_SUBROUTINE_UNIFORM } + { reuse GL_TRANSFORM_FEEDBACK_VARYING } + { reuse GL_ACTIVE_RESOURCES } + { reuse GL_MAX_NAME_LENGTH } + { reuse GL_MAX_NUM_ACTIVE_VARIABLES } + { reuse GL_MAX_NUM_COMPATIBLE_SUBROUTINES } + { reuse GL_NAME_LENGTH } + { reuse GL_TYPE } + { reuse GL_ARRAY_SIZE } + { reuse GL_OFFSET } + { reuse GL_BLOCK_INDEX } + { reuse GL_ARRAY_STRIDE } + { reuse GL_MATRIX_STRIDE } + { reuse GL_IS_ROW_MAJOR } + { reuse GL_ATOMIC_COUNTER_BUFFER_INDEX } + { reuse GL_BUFFER_BINDING } + { reuse GL_BUFFER_DATA_SIZE } + { reuse GL_NUM_ACTIVE_VARIABLES } + { reuse GL_ACTIVE_VARIABLES } + { reuse GL_REFERENCED_BY_VERTEX_SHADER } + { reuse GL_REFERENCED_BY_TESS_CONTROL_SHADER } + { reuse GL_REFERENCED_BY_TESS_EVALUATION_SHADER } + { reuse GL_REFERENCED_BY_GEOMETRY_SHADER } + { reuse GL_REFERENCED_BY_FRAGMENT_SHADER } + { reuse GL_REFERENCED_BY_COMPUTE_SHADER } + { reuse GL_TOP_LEVEL_ARRAY_SIZE } + { reuse GL_TOP_LEVEL_ARRAY_STRIDE } + { reuse GL_LOCATION } + { reuse GL_LOCATION_INDEX } + { reuse GL_IS_PER_PATCH } + { Reuse tokens from ARB_robust_buffer_access_behavior (none) } + { Reuse tokens from ARB_shader_storage_buffer_object } + { reuse GL_SHADER_STORAGE_BUFFER } + { reuse GL_SHADER_STORAGE_BUFFER_BINDING } + { reuse GL_SHADER_STORAGE_BUFFER_START } + { reuse GL_SHADER_STORAGE_BUFFER_SIZE } + { reuse GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS } + { reuse GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS } + { reuse GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS } + { reuse GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS } + { reuse GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS } + { reuse GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS } + { reuse GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS } + { reuse GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS } + { reuse GL_MAX_SHADER_STORAGE_BLOCK_SIZE } + { reuse GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT } + { reuse GL_SHADER_STORAGE_BARRIER_BIT } + { reuse GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES } + { Reuse tokens from ARB_stencil_texturing } + { reuse GL_DEPTH_STENCIL_TEXTURE_MODE } + { Reuse tokens from ARB_texture_buffer_range } + { reuse GL_TEXTURE_BUFFER_OFFSET } + { reuse GL_TEXTURE_BUFFER_SIZE } + { reuse GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT } + { Reuse tokens from ARB_texture_query_levels (none) } + { Reuse tokens from ARB_texture_storage_multisample (none) } + { Reuse tokens from ARB_texture_view } + { reuse GL_TEXTURE_VIEW_MIN_LEVEL } + { reuse GL_TEXTURE_VIEW_NUM_LEVELS } + { reuse GL_TEXTURE_VIEW_MIN_LAYER } + { reuse GL_TEXTURE_VIEW_NUM_LAYERS } + { reuse GL_TEXTURE_IMMUTABLE_LEVELS } + { Reuse tokens from ARB_vertex_attrib_binding } + { reuse GL_VERTEX_ATTRIB_BINDING } + { reuse GL_VERTEX_ATTRIB_RELATIVE_OFFSET } + { reuse GL_VERTEX_BINDING_DIVISOR } + { reuse GL_VERTEX_BINDING_OFFSET } + { reuse GL_VERTEX_BINDING_STRIDE } + { reuse GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET } + { reuse GL_MAX_VERTEX_ATTRIB_BINDINGS } + + + // GL_3DFX_multisample + GL_MULTISAMPLE_3DFX = $86B2; + GL_SAMPLE_BUFFERS_3DFX = $86B3; + GL_SAMPLES_3DFX = $86B4; + GL_MULTISAMPLE_BIT_3DFX = $20000000; + + // GL_3DFX_texture_compression_FXT1 + GL_COMPRESSED_RGB_FXT1_3DFX = $86B0; + GL_COMPRESSED_RGBA_FXT1_3DFX = $86B1; + + // GL_APPLE_client_storage + GL_UNPACK_CLIENT_STORAGE_APPLE = $85B2; + + // GL_APPLE_element_array + GL_ELEMENT_ARRAY_APPLE = $8A0C; + GL_ELEMENT_ARRAY_TYPE_APPLE = $8A0D; + GL_ELEMENT_ARRAY_POINTER_APPLE = $8A0E; + + // GL_APPLE_fence + GL_DRAW_PIXELS_APPLE = $8A0A; + GL_FENCE_APPLE = $8A0B; + + // GL_APPLE_specular_vector + GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = $85B0; + + // GL_APPLE_transform_hint + GL_TRANSFORM_HINT_APPLE = $85B1; + + // GL_APPLE_vertex_array_object + GL_VERTEX_ARRAY_BINDING_APPLE = $85B5; + + // GL_APPLE_vertex_array_range + GL_VERTEX_ARRAY_RANGE_APPLE = $851D; + GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = $851E; + GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = $851F; + GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = $8521; + GL_STORAGE_CLIENT_APPLE = $85B4; + GL_STORAGE_CACHED_APPLE = $85BE; + GL_STORAGE_SHARED_APPLE = $85BF; + + // GL_APPLE_ycbcr_422 + GL_YCBCR_422_APPLE = $85B9; + GL_UNSIGNED_SHORT_8_8_APPLE = $85BA; + GL_UNSIGNED_SHORT_8_8_REV_APPLE = $85BB; + + // GL_APPLE_texture_range + GL_TEXTURE_RANGE_LENGTH_APPLE = $85B7; + GL_TEXTURE_RANGE_POINTER_APPLE = $85B8; + GL_TEXTURE_STORAGE_HINT_APPLE = $85BC; + GL_STORAGE_PRIVATE_APPLE = $85BD; + { reuse GL_STORAGE_CACHED_APPLE } + { reuse GL_STORAGE_SHARED_APPLE } + + // GL_APPLE_float_pixels + GL_HALF_APPLE = $140B; + GL_RGBA_FLOAT32_APPLE = $8814; + GL_RGB_FLOAT32_APPLE = $8815; + GL_ALPHA_FLOAT32_APPLE = $8816; + GL_INTENSITY_FLOAT32_APPLE = $8817; + GL_LUMINANCE_FLOAT32_APPLE = $8818; + GL_LUMINANCE_ALPHA_FLOAT32_APPLE = $8819; + GL_RGBA_FLOAT16_APPLE = $881A; + GL_RGB_FLOAT16_APPLE = $881B; + GL_ALPHA_FLOAT16_APPLE = $881C; + GL_INTENSITY_FLOAT16_APPLE = $881D; + GL_LUMINANCE_FLOAT16_APPLE = $881E; + GL_LUMINANCE_ALPHA_FLOAT16_APPLE = $881F; + GL_COLOR_FLOAT_APPLE = $8A0F; + + // GL_APPLE_vertex_program_evaluators + GL_VERTEX_ATTRIB_MAP1_APPLE = $8A00; + GL_VERTEX_ATTRIB_MAP2_APPLE = $8A01; + GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = $8A02; + GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = $8A03; + GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = $8A04; + GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = $8A05; + GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = $8A06; + GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = $8A07; + GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = $8A08; + GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = $8A09; + + // GL_APPLE_aux_depth_stencil + GL_AUX_DEPTH_STENCIL_APPLE = $8A14; + + // GL_APPLE_object_purgeable + GL_BUFFER_OBJECT_APPLE = $85B3; + GL_RELEASED_APPLE = $8A19; + GL_VOLATILE_APPLE = $8A1A; + GL_RETAINED_APPLE = $8A1B; + GL_UNDEFINED_APPLE = $8A1C; + GL_PURGEABLE_APPLE = $8A1D; + + // GL_APPLE_row_bytes + GL_PACK_ROW_BYTES_APPLE = $8A15; + GL_UNPACK_ROW_BYTES_APPLE = $8A16; + + // GL_APPLE_rgb_422 + { reuse GL_UNSIGNED_SHORT_8_8_APPLE } + { reuse GL_UNSIGNED_SHORT_8_8_REV_APPLE } + + // GL_ARB_depth_texture + GL_DEPTH_COMPONENT16_ARB = $81A5; + GL_DEPTH_COMPONENT24_ARB = $81A6; + GL_DEPTH_COMPONENT32_ARB = $81A7; + GL_TEXTURE_DEPTH_SIZE_ARB = $884A; + GL_DEPTH_TEXTURE_MODE_ARB = $884B; + + // GL_ARB_fragment_program + GL_FRAGMENT_PROGRAM_ARB = $8804; + GL_PROGRAM_ALU_INSTRUCTIONS_ARB = $8805; + GL_PROGRAM_TEX_INSTRUCTIONS_ARB = $8806; + GL_PROGRAM_TEX_INDIRECTIONS_ARB = $8807; + GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $8808; + GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $8809; + GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $880A; + GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = $880B; + GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = $880C; + GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = $880D; + GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $880E; + GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $880F; + GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $8810; + GL_MAX_TEXTURE_COORDS_ARB = $8871; + GL_MAX_TEXTURE_IMAGE_UNITS_ARB = $8872; + + // GL_ARB_imaging + GL_CONSTANT_COLOR_ARB = $8001; + GL_CONSTANT_COLOR = $8001; + GL_ONE_MINUS_CONSTANT_COLOR = $8002; + GL_CONSTANT_ALPHA = $8003; + GL_ONE_MINUS_CONSTANT_ALPHA = $8004; + GL_BLEND_COLOR = $8005; + GL_FUNC_ADD = $8006; + GL_MIN = $8007; + GL_MAX = $8008; + GL_BLEND_EQUATION = $8009; + GL_FUNC_SUBTRACT = $800A; + GL_FUNC_REVERSE_SUBTRACT = $800B; +{$ifdef DGL_DEPRECATED} + GL_CONVOLUTION_1D = $8010; + GL_CONVOLUTION_2D = $8011; + GL_SEPARABLE_2D = $8012; + GL_CONVOLUTION_BORDER_MODE = $8013; + GL_CONVOLUTION_FILTER_SCALE = $8014; + GL_CONVOLUTION_FILTER_BIAS = $8015; + GL_REDUCE = $8016; + GL_CONVOLUTION_FORMAT = $8017; + GL_CONVOLUTION_WIDTH = $8018; + GL_CONVOLUTION_HEIGHT = $8019; + GL_MAX_CONVOLUTION_WIDTH = $801A; + GL_MAX_CONVOLUTION_HEIGHT = $801B; + GL_POST_CONVOLUTION_RED_SCALE = $801C; + GL_POST_CONVOLUTION_GREEN_SCALE = $801D; + GL_POST_CONVOLUTION_BLUE_SCALE = $801E; + GL_POST_CONVOLUTION_ALPHA_SCALE = $801F; + GL_POST_CONVOLUTION_RED_BIAS = $8020; + GL_POST_CONVOLUTION_GREEN_BIAS = $8021; + GL_POST_CONVOLUTION_BLUE_BIAS = $8022; + GL_POST_CONVOLUTION_ALPHA_BIAS = $8023; + GL_HISTOGRAM = $8024; + GL_PROXY_HISTOGRAM = $8025; + GL_HISTOGRAM_WIDTH = $8026; + GL_HISTOGRAM_FORMAT = $8027; + GL_HISTOGRAM_RED_SIZE = $8028; + GL_HISTOGRAM_GREEN_SIZE = $8029; + GL_HISTOGRAM_BLUE_SIZE = $802A; + GL_HISTOGRAM_ALPHA_SIZE = $802B; + GL_HISTOGRAM_LUMINANCE_SIZE = $802C; + GL_HISTOGRAM_SINK = $802D; + GL_MINMAX = $802E; + GL_MINMAX_FORMAT = $802F; + GL_MINMAX_SINK = $8030; + GL_TABLE_TOO_LARGE = $8031; + GL_COLOR_MATRIX = $80B1; + GL_COLOR_MATRIX_STACK_DEPTH = $80B2; + GL_MAX_COLOR_MATRIX_STACK_DEPTH = $80B3; + GL_POST_COLOR_MATRIX_RED_SCALE = $80B4; + GL_POST_COLOR_MATRIX_GREEN_SCALE = $80B5; + GL_POST_COLOR_MATRIX_BLUE_SCALE = $80B6; + GL_POST_COLOR_MATRIX_ALPHA_SCALE = $80B7; + GL_POST_COLOR_MATRIX_RED_BIAS = $80B8; + GL_POST_COLOR_MATRIX_GREEN_BIAS = $80B9; + GL_POST_COLOR_MATRIX_BLUE_BIAS = $80BA; + GL_POST_COLOR_MATRIX_ALPHA_BIAS = $80BB; + GL_COLOR_TABLE = $80D0; + GL_POST_CONVOLUTION_COLOR_TABLE = $80D1; + GL_POST_COLOR_MATRIX_COLOR_TABLE = $80D2; + GL_PROXY_COLOR_TABLE = $80D3; + GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = $80D4; + GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = $80D5; + GL_COLOR_TABLE_SCALE = $80D6; + GL_COLOR_TABLE_BIAS = $80D7; + GL_COLOR_TABLE_FORMAT = $80D8; + GL_COLOR_TABLE_WIDTH = $80D9; + GL_COLOR_TABLE_RED_SIZE = $80DA; + GL_COLOR_TABLE_GREEN_SIZE = $80DB; + GL_COLOR_TABLE_BLUE_SIZE = $80DC; + GL_COLOR_TABLE_ALPHA_SIZE = $80DD; + GL_COLOR_TABLE_LUMINANCE_SIZE = $80DE; + GL_COLOR_TABLE_INTENSITY_SIZE = $80DF; + GL_CONSTANT_BORDER = $8151; + GL_REPLICATE_BORDER = $8153; + GL_CONVOLUTION_BORDER_COLOR = $8154; +{$endif} + + // GL_ARB_matrix_palette + GL_MATRIX_PALETTE_ARB = $8840; + GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = $8841; + GL_MAX_PALETTE_MATRICES_ARB = $8842; + GL_CURRENT_PALETTE_MATRIX_ARB = $8843; + GL_MATRIX_INDEX_ARRAY_ARB = $8844; + GL_CURRENT_MATRIX_INDEX_ARB = $8845; + GL_MATRIX_INDEX_ARRAY_SIZE_ARB = $8846; + GL_MATRIX_INDEX_ARRAY_TYPE_ARB = $8847; + GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = $8848; + GL_MATRIX_INDEX_ARRAY_POINTER_ARB = $8849; + + // GL_ARB_multisample + GL_MULTISAMPLE_ARB = $809D; + GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = $809E; + GL_SAMPLE_ALPHA_TO_ONE_ARB = $809F; + GL_SAMPLE_COVERAGE_ARB = $80A0; + GL_SAMPLE_BUFFERS_ARB = $80A8; + GL_SAMPLES_ARB = $80A9; + GL_SAMPLE_COVERAGE_VALUE_ARB = $80AA; + GL_SAMPLE_COVERAGE_INVERT_ARB = $80AB; + GL_MULTISAMPLE_BIT_ARB = $20000000; + + // GL_ARB_multitexture + GL_TEXTURE0_ARB = $84C0; + GL_TEXTURE1_ARB = $84C1; + GL_TEXTURE2_ARB = $84C2; + GL_TEXTURE3_ARB = $84C3; + GL_TEXTURE4_ARB = $84C4; + GL_TEXTURE5_ARB = $84C5; + GL_TEXTURE6_ARB = $84C6; + GL_TEXTURE7_ARB = $84C7; + GL_TEXTURE8_ARB = $84C8; + GL_TEXTURE9_ARB = $84C9; + GL_TEXTURE10_ARB = $84CA; + GL_TEXTURE11_ARB = $84CB; + GL_TEXTURE12_ARB = $84CC; + GL_TEXTURE13_ARB = $84CD; + GL_TEXTURE14_ARB = $84CE; + GL_TEXTURE15_ARB = $84CF; + GL_TEXTURE16_ARB = $84D0; + GL_TEXTURE17_ARB = $84D1; + GL_TEXTURE18_ARB = $84D2; + GL_TEXTURE19_ARB = $84D3; + GL_TEXTURE20_ARB = $84D4; + GL_TEXTURE21_ARB = $84D5; + GL_TEXTURE22_ARB = $84D6; + GL_TEXTURE23_ARB = $84D7; + GL_TEXTURE24_ARB = $84D8; + GL_TEXTURE25_ARB = $84D9; + GL_TEXTURE26_ARB = $84DA; + GL_TEXTURE27_ARB = $84DB; + GL_TEXTURE28_ARB = $84DC; + GL_TEXTURE29_ARB = $84DD; + GL_TEXTURE30_ARB = $84DE; + GL_TEXTURE31_ARB = $84DF; + GL_ACTIVE_TEXTURE_ARB = $84E0; + GL_CLIENT_ACTIVE_TEXTURE_ARB = $84E1; + GL_MAX_TEXTURE_UNITS_ARB = $84E2; + + // GL_ARB_point_parameters + GL_POINT_SIZE_MIN_ARB = $8126; + GL_POINT_SIZE_MAX_ARB = $8127; + GL_POINT_FADE_THRESHOLD_SIZE_ARB = $8128; + GL_POINT_DISTANCE_ATTENUATION_ARB = $8129; + + // GL_ARB_shadow + GL_TEXTURE_COMPARE_MODE_ARB = $884C; + GL_TEXTURE_COMPARE_FUNC_ARB = $884D; + GL_COMPARE_R_TO_TEXTURE_ARB = $884E; + + // GL_ARB_shadow_ambient + GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = $80BF; + + // GL_ARB_texture_border_clamp + GL_CLAMP_TO_BORDER_ARB = $812D; + + // GL_ARB_texture_compression + GL_COMPRESSED_ALPHA_ARB = $84E9; + GL_COMPRESSED_LUMINANCE_ARB = $84EA; + GL_COMPRESSED_LUMINANCE_ALPHA_ARB = $84EB; + GL_COMPRESSED_INTENSITY_ARB = $84EC; + GL_COMPRESSED_RGB_ARB = $84ED; + GL_COMPRESSED_RGBA_ARB = $84EE; + GL_TEXTURE_COMPRESSION_HINT_ARB = $84EF; + GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = $86A0; + GL_TEXTURE_COMPRESSED_ARB = $86A1; + GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = $86A2; + GL_COMPRESSED_TEXTURE_FORMATS_ARB = $86A3; + + // GL_ARB_texture_cube_map + GL_NORMAL_MAP_ARB = $8511; + GL_REFLECTION_MAP_ARB = $8512; + GL_TEXTURE_CUBE_MAP_ARB = $8513; + GL_TEXTURE_BINDING_CUBE_MAP_ARB = $8514; + GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $8515; + GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $8516; + GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $8517; + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $8518; + GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $8519; + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $851A; + GL_PROXY_TEXTURE_CUBE_MAP_ARB = $851B; + GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = $851C; + + // GL_ARB_texture_env_combine + GL_COMBINE_ARB = $8570; + GL_COMBINE_RGB_ARB = $8571; + GL_COMBINE_ALPHA_ARB = $8572; + GL_SOURCE0_RGB_ARB = $8580; + GL_SOURCE1_RGB_ARB = $8581; + GL_SOURCE2_RGB_ARB = $8582; + GL_SOURCE0_ALPHA_ARB = $8588; + GL_SOURCE1_ALPHA_ARB = $8589; + GL_SOURCE2_ALPHA_ARB = $858A; + GL_OPERAND0_RGB_ARB = $8590; + GL_OPERAND1_RGB_ARB = $8591; + GL_OPERAND2_RGB_ARB = $8592; + GL_OPERAND0_ALPHA_ARB = $8598; + GL_OPERAND1_ALPHA_ARB = $8599; + GL_OPERAND2_ALPHA_ARB = $859A; + GL_RGB_SCALE_ARB = $8573; + GL_ADD_SIGNED_ARB = $8574; + GL_INTERPOLATE_ARB = $8575; + GL_SUBTRACT_ARB = $84E7; + GL_CONSTANT_ARB = $8576; + GL_PRIMARY_COLOR_ARB = $8577; + GL_PREVIOUS_ARB = $8578; + + // GL_ARB_texture_env_dot3 + GL_DOT3_RGB_ARB = $86AE; + GL_DOT3_RGBA_ARB = $86AF; + + // GL_ARB_texture_mirrored_repeat + GL_MIRRORED_REPEAT_ARB = $8370; + + // GL_ARB_transpose_matrix + GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = $84E3; + GL_TRANSPOSE_PROJECTION_MATRIX_ARB = $84E4; + GL_TRANSPOSE_TEXTURE_MATRIX_ARB = $84E5; + GL_TRANSPOSE_COLOR_MATRIX_ARB = $84E6; + + // GL_ARB_vertex_blend + GL_MAX_VERTEX_UNITS_ARB = $86A4; + GL_ACTIVE_VERTEX_UNITS_ARB = $86A5; + GL_WEIGHT_SUM_UNITY_ARB = $86A6; + GL_VERTEX_BLEND_ARB = $86A7; + GL_CURRENT_WEIGHT_ARB = $86A8; + GL_WEIGHT_ARRAY_TYPE_ARB = $86A9; + GL_WEIGHT_ARRAY_STRIDE_ARB = $86AA; + GL_WEIGHT_ARRAY_SIZE_ARB = $86AB; + GL_WEIGHT_ARRAY_POINTER_ARB = $86AC; + GL_WEIGHT_ARRAY_ARB = $86AD; + GL_MODELVIEW0_ARB = $1700; + GL_MODELVIEW1_ARB = $850A; + GL_MODELVIEW2_ARB = $8722; + GL_MODELVIEW3_ARB = $8723; + GL_MODELVIEW4_ARB = $8724; + GL_MODELVIEW5_ARB = $8725; + GL_MODELVIEW6_ARB = $8726; + GL_MODELVIEW7_ARB = $8727; + GL_MODELVIEW8_ARB = $8728; + GL_MODELVIEW9_ARB = $8729; + GL_MODELVIEW10_ARB = $872A; + GL_MODELVIEW11_ARB = $872B; + GL_MODELVIEW12_ARB = $872C; + GL_MODELVIEW13_ARB = $872D; + GL_MODELVIEW14_ARB = $872E; + GL_MODELVIEW15_ARB = $872F; + GL_MODELVIEW16_ARB = $8730; + GL_MODELVIEW17_ARB = $8731; + GL_MODELVIEW18_ARB = $8732; + GL_MODELVIEW19_ARB = $8733; + GL_MODELVIEW20_ARB = $8734; + GL_MODELVIEW21_ARB = $8735; + GL_MODELVIEW22_ARB = $8736; + GL_MODELVIEW23_ARB = $8737; + GL_MODELVIEW24_ARB = $8738; + GL_MODELVIEW25_ARB = $8739; + GL_MODELVIEW26_ARB = $873A; + GL_MODELVIEW27_ARB = $873B; + GL_MODELVIEW28_ARB = $873C; + GL_MODELVIEW29_ARB = $873D; + GL_MODELVIEW30_ARB = $873E; + GL_MODELVIEW31_ARB = $873F; + + // GL_ARB_vertex_buffer_object + GL_BUFFER_SIZE_ARB = $8764; + GL_BUFFER_USAGE_ARB = $8765; + GL_ARRAY_BUFFER_ARB = $8892; + GL_ELEMENT_ARRAY_BUFFER_ARB = $8893; + GL_ARRAY_BUFFER_BINDING_ARB = $8894; + GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = $8895; + GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = $8896; + GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = $8897; + GL_COLOR_ARRAY_BUFFER_BINDING_ARB = $8898; + GL_INDEX_ARRAY_BUFFER_BINDING_ARB = $8899; + GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = $889A; + GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = $889B; + GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = $889C; + GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = $889D; + GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = $889E; + GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = $889F; + GL_READ_ONLY_ARB = $88B8; + GL_WRITE_ONLY_ARB = $88B9; + GL_READ_WRITE_ARB = $88BA; + GL_BUFFER_ACCESS_ARB = $88BB; + GL_BUFFER_MAPPED_ARB = $88BC; + GL_BUFFER_MAP_POINTER_ARB = $88BD; + GL_STREAM_DRAW_ARB = $88E0; + GL_STREAM_READ_ARB = $88E1; + GL_STREAM_COPY_ARB = $88E2; + GL_STATIC_DRAW_ARB = $88E4; + GL_STATIC_READ_ARB = $88E5; + GL_STATIC_COPY_ARB = $88E6; + GL_DYNAMIC_DRAW_ARB = $88E8; + GL_DYNAMIC_READ_ARB = $88E9; + GL_DYNAMIC_COPY_ARB = $88EA; + + // GL_ARB_vertex_program + GL_COLOR_SUM_ARB = $8458; + GL_VERTEX_PROGRAM_ARB = $8620; + GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = $8622; + GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = $8623; + GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = $8624; + GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = $8625; + GL_CURRENT_VERTEX_ATTRIB_ARB = $8626; + GL_PROGRAM_LENGTH_ARB = $8627; + GL_PROGRAM_STRING_ARB = $8628; + GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = $862E; + GL_MAX_PROGRAM_MATRICES_ARB = $862F; + GL_CURRENT_MATRIX_STACK_DEPTH_ARB = $8640; + GL_CURRENT_MATRIX_ARB = $8641; + GL_VERTEX_PROGRAM_POINT_SIZE_ARB = $8642; + GL_VERTEX_PROGRAM_TWO_SIDE_ARB = $8643; + GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = $8645; + GL_PROGRAM_ERROR_POSITION_ARB = $864B; + GL_PROGRAM_BINDING_ARB = $8677; + GL_MAX_VERTEX_ATTRIBS_ARB = $8869; + GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = $886A; + GL_PROGRAM_ERROR_STRING_ARB = $8874; + GL_PROGRAM_FORMAT_ASCII_ARB = $8875; + GL_PROGRAM_FORMAT_ARB = $8876; + GL_PROGRAM_INSTRUCTIONS_ARB = $88A0; + GL_MAX_PROGRAM_INSTRUCTIONS_ARB = $88A1; + GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A2; + GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A3; + GL_PROGRAM_TEMPORARIES_ARB = $88A4; + GL_MAX_PROGRAM_TEMPORARIES_ARB = $88A5; + GL_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A6; + GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A7; + GL_PROGRAM_PARAMETERS_ARB = $88A8; + GL_MAX_PROGRAM_PARAMETERS_ARB = $88A9; + GL_PROGRAM_NATIVE_PARAMETERS_ARB = $88AA; + GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = $88AB; + GL_PROGRAM_ATTRIBS_ARB = $88AC; + GL_MAX_PROGRAM_ATTRIBS_ARB = $88AD; + GL_PROGRAM_NATIVE_ATTRIBS_ARB = $88AE; + GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = $88AF; + GL_PROGRAM_ADDRESS_REGISTERS_ARB = $88B0; + GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = $88B1; + GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B2; + GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B3; + GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = $88B4; + GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = $88B5; + GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = $88B6; + GL_TRANSPOSE_CURRENT_MATRIX_ARB = $88B7; + GL_MATRIX0_ARB = $88C0; + GL_MATRIX1_ARB = $88C1; + GL_MATRIX2_ARB = $88C2; + GL_MATRIX3_ARB = $88C3; + GL_MATRIX4_ARB = $88C4; + GL_MATRIX5_ARB = $88C5; + GL_MATRIX6_ARB = $88C6; + GL_MATRIX7_ARB = $88C7; + GL_MATRIX8_ARB = $88C8; + GL_MATRIX9_ARB = $88C9; + GL_MATRIX10_ARB = $88CA; + GL_MATRIX11_ARB = $88CB; + GL_MATRIX12_ARB = $88CC; + GL_MATRIX13_ARB = $88CD; + GL_MATRIX14_ARB = $88CE; + GL_MATRIX15_ARB = $88CF; + GL_MATRIX16_ARB = $88D0; + GL_MATRIX17_ARB = $88D1; + GL_MATRIX18_ARB = $88D2; + GL_MATRIX19_ARB = $88D3; + GL_MATRIX20_ARB = $88D4; + GL_MATRIX21_ARB = $88D5; + GL_MATRIX22_ARB = $88D6; + GL_MATRIX23_ARB = $88D7; + GL_MATRIX24_ARB = $88D8; + GL_MATRIX25_ARB = $88D9; + GL_MATRIX26_ARB = $88DA; + GL_MATRIX27_ARB = $88DB; + GL_MATRIX28_ARB = $88DC; + GL_MATRIX29_ARB = $88DD; + GL_MATRIX30_ARB = $88DE; + GL_MATRIX31_ARB = $88DF; + + // GL_ARB_draw_buffers + GL_MAX_DRAW_BUFFERS_ARB = $8824; + GL_DRAW_BUFFER0_ARB = $8825; + GL_DRAW_BUFFER1_ARB = $8826; + GL_DRAW_BUFFER2_ARB = $8827; + GL_DRAW_BUFFER3_ARB = $8828; + GL_DRAW_BUFFER4_ARB = $8829; + GL_DRAW_BUFFER5_ARB = $882A; + GL_DRAW_BUFFER6_ARB = $882B; + GL_DRAW_BUFFER7_ARB = $882C; + GL_DRAW_BUFFER8_ARB = $882D; + GL_DRAW_BUFFER9_ARB = $882E; + GL_DRAW_BUFFER10_ARB = $882F; + GL_DRAW_BUFFER11_ARB = $8830; + GL_DRAW_BUFFER12_ARB = $8831; + GL_DRAW_BUFFER13_ARB = $8832; + GL_DRAW_BUFFER14_ARB = $8833; + GL_DRAW_BUFFER15_ARB = $8834; + + // GL_ARB_texture_rectangle + GL_TEXTURE_RECTANGLE_ARB = $84F5; + GL_TEXTURE_BINDING_RECTANGLE_ARB = $84F6; + GL_PROXY_TEXTURE_RECTANGLE_ARB = $84F7; + GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = $84F8; + + // GL_ARB_color_buffer_float + GL_RGBA_FLOAT_MODE_ARB = $8820; + GL_CLAMP_VERTEX_COLOR_ARB = $891A; + GL_CLAMP_FRAGMENT_COLOR_ARB = $891B; + GL_CLAMP_READ_COLOR_ARB = $891C; + GL_FIXED_ONLY_ARB = $891D; + WGL_TYPE_RGBA_FLOAT_ARB = $21A0; + GLX_RGBA_FLOAT_TYPE = $20B9; + GLX_RGBA_FLOAT_BIT = $00000004; + + // GL_ARB_half_float_pixel + GL_HALF_FLOAT_ARB = $140B; + + // GL_ARB_texture_float + GL_TEXTURE_RED_TYPE_ARB = $8C10; + GL_TEXTURE_GREEN_TYPE_ARB = $8C11; + GL_TEXTURE_BLUE_TYPE_ARB = $8C12; + GL_TEXTURE_ALPHA_TYPE_ARB = $8C13; + GL_TEXTURE_LUMINANCE_TYPE_ARB = $8C14; + GL_TEXTURE_INTENSITY_TYPE_ARB = $8C15; + GL_TEXTURE_DEPTH_TYPE_ARB = $8C16; + GL_UNSIGNED_NORMALIZED_ARB = $8C17; + GL_RGBA32F_ARB = $8814; + GL_RGB32F_ARB = $8815; + GL_ALPHA32F_ARB = $8816; + GL_INTENSITY32F_ARB = $8817; + GL_LUMINANCE32F_ARB = $8818; + GL_LUMINANCE_ALPHA32F_ARB = $8819; + GL_RGBA16F_ARB = $881A; + GL_RGB16F_ARB = $881B; + GL_ALPHA16F_ARB = $881C; + GL_INTENSITY16F_ARB = $881D; + GL_LUMINANCE16F_ARB = $881E; + GL_LUMINANCE_ALPHA16F_ARB = $881F; + + // GL_ARB_pixel_buffer_object + GL_PIXEL_PACK_BUFFER_ARB = $88EB; + GL_PIXEL_UNPACK_BUFFER_ARB = $88EC; + GL_PIXEL_PACK_BUFFER_BINDING_ARB = $88ED; + GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = $88EF; + + // GL_ARB_depth_buffer_float + GL_DEPTH_COMPONENT32F = $8CAC; + GL_DEPTH32F_STENCIL8 = $8CAD; + GL_FLOAT_32_UNSIGNED_INT_24_8_REV = $8DAD; + + // GL_ARB_framebuffer_object + GL_INVALID_FRAMEBUFFER_OPERATION = $0506; + GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = $8210; + GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = $8211; + GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = $8212; + GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = $8213; + GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = $8214; + GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = $8215; + GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = $8216; + GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = $8217; + GL_FRAMEBUFFER_DEFAULT = $8218; + GL_FRAMEBUFFER_UNDEFINED = $8219; + GL_DEPTH_STENCIL_ATTACHMENT = $821A; + GL_MAX_RENDERBUFFER_SIZE = $84E8; + GL_DEPTH_STENCIL = $84F9; + GL_UNSIGNED_INT_24_8 = $84FA; + GL_DEPTH24_STENCIL8 = $88F0; + GL_TEXTURE_STENCIL_SIZE = $88F1; + GL_TEXTURE_RED_TYPE = $8C10; + GL_TEXTURE_GREEN_TYPE = $8C11; + GL_TEXTURE_BLUE_TYPE = $8C12; + GL_TEXTURE_ALPHA_TYPE = $8C13; + GL_TEXTURE_DEPTH_TYPE = $8C16; + GL_UNSIGNED_NORMALIZED = $8C17; + GL_FRAMEBUFFER_BINDING = $8CA6; + GL_DRAW_FRAMEBUFFER_BINDING = GL_FRAMEBUFFER_BINDING; + GL_RENDERBUFFER_BINDING = $8CA7; + GL_READ_FRAMEBUFFER = $8CA8; + GL_DRAW_FRAMEBUFFER = $8CA9; + GL_READ_FRAMEBUFFER_BINDING = $8CAA; + GL_RENDERBUFFER_SAMPLES = $8CAB; + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = $8CD0; + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = $8CD1; + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = $8CD2; + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = $8CD3; + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = $8CD4; + GL_FRAMEBUFFER_COMPLETE = $8CD5; + GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = $8CD6; + GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = $8CD7; + GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = $8CDB; + GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = $8CDC; + GL_FRAMEBUFFER_UNSUPPORTED = $8CDD; + GL_MAX_COLOR_ATTACHMENTS = $8CDF; + GL_COLOR_ATTACHMENT0 = $8CE0; + GL_COLOR_ATTACHMENT1 = $8CE1; + GL_COLOR_ATTACHMENT2 = $8CE2; + GL_COLOR_ATTACHMENT3 = $8CE3; + GL_COLOR_ATTACHMENT4 = $8CE4; + GL_COLOR_ATTACHMENT5 = $8CE5; + GL_COLOR_ATTACHMENT6 = $8CE6; + GL_COLOR_ATTACHMENT7 = $8CE7; + GL_COLOR_ATTACHMENT8 = $8CE8; + GL_COLOR_ATTACHMENT9 = $8CE9; + GL_COLOR_ATTACHMENT10 = $8CEA; + GL_COLOR_ATTACHMENT11 = $8CEB; + GL_COLOR_ATTACHMENT12 = $8CEC; + GL_COLOR_ATTACHMENT13 = $8CED; + GL_COLOR_ATTACHMENT14 = $8CEE; + GL_COLOR_ATTACHMENT15 = $8CEF; + GL_DEPTH_ATTACHMENT = $8D00; + GL_STENCIL_ATTACHMENT = $8D20; + GL_FRAMEBUFFER = $8D40; + GL_RENDERBUFFER = $8D41; + GL_RENDERBUFFER_WIDTH = $8D42; + GL_RENDERBUFFER_HEIGHT = $8D43; + GL_RENDERBUFFER_INTERNAL_FORMAT = $8D44; + GL_STENCIL_INDEX1 = $8D46; + GL_STENCIL_INDEX4 = $8D47; + GL_STENCIL_INDEX8 = $8D48; + GL_STENCIL_INDEX16 = $8D49; + GL_RENDERBUFFER_RED_SIZE = $8D50; + GL_RENDERBUFFER_GREEN_SIZE = $8D51; + GL_RENDERBUFFER_BLUE_SIZE = $8D52; + GL_RENDERBUFFER_ALPHA_SIZE = $8D53; + GL_RENDERBUFFER_DEPTH_SIZE = $8D54; + GL_RENDERBUFFER_STENCIL_SIZE = $8D55; + GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = $8D56; + GL_MAX_SAMPLES = $8D57; +{$ifdef DGL_DEPRECATED} + GL_INDEX = $8222; + GL_TEXTURE_LUMINANCE_TYPE = $8C14; + GL_TEXTURE_INTENSITY_TYPE = $8C15; +{$endif} + + // GL_ARB_framebuffer_sRGB + GL_FRAMEBUFFER_SRGB = $8DB9; + + // GL_ARB_geometry_shader4 + GL_LINES_ADJACENCY_ARB = $000A; + GL_LINE_STRIP_ADJACENCY_ARB = $000B; + GL_TRIANGLES_ADJACENCY_ARB = $000C; + GL_TRIANGLE_STRIP_ADJACENCY_ARB = $000D; + GL_PROGRAM_POINT_SIZE_ARB = $8642; + GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = $8C29; + GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = $8DA7; + GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = $8DA8; + GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = $8DA9; + GL_GEOMETRY_SHADER_ARB = $8DD9; + GL_GEOMETRY_VERTICES_OUT_ARB = $8DDA; + GL_GEOMETRY_INPUT_TYPE_ARB = $8DDB; + GL_GEOMETRY_OUTPUT_TYPE_ARB = $8DDC; + GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = $8DDD; + GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = $8DDE; + GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = $8DDF; + GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = $8DE0; + GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = $8DE1; + { reuse GL_MAX_VARYING_COMPONENTS } + { reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER } + + // GL_ARB_half_float_vertex + GL_HALF_FLOAT = $140B; + + // GL_ARB_instanced_arrays + GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = $88FE; + + // GL_ARB_map_buffer_range + GL_MAP_READ_BIT = $0001; + GL_MAP_WRITE_BIT = $0002; + GL_MAP_INVALIDATE_RANGE_BIT = $0004; + GL_MAP_INVALIDATE_BUFFER_BIT = $0008; + GL_MAP_FLUSH_EXPLICIT_BIT = $0010; + GL_MAP_UNSYNCHRONIZED_BIT = $0020; + + // GL_ARB_texture_buffer_object + GL_TEXTURE_BUFFER_ARB = $8C2A; + GL_MAX_TEXTURE_BUFFER_SIZE_ARB = $8C2B; + GL_TEXTURE_BINDING_BUFFER_ARB = $8C2C; + GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = $8C2D; + GL_TEXTURE_BUFFER_FORMAT_ARB = $8C2E; + + // GL_ARB_texture_compression_rgtc + GL_COMPRESSED_RED_RGTC1 = $8DBB; + GL_COMPRESSED_SIGNED_RED_RGTC1 = $8DBC; + GL_COMPRESSED_RG_RGTC2 = $8DBD; + GL_COMPRESSED_SIGNED_RG_RGTC2 = $8DBE; + + // GL_ARB_texture_rg + GL_RG = $8227; + GL_RG_INTEGER = $8228; + GL_R8 = $8229; + GL_R16 = $822A; + GL_RG8 = $822B; + GL_RG16 = $822C; + GL_R16F = $822D; + GL_R32F = $822E; + GL_RG16F = $822F; + GL_RG32F = $8230; + GL_R8I = $8231; + GL_R8UI = $8232; + GL_R16I = $8233; + GL_R16UI = $8234; + GL_R32I = $8235; + GL_R32UI = $8236; + GL_RG8I = $8237; + GL_RG8UI = $8238; + GL_RG16I = $8239; + GL_RG16UI = $823A; + GL_RG32I = $823B; + GL_RG32UI = $823C; + + // GL_ARB_vertex_array_object + GL_VERTEX_ARRAY_BINDING = $85B5; + + // GL_ARB_uniform_buffer_object + GL_UNIFORM_BUFFER = $8A11; + GL_UNIFORM_BUFFER_BINDING = $8A28; + GL_UNIFORM_BUFFER_START = $8A29; + GL_UNIFORM_BUFFER_SIZE = $8A2A; + GL_MAX_VERTEX_UNIFORM_BLOCKS = $8A2B; + GL_MAX_GEOMETRY_UNIFORM_BLOCKS = $8A2C; + GL_MAX_FRAGMENT_UNIFORM_BLOCKS = $8A2D; + GL_MAX_COMBINED_UNIFORM_BLOCKS = $8A2E; + GL_MAX_UNIFORM_BUFFER_BINDINGS = $8A2F; + GL_MAX_UNIFORM_BLOCK_SIZE = $8A30; + GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = $8A31; + GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = $8A32; + GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = $8A33; + GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = $8A34; + GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = $8A35; + GL_ACTIVE_UNIFORM_BLOCKS = $8A36; + GL_UNIFORM_TYPE = $8A37; + GL_UNIFORM_SIZE = $8A38; + GL_UNIFORM_NAME_LENGTH = $8A39; + GL_UNIFORM_BLOCK_INDEX = $8A3A; + GL_UNIFORM_OFFSET = $8A3B; + GL_UNIFORM_ARRAY_STRIDE = $8A3C; + GL_UNIFORM_MATRIX_STRIDE = $8A3D; + GL_UNIFORM_IS_ROW_MAJOR = $8A3E; + GL_UNIFORM_BLOCK_BINDING = $8A3F; + GL_UNIFORM_BLOCK_DATA_SIZE = $8A40; + GL_UNIFORM_BLOCK_NAME_LENGTH = $8A41; + GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = $8A42; + GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = $8A43; + GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = $8A44; + GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = $8A45; + GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = $8A46; + GL_INVALID_INDEX = $FFFFFFFF; + + // GL_ARB_compatibility + { ARB_compatibility just defines tokens from core 3.0 } + + // GL_ARB_copy_buffer + GL_COPY_READ_BUFFER_BINDING = $8F36; + GL_COPY_READ_BUFFER = GL_COPY_READ_BUFFER_BINDING; + GL_COPY_WRITE_BUFFER_BINDING = $8F37; + GL_COPY_WRITE_BUFFER = GL_COPY_WRITE_BUFFER_BINDING; + + // GL_ARB_depth_clamp + GL_DEPTH_CLAMP = $864F; + + // GL_ARB_provoking_vertex + GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = $8E4C; + GL_FIRST_VERTEX_CONVENTION = $8E4D; + GL_LAST_VERTEX_CONVENTION = $8E4E; + GL_PROVOKING_VERTEX = $8E4F; + + // GL_ARB_seamless_cube_map + GL_TEXTURE_CUBE_MAP_SEAMLESS = $884F; + + // GL_ARB_sync + GL_MAX_SERVER_WAIT_TIMEOUT = $9111; + GL_OBJECT_TYPE = $9112; + GL_SYNC_CONDITION = $9113; + GL_SYNC_STATUS = $9114; + GL_SYNC_FLAGS = $9115; + GL_SYNC_FENCE = $9116; + GL_SYNC_GPU_COMMANDS_COMPLETE = $9117; + GL_UNSIGNALED = $9118; + GL_SIGNALED = $9119; + GL_ALREADY_SIGNALED = $911A; + GL_TIMEOUT_EXPIRED = $911B; + GL_CONDITION_SATISFIED = $911C; + GL_WAIT_FAILED = $911D; + GL_SYNC_FLUSH_COMMANDS_BIT = $00000001; + GL_TIMEOUT_IGNORED = $FFFFFFFFFFFFFFFF; + + // GL_ARB_texture_multisample + GL_SAMPLE_POSITION = $8E50; + GL_SAMPLE_MASK = $8E51; + GL_SAMPLE_MASK_VALUE = $8E52; + GL_MAX_SAMPLE_MASK_WORDS = $8E59; + GL_TEXTURE_2D_MULTISAMPLE = $9100; + GL_PROXY_TEXTURE_2D_MULTISAMPLE = $9101; + GL_TEXTURE_2D_MULTISAMPLE_ARRAY = $9102; + GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = $9103; + GL_TEXTURE_BINDING_2D_MULTISAMPLE = $9104; + GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = $9105; + GL_TEXTURE_SAMPLES = $9106; + GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = $9107; + GL_SAMPLER_2D_MULTISAMPLE = $9108; + GL_INT_SAMPLER_2D_MULTISAMPLE = $9109; + GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = $910A; + GL_SAMPLER_2D_MULTISAMPLE_ARRAY = $910B; + GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910C; + GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = $910D; + GL_MAX_COLOR_TEXTURE_SAMPLES = $910E; + GL_MAX_DEPTH_TEXTURE_SAMPLES = $910F; + GL_MAX_INTEGER_SAMPLES = $9110; + + // GL_ARB_vertex_array_bgra + { reuse GL_BGRA } + + // GL_ARB_sample_shading + GL_SAMPLE_SHADING_ARB = $8C36; + GL_MIN_SAMPLE_SHADING_VALUE_ARB = $8C37; + + // GL_ARB_texture_cube_map_array + GL_TEXTURE_CUBE_MAP_ARRAY_ARB = $9009; + GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = $900A; + GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = $900B; + GL_SAMPLER_CUBE_MAP_ARRAY_ARB = $900C; + GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = $900D; + GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900E; + GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = $900F; + + // GL_ARB_texture_gather + GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5E; + GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = $8E5F; + + // GL_ARB_shading_language_include + GL_SHADER_INCLUDE_ARB = $8DAE; + GL_NAMED_STRING_LENGTH_ARB = $8DE9; + GL_NAMED_STRING_TYPE_ARB = $8DEA; + + // GL_ARB_texture_compression_bptc + GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = $8E8C; + GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = $8E8D; + GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = $8E8E; + GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = $8E8F; + + // GL_ARB_blend_func_extended + GL_SRC1_COLOR = $88F9; + { reuse GL_SRC1_ALPHA } + GL_ONE_MINUS_SRC1_COLOR = $88FA; + GL_ONE_MINUS_SRC1_ALPHA = $88FB; + GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = $88FC; + + // GL_ARB_occlusion_query2 + GL_ANY_SAMPLES_PASSED = $8C2F; + + // GL_ARB_sampler_objects + GL_SAMPLER_BINDING = $8919; + + // GL_ARB_texture_rgb10_a2ui + GL_RGB10_A2UI = $906F; + + // GL_ARB_texture_swizzle + GL_TEXTURE_SWIZZLE_R = $8E42; + GL_TEXTURE_SWIZZLE_G = $8E43; + GL_TEXTURE_SWIZZLE_B = $8E44; + GL_TEXTURE_SWIZZLE_A = $8E45; + GL_TEXTURE_SWIZZLE_RGBA = $8E46; + + // GL_ARB_timer_query + GL_TIME_ELAPSED = $88BF; + GL_TIMESTAMP = $8E28; + + // GL_ARB_vertex_type_2_10_10_10_rev + { reuse GL_UNSIGNED_INT_2_10_10_10_REV } + GL_INT_2_10_10_10_REV = $8D9F; + + // GL_ARB_draw_indirect + GL_DRAW_INDIRECT_BUFFER = $8F3F; + GL_DRAW_INDIRECT_BUFFER_BINDING = $8F43; + + // GL_ARB_gpu_shader5 + GL_GEOMETRY_SHADER_INVOCATIONS = $887F; + GL_MAX_GEOMETRY_SHADER_INVOCATIONS = $8E5A; + GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = $8E5B; + GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = $8E5C; + GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = $8E5D; + { reuse GL_MAX_VERTEX_STREAMS } + + // GL_ARB_gpu_shader_fp64 + { reuse GL_DOUBLE } + GL_DOUBLE_VEC2 = $8FFC; + GL_DOUBLE_VEC3 = $8FFD; + GL_DOUBLE_VEC4 = $8FFE; + GL_DOUBLE_MAT2 = $8F46; + GL_DOUBLE_MAT3 = $8F47; + GL_DOUBLE_MAT4 = $8F48; + GL_DOUBLE_MAT2x3 = $8F49; + GL_DOUBLE_MAT2x4 = $8F4A; + GL_DOUBLE_MAT3x2 = $8F4B; + GL_DOUBLE_MAT3x4 = $8F4C; + GL_DOUBLE_MAT4x2 = $8F4D; + GL_DOUBLE_MAT4x3 = $8F4E; + + // GL_ARB_shader_subroutine + GL_ACTIVE_SUBROUTINES = $8DE5; + GL_ACTIVE_SUBROUTINE_UNIFORMS = $8DE6; + GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = $8E47; + GL_ACTIVE_SUBROUTINE_MAX_LENGTH = $8E48; + GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = $8E49; + GL_MAX_SUBROUTINES = $8DE7; + GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = $8DE8; + GL_NUM_COMPATIBLE_SUBROUTINES = $8E4A; + GL_COMPATIBLE_SUBROUTINES = $8E4B; + { reuse GL_UNIFORM_SIZE } + { reuse GL_UNIFORM_NAME_LENGTH } + + // GL_ARB_tessellation_shader + GL_PATCHES = $000E; + GL_PATCH_VERTICES = $8E72; + GL_PATCH_DEFAULT_INNER_LEVEL = $8E73; + GL_PATCH_DEFAULT_OUTER_LEVEL = $8E74; + GL_TESS_CONTROL_OUTPUT_VERTICES = $8E75; + GL_TESS_GEN_MODE = $8E76; + GL_TESS_GEN_SPACING = $8E77; + GL_TESS_GEN_VERTEX_ORDER = $8E78; + GL_TESS_GEN_POINT_MODE = $8E79; + { reuse GL_TRIANGLES } + { reuse GL_QUADS } + GL_ISOLINES = $8E7A; + { reuse GL_EQUAL } + GL_FRACTIONAL_ODD = $8E7B; + GL_FRACTIONAL_EVEN = $8E7C; + { reuse GL_CCW } + { reuse GL_CW } + GL_MAX_PATCH_VERTICES = $8E7D; + GL_MAX_TESS_GEN_LEVEL = $8E7E; + GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = $8E7F; + GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E80; + GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = $8E81; + GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = $8E82; + GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = $8E83; + GL_MAX_TESS_PATCH_COMPONENTS = $8E84; + GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = $8E85; + GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = $8E86; + GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = $8E89; + GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = $8E8A; + GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = $886C; + GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = $886D; + GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = $8E1E; + GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = $8E1F; + GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = $84F0; + GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = $84F1; + GL_TESS_EVALUATION_SHADER = $8E87; + GL_TESS_CONTROL_SHADER = $8E88; + + // GL_ARB_texture_buffer_object_rgb32 + { reuse GL_RGB32F } + { reuse GL_RGB32UI } + { reuse GL_RGB32I } + + // GL_ARB_transform_feedback2 + GL_TRANSFORM_FEEDBACK = $8E22; + GL_TRANSFORM_FEEDBACK_PAUSED = $8E23; + GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = GL_TRANSFORM_FEEDBACK_PAUSED; + GL_TRANSFORM_FEEDBACK_ACTIVE = $8E24; + GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = GL_TRANSFORM_FEEDBACK_ACTIVE; + GL_TRANSFORM_FEEDBACK_BINDING = $8E25; + + // GL_ARB_transform_feedback3 + GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = $8E70; + GL_MAX_VERTEX_STREAMS = $8E71; + + // GL_ARB_ES2_compatibility + GL_FIXED = $140C; + GL_IMPLEMENTATION_COLOR_READ_TYPE = $8B9A; + GL_IMPLEMENTATION_COLOR_READ_FORMAT = $8B9B; + GL_LOW_FLOAT = $8DF0; + GL_MEDIUM_FLOAT = $8DF1; + GL_HIGH_FLOAT = $8DF2; + GL_LOW_INT = $8DF3; + GL_MEDIUM_INT = $8DF4; + GL_HIGH_INT = $8DF5; + GL_SHADER_COMPILER = $8DFA; + GL_NUM_SHADER_BINARY_FORMATS = $8DF9; + GL_MAX_VERTEX_UNIFORM_VECTORS = $8DFB; + GL_MAX_VARYING_VECTORS = $8DFC; + GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD; + GL_RGB565 = $8D62; + + // GL_ARB_get_program_binary + GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257; + GL_PROGRAM_BINARY_LENGTH = $8741; + GL_NUM_PROGRAM_BINARY_FORMATS = $87FE; + GL_PROGRAM_BINARY_FORMATS = $87FF; + + // GL_ARB_separate_shader_objects + GL_VERTEX_SHADER_BIT = $00000001; + GL_FRAGMENT_SHADER_BIT = $00000002; + GL_GEOMETRY_SHADER_BIT = $00000004; + GL_TESS_CONTROL_SHADER_BIT = $00000008; + GL_TESS_EVALUATION_SHADER_BIT = $00000010; + GL_ALL_SHADER_BITS = $FFFFFFFF; + GL_PROGRAM_SEPARABLE = $8258; + GL_ACTIVE_PROGRAM = $8259; + GL_PROGRAM_PIPELINE_BINDING = $825A; + + // GL_ARB_vertex_attrib_64bit + { reuse GL_RGB32I } + { reuse GL_DOUBLE_VEC2 } + { reuse GL_DOUBLE_VEC3 } + { reuse GL_DOUBLE_VEC4 } + { reuse GL_DOUBLE_MAT2 } + { reuse GL_DOUBLE_MAT3 } + { reuse GL_DOUBLE_MAT4 } + { reuse GL_DOUBLE_MAT2x3 } + { reuse GL_DOUBLE_MAT2x4 } + { reuse GL_DOUBLE_MAT3x2 } + { reuse GL_DOUBLE_MAT3x4 } + { reuse GL_DOUBLE_MAT4x2 } + { reuse GL_DOUBLE_MAT4x3 } + + // GL_ARB_viewport_array + { reuse GL_SCISSOR_BOX } + { reuse GL_VIEWPORT } + { reuse GL_DEPTH_RANGE } + { reuse GL_SCISSOR_TEST } + GL_MAX_VIEWPORTS = $825B; + GL_VIEWPORT_SUBPIXEL_BITS = $825C; + GL_VIEWPORT_BOUNDS_RANGE = $825D; + GL_LAYER_PROVOKING_VERTEX = $825E; + GL_VIEWPORT_INDEX_PROVOKING_VERTEX = $825F; + GL_UNDEFINED_VERTEX = $8260; + { reuse GL_FIRST_VERTEX_CONVENTION } + { reuse GL_LAST_VERTEX_CONVENTION } + { reuse GL_PROVOKING_VERTEX } + + // GL_ARB_cl_event + GL_SYNC_CL_EVENT_ARB = $8240; + GL_SYNC_CL_EVENT_COMPLETE_ARB = $8241; + + // GL_ARB_debug_output + GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = $8242; + GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = $8243; + GL_DEBUG_CALLBACK_FUNCTION_ARB = $8244; + GL_DEBUG_CALLBACK_USER_PARAM_ARB = $8245; + GL_DEBUG_SOURCE_API_ARB = $8246; + GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = $8247; + GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = $8248; + GL_DEBUG_SOURCE_THIRD_PARTY_ARB = $8249; + GL_DEBUG_SOURCE_APPLICATION_ARB = $824A; + GL_DEBUG_SOURCE_OTHER_ARB = $824B; + GL_DEBUG_TYPE_ERROR_ARB = $824C; + GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = $824D; + GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = $824E; + GL_DEBUG_TYPE_PORTABILITY_ARB = $824F; + GL_DEBUG_TYPE_PERFORMANCE_ARB = $8250; + GL_DEBUG_TYPE_OTHER_ARB = $8251; + GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = $9143; + GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = $9144; + GL_DEBUG_LOGGED_MESSAGES_ARB = $9145; + GL_DEBUG_SEVERITY_HIGH_ARB = $9146; + GL_DEBUG_SEVERITY_MEDIUM_ARB = $9147; + GL_DEBUG_SEVERITY_LOW_ARB = $9148; + + // GL_ARB_robustness + { reuse GL_NO_ERROR } + GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = $00000004; + GL_LOSE_CONTEXT_ON_RESET_ARB = $8252; + GL_GUILTY_CONTEXT_RESET_ARB = $8253; + GL_INNOCENT_CONTEXT_RESET_ARB = $8254; + GL_UNKNOWN_CONTEXT_RESET_ARB = $8255; + GL_RESET_NOTIFICATION_STRATEGY_ARB = $8256; + GL_NO_RESET_NOTIFICATION_ARB = $8261; + + // GL_ARB_compressed_texture_pixel_storage + GL_UNPACK_COMPRESSED_BLOCK_WIDTH = $09127; + GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = $09128; + GL_UNPACK_COMPRESSED_BLOCK_DEPTH = $09129; + GL_UNPACK_COMPRESSED_BLOCK_SIZE = $0912A; + GL_PACK_COMPRESSED_BLOCK_WIDTH = $0912B; + GL_PACK_COMPRESSED_BLOCK_HEIGHT = $0912C; + GL_PACK_COMPRESSED_BLOCK_DEPTH = $0912D; + GL_PACK_COMPRESSED_BLOCK_SIZE = $0912E; + + // GL_ARB_internalformat_query + GL_NUM_SAMPLE_COUNTS = $09380; + + // GL_ARB_map_buffer_alignment + GL_MIN_MAP_BUFFER_ALIGNMENT = $090BC; + + // GL_ARB_shader_atomic_counters + GL_ATOMIC_COUNTER_BUFFER = $92C0; + GL_ATOMIC_COUNTER_BUFFER_BINDING = $92C1; + GL_ATOMIC_COUNTER_BUFFER_START = $92C2; + GL_ATOMIC_COUNTER_BUFFER_SIZE = $92C3; + GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = $92C4; + GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = $92C5; + GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = $92C6; + GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = $92C7; + GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = $92C8; + GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = $92C9; + GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = $92CA; + GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = $92CB; + GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = $92CC; + GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = $92CD; + GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = $92CE; + GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = $92CF; + GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = $92D0; + GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = $92D1; + GL_MAX_VERTEX_ATOMIC_COUNTERS = $92D2; + GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = $92D3; + GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = $92D4; + GL_MAX_GEOMETRY_ATOMIC_COUNTERS = $92D5; + GL_MAX_FRAGMENT_ATOMIC_COUNTERS = $92D6; + GL_MAX_COMBINED_ATOMIC_COUNTERS = $92D7; + GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = $92D8; + GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = $92DC; + GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = $92D9; + GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = $92DA; + GL_UNSIGNED_INT_ATOMIC_COUNTER = $92DB; + + // GL_ARB_shader_image_load_store + GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = $00000001; + GL_ELEMENT_ARRAY_BARRIER_BIT = $00000002; + GL_UNIFORM_BARRIER_BIT = $00000004; + GL_TEXTURE_FETCH_BARRIER_BIT = $00000008; + GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = $00000020; + GL_COMMAND_BARRIER_BIT = $00000040; + GL_PIXEL_BUFFER_BARRIER_BIT = $00000080; + GL_TEXTURE_UPDATE_BARRIER_BIT = $00000100; + GL_BUFFER_UPDATE_BARRIER_BIT = $00000200; + GL_FRAMEBUFFER_BARRIER_BIT = $00000400; + GL_TRANSFORM_FEEDBACK_BARRIER_BIT = $00000800; + GL_ATOMIC_COUNTER_BARRIER_BIT = $00001000; + GL_ALL_BARRIER_BITS = $FFFFFFFF; + GL_MAX_IMAGE_UNITS = $8F38; + GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = $8F39; + GL_IMAGE_BINDING_NAME = $8F3A; + GL_IMAGE_BINDING_LEVEL = $8F3B; + GL_IMAGE_BINDING_LAYERED = $8F3C; + GL_IMAGE_BINDING_LAYER = $8F3D; + GL_IMAGE_BINDING_ACCESS = $8F3E; + GL_IMAGE_1D = $904C; + GL_IMAGE_2D = $904D; + GL_IMAGE_3D = $904E; + GL_IMAGE_2D_RECT = $904F; + GL_IMAGE_CUBE = $9050; + GL_IMAGE_BUFFER = $9051; + GL_IMAGE_1D_ARRAY = $9052; + GL_IMAGE_2D_ARRAY = $9053; + GL_IMAGE_CUBE_MAP_ARRAY = $9054; + GL_IMAGE_2D_MULTISAMPLE = $9055; + GL_IMAGE_2D_MULTISAMPLE_ARRAY = $9056; + GL_INT_IMAGE_1D = $9057; + GL_INT_IMAGE_2D = $9058; + GL_INT_IMAGE_3D = $9059; + GL_INT_IMAGE_2D_RECT = $905A; + GL_INT_IMAGE_CUBE = $905B; + GL_INT_IMAGE_BUFFER = $905C; + GL_INT_IMAGE_1D_ARRAY = $905D; + GL_INT_IMAGE_2D_ARRAY = $905E; + GL_INT_IMAGE_CUBE_MAP_ARRAY = $905F; + GL_INT_IMAGE_2D_MULTISAMPLE = $9060; + GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $9061; + GL_UNSIGNED_INT_IMAGE_1D = $9062; + GL_UNSIGNED_INT_IMAGE_2D = $9063; + GL_UNSIGNED_INT_IMAGE_3D = $9064; + GL_UNSIGNED_INT_IMAGE_2D_RECT = $9065; + GL_UNSIGNED_INT_IMAGE_CUBE = $9066; + GL_UNSIGNED_INT_IMAGE_BUFFER = $9067; + GL_UNSIGNED_INT_IMAGE_1D_ARRAY = $9068; + GL_UNSIGNED_INT_IMAGE_2D_ARRAY = $9069; + GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = $906A; + GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = $906B; + GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = $906C; + GL_MAX_IMAGE_SAMPLES = $906D; + GL_IMAGE_BINDING_FORMAT = $906E; + GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = $90C7; + GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = $90C8; + GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = $90C9; + GL_MAX_VERTEX_IMAGE_UNIFORMS = $90CA; + GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = $90CB; + GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = $90CC; + GL_MAX_GEOMETRY_IMAGE_UNIFORMS = $90CD; + GL_MAX_FRAGMENT_IMAGE_UNIFORMS = $90CE; + GL_MAX_COMBINED_IMAGE_UNIFORMS = $90CF; + + // GL_ARB_texture_storage + GL_TEXTURE_IMMUTABLE_FORMAT = $912F; + + // 4.3 + GL_COMPRESSED_RGBA_ASTC_4x4_KHR = $93B0; + GL_COMPRESSED_RGBA_ASTC_5x4_KHR = $93B1; + GL_COMPRESSED_RGBA_ASTC_5x5_KHR = $93B2; + GL_COMPRESSED_RGBA_ASTC_6x5_KHR = $93B3; + GL_COMPRESSED_RGBA_ASTC_6x6_KHR = $93B4; + GL_COMPRESSED_RGBA_ASTC_8x5_KHR = $93B5; + GL_COMPRESSED_RGBA_ASTC_8x6_KHR = $93B6; + GL_COMPRESSED_RGBA_ASTC_8x8_KHR = $93B7; + GL_COMPRESSED_RGBA_ASTC_105_KHR = $93B8; + GL_COMPRESSED_RGBA_ASTC_106_KHR = $93B9; + GL_COMPRESSED_RGBA_ASTC_108_KHR = $93BA; + GL_COMPRESSED_RGBA_ASTC_110_KHR = $93BB; + GL_COMPRESSED_RGBA_ASTC_12x10_KHR = $93BC; + GL_COMPRESSED_RGBA_ASTC_12x12_KHR = $93BD; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = $93D0; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = $93D1; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = $93D2; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = $93D3; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = $93D4; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = $93D5; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = $93D6; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = $93D7; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = $93D8; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = $93D9; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = $93DA; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = $93DB; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = $93DC; + GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = $93DD; + // (4.3) GL_KHR_debug + GL_DEBUG_OUTPUT_SYNCHRONOUS = $8242; + GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = $8243; + GL_DEBUG_CALLBACK_FUNCTION = $8244; + GL_DEBUG_CALLBACK_USER_PARAM = $8245; + GL_DEBUG_SOURCE_API = $8246; + GL_DEBUG_SOURCE_WINDOW_SYSTEM = $8247; + GL_DEBUG_SOURCE_SHADER_COMPILER = $8248; + GL_DEBUG_SOURCE_THIRD_PARTY = $8249; + GL_DEBUG_SOURCE_APPLICATION = $824A; + GL_DEBUG_SOURCE_OTHER = $824B; + GL_DEBUG_TYPE_ERROR = $824C; + GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = $824D; + GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = $824E; + GL_DEBUG_TYPE_PORTABILITY = $824F; + GL_DEBUG_TYPE_PERFORMANCE = $8250; + GL_DEBUG_TYPE_OTHER = $8251; + GL_DEBUG_TYPE_MARKER = $8268; + GL_DEBUG_TYPE_PUSH_GROUP = $8269; + GL_DEBUG_TYPE_POP_GROUP = $826A; + GL_DEBUG_SEVERITY_NOTIFICATION = $826B; + GL_MAX_DEBUG_GROUP_STACK_DEPTH = $826C; + GL_DEBUG_GROUP_STACK_DEPTH = $826D; + GL_BUFFER = $82E0; + GL_SHADER = $82E1; + GL_PROGRAM = $82E2; + GL_QUERY = $82E3; + GL_PROGRAM_PIPELINE = $82E4; + GL_SAMPLER = $82E6; + GL_DISPLAY_LIST = $82E7; + GL_MAX_LABEL_LENGTH = $82E8; + GL_MAX_DEBUG_MESSAGE_LENGTH = $9143; + GL_MAX_DEBUG_LOGGED_MESSAGES = $9144; + GL_DEBUG_LOGGED_MESSAGES = $9145; + GL_DEBUG_SEVERITY_HIGH = $9146; + GL_DEBUG_SEVERITY_MEDIUM = $9147; + GL_DEBUG_SEVERITY_LOW = $9148; + GL_DEBUG_OUTPUT = $92E0; + GL_CONTEXT_FLAG_DEBUG_BIT = $00000002; + GL_COMPUTE_SHADER = $91B9; + GL_MAX_COMPUTE_UNIFORM_BLOCKS = $91BB; + GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = $91BC; + GL_MAX_COMPUTE_IMAGE_UNIFORMS = $91BD; + GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = $8262; + GL_MAX_COMPUTE_UNIFORM_COMPONENTS = $8263; + GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = $8264; + GL_MAX_COMPUTE_ATOMIC_COUNTERS = $8265; + GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = $8266; + GL_MAX_COMPUTE_LOCAL_INVOCATIONS = $90EB; + GL_MAX_COMPUTE_WORK_GROUP_COUNT = $91BE; + GL_MAX_COMPUTE_WORK_GROUP_SIZE = $91BF; + GL_COMPUTE_LOCAL_WORK_SIZE = $8267; + GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = $90EC; + GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = $90ED; + GL_DISPATCH_INDIRECT_BUFFER = $90EE; + GL_DISPATCH_INDIRECT_BUFFER_BINDING = $90EF; + GL_COMPUTE_SHADER_BIT = $00000020; + GL_COMPRESSED_RGB8_ETC2 = $9274; + GL_COMPRESSED_SRGB8_ETC2 = $9275; + GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9276; + GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9277; + GL_COMPRESSED_RGBA8_ETC2_EAC = $9278; + GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = $9279; + GL_COMPRESSED_R11_EAC = $9270; + GL_COMPRESSED_SIGNED_R11_EAC = $9271; + GL_COMPRESSED_RG11_EAC = $9272; + GL_COMPRESSED_SIGNED_RG11_EAC = $9273; + GL_PRIMITIVE_RESTART_FIXED_INDEX = $8D69; + GL_ANY_SAMPLES_PASSED_CONSERVATIVE = $8D6A; + GL_MAX_ELEMENT_INDEX = $8D6B; + GL_MAX_UNIFORM_LOCATIONS = $826E; + GL_FRAMEBUFFER_DEFAULT_WIDTH = $9310; + GL_FRAMEBUFFER_DEFAULT_HEIGHT = $9311; + GL_FRAMEBUFFER_DEFAULT_LAYERS = $9312; + GL_FRAMEBUFFER_DEFAULT_SAMPLES = $9313; + GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = $9314; + GL_MAX_FRAMEBUFFER_WIDTH = $9315; + GL_MAX_FRAMEBUFFER_HEIGHT = $9316; + GL_MAX_FRAMEBUFFER_LAYERS = $9317; + GL_MAX_FRAMEBUFFER_SAMPLES = $9318; + GL_INTERNALFORMAT_SUPPORTED = $826F; + GL_INTERNALFORMAT_PREFERRED = $8270; + GL_INTERNALFORMAT_RED_SIZE = $8271; + GL_INTERNALFORMAT_GREEN_SIZE = $8272; + GL_INTERNALFORMAT_BLUE_SIZE = $8273; + GL_INTERNALFORMAT_ALPHA_SIZE = $8274; + GL_INTERNALFORMAT_DEPTH_SIZE = $8275; + GL_INTERNALFORMAT_STENCIL_SIZE = $8276; + GL_INTERNALFORMAT_SHARED_SIZE = $8277; + GL_INTERNALFORMAT_RED_TYPE = $8278; + GL_INTERNALFORMAT_GREEN_TYPE = $8279; + GL_INTERNALFORMAT_BLUE_TYPE = $827A; + GL_INTERNALFORMAT_ALPHA_TYPE = $827B; + GL_INTERNALFORMAT_DEPTH_TYPE = $827C; + GL_INTERNALFORMAT_STENCIL_TYPE = $827D; + GL_MAX_WIDTH = $827E; + GL_MAX_HEIGHT = $827F; + GL_MAX_DEPTH = $8280; + GL_MAX_LAYERS = $8281; + GL_MAX_COMBINED_DIMENSIONS = $8282; + GL_COLOR_COMPONENTS = $8283; + GL_DEPTH_COMPONENTS = $8284; + GL_STENCIL_COMPONENTS = $8285; + GL_COLOR_RENDERABLE = $8286; + GL_DEPTH_RENDERABLE = $8287; + GL_STENCIL_RENDERABLE = $8288; + GL_FRAMEBUFFER_RENDERABLE = $8289; + GL_FRAMEBUFFER_RENDERABLE_LAYERED = $828A; + GL_FRAMEBUFFER_BLEND = $828B; + GL_READ_PIXELS = $828C; + GL_READ_PIXELS_FORMAT = $828D; + GL_READ_PIXELS_TYPE = $828E; + GL_TEXTURE_IMAGE_FORMAT = $828F; + GL_TEXTURE_IMAGE_TYPE = $8290; + GL_GET_TEXTURE_IMAGE_FORMAT = $8291; + GL_GET_TEXTURE_IMAGE_TYPE = $8292; + GL_MIPMAP = $8293; + GL_MANUAL_GENERATE_MIPMAP = $8294; + GL_AUTO_GENERATE_MIPMAP = $8295; + GL_COLOR_ENCODING = $8296; + GL_SRGB_READ = $8297; + GL_SRGB_WRITE = $8298; + GL_SRGB_DECODE_ARB = $8299; + GL_FILTER = $829A; + GL_VERTEX_TEXTURE = $829B; + GL_TESS_CONTROL_TEXTURE = $829C; + GL_TESS_EVALUATION_TEXTURE = $829D; + GL_GEOMETRY_TEXTURE = $829E; + GL_FRAGMENT_TEXTURE = $829F; + GL_COMPUTE_TEXTURE = $82A0; + GL_TEXTURE_SHADOW = $82A1; + GL_TEXTURE_GATHER = $82A2; + GL_TEXTURE_GATHER_SHADOW = $82A3; + GL_SHADER_IMAGE_LOAD = $82A4; + GL_SHADER_IMAGE_STORE = $82A5; + GL_SHADER_IMAGE_ATOMIC = $82A6; + GL_IMAGE_TEXEL_SIZE = $82A7; + GL_IMAGE_COMPATIBILITY_CLASS = $82A8; + GL_IMAGE_PIXEL_FORMAT = $82A9; + GL_IMAGE_PIXEL_TYPE = $82AA; + GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = $82AC; + GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = $82AD; + GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = $82AE; + GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = $82AF; + GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = $82B1; + GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = $82B2; + GL_TEXTURE_COMPRESSED_BLOCK_SIZE = $82B3; + GL_CLEAR_BUFFER = $82B4; + GL_TEXTURE_VIEW = $82B5; + GL_VIEW_COMPATIBILITY_CLASS = $82B6; + GL_FULL_SUPPORT = $82B7; + GL_CAVEAT_SUPPORT = $82B8; + GL_IMAGE_CLASS_4_X_32 = $82B9; + GL_IMAGE_CLASS_2_X_32 = $82BA; + GL_IMAGE_CLASS_1_X_32 = $82BB; + GL_IMAGE_CLASS_4_X_16 = $82BC; + GL_IMAGE_CLASS_2_X_16 = $82BD; + GL_IMAGE_CLASS_1_X_16 = $82BE; + GL_IMAGE_CLASS_4_X_8 = $82BF; + GL_IMAGE_CLASS_2_X_8 = $82C0; + GL_IMAGE_CLASS_1_X_8 = $82C1; + GL_IMAGE_CLASS_11_11_10 = $82C2; + GL_IMAGE_CLASS_10_10_10_2 = $82C3; + GL_VIEW_CLASS_128_BITS = $82C4; + GL_VIEW_CLASS_96_BITS = $82C5; + GL_VIEW_CLASS_64_BITS = $82C6; + GL_VIEW_CLASS_48_BITS = $82C7; + GL_VIEW_CLASS_32_BITS = $82C8; + GL_VIEW_CLASS_24_BITS = $82C9; + GL_VIEW_CLASS_16_BITS = $82CA; + GL_VIEW_CLASS_8_BITS = $82CB; + GL_VIEW_CLASS_S3TC_DXT1_RGB = $82CC; + GL_VIEW_CLASS_S3TC_DXT1_RGBA = $82CD; + GL_VIEW_CLASS_S3TC_DXT3_RGBA = $82CE; + GL_VIEW_CLASS_S3TC_DXT5_RGBA = $82CF; + GL_VIEW_CLASS_RGTC1_RED = $82D0; + GL_VIEW_CLASS_RGTC2_RG = $82D1; + GL_VIEW_CLASS_BPTC_UNORM = $82D2; + GL_VIEW_CLASS_BPTC_FLOAT = $82D3; + GL_UNIFORM = $92E1; + GL_UNIFORM_BLOCK = $92E2; + GL_PROGRAM_INPUT = $92E3; + GL_PROGRAM_OUTPUT = $92E4; + GL_BUFFER_VARIABLE = $92E5; + GL_SHADER_STORAGE_BLOCK = $92E6; + GL_VERTEX_SUBROUTINE = $92E8; + GL_TESS_CONTROL_SUBROUTINE = $92E9; + GL_TESS_EVALUATION_SUBROUTINE = $92EA; + GL_GEOMETRY_SUBROUTINE = $92EB; + GL_FRAGMENT_SUBROUTINE = $92EC; + GL_COMPUTE_SUBROUTINE = $92ED; + GL_VERTEX_SUBROUTINE_UNIFORM = $92EE; + GL_TESS_CONTROL_SUBROUTINE_UNIFORM = $92EF; + GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = $92F0; + GL_GEOMETRY_SUBROUTINE_UNIFORM = $92F1; + GL_FRAGMENT_SUBROUTINE_UNIFORM = $92F2; + GL_COMPUTE_SUBROUTINE_UNIFORM = $92F3; + GL_TRANSFORM_FEEDBACK_VARYING = $92F4; + GL_ACTIVE_RESOURCES = $92F5; + GL_MAX_NAME_LENGTH = $92F6; + GL_MAX_NUM_ACTIVE_VARIABLES = $92F7; + GL_MAX_NUM_COMPATIBLE_SUBROUTINES = $92F8; + GL_NAME_LENGTH = $92F9; + GL_TYPE = $92FA; + GL_ARRAY_SIZE = $92FB; + GL_OFFSET = $92FC; + GL_BLOCK_INDEX = $92FD; + GL_ARRAY_STRIDE = $92FE; + GL_MATRIX_STRIDE = $92FF; + GL_IS_ROW_MAJOR = $9300; + GL_ATOMIC_COUNTER_BUFFER_INDEX = $9301; + GL_BUFFER_BINDING = $9302; + GL_BUFFER_DATA_SIZE = $9303; + GL_NUM_ACTIVE_VARIABLES = $9304; + GL_ACTIVE_VARIABLES = $9305; + GL_REFERENCED_BY_VERTEX_SHADER = $9306; + GL_REFERENCED_BY_TESS_CONTROL_SHADER = $9307; + GL_REFERENCED_BY_TESS_EVALUATION_SHADER = $9308; + GL_REFERENCED_BY_GEOMETRY_SHADER = $9309; + GL_REFERENCED_BY_FRAGMENT_SHADER = $930A; + GL_REFERENCED_BY_COMPUTE_SHADER = $930B; + GL_TOP_LEVEL_ARRAY_SIZE = $930C; + GL_TOP_LEVEL_ARRAY_STRIDE = $930D; + GL_LOCATION = $930E; + GL_LOCATION_INDEX = $930F; + GL_IS_PER_PATCH = $92E7; + GL_SHADER_STORAGE_BUFFER = $90D2; + GL_SHADER_STORAGE_BUFFER_BINDING = $90D3; + GL_SHADER_STORAGE_BUFFER_START = $90D4; + GL_SHADER_STORAGE_BUFFER_SIZE = $90D5; + GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = $90D6; + GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = $90D7; + GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = $90D8; + GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = $90D9; + GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = $90DA; + GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = $90DB; + GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = $90DC; + GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = $90DD; + GL_MAX_SHADER_STORAGE_BLOCK_SIZE = $90DE; + GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = $90DF; + GL_SHADER_STORAGE_BARRIER_BIT = $2000; + GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS; + GL_DEPTH_STENCIL_TEXTURE_MODE = $90EA; + GL_TEXTURE_BUFFER_OFFSET = $919D; + GL_TEXTURE_BUFFER_SIZE = $919E; + GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = $919F; + GL_TEXTURE_VIEW_MIN_LEVEL = $82DB; + GL_TEXTURE_VIEW_NUM_LEVELS = $82DC; + GL_TEXTURE_VIEW_MIN_LAYER = $82DD; + GL_TEXTURE_VIEW_NUM_LAYERS = $82DE; + GL_TEXTURE_IMMUTABLE_LEVELS = $82DF; + GL_VERTEX_ATTRIB_BINDING = $82D4; + GL_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D5; + GL_VERTEX_BINDING_DIVISOR = $82D6; + GL_VERTEX_BINDING_OFFSET = $82D7; + GL_VERTEX_BINDING_STRIDE = $82D8; + GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D9; + GL_MAX_VERTEX_ATTRIB_BINDINGS = $82DA; + // END 4.3 + + // GL 4.4 + GL_MAX_VERTEX_ATTRIB_STRIDE = $82E5; + GL_MAP_PERSISTENT_BIT = $0040; + GL_MAP_COHERENT_BIT = $0080; + GL_DYNAMIC_STORAGE_BIT = $0100; + GL_CLIENT_STORAGE_BIT = $0200; + GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = $00004000; + GL_BUFFER_IMMUTABLE_STORAGE = $821F; + GL_BUFFER_STORAGE_FLAGS = $8220; + GL_CLEAR_TEXTURE = $9365; + GL_LOCATION_COMPONENT = $934A; + GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = $934B; + GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = $934C; + GL_QUERY_BUFFER = $9192; + GL_QUERY_BUFFER_BARRIER_BIT = $00008000; + GL_QUERY_BUFFER_BINDING = $9193; + GL_QUERY_RESULT_NO_WAIT = $9194; + GL_MIRROR_CLAMP_TO_EDGE = $8743; + // END GL 4.4 + + // GL_ATI_draw_buffers + GL_MAX_DRAW_BUFFERS_ATI = $8824; + GL_DRAW_BUFFER0_ATI = $8825; + GL_DRAW_BUFFER1_ATI = $8826; + GL_DRAW_BUFFER2_ATI = $8827; + GL_DRAW_BUFFER3_ATI = $8828; + GL_DRAW_BUFFER4_ATI = $8829; + GL_DRAW_BUFFER5_ATI = $882A; + GL_DRAW_BUFFER6_ATI = $882B; + GL_DRAW_BUFFER7_ATI = $882C; + GL_DRAW_BUFFER8_ATI = $882D; + GL_DRAW_BUFFER9_ATI = $882E; + GL_DRAW_BUFFER10_ATI = $882F; + GL_DRAW_BUFFER11_ATI = $8830; + GL_DRAW_BUFFER12_ATI = $8831; + GL_DRAW_BUFFER13_ATI = $8832; + GL_DRAW_BUFFER14_ATI = $8833; + GL_DRAW_BUFFER15_ATI = $8834; + + // GL_ATI_element_array + GL_ELEMENT_ARRAY_ATI = $8768; + GL_ELEMENT_ARRAY_TYPE_ATI = $8769; + GL_ELEMENT_ARRAY_POINTER_ATI = $876A; + + // GL_ATI_envmap_bumpmap + GL_BUMP_ROT_MATRIX_ATI = $8775; + GL_BUMP_ROT_MATRIX_SIZE_ATI = $8776; + GL_BUMP_NUM_TEX_UNITS_ATI = $8777; + GL_BUMP_TEX_UNITS_ATI = $8778; + GL_DUDV_ATI = $8779; + GL_DU8DV8_ATI = $877A; + GL_BUMP_ENVMAP_ATI = $877B; + GL_BUMP_TARGET_ATI = $877C; + + // GL_ATI_fragment_shader + GL_FRAGMENT_SHADER_ATI = $8920; + GL_REG_0_ATI = $8921; + GL_REG_1_ATI = $8922; + GL_REG_2_ATI = $8923; + GL_REG_3_ATI = $8924; + GL_REG_4_ATI = $8925; + GL_REG_5_ATI = $8926; + GL_REG_6_ATI = $8927; + GL_REG_7_ATI = $8928; + GL_REG_8_ATI = $8929; + GL_REG_9_ATI = $892A; + GL_REG_10_ATI = $892B; + GL_REG_11_ATI = $892C; + GL_REG_12_ATI = $892D; + GL_REG_13_ATI = $892E; + GL_REG_14_ATI = $892F; + GL_REG_15_ATI = $8930; + GL_REG_16_ATI = $8931; + GL_REG_17_ATI = $8932; + GL_REG_18_ATI = $8933; + GL_REG_19_ATI = $8934; + GL_REG_20_ATI = $8935; + GL_REG_21_ATI = $8936; + GL_REG_22_ATI = $8937; + GL_REG_23_ATI = $8938; + GL_REG_24_ATI = $8939; + GL_REG_25_ATI = $893A; + GL_REG_26_ATI = $893B; + GL_REG_27_ATI = $893C; + GL_REG_28_ATI = $893D; + GL_REG_29_ATI = $893E; + GL_REG_30_ATI = $893F; + GL_REG_31_ATI = $8940; + GL_CON_0_ATI = $8941; + GL_CON_1_ATI = $8942; + GL_CON_2_ATI = $8943; + GL_CON_3_ATI = $8944; + GL_CON_4_ATI = $8945; + GL_CON_5_ATI = $8946; + GL_CON_6_ATI = $8947; + GL_CON_7_ATI = $8948; + GL_CON_8_ATI = $8949; + GL_CON_9_ATI = $894A; + GL_CON_10_ATI = $894B; + GL_CON_11_ATI = $894C; + GL_CON_12_ATI = $894D; + GL_CON_13_ATI = $894E; + GL_CON_14_ATI = $894F; + GL_CON_15_ATI = $8950; + GL_CON_16_ATI = $8951; + GL_CON_17_ATI = $8952; + GL_CON_18_ATI = $8953; + GL_CON_19_ATI = $8954; + GL_CON_20_ATI = $8955; + GL_CON_21_ATI = $8956; + GL_CON_22_ATI = $8957; + GL_CON_23_ATI = $8958; + GL_CON_24_ATI = $8959; + GL_CON_25_ATI = $895A; + GL_CON_26_ATI = $895B; + GL_CON_27_ATI = $895C; + GL_CON_28_ATI = $895D; + GL_CON_29_ATI = $895E; + GL_CON_30_ATI = $895F; + GL_CON_31_ATI = $8960; + GL_MOV_ATI = $8961; + GL_ADD_ATI = $8963; + GL_MUL_ATI = $8964; + GL_SUB_ATI = $8965; + GL_DOT3_ATI = $8966; + GL_DOT4_ATI = $8967; + GL_MAD_ATI = $8968; + GL_LERP_ATI = $8969; + GL_CND_ATI = $896A; + GL_CND0_ATI = $896B; + GL_DOT2_ADD_ATI = $896C; + GL_SECONDARY_INTERPOLATOR_ATI = $896D; + GL_NUM_FRAGMENT_REGISTERS_ATI = $896E; + GL_NUM_FRAGMENT_CONSTANTS_ATI = $896F; + GL_NUM_PASSES_ATI = $8970; + GL_NUM_INSTRUCTIONS_PER_PASS_ATI = $8971; + GL_NUM_INSTRUCTIONS_TOTAL_ATI = $8972; + GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = $8973; + GL_NUM_LOOPBACK_COMPONENTS_ATI = $8974; + GL_COLOR_ALPHA_PAIRING_ATI = $8975; + GL_SWIZZLE_STR_ATI = $8976; + GL_SWIZZLE_STQ_ATI = $8977; + GL_SWIZZLE_STR_DR_ATI = $8978; + GL_SWIZZLE_STQ_DQ_ATI = $8979; + GL_SWIZZLE_STRQ_ATI = $897A; + GL_SWIZZLE_STRQ_DQ_ATI = $897B; + GL_RED_BIT_ATI = $00000001; + GL_GREEN_BIT_ATI = $00000002; + GL_BLUE_BIT_ATI = $00000004; + GL_2X_BIT_ATI = $00000001; + GL_4X_BIT_ATI = $00000002; + GL_8X_BIT_ATI = $00000004; + GL_HALF_BIT_ATI = $00000008; + GL_QUARTER_BIT_ATI = $00000010; + GL_EIGHTH_BIT_ATI = $00000020; + GL_SATURATE_BIT_ATI = $00000040; + GL_COMP_BIT_ATI = $00000002; + GL_NEGATE_BIT_ATI = $00000004; + GL_BIAS_BIT_ATI = $00000008; + + // GL_ATI_pn_triangles + GL_PN_TRIANGLES_ATI = $87F0; + GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F1; + GL_PN_TRIANGLES_POINT_MODE_ATI = $87F2; + GL_PN_TRIANGLES_NORMAL_MODE_ATI = $87F3; + GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F4; + GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = $87F5; + GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = $87F6; + GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = $87F7; + GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = $87F8; + + // GL_ATI_separate_stencil + GL_STENCIL_BACK_FUNC_ATI = $8800; + GL_STENCIL_BACK_FAIL_ATI = $8801; + GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = $8802; + GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = $8803; + + // GL_ATI_text_fragment_shader + GL_TEXT_FRAGMENT_SHADER_ATI = $8200; + + // GL_ATI_texture_env_combine3 + GL_MODULATE_ADD_ATI = $8744; + GL_MODULATE_SIGNED_ADD_ATI = $8745; + GL_MODULATE_SUBTRACT_ATI = $8746; + + // GL_ATI_texture_float + GL_RGBA_FLOAT32_ATI = $8814; + GL_RGB_FLOAT32_ATI = $8815; + GL_ALPHA_FLOAT32_ATI = $8816; + GL_INTENSITY_FLOAT32_ATI = $8817; + GL_LUMINANCE_FLOAT32_ATI = $8818; + GL_LUMINANCE_ALPHA_FLOAT32_ATI = $8819; + GL_RGBA_FLOAT16_ATI = $881A; + GL_RGB_FLOAT16_ATI = $881B; + GL_ALPHA_FLOAT16_ATI = $881C; + GL_INTENSITY_FLOAT16_ATI = $881D; + GL_LUMINANCE_FLOAT16_ATI = $881E; + GL_LUMINANCE_ALPHA_FLOAT16_ATI = $881F; + + // GL_ATI_texture_mirror_once + GL_MIRROR_CLAMP_ATI = $8742; + GL_MIRROR_CLAMP_TO_EDGE_ATI = $8743; + + // GL_ATI_vertex_array_object + GL_STATIC_ATI = $8760; + GL_DYNAMIC_ATI = $8761; + GL_PRESERVE_ATI = $8762; + GL_DISCARD_ATI = $8763; + GL_OBJECT_BUFFER_SIZE_ATI = $8764; + GL_OBJECT_BUFFER_USAGE_ATI = $8765; + GL_ARRAY_OBJECT_BUFFER_ATI = $8766; + GL_ARRAY_OBJECT_OFFSET_ATI = $8767; + + // GL_ATI_vertex_streams + GL_MAX_VERTEX_STREAMS_ATI = $876B; + GL_VERTEX_STREAM0_ATI = $876C; + GL_VERTEX_STREAM1_ATI = $876D; + GL_VERTEX_STREAM2_ATI = $876E; + GL_VERTEX_STREAM3_ATI = $876F; + GL_VERTEX_STREAM4_ATI = $8770; + GL_VERTEX_STREAM5_ATI = $8771; + GL_VERTEX_STREAM6_ATI = $8772; + GL_VERTEX_STREAM7_ATI = $8773; + GL_VERTEX_SOURCE_ATI = $8774; + + // GL_ATI_meminfo + GL_VBO_FREE_MEMORY_ATI = $87FB; + GL_TEXTURE_FREE_MEMORY_ATI = $87FC; + GL_RENDERBUFFER_FREE_MEMORY_ATI = $87FD; + + // GL_AMD_performance_monitor + GL_COUNTER_TYPE_AMD = $8BC0; + GL_COUNTER_RANGE_AMD = $8BC1; + GL_UNSIGNED_INT64_AMD = $8BC2; + GL_PERCENTAGE_AMD = $8BC3; + GL_PERFMON_RESULT_AVAILABLE_AMD = $8BC4; + GL_PERFMON_RESULT_SIZE_AMD = $8BC5; + GL_PERFMON_RESULT_AMD = $8BC6; + + // GL_AMD_vertex_shader_tesselator + GL_SAMPLER_BUFFER_AMD = $9001; + GL_INT_SAMPLER_BUFFER_AMD = $9002; + GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = $9003; + GL_TESSELLATION_MODE_AMD = $9004; + GL_TESSELLATION_FACTOR_AMD = $9005; + GL_DISCRETE_AMD = $9006; + GL_CONTINUOUS_AMD = $9007; + + // GL_AMD_seamless_cubemap_per_texture + { reuse GL_TEXTURE_CUBE_MAP_SEAMLESS } + + // GL_AMD_name_gen_delete + GL_DATA_BUFFER_AMD = $9151; + GL_PERFORMANCE_MONITOR_AMD = $9152; + GL_QUERY_OBJECT_AMD = $9153; + GL_VERTEX_ARRAY_OBJECT_AMD = $9154; + GL_SAMPLER_OBJECT_AMD = $9155; + + // GL_AMD_debug_output + GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = $9144; + GL_DEBUG_LOGGED_MESSAGES_AMD = $9145; + GL_DEBUG_SEVERITY_HIGH_AMD = $9146; + GL_DEBUG_SEVERITY_MEDIUM_AMD = $9147; + GL_DEBUG_SEVERITY_LOW_AMD = $9148; + GL_DEBUG_CATEGORY_API_ERROR_AMD = $9149; + GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = $914A; + GL_DEBUG_CATEGORY_DEPRECATION_AMD = $914B; + GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = $914C; + GL_DEBUG_CATEGORY_PERFORMANCE_AMD = $914D; + GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = $914E; + GL_DEBUG_CATEGORY_APPLICATION_AMD = $914F; + GL_DEBUG_CATEGORY_OTHER_AMD = $9150; + + // GL_AMD_depth_clamp_separate + GL_DEPTH_CLAMP_NEAR_AMD = $901E; + GL_DEPTH_CLAMP_FAR_AMD = $901F; + + // GL_EXT_422_pixels + GL_422_EXT = $80CC; + GL_422_REV_EXT = $80CD; + GL_422_AVERAGE_EXT = $80CE; + GL_422_REV_AVERAGE_EXT = $80CF; + + // GL_EXT_abgr + GL_ABGR_EXT = $8000; + + // GL_EXT_bgra + GL_BGR_EXT = $80E0; + GL_BGRA_EXT = $80E1; + + // GL_EXT_blend_color + GL_CONSTANT_COLOR_EXT = $8001; + GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002; + GL_CONSTANT_ALPHA_EXT = $8003; + GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004; + GL_BLEND_COLOR_EXT = $8005; + + // GL_EXT_blend_func_separate + GL_BLEND_DST_RGB_EXT = $80C8; + GL_BLEND_SRC_RGB_EXT = $80C9; + GL_BLEND_DST_ALPHA_EXT = $80CA; + GL_BLEND_SRC_ALPHA_EXT = $80CB; + + // GL_EXT_blend_minmax + GL_FUNC_ADD_EXT = $8006; + GL_MIN_EXT = $8007; + GL_MAX_EXT = $8008; + GL_BLEND_EQUATION_EXT = $8009; + + // GL_EXT_blend_subtract + GL_FUNC_SUBTRACT_EXT = $800A; + GL_FUNC_REVERSE_SUBTRACT_EXT = $800B; + + // GL_EXT_clip_volume_hint + GL_CLIP_VOLUME_CLIPPING_HINT_EXT = $80F0; + + // GL_EXT_cmyka + GL_CMYK_EXT = $800C; + GL_CMYKA_EXT = $800D; + GL_PACK_CMYK_HINT_EXT = $800E; + GL_UNPACK_CMYK_HINT_EXT = $800F; + + // GL_EXT_compiled_vertex_array + GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = $81A8; + GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = $81A9; + + // GL_EXT_convolution + GL_CONVOLUTION_1D_EXT = $8010; + GL_CONVOLUTION_2D_EXT = $8011; + GL_SEPARABLE_2D_EXT = $8012; + GL_CONVOLUTION_BORDER_MODE_EXT = $8013; + GL_CONVOLUTION_FILTER_SCALE_EXT = $8014; + GL_CONVOLUTION_FILTER_BIAS_EXT = $8015; + GL_REDUCE_EXT = $8016; + GL_CONVOLUTION_FORMAT_EXT = $8017; + GL_CONVOLUTION_WIDTH_EXT = $8018; + GL_CONVOLUTION_HEIGHT_EXT = $8019; + GL_MAX_CONVOLUTION_WIDTH_EXT = $801A; + GL_MAX_CONVOLUTION_HEIGHT_EXT = $801B; + GL_POST_CONVOLUTION_RED_SCALE_EXT = $801C; + GL_POST_CONVOLUTION_GREEN_SCALE_EXT = $801D; + GL_POST_CONVOLUTION_BLUE_SCALE_EXT = $801E; + GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = $801F; + GL_POST_CONVOLUTION_RED_BIAS_EXT = $8020; + GL_POST_CONVOLUTION_GREEN_BIAS_EXT = $8021; + GL_POST_CONVOLUTION_BLUE_BIAS_EXT = $8022; + GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = $8023; + + // GL_EXT_coordinate_frame + GL_TANGENT_ARRAY_EXT = $8439; + GL_BINORMAL_ARRAY_EXT = $843A; + GL_CURRENT_TANGENT_EXT = $843B; + GL_CURRENT_BINORMAL_EXT = $843C; + GL_TANGENT_ARRAY_TYPE_EXT = $843E; + GL_TANGENT_ARRAY_STRIDE_EXT = $843F; + GL_BINORMAL_ARRAY_TYPE_EXT = $8440; + GL_BINORMAL_ARRAY_STRIDE_EXT = $8441; + GL_TANGENT_ARRAY_POINTER_EXT = $8442; + GL_BINORMAL_ARRAY_POINTER_EXT = $8443; + GL_MAP1_TANGENT_EXT = $8444; + GL_MAP2_TANGENT_EXT = $8445; + GL_MAP1_BINORMAL_EXT = $8446; + GL_MAP2_BINORMAL_EXT = $8447; + + // GL_EXT_cull_vertex + GL_CULL_VERTEX_EXT = $81AA; + GL_CULL_VERTEX_EYE_POSITION_EXT = $81AB; + GL_CULL_VERTEX_OBJECT_POSITION_EXT = $81AC; + + // GL_EXT_draw_range_elements + GL_MAX_ELEMENTS_VERTICES_EXT = $80E8; + GL_MAX_ELEMENTS_INDICES_EXT = $80E9; + + // GL_EXT_fog_coord + GL_FOG_COORDINATE_SOURCE_EXT = $8450; + GL_FOG_COORDINATE_EXT = $8451; + GL_FRAGMENT_DEPTH_EXT = $8452; + GL_CURRENT_FOG_COORDINATE_EXT = $8453; + GL_FOG_COORDINATE_ARRAY_TYPE_EXT = $8454; + GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = $8455; + GL_FOG_COORDINATE_ARRAY_POINTER_EXT = $8456; + GL_FOG_COORDINATE_ARRAY_EXT = $8457; + + // GL_EXT_framebuffer_object + GL_FRAMEBUFFER_EXT = $8D40; + GL_RENDERBUFFER_EXT = $8D41; + GL_STENCIL_INDEX_EXT = $8D45; + GL_STENCIL_INDEX1_EXT = $8D46; + GL_STENCIL_INDEX4_EXT = $8D47; + GL_STENCIL_INDEX8_EXT = $8D48; + GL_STENCIL_INDEX16_EXT = $8D49; + GL_RENDERBUFFER_WIDTH_EXT = $8D42; + GL_RENDERBUFFER_HEIGHT_EXT = $8D43; + GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = $8D44; + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = $8CD0; + GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = $8CD1; + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = $8CD2; + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = $8CD3; + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = $8CD4; + GL_COLOR_ATTACHMENT0_EXT = $8CE0; + GL_COLOR_ATTACHMENT1_EXT = $8CE1; + GL_COLOR_ATTACHMENT2_EXT = $8CE2; + GL_COLOR_ATTACHMENT3_EXT = $8CE3; + GL_COLOR_ATTACHMENT4_EXT = $8CE4; + GL_COLOR_ATTACHMENT5_EXT = $8CE5; + GL_COLOR_ATTACHMENT6_EXT = $8CE6; + GL_COLOR_ATTACHMENT7_EXT = $8CE7; + GL_COLOR_ATTACHMENT8_EXT = $8CE8; + GL_COLOR_ATTACHMENT9_EXT = $8CE9; + GL_COLOR_ATTACHMENT10_EXT = $8CEA; + GL_COLOR_ATTACHMENT11_EXT = $8CEB; + GL_COLOR_ATTACHMENT12_EXT = $8CEC; + GL_COLOR_ATTACHMENT13_EXT = $8CED; + GL_COLOR_ATTACHMENT14_EXT = $8CEE; + GL_COLOR_ATTACHMENT15_EXT = $8CEF; + GL_DEPTH_ATTACHMENT_EXT = $8D00; + GL_STENCIL_ATTACHMENT_EXT = $8D20; + GL_FRAMEBUFFER_COMPLETE_EXT = $8CD5; + GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = $8CD6; + GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = $8CD7; + GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8; + GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = $8CD9; + GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = $8CDA; + GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = $8CDB; + GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = $8CDC; + GL_FRAMEBUFFER_UNSUPPORTED_EXT = $8CDD; + GL_FRAMEBUFFER_STATUS_ERROR_EXT = $8CDE; + GL_FRAMEBUFFER_BINDING_EXT = $8CA6; + GL_RENDERBUFFER_BINDING_EXT = $8CA7; + GL_MAX_COLOR_ATTACHMENTS_EXT = $8CDF; + GL_MAX_RENDERBUFFER_SIZE_EXT = $84E8; + GL_INVALID_FRAMEBUFFER_OPERATION_EXT = $0506; + + // GL_EXT_histogram + GL_HISTOGRAM_EXT = $8024; + GL_PROXY_HISTOGRAM_EXT = $8025; + GL_HISTOGRAM_WIDTH_EXT = $8026; + GL_HISTOGRAM_FORMAT_EXT = $8027; + GL_HISTOGRAM_RED_SIZE_EXT = $8028; + GL_HISTOGRAM_GREEN_SIZE_EXT = $8029; + GL_HISTOGRAM_BLUE_SIZE_EXT = $802A; + GL_HISTOGRAM_ALPHA_SIZE_EXT = $802B; + GL_HISTOGRAM_LUMINANCE_SIZE_EXT = $802C; + GL_HISTOGRAM_SINK_EXT = $802D; + GL_MINMAX_EXT = $802E; + GL_MINMAX_FORMAT_EXT = $802F; + GL_MINMAX_SINK_EXT = $8030; + GL_TABLE_TOO_LARGE_EXT = $8031; + + // GL_EXT_index_array_formats + GL_IUI_V2F_EXT = $81AD; + GL_IUI_V3F_EXT = $81AE; + GL_IUI_N3F_V2F_EXT = $81AF; + GL_IUI_N3F_V3F_EXT = $81B0; + GL_T2F_IUI_V2F_EXT = $81B1; + GL_T2F_IUI_V3F_EXT = $81B2; + GL_T2F_IUI_N3F_V2F_EXT = $81B3; + GL_T2F_IUI_N3F_V3F_EXT = $81B4; + + // GL_EXT_index_func + GL_INDEX_TEST_EXT = $81B5; + GL_INDEX_TEST_FUNC_EXT = $81B6; + GL_INDEX_TEST_REF_EXT = $81B7; + + // GL_EXT_index_material + GL_INDEX_MATERIAL_EXT = $81B8; + GL_INDEX_MATERIAL_PARAMETER_EXT = $81B9; + GL_INDEX_MATERIAL_FACE_EXT = $81BA; + + // GL_EXT_light_texture + GL_FRAGMENT_MATERIAL_EXT = $8349; + GL_FRAGMENT_NORMAL_EXT = $834A; + GL_FRAGMENT_COLOR_EXT = $834C; + GL_ATTENUATION_EXT = $834D; + GL_SHADOW_ATTENUATION_EXT = $834E; + GL_TEXTURE_APPLICATION_MODE_EXT = $834F; + GL_TEXTURE_LIGHT_EXT = $8350; + GL_TEXTURE_MATERIAL_FACE_EXT = $8351; + GL_TEXTURE_MATERIAL_PARAMETER_EXT = $8352; + + // GL_EXT_multisample + GL_MULTISAMPLE_EXT = $809D; + GL_SAMPLE_ALPHA_TO_MASK_EXT = $809E; + GL_SAMPLE_ALPHA_TO_ONE_EXT = $809F; + GL_SAMPLE_MASK_EXT = $80A0; + GL_1PASS_EXT = $80A1; + GL_2PASS_0_EXT = $80A2; + GL_2PASS_1_EXT = $80A3; + GL_4PASS_0_EXT = $80A4; + GL_4PASS_1_EXT = $80A5; + GL_4PASS_2_EXT = $80A6; + GL_4PASS_3_EXT = $80A7; + GL_SAMPLE_BUFFERS_EXT = $80A8; + GL_SAMPLES_EXT = $80A9; + GL_SAMPLE_MASK_VALUE_EXT = $80AA; + GL_SAMPLE_MASK_INVERT_EXT = $80AB; + GL_SAMPLE_PATTERN_EXT = $80AC; + GL_MULTISAMPLE_BIT_EXT = $20000000; + + // GL_EXT_packed_pixels + GL_UNSIGNED_BYTE_3_3_2_EXT = $8032; + GL_UNSIGNED_SHORT_4_4_4_4_EXT = $8033; + GL_UNSIGNED_SHORT_5_5_5_1_EXT = $8034; + GL_UNSIGNED_INT_8_8_8_8_EXT = $8035; + GL_UNSIGNED_INT_10_10_10_2_EXT = $8036; + + // GL_EXT_paletted_texture + GL_COLOR_INDEX1_EXT = $80E2; + GL_COLOR_INDEX2_EXT = $80E3; + GL_COLOR_INDEX4_EXT = $80E4; + GL_COLOR_INDEX8_EXT = $80E5; + GL_COLOR_INDEX12_EXT = $80E6; + GL_COLOR_INDEX16_EXT = $80E7; + GL_TEXTURE_INDEX_SIZE_EXT = $80ED; + + // GL_EXT_pixel_transform + GL_PIXEL_TRANSFORM_2D_EXT = $8330; + GL_PIXEL_MAG_FILTER_EXT = $8331; + GL_PIXEL_MIN_FILTER_EXT = $8332; + GL_PIXEL_CUBIC_WEIGHT_EXT = $8333; + GL_CUBIC_EXT = $8334; + GL_AVERAGE_EXT = $8335; + GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8336; + GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8337; + GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = $8338; + + // GL_EXT_point_parameters + GL_POINT_SIZE_MIN_EXT = $8126; + GL_POINT_SIZE_MAX_EXT = $8127; + GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128; + GL_DISTANCE_ATTENUATION_EXT = $8129; + + // GL_EXT_polygon_offset + GL_POLYGON_OFFSET_EXT = $8037; + GL_POLYGON_OFFSET_FACTOR_EXT = $8038; + GL_POLYGON_OFFSET_BIAS_EXT = $8039; + + // GL_EXT_rescale_normal + GL_RESCALE_NORMAL_EXT = $803A; + + // GL_EXT_secondary_color + GL_COLOR_SUM_EXT = $8458; + GL_CURRENT_SECONDARY_COLOR_EXT = $8459; + GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = $845A; + GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = $845B; + GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = $845C; + GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = $845D; + GL_SECONDARY_COLOR_ARRAY_EXT = $845E; + + // GL_EXT_separate_specular_color + GL_LIGHT_MODEL_COLOR_CONTROL_EXT = $81F8; + GL_SINGLE_COLOR_EXT = $81F9; + GL_SEPARATE_SPECULAR_COLOR_EXT = $81FA; + + // GL_EXT_shared_texture_palette + GL_SHARED_TEXTURE_PALETTE_EXT = $81FB; + + // GL_EXT_stencil_two_side + GL_STENCIL_TEST_TWO_SIDE_EXT = $8910; + GL_ACTIVE_STENCIL_FACE_EXT = $8911; + + // GL_EXT_stencil_wrap + GL_INCR_WRAP_EXT = $8507; + GL_DECR_WRAP_EXT = $8508; + + // GL_EXT_texture + GL_ALPHA4_EXT = $803B; + GL_ALPHA8_EXT = $803C; + GL_ALPHA12_EXT = $803D; + GL_ALPHA16_EXT = $803E; + GL_LUMINANCE4_EXT = $803F; + GL_LUMINANCE8_EXT = $8040; + GL_LUMINANCE12_EXT = $8041; + GL_LUMINANCE16_EXT = $8042; + GL_LUMINANCE4_ALPHA4_EXT = $8043; + GL_LUMINANCE6_ALPHA2_EXT = $8044; + GL_LUMINANCE8_ALPHA8_EXT = $8045; + GL_LUMINANCE12_ALPHA4_EXT = $8046; + GL_LUMINANCE12_ALPHA12_EXT = $8047; + GL_LUMINANCE16_ALPHA16_EXT = $8048; + GL_INTENSITY_EXT = $8049; + GL_INTENSITY4_EXT = $804A; + GL_INTENSITY8_EXT = $804B; + GL_INTENSITY12_EXT = $804C; + GL_INTENSITY16_EXT = $804D; + GL_RGB2_EXT = $804E; + GL_RGB4_EXT = $804F; + GL_RGB5_EXT = $8050; + GL_RGB8_EXT = $8051; + GL_RGB10_EXT = $8052; + GL_RGB12_EXT = $8053; + GL_RGB16_EXT = $8054; + GL_RGBA2_EXT = $8055; + GL_RGBA4_EXT = $8056; + GL_RGB5_A1_EXT = $8057; + GL_RGBA8_EXT = $8058; + GL_RGB10_A2_EXT = $8059; + GL_RGBA12_EXT = $805A; + GL_RGBA16_EXT = $805B; + GL_TEXTURE_RED_SIZE_EXT = $805C; + GL_TEXTURE_GREEN_SIZE_EXT = $805D; + GL_TEXTURE_BLUE_SIZE_EXT = $805E; + GL_TEXTURE_ALPHA_SIZE_EXT = $805F; + GL_TEXTURE_LUMINANCE_SIZE_EXT = $8060; + GL_TEXTURE_INTENSITY_SIZE_EXT = $8061; + GL_REPLACE_EXT = $8062; + GL_PROXY_TEXTURE_1D_EXT = $8063; + GL_PROXY_TEXTURE_2D_EXT = $8064; + GL_TEXTURE_TOO_LARGE_EXT = $8065; + + // GL_EXT_texture3D + GL_PACK_SKIP_IMAGES_EXT = $806B; + GL_PACK_IMAGE_HEIGHT_EXT = $806C; + GL_UNPACK_SKIP_IMAGES_EXT = $806D; + GL_UNPACK_IMAGE_HEIGHT_EXT = $806E; + GL_TEXTURE_3D_EXT = $806F; + GL_PROXY_TEXTURE_3D_EXT = $8070; + GL_TEXTURE_DEPTH_EXT = $8071; + GL_TEXTURE_WRAP_R_EXT = $8072; + GL_MAX_3D_TEXTURE_SIZE_EXT = $8073; + + // GL_EXT_texture_compression_s3tc + GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0; + GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1; + GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2; + GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3; + + // GL_EXT_texture_cube_map + GL_NORMAL_MAP_EXT = $8511; + GL_REFLECTION_MAP_EXT = $8512; + GL_TEXTURE_CUBE_MAP_EXT = $8513; + GL_TEXTURE_BINDING_CUBE_MAP_EXT = $8514; + GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = $8515; + GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = $8516; + GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = $8517; + GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = $8518; + GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = $8519; + GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = $851A; + GL_PROXY_TEXTURE_CUBE_MAP_EXT = $851B; + GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = $851C; + + // GL_EXT_texture_edge_clamp + GL_CLAMP_TO_EDGE_EXT = $812F; + + // GL_EXT_texture_env_combine + GL_COMBINE_EXT = $8570; + GL_COMBINE_RGB_EXT = $8571; + GL_COMBINE_ALPHA_EXT = $8572; + GL_RGB_SCALE_EXT = $8573; + GL_ADD_SIGNED_EXT = $8574; + GL_INTERPOLATE_EXT = $8575; + GL_CONSTANT_EXT = $8576; + GL_PRIMARY_COLOR_EXT = $8577; + GL_PREVIOUS_EXT = $8578; + GL_SOURCE0_RGB_EXT = $8580; + GL_SOURCE1_RGB_EXT = $8581; + GL_SOURCE2_RGB_EXT = $8582; + GL_SOURCE0_ALPHA_EXT = $8588; + GL_SOURCE1_ALPHA_EXT = $8589; + GL_SOURCE2_ALPHA_EXT = $858A; + GL_OPERAND0_RGB_EXT = $8590; + GL_OPERAND1_RGB_EXT = $8591; + GL_OPERAND2_RGB_EXT = $8592; + GL_OPERAND0_ALPHA_EXT = $8598; + GL_OPERAND1_ALPHA_EXT = $8599; + GL_OPERAND2_ALPHA_EXT = $859A; + + // GL_EXT_texture_env_dot3 + GL_DOT3_RGB_EXT = $8740; + GL_DOT3_RGBA_EXT = $8741; + + // GL_EXT_texture_filter_anisotropic + GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE; + GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF; + + // GL_EXT_texture_lod_bias + GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD; + GL_TEXTURE_FILTER_CONTROL_EXT = $8500; + GL_TEXTURE_LOD_BIAS_EXT = $8501; + + // GL_EXT_texture_object + GL_TEXTURE_PRIORITY_EXT = $8066; + GL_TEXTURE_RESIDENT_EXT = $8067; + GL_TEXTURE_1D_BINDING_EXT = $8068; + GL_TEXTURE_2D_BINDING_EXT = $8069; + GL_TEXTURE_3D_BINDING_EXT = $806A; + + // GL_EXT_texture_perturb_normal + GL_PERTURB_EXT = $85AE; + GL_TEXTURE_NORMAL_EXT = $85AF; + + // GL_EXT_texture_rectangle + GL_TEXTURE_RECTANGLE_EXT = $84F5; + GL_TEXTURE_BINDING_RECTANGLE_EXT = $84F6; + GL_PROXY_TEXTURE_RECTANGLE_EXT = $84F7; + GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT = $84F8; + + // GL_EXT_vertex_array + GL_VERTEX_ARRAY_EXT = $8074; + GL_NORMAL_ARRAY_EXT = $8075; + GL_COLOR_ARRAY_EXT = $8076; + GL_INDEX_ARRAY_EXT = $8077; + GL_TEXTURE_COORD_ARRAY_EXT = $8078; + GL_EDGE_FLAG_ARRAY_EXT = $8079; + GL_VERTEX_ARRAY_SIZE_EXT = $807A; + GL_VERTEX_ARRAY_TYPE_EXT = $807B; + GL_VERTEX_ARRAY_STRIDE_EXT = $807C; + GL_VERTEX_ARRAY_COUNT_EXT = $807D; + GL_NORMAL_ARRAY_TYPE_EXT = $807E; + GL_NORMAL_ARRAY_STRIDE_EXT = $807F; + GL_NORMAL_ARRAY_COUNT_EXT = $8080; + GL_COLOR_ARRAY_SIZE_EXT = $8081; + GL_COLOR_ARRAY_TYPE_EXT = $8082; + GL_COLOR_ARRAY_STRIDE_EXT = $8083; + GL_COLOR_ARRAY_COUNT_EXT = $8084; + GL_INDEX_ARRAY_TYPE_EXT = $8085; + GL_INDEX_ARRAY_STRIDE_EXT = $8086; + GL_INDEX_ARRAY_COUNT_EXT = $8087; + GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088; + GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089; + GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A; + GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B; + GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C; + GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D; + GL_VERTEX_ARRAY_POINTER_EXT = $808E; + GL_NORMAL_ARRAY_POINTER_EXT = $808F; + GL_COLOR_ARRAY_POINTER_EXT = $8090; + GL_INDEX_ARRAY_POINTER_EXT = $8091; + GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092; + GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093; + + // GL_EXT_vertex_shader + GL_VERTEX_SHADER_EXT = $8780; + GL_VERTEX_SHADER_BINDING_EXT = $8781; + GL_OP_INDEX_EXT = $8782; + GL_OP_NEGATE_EXT = $8783; + GL_OP_DOT3_EXT = $8784; + GL_OP_DOT4_EXT = $8785; + GL_OP_MUL_EXT = $8786; + GL_OP_ADD_EXT = $8787; + GL_OP_MADD_EXT = $8788; + GL_OP_FRAC_EXT = $8789; + GL_OP_MAX_EXT = $878A; + GL_OP_MIN_EXT = $878B; + GL_OP_SET_GE_EXT = $878C; + GL_OP_SET_LT_EXT = $878D; + GL_OP_CLAMP_EXT = $878E; + GL_OP_FLOOR_EXT = $878F; + GL_OP_ROUND_EXT = $8790; + GL_OP_EXP_BASE_2_EXT = $8791; + GL_OP_LOG_BASE_2_EXT = $8792; + GL_OP_POWER_EXT = $8793; + GL_OP_RECIP_EXT = $8794; + GL_OP_RECIP_SQRT_EXT = $8795; + GL_OP_SUB_EXT = $8796; + GL_OP_CROSS_PRODUCT_EXT = $8797; + GL_OP_MULTIPLY_MATRIX_EXT = $8798; + GL_OP_MOV_EXT = $8799; + GL_OUTPUT_VERTEX_EXT = $879A; + GL_OUTPUT_COLOR0_EXT = $879B; + GL_OUTPUT_COLOR1_EXT = $879C; + GL_OUTPUT_TEXTURE_COORD0_EXT = $879D; + GL_OUTPUT_TEXTURE_COORD1_EXT = $879E; + GL_OUTPUT_TEXTURE_COORD2_EXT = $879F; + GL_OUTPUT_TEXTURE_COORD3_EXT = $87A0; + GL_OUTPUT_TEXTURE_COORD4_EXT = $87A1; + GL_OUTPUT_TEXTURE_COORD5_EXT = $87A2; + GL_OUTPUT_TEXTURE_COORD6_EXT = $87A3; + GL_OUTPUT_TEXTURE_COORD7_EXT = $87A4; + GL_OUTPUT_TEXTURE_COORD8_EXT = $87A5; + GL_OUTPUT_TEXTURE_COORD9_EXT = $87A6; + GL_OUTPUT_TEXTURE_COORD10_EXT = $87A7; + GL_OUTPUT_TEXTURE_COORD11_EXT = $87A8; + GL_OUTPUT_TEXTURE_COORD12_EXT = $87A9; + GL_OUTPUT_TEXTURE_COORD13_EXT = $87AA; + GL_OUTPUT_TEXTURE_COORD14_EXT = $87AB; + GL_OUTPUT_TEXTURE_COORD15_EXT = $87AC; + GL_OUTPUT_TEXTURE_COORD16_EXT = $87AD; + GL_OUTPUT_TEXTURE_COORD17_EXT = $87AE; + GL_OUTPUT_TEXTURE_COORD18_EXT = $87AF; + GL_OUTPUT_TEXTURE_COORD19_EXT = $87B0; + GL_OUTPUT_TEXTURE_COORD20_EXT = $87B1; + GL_OUTPUT_TEXTURE_COORD21_EXT = $87B2; + GL_OUTPUT_TEXTURE_COORD22_EXT = $87B3; + GL_OUTPUT_TEXTURE_COORD23_EXT = $87B4; + GL_OUTPUT_TEXTURE_COORD24_EXT = $87B5; + GL_OUTPUT_TEXTURE_COORD25_EXT = $87B6; + GL_OUTPUT_TEXTURE_COORD26_EXT = $87B7; + GL_OUTPUT_TEXTURE_COORD27_EXT = $87B8; + GL_OUTPUT_TEXTURE_COORD28_EXT = $87B9; + GL_OUTPUT_TEXTURE_COORD29_EXT = $87BA; + GL_OUTPUT_TEXTURE_COORD30_EXT = $87BB; + GL_OUTPUT_TEXTURE_COORD31_EXT = $87BC; + GL_OUTPUT_FOG_EXT = $87BD; + GL_SCALAR_EXT = $87BE; + GL_VECTOR_EXT = $87BF; + GL_MATRIX_EXT = $87C0; + GL_VARIANT_EXT = $87C1; + GL_INVARIANT_EXT = $87C2; + GL_LOCAL_CONSTANT_EXT = $87C3; + GL_LOCAL_EXT = $87C4; + GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = $87C5; + GL_MAX_VERTEX_SHADER_VARIANTS_EXT = $87C6; + GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = $87C7; + GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87C8; + GL_MAX_VERTEX_SHADER_LOCALS_EXT = $87C9; + GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CA; + GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = $87CB; + GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87CC; + GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = $87CD; + GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = $87CE; + GL_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CF; + GL_VERTEX_SHADER_VARIANTS_EXT = $87D0; + GL_VERTEX_SHADER_INVARIANTS_EXT = $87D1; + GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87D2; + GL_VERTEX_SHADER_LOCALS_EXT = $87D3; + GL_VERTEX_SHADER_OPTIMIZED_EXT = $87D4; + GL_X_EXT = $87D5; + GL_Y_EXT = $87D6; + GL_Z_EXT = $87D7; + GL_W_EXT = $87D8; + GL_NEGATIVE_X_EXT = $87D9; + GL_NEGATIVE_Y_EXT = $87DA; + GL_NEGATIVE_Z_EXT = $87DB; + GL_NEGATIVE_W_EXT = $87DC; + GL_ZERO_EXT = $87DD; + GL_ONE_EXT = $87DE; + GL_NEGATIVE_ONE_EXT = $87DF; + GL_NORMALIZED_RANGE_EXT = $87E0; + GL_FULL_RANGE_EXT = $87E1; + GL_CURRENT_VERTEX_EXT = $87E2; + GL_MVP_MATRIX_EXT = $87E3; + GL_VARIANT_VALUE_EXT = $87E4; + GL_VARIANT_DATATYPE_EXT = $87E5; + GL_VARIANT_ARRAY_STRIDE_EXT = $87E6; + GL_VARIANT_ARRAY_TYPE_EXT = $87E7; + GL_VARIANT_ARRAY_EXT = $87E8; + GL_VARIANT_ARRAY_POINTER_EXT = $87E9; + GL_INVARIANT_VALUE_EXT = $87EA; + GL_INVARIANT_DATATYPE_EXT = $87EB; + GL_LOCAL_CONSTANT_VALUE_EXT = $87EC; + GL_LOCAL_CONSTANT_DATATYPE_EXT = $87ED; + + // GL_EXT_vertex_weighting + GL_MODELVIEW0_STACK_DEPTH_EXT = $0BA3; + GL_MODELVIEW1_STACK_DEPTH_EXT = $8502; + GL_MODELVIEW0_MATRIX_EXT = $0BA6; + GL_MODELVIEW1_MATRIX_EXT = $8506; + GL_VERTEX_WEIGHTING_EXT = $8509; + GL_MODELVIEW0_EXT = $1700; + GL_MODELVIEW1_EXT = $850A; + GL_CURRENT_VERTEX_WEIGHT_EXT = $850B; + GL_VERTEX_WEIGHT_ARRAY_EXT = $850C; + GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = $850D; + GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = $850E; + GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = $850F; + GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = $8510; + + // GL_EXT_depth_bounds_test + GL_DEPTH_BOUNDS_TEST_EXT = $8890; + GL_DEPTH_BOUNDS_EXT = $8891; + + // GL_EXT_texture_mirror_clamp + GL_MIRROR_CLAMP_EXT = $8742; + GL_MIRROR_CLAMP_TO_EDGE_EXT = $8743; + GL_MIRROR_CLAMP_TO_BORDER_EXT = $8912; + + // GL_EXT_blend_equation_separate + GL_BLEND_EQUATION_RGB_EXT = $8009; + GL_BLEND_EQUATION_ALPHA_EXT = $883D; + + // GL_EXT_pixel_buffer_object + GL_PIXEL_PACK_BUFFER_EXT = $88EB; + GL_PIXEL_UNPACK_BUFFER_EXT = $88EC; + GL_PIXEL_PACK_BUFFER_BINDING_EXT = $88ED; + GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = $88EF; + + // GL_EXT_stencil_clear_tag + GL_STENCIL_TAG_BITS_EXT = $88F2; + GL_STENCIL_CLEAR_TAG_VALUE_EXT = $88F3; + + // GL_EXT_packed_depth_stencil + GL_DEPTH_STENCIL_EXT = $84F9; + GL_UNSIGNED_INT_24_8_EXT = $84FA; + GL_DEPTH24_STENCIL8_EXT = $88F0; + GL_TEXTURE_STENCIL_SIZE_EXT = $88F1; + + // GL_EXT_texture_sRGB + GL_SRGB_EXT = $8C40; + GL_SRGB8_EXT = $8C41; + GL_SRGB_ALPHA_EXT = $8C42; + GL_SRGB8_ALPHA8_EXT = $8C43; + GL_SLUMINANCE_ALPHA_EXT = $8C44; + GL_SLUMINANCE8_ALPHA8_EXT = $8C45; + GL_SLUMINANCE_EXT = $8C46; + GL_SLUMINANCE8_EXT = $8C47; + GL_COMPRESSED_SRGB_EXT = $8C48; + GL_COMPRESSED_SRGB_ALPHA_EXT = $8C49; + GL_COMPRESSED_SLUMINANCE_EXT = $8C4A; + GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = $8C4B; + GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = $8C4C; + GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = $8C4D; + GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = $8C4E; + GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = $8C4F; + + // GL_EXT_framebuffer_blit + GL_READ_FRAMEBUFFER_EXT = $8CA8; + GL_DRAW_FRAMEBUFFER_EXT = $8CA9; + GL_READ_FRAMEBUFFER_BINDING_EXT = GL_FRAMEBUFFER_BINDING_EXT; + GL_DRAW_FRAMEBUFFER_BINDING_EXT = $8CAA; + + // GL_EXT_framebuffer_multisample + GL_RENDERBUFFER_SAMPLES_EXT = $8CAB; + GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = $8D56; + GL_MAX_SAMPLES_EXT = $8D57; + + // GL_EXT_timer_query + GL_TIME_ELAPSED_EXT = $88BF; + + // GL_EXT_bindable_uniform + GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = $8DE2; + GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = $8DE3; + GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = $8DE4; + GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = $8DED; + GL_UNIFORM_BUFFER_EXT = $8DEE; + GL_UNIFORM_BUFFER_BINDING_EXT = $8DEF; + + // GL_EXT_framebuffer_sRGB + GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2; + WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20A9; + GL_FRAMEBUFFER_SRGB_EXT = $8DB9; + GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = $8DBA; + + // GL_EXT_geometry_shader4 + GL_GEOMETRY_SHADER_EXT = $8DD9; + GL_GEOMETRY_VERTICES_OUT_EXT = $8DDA; + GL_GEOMETRY_INPUT_TYPE_EXT = $8DDB; + GL_GEOMETRY_OUTPUT_TYPE_EXT = $8DDC; + GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = $8C29; + GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = $8DDD; + GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = $8DDE; + GL_MAX_VARYING_COMPONENTS_EXT = $8B4B; + GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = $8DDF; + GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = $8DE0; + GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = $8DE1; + GL_LINES_ADJACENCY_EXT = $A; + GL_LINE_STRIP_ADJACENCY_EXT = $B; + GL_TRIANGLES_ADJACENCY_EXT = $C; + GL_TRIANGLE_STRIP_ADJACENCY_EXT = $D; + GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = $8DA8; + GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = $8DA9; + GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = $8DA7; + GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = $8CD4; + GL_PROGRAM_POINT_SIZE_EXT = $8642; + + // GL_EXT_gpu_shader4 + GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = $88FD; + GL_SAMPLER_1D_ARRAY_EXT = $8DC0; + GL_SAMPLER_2D_ARRAY_EXT = $8DC1; + GL_SAMPLER_BUFFER_EXT = $8DC2; + GL_SAMPLER_1D_ARRAY_SHADOW_EXT = $8DC3; + GL_SAMPLER_2D_ARRAY_SHADOW_EXT = $8DC4; + GL_SAMPLER_CUBE_SHADOW_EXT = $8DC5; + GL_UNSIGNED_INT_VEC2_EXT = $8DC6; + GL_UNSIGNED_INT_VEC3_EXT = $8DC7; + GL_UNSIGNED_INT_VEC4_EXT = $8DC8; + GL_INT_SAMPLER_1D_EXT = $8DC9; + GL_INT_SAMPLER_2D_EXT = $8DCA; + GL_INT_SAMPLER_3D_EXT = $8DCB; + GL_INT_SAMPLER_CUBE_EXT = $8DCC; + GL_INT_SAMPLER_2D_RECT_EXT = $8DCD; + GL_INT_SAMPLER_1D_ARRAY_EXT = $8DCE; + GL_INT_SAMPLER_2D_ARRAY_EXT = $8DCF; + GL_INT_SAMPLER_BUFFER_EXT = $8DD0; + GL_UNSIGNED_INT_SAMPLER_1D_EXT = $8DD1; + GL_UNSIGNED_INT_SAMPLER_2D_EXT = $8DD2; + GL_UNSIGNED_INT_SAMPLER_3D_EXT = $8DD3; + GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = $8DD4; + GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = $8DD5; + GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = $8DD6; + GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = $8DD7; + GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = $8DD8; + GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = $8904; + GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = $8905; + + // GL_EXT_packed_float + GL_R11F_G11F_B10F_EXT = $8C3A; + GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = $8C3B; + RGBA_SIGNED_COMPONENTS_EXT = $8C3C; + WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = $20A8; + GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1; + GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008; + + // GL_EXT_texture_array + GL_TEXTURE_1D_ARRAY_EXT = $8C18; + GL_TEXTURE_2D_ARRAY_EXT = $8C1A; + GL_PROXY_TEXTURE_2D_ARRAY_EXT = $8C1B; + GL_PROXY_TEXTURE_1D_ARRAY_EXT = $8C19; + GL_TEXTURE_BINDING_1D_ARRAY_EXT = $8C1C; + GL_TEXTURE_BINDING_2D_ARRAY_EXT = $8C1D; + GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = $88FF; + GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = $884E; + + // GL_EXT_texture_buffer_object + GL_TEXTURE_BUFFER_EXT = $8C2A; + GL_MAX_TEXTURE_BUFFER_SIZE_EXT = $8C2B; + GL_TEXTURE_BINDING_BUFFER_EXT = $8C2C; + GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = $8C2D; + GL_TEXTURE_BUFFER_FORMAT_EXT = $8C2E; + + // GL_EXT_texture_compression_latc + GL_COMPRESSED_LUMINANCE_LATC1_EXT = $8C70; + GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = $8C71; + GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = $8C72; + GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = $8C73; + + // GL_EXT_texture_compression_rgtc + GL_COMPRESSED_RED_RGTC1_EXT = $8DBB; + GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = $8DBC; + GL_COMPRESSED_RED_GREEN_RGTC2_EXT = $8DBD; + GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = $8DBE; + + // GL_EXT_texture_integer + GL_RGBA_INTEGER_MODE_EXT = $8D9E; + GL_RGBA32UI_EXT = $8D70; + GL_RGB32UI_EXT = $8D71; + GL_ALPHA32UI_EXT = $8D72; + GL_INTENSITY32UI_EXT = $8D73; + GL_LUMINANCE32UI_EXT = $8D74; + GL_LUMINANCE_ALPHA32UI_EXT = $8D75; + GL_RGBA16UI_EXT = $8D76; + GL_RGB16UI_EXT = $8D77; + GL_ALPHA16UI_EXT = $8D78; + GL_INTENSITY16UI_EXT = $8D79; + GL_LUMINANCE16UI_EXT = $8D7A; + GL_LUMINANCE_ALPHA16UI_EXT = $8D7B; + GL_RGBA8UI_EXT = $8D7C; + GL_RGB8UI_EXT = $8D7D; + GL_ALPHA8UI_EXT = $8D7E; + GL_INTENSITY8UI_EXT = $8D7F; + GL_LUMINANCE8UI_EXT = $8D80; + GL_LUMINANCE_ALPHA8UI_EXT = $8D81; + GL_RGBA32I_EXT = $8D82; + GL_RGB32I_EXT = $8D83; + GL_ALPHA32I_EXT = $8D84; + GL_INTENSITY32I_EXT = $8D85; + GL_LUMINANCE32I_EXT = $8D86; + GL_LUMINANCE_ALPHA32I_EXT = $8D87; + GL_RGBA16I_EXT = $8D88; + GL_RGB16I_EXT = $8D89; + GL_ALPHA16I_EXT = $8D8A; + GL_INTENSITY16I_EXT = $8D8B; + GL_LUMINANCE16I_EXT = $8D8C; + GL_LUMINANCE_ALPHA16I_EXT = $8D8D; + GL_RGBA8I_EXT = $8D8E; + GL_RGB8I_EXT = $8D8F; + GL_ALPHA8I_EXT = $8D90; + GL_INTENSITY8I_EXT = $8D91; + GL_LUMINANCE8I_EXT = $8D92; + GL_LUMINANCE_ALPHA8I_EXT = $8D93; + GL_RED_INTEGER_EXT = $8D94; + GL_GREEN_INTEGER_EXT = $8D95; + GL_BLUE_INTEGER_EXT = $8D96; + GL_ALPHA_INTEGER_EXT = $8D97; + GL_RGB_INTEGER_EXT = $8D98; + GL_RGBA_INTEGER_EXT = $8D99; + GL_BGR_INTEGER_EXT = $8D9A; + GL_BGRA_INTEGER_EXT = $8D9B; + GL_LUMINANCE_INTEGER_EXT = $8D9C; + GL_LUMINANCE_ALPHA_INTEGER_EXT = $8D9D; + + // GL_EXT_texture_shared_exponent + GL_RGB9_E5_EXT = $8C3D; + GL_UNSIGNED_INT_5_9_9_9_REV_EXT = $8C3E; + GL_TEXTURE_SHARED_SIZE_EXT = $8C3F; + + // GL_EXT_transform_feedback + GL_TRANSFORM_FEEDBACK_BUFFER_EXT = $8C8E; + GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = $8C84; + GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = $8C85; + GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = $8C8F; + GL_INTERLEAVED_ATTRIBS_EXT = $8C8C; + GL_SEPARATE_ATTRIBS_EXT = $8C8D; + GL_PRIMITIVES_GENERATED_EXT = $8C87; + GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = $8C88; + GL_RASTERIZER_DISCARD_EXT = $8C89; + GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = $8C8A; + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = $8C8B; + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = $8C80; + GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = $8C83; + GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = $8C7F; + GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = $8C76; + + // GL_EXT_direct_state_access + GL_PROGRAM_MATRIX_EXT = $8E2D; + GL_TRANSPOSE_PROGRAM_MATRIX_EXT = $8E2E; + GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = $8E2F; + + // GL_EXT_texture_swizzle + GL_TEXTURE_SWIZZLE_R_EXT = $8E42; + GL_TEXTURE_SWIZZLE_G_EXT = $8E43; + GL_TEXTURE_SWIZZLE_B_EXT = $8E44; + GL_TEXTURE_SWIZZLE_A_EXT = $8E45; + GL_TEXTURE_SWIZZLE_RGBA_EXT = $8E46; + + // GL_EXT_provoking_vertex + GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = $8E4C; + GL_FIRST_VERTEX_CONVENTION_EXT = $8E4D; + GL_LAST_VERTEX_CONVENTION_EXT = $8E4E; + GL_PROVOKING_VERTEX_EXT = $8E4F; + + // GL_EXT_texture_snorm + GL_ALPHA_SNORM = $9010; + GL_LUMINANCE_SNORM = $9011; + GL_LUMINANCE_ALPHA_SNORM = $9012; + GL_INTENSITY_SNORM = $9013; + GL_ALPHA8_SNORM = $9014; + GL_LUMINANCE8_SNORM = $9015; + GL_LUMINANCE8_ALPHA8_SNORM = $9016; + GL_INTENSITY8_SNORM = $9017; + GL_ALPHA16_SNORM = $9018; + GL_LUMINANCE16_SNORM = $9019; + GL_LUMINANCE16_ALPHA16_SNORM = $901A; + GL_INTENSITY16_SNORM = $901B; + { reuse GL_RED_SNORM } + { reuse GL_RG_SNORM } + { reuse GL_RGB_SNORM } + { reuse GL_RGBA_SNORM } + { reuse GL_R8_SNORM } + { reuse GL_RG8_SNORM } + { reuse GL_RGB8_SNORM } + { reuse GL_RGBA8_SNORM } + { reuse GL_R16_SNORM } + { reuse GL_RG16_SNORM } + { reuse GL_RGB16_SNORM } + { reuse GL_RGBA16_SNORM } + { reuse GL_SIGNED_NORMALIZED } + + // GL_EXT_separate_shader_objects + GL_ACTIVE_PROGRAM_EXT = $8B8D; + + // GL_EXT_shader_image_load_store + GL_MAX_IMAGE_UNITS_EXT = $8F38; + GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = $8F39; + GL_IMAGE_BINDING_NAME_EXT = $8F3A; + GL_IMAGE_BINDING_LEVEL_EXT = $8F3B; + GL_IMAGE_BINDING_LAYERED_EXT = $8F3C; + GL_IMAGE_BINDING_LAYER_EXT = $8F3D; + GL_IMAGE_BINDING_ACCESS_EXT = $8F3E; + GL_IMAGE_1D_EXT = $904C; + GL_IMAGE_2D_EXT = $904D; + GL_IMAGE_3D_EXT = $904E; + GL_IMAGE_2D_RECT_EXT = $904F; + GL_IMAGE_CUBE_EXT = $9050; + GL_IMAGE_BUFFER_EXT = $9051; + GL_IMAGE_1D_ARRAY_EXT = $9052; + GL_IMAGE_2D_ARRAY_EXT = $9053; + GL_IMAGE_CUBE_MAP_ARRAY_EXT = $9054; + GL_IMAGE_2D_MULTISAMPLE_EXT = $9055; + GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9056; + GL_INT_IMAGE_1D_EXT = $9057; + GL_INT_IMAGE_2D_EXT = $9058; + GL_INT_IMAGE_3D_EXT = $9059; + GL_INT_IMAGE_2D_RECT_EXT = $905A; + GL_INT_IMAGE_CUBE_EXT = $905B; + GL_INT_IMAGE_BUFFER_EXT = $905C; + GL_INT_IMAGE_1D_ARRAY_EXT = $905D; + GL_INT_IMAGE_2D_ARRAY_EXT = $905E; + GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $905F; + GL_INT_IMAGE_2D_MULTISAMPLE_EXT = $9060; + GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $9061; + GL_UNSIGNED_INT_IMAGE_1D_EXT = $9062; + GL_UNSIGNED_INT_IMAGE_2D_EXT = $9063; + GL_UNSIGNED_INT_IMAGE_3D_EXT = $9064; + GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = $9065; + GL_UNSIGNED_INT_IMAGE_CUBE_EXT = $9066; + GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = $9067; + GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = $9068; + GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = $9069; + GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = $906A; + GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = $906B; + GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = $906C; + GL_MAX_IMAGE_SAMPLES_EXT = $906D; + GL_IMAGE_BINDING_FORMAT_EXT = $906E; + GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = $00000001; + GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = $00000002; + GL_UNIFORM_BARRIER_BIT_EXT = $00000004; + GL_TEXTURE_FETCH_BARRIER_BIT_EXT = $00000008; + GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = $00000020; + GL_COMMAND_BARRIER_BIT_EXT = $00000040; + GL_PIXEL_BUFFER_BARRIER_BIT_EXT = $00000080; + GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = $00000100; + GL_BUFFER_UPDATE_BARRIER_BIT_EXT = $00000200; + GL_FRAMEBUFFER_BARRIER_BIT_EXT = $00000400; + GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = $00000800; + GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = $00001000; + GL_ALL_BARRIER_BITS_EXT = $FFFFFFFF; + + // GL_EXT_vertex_attrib_64bit + { reuse GL_DOUBLE } + GL_DOUBLE_VEC2_EXT = $8FFC; + GL_DOUBLE_VEC3_EXT = $8FFD; + GL_DOUBLE_VEC4_EXT = $8FFE; + GL_DOUBLE_MAT2_EXT = $8F46; + GL_DOUBLE_MAT3_EXT = $8F47; + GL_DOUBLE_MAT4_EXT = $8F48; + GL_DOUBLE_MAT2x3_EXT = $8F49; + GL_DOUBLE_MAT2x4_EXT = $8F4A; + GL_DOUBLE_MAT3x2_EXT = $8F4B; + GL_DOUBLE_MAT3x4_EXT = $8F4C; + GL_DOUBLE_MAT4x2_EXT = $8F4D; + GL_DOUBLE_MAT4x3_EXT = $8F4E; + + // GL_EXT_texture_sRGB_decode + GL_TEXTURE_SRGB_DECODE_EXT = $8A48; + GL_DECODE_EXT = $8A49; + GL_SKIP_DECODE_EXT = $8A4A; + + // GL_NV_texture_multisample + GL_TEXTURE_COVERAGE_SAMPLES_NV = $9045; + GL_TEXTURE_COLOR_SAMPLES_NV = $9046; + + // GL_AMD_blend_minmax_factor + GL_FACTOR_MIN_AMD = $901C; + GL_FACTOR_MAX_AMD = $901D; + + // GL_AMD_sample_positions + GL_SUBSAMPLE_DISTANCE_AMD = $883F; + + // GL_EXT_x11_sync_object + GL_SYNC_X11_FENCE_EXT = $90E1; + + // GL_EXT_framebuffer_multisample_blit_scaled + GL_SCALED_RESOLVE_FASTEST_EXT = $90BA; + GL_SCALED_RESOLVE_NICEST_EXT = $90BB; + + // (4.3) GL_NV_path_rendering + GL_PATH_FORMAT_SVG_NV = $9070; + GL_PATH_FORMAT_PS_NV = $9071; + GL_STANDARD_FONT_NAME_NV = $9072; + GL_SYSTEM_FONT_NAME_NV = $9073; + GL_FILE_NAME_NV = $9074; + GL_PATH_STROKE_WIDTH_NV = $9075; + GL_PATH_END_CAPS_NV = $9076; + GL_PATH_INITIAL_END_CAP_NV = $9077; + GL_PATH_TERMINAL_END_CAP_NV = $9078; + GL_PATH_JOIN_STYLE_NV = $9079; + GL_PATH_MITER_LIMIT_NV = $907A; + GL_PATH_DASH_CAPS_NV = $907B; + GL_PATH_INITIAL_DASH_CAP_NV = $907C; + GL_PATH_TERMINAL_DASH_CAP_NV = $907D; + GL_PATH_DASH_OFFSET_NV = $907E; + GL_PATH_CLIENT_LENGTH_NV = $907F; + GL_PATH_FILL_MODE_NV = $9080; + GL_PATH_FILL_MASK_NV = $9081; + GL_PATH_FILL_COVER_MODE_NV = $9082; + GL_PATH_STROKE_COVER_MODE_NV = $9083; + GL_PATH_STROKE_MASK_NV = $9084; + GL_PATH_SAMPLE_QUALITY_NV = $9085; + GL_PATH_STROKE_BOUND_NV = $9086; + GL_PATH_STROKE_OVERSAMPLE_COUNT_NV= $9087; + GL_COUNT_UP_NV = $9088; + GL_COUNT_DOWN_NV = $9089; + GL_PATH_OBJECT_BOUNDING_BOX_NV = $908A; + GL_CONVEX_HULL_NV = $908B; + GL_MULTI_HULLS_NV = $908C; + GL_BOUNDING_BOX_NV = $908D; + GL_TRANSLATE_X_NV = $908E; + GL_TRANSLATE_Y_NV = $908F; + GL_TRANSLATE_2D_NV = $9090; + GL_TRANSLATE_3D_NV = $9091; + GL_AFFINE_2D_NV = $9092; + GL_PROJECTIVE_2D_NV = $9093; + GL_AFFINE_3D_NV = $9094; + GL_PROJECTIVE_3D_NV = $9095; + GL_TRANSPOSE_AFFINE_2D_NV = $9096; + GL_TRANSPOSE_PROJECTIVE_2D_NV = $9097; + GL_TRANSPOSE_AFFINE_3D_NV = $9098; + GL_TRANSPOSE_PROJECTIVE_3D_NV = $9099; + GL_UTF8_NV = $909A; + GL_UTF16_NV = $909B; + GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV= $909C; + GL_PATH_COMMAND_COUNT_NV = $909D; + GL_PATH_COORD_COUNT_NV = $909E; + GL_PATH_DASH_ARRAY_COUNT_NV = $909F; + GL_PATH_COMPUTED_LENGTH_NV = $90A0; + GL_PATH_FILL_BOUNDING_BOX_NV = $90A1; + GL_PATH_STROKE_BOUNDING_BOX_NV = $90A2; + GL_SQUARE_NV = $90A3; + GL_ROUND_NV = $90A4; + GL_TRIANGULAR_NV = $90A5; + GL_BEVEL_NV = $90A6; + GL_MITER_REVERT_NV = $90A7; + GL_MITER_TRUNCATE_NV = $90A8; + GL_SKIP_MISSING_GLYPH_NV = $90A9; + GL_USE_MISSING_GLYPH_NV = $90AA; + GL_PATH_ERROR_POSITION_NV = $90AB; + GL_PATH_FOG_GEN_MODE_NV = $90AC; + GL_ACCUM_ADJACENT_PAIRS_NV = $90AD; + GL_ADJACENT_PAIRS_NV = $90AE; + GL_FIRST_TO_REST_NV = $90AF; + GL_PATH_GEN_MODE_NV = $90B0; + GL_PATH_GEN_COEFF_NV = $90B1; + GL_PATH_GEN_COLOR_FORMAT_NV = $90B2; + GL_PATH_GEN_COMPONENTS_NV = $90B3; + GL_PATH_STENCIL_FUNC_NV = $90B7; + GL_PATH_STENCIL_REF_NV = $90B8; + GL_PATH_STENCIL_VALUE_MASK_NV = $90B9; + GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV= $90BD; + GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV= $90BE; + GL_PATH_COVER_DEPTH_FUNC_NV = $90BF; + GL_PATH_DASH_OFFSET_RESET_NV = $90B4; + GL_MOVE_TO_RESETS_NV = $90B5; + GL_MOVE_TO_CONTINUES_NV = $90B6; + GL_CLOSE_PATH_NV = $00; + GL_MOVE_TO_NV = $02; + GL_RELATIVE_MOVE_TO_NV = $03; + GL_LINE_TO_NV = $04; + GL_RELATIVE_LINE_TO_NV = $05; + GL_HORIZONTAL_LINE_TO_NV = $06; + GL_RELATIVE_HORIZONTAL_LINE_TO_NV= $07; + GL_VERTICAL_LINE_TO_NV = $08; + GL_RELATIVE_VERTICAL_LINE_TO_NV = $09; + GL_QUADRATIC_CURVE_TO_NV = $0A; + GL_RELATIVE_QUADRATIC_CURVE_TO_NV= $0B; + GL_CUBIC_CURVE_TO_NV = $0C; + GL_RELATIVE_CUBIC_CURVE_TO_NV = $0D; + GL_SMOOTH_QUADRATIC_CURVE_TO_NV = $0E; + GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV= $0F; + GL_SMOOTH_CUBIC_CURVE_TO_NV = $10; + GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV= $11; + GL_SMALL_CCW_ARC_TO_NV = $12; + GL_RELATIVE_SMALL_CCW_ARC_TO_NV = $13; + GL_SMALL_CW_ARC_TO_NV = $14; + GL_RELATIVE_SMALL_CW_ARC_TO_NV = $15; + GL_LARGE_CCW_ARC_TO_NV = $16; + GL_RELATIVE_LARGE_CCW_ARC_TO_NV = $17; + GL_LARGE_CW_ARC_TO_NV = $18; + GL_RELATIVE_LARGE_CW_ARC_TO_NV = $19; + GL_RESTART_PATH_NV = $F0; + GL_DUP_FIRST_CUBIC_CURVE_TO_NV = $F2; + GL_DUP_LAST_CUBIC_CURVE_TO_NV = $F4; + GL_RECT_NV = $F6; + GL_CIRCULAR_CCW_ARC_TO_NV = $F8; + GL_CIRCULAR_CW_ARC_TO_NV = $FA; + GL_CIRCULAR_TANGENT_ARC_TO_NV = $FC; + GL_ARC_TO_NV = $FE; + GL_RELATIVE_ARC_TO_NV = $FF; + GL_BOLD_BIT_NV = $01; + GL_ITALIC_BIT_NV = $02; + GL_GLYPH_WIDTH_BIT_NV = $01; + GL_GLYPH_HEIGHT_BIT_NV = $02; + GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV= $04; + GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV= $08; + GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV= $10; + GL_GLYPH_VERTICAL_BEARING_X_BIT_NV= $20; + GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV= $40; + GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV= $80; + GL_GLYPH_HAS_KERNING_NV = $100; + GL_FONT_X_MIN_BOUNDS_NV = $00010000; + GL_FONT_Y_MIN_BOUNDS_NV = $00020000; + GL_FONT_X_MAX_BOUNDS_NV = $00040000; + GL_FONT_Y_MAX_BOUNDS_NV = $00080000; + GL_FONT_UNITS_PER_EM_NV = $00100000; + GL_FONT_ASCENDER_NV = $00200000; + GL_FONT_DESCENDER_NV = $00400000; + GL_FONT_HEIGHT_NV = $00800000; + GL_FONT_MAX_ADVANCE_WIDTH_NV = $01000000; + GL_FONT_MAX_ADVANCE_HEIGHT_NV = $02000000; + GL_FONT_UNDERLINE_POSITION_NV = $04000000; + GL_FONT_UNDERLINE_THICKNESS_NV = $08000000; + GL_FONT_HAS_KERNING_NV = $10000000; + + // (4.3) GL_AMD_pinned_memory + GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD= $9160; + + // (4.3) GL_AMD_stencil_operation_extended + GL_SET_AMD = $874A; + GL_REPLACE_VALUE_AMD = $874B; + GL_STENCIL_OP_VALUE_AMD = $874C; + GL_STENCIL_BACK_OP_VALUE_AMD = $874D; + + // (4.3) GL_AMD_vertex_shader_viewport_index + + // (4.3) GL_AMD_vertex_shader_layer + + // (4.3) GL_NV_bindless_texture + + // (4.3) GL_NV_shader_atomic_float + + // (4.3) GL_AMD_query_buffer_object + GL_QUERY_BUFFER_AMD = $9192; + GL_QUERY_BUFFER_BINDING_AMD = $9193; + GL_QUERY_RESULT_NO_WAIT_AMD = $9194; + + // GL_FfdMaskSGIX + GL_TEXTURE_DEFORMATION_BIT_SGIX = $00000001; + GL_GEOMETRY_DEFORMATION_BIT_SGIX = $00000002; + + // GL_HP_convolution_border_modes + GL_IGNORE_BORDER_HP = $8150; + GL_CONSTANT_BORDER_HP = $8151; + GL_REPLICATE_BORDER_HP = $8153; + GL_CONVOLUTION_BORDER_COLOR_HP = $8154; + + // GL_HP_image_transform + GL_IMAGE_SCALE_X_HP = $8155; + GL_IMAGE_SCALE_Y_HP = $8156; + GL_IMAGE_TRANSLATE_X_HP = $8157; + GL_IMAGE_TRANSLATE_Y_HP = $8158; + GL_IMAGE_ROTATE_ANGLE_HP = $8159; + GL_IMAGE_ROTATE_ORIGIN_X_HP = $815A; + GL_IMAGE_ROTATE_ORIGIN_Y_HP = $815B; + GL_IMAGE_MAG_FILTER_HP = $815C; + GL_IMAGE_MIN_FILTER_HP = $815D; + GL_IMAGE_CUBIC_WEIGHT_HP = $815E; + GL_CUBIC_HP = $815F; + GL_AVERAGE_HP = $8160; + GL_IMAGE_TRANSFORM_2D_HP = $8161; + GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8162; + GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8163; + + // GL_HP_occlusion_test + GL_OCCLUSION_TEST_HP = $8165; + GL_OCCLUSION_TEST_RESULT_HP = $8166; + + // GL_HP_texture_lighting + GL_TEXTURE_LIGHTING_MODE_HP = $8167; + GL_TEXTURE_POST_SPECULAR_HP = $8168; + GL_TEXTURE_PRE_SPECULAR_HP = $8169; + + // GL_IBM_cull_vertex + GL_CULL_VERTEX_IBM = 103050; + + // GL_IBM_rasterpos_clip + GL_RASTER_POSITION_UNCLIPPED_IBM = $19262; + + // GL_IBM_texture_mirrored_repeat + GL_MIRRORED_REPEAT_IBM = $8370; + + // GL_IBM_vertex_array_lists + GL_VERTEX_ARRAY_LIST_IBM = 103070; + GL_NORMAL_ARRAY_LIST_IBM = 103071; + GL_COLOR_ARRAY_LIST_IBM = 103072; + GL_INDEX_ARRAY_LIST_IBM = 103073; + GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074; + GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075; + GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076; + GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077; + GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080; + GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081; + GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082; + GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083; + GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084; + GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085; + GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086; + GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087; + + // GL_INGR_color_clamp + GL_RED_MIN_CLAMP_INGR = $8560; + GL_GREEN_MIN_CLAMP_INGR = $8561; + GL_BLUE_MIN_CLAMP_INGR = $8562; + GL_ALPHA_MIN_CLAMP_INGR = $8563; + GL_RED_MAX_CLAMP_INGR = $8564; + GL_GREEN_MAX_CLAMP_INGR = $8565; + GL_BLUE_MAX_CLAMP_INGR = $8566; + GL_ALPHA_MAX_CLAMP_INGR = $8567; + + // GL_INGR_interlace_read + GL_INTERLACE_READ_INGR = $8568; + + // GL_INTEL_parallel_arrays + GL_PARALLEL_ARRAYS_INTEL = $83F4; + GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = $83F5; + GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = $83F6; + GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = $83F7; + GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = $83F8; + + // GL_NV_copy_depth_to_color + GL_DEPTH_STENCIL_TO_RGBA_NV = $886E; + GL_DEPTH_STENCIL_TO_BGRA_NV = $886F; + + // GL_NV_depth_clamp + GL_DEPTH_CLAMP_NV = $864F; + + // GL_NV_evaluators + GL_EVAL_2D_NV = $86C0; + GL_EVAL_TRIANGULAR_2D_NV = $86C1; + GL_MAP_TESSELLATION_NV = $86C2; + GL_MAP_ATTRIB_U_ORDER_NV = $86C3; + GL_MAP_ATTRIB_V_ORDER_NV = $86C4; + GL_EVAL_FRACTIONAL_TESSELLATION_NV = $86C5; + GL_EVAL_VERTEX_ATTRIB0_NV = $86C6; + GL_EVAL_VERTEX_ATTRIB1_NV = $86C7; + GL_EVAL_VERTEX_ATTRIB2_NV = $86C8; + GL_EVAL_VERTEX_ATTRIB3_NV = $86C9; + GL_EVAL_VERTEX_ATTRIB4_NV = $86CA; + GL_EVAL_VERTEX_ATTRIB5_NV = $86CB; + GL_EVAL_VERTEX_ATTRIB6_NV = $86CC; + GL_EVAL_VERTEX_ATTRIB7_NV = $86CD; + GL_EVAL_VERTEX_ATTRIB8_NV = $86CE; + GL_EVAL_VERTEX_ATTRIB9_NV = $86CF; + GL_EVAL_VERTEX_ATTRIB10_NV = $86D0; + GL_EVAL_VERTEX_ATTRIB11_NV = $86D1; + GL_EVAL_VERTEX_ATTRIB12_NV = $86D2; + GL_EVAL_VERTEX_ATTRIB13_NV = $86D3; + GL_EVAL_VERTEX_ATTRIB14_NV = $86D4; + GL_EVAL_VERTEX_ATTRIB15_NV = $86D5; + GL_MAX_MAP_TESSELLATION_NV = $86D6; + GL_MAX_RATIONAL_EVAL_ORDER_NV = $86D7; + + // GL_NV_fence + GL_ALL_COMPLETED_NV = $84F2; + GL_FENCE_STATUS_NV = $84F3; + GL_FENCE_CONDITION_NV = $84F4; + + // GL_NV_float_buffer + GL_FLOAT_R_NV = $8880; + GL_FLOAT_RG_NV = $8881; + GL_FLOAT_RGB_NV = $8882; + GL_FLOAT_RGBA_NV = $8883; + GL_FLOAT_R16_NV = $8884; + GL_FLOAT_R32_NV = $8885; + GL_FLOAT_RG16_NV = $8886; + GL_FLOAT_RG32_NV = $8887; + GL_FLOAT_RGB16_NV = $8888; + GL_FLOAT_RGB32_NV = $8889; + GL_FLOAT_RGBA16_NV = $888A; + GL_FLOAT_RGBA32_NV = $888B; + GL_TEXTURE_FLOAT_COMPONENTS_NV = $888C; + GL_FLOAT_CLEAR_COLOR_VALUE_NV = $888D; + GL_FLOAT_RGBA_MODE_NV = $888E; + + // GL_NV_fog_distance + GL_FOG_DISTANCE_MODE_NV = $855A; + GL_EYE_RADIAL_NV = $855B; + GL_EYE_PLANE_ABSOLUTE_NV = $855C; + + // GL_NV_fragment_program + GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = $8868; + GL_FRAGMENT_PROGRAM_NV = $8870; + GL_MAX_TEXTURE_COORDS_NV = $8871; + GL_MAX_TEXTURE_IMAGE_UNITS_NV = $8872; + GL_FRAGMENT_PROGRAM_BINDING_NV = $8873; + GL_PROGRAM_ERROR_STRING_NV = $8874; + + // GL_NV_half_float + GL_HALF_FLOAT_NV = $140B; + + // GL_NV_light_max_exponent + GL_MAX_SHININESS_NV = $8504; + GL_MAX_SPOT_EXPONENT_NV = $8505; + + // GL_NV_multisample_filter_hint + GL_MULTISAMPLE_FILTER_HINT_NV = $8534; + + // GL_NV_occlusion_query + GL_PIXEL_COUNTER_BITS_NV = $8864; + GL_CURRENT_OCCLUSION_QUERY_ID_NV = $8865; + GL_PIXEL_COUNT_NV = $8866; + GL_PIXEL_COUNT_AVAILABLE_NV = $8867; + + // GL_NV_packed_depth_stencil + GL_DEPTH_STENCIL_NV = $84F9; + GL_UNSIGNED_INT_24_8_NV = $84FA; + + // GL_NV_pixel_data_range + GL_WRITE_PIXEL_DATA_RANGE_NV = $8878; + GL_READ_PIXEL_DATA_RANGE_NV = $8879; + GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = $887A; + GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = $887B; + GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = $887C; + GL_READ_PIXEL_DATA_RANGE_POINTER_NV = $887D; + + // GL_NV_point_sprite + GL_POINT_SPRITE_NV = $8861; + GL_COORD_REPLACE_NV = $8862; + GL_POINT_SPRITE_R_MODE_NV = $8863; + + // GL_NV_primitive_restart + GL_PRIMITIVE_RESTART_NV = $8558; + GL_PRIMITIVE_RESTART_INDEX_NV = $8559; + + // GL_NV_register_combiners + GL_REGISTER_COMBINERS_NV = $8522; + GL_VARIABLE_A_NV = $8523; + GL_VARIABLE_B_NV = $8524; + GL_VARIABLE_C_NV = $8525; + GL_VARIABLE_D_NV = $8526; + GL_VARIABLE_E_NV = $8527; + GL_VARIABLE_F_NV = $8528; + GL_VARIABLE_G_NV = $8529; + GL_CONSTANT_COLOR0_NV = $852A; + GL_CONSTANT_COLOR1_NV = $852B; + GL_PRIMARY_COLOR_NV = $852C; + GL_SECONDARY_COLOR_NV = $852D; + GL_SPARE0_NV = $852E; + GL_SPARE1_NV = $852F; + GL_DISCARD_NV = $8530; + GL_E_TIMES_F_NV = $8531; + GL_SPARE0_PLUS_SECONDARY_COLOR_NV = $8532; + GL_UNSIGNED_IDENTITY_NV = $8536; + GL_UNSIGNED_INVERT_NV = $8537; + GL_EXPAND_NORMAL_NV = $8538; + GL_EXPAND_NEGATE_NV = $8539; + GL_HALF_BIAS_NORMAL_NV = $853A; + GL_HALF_BIAS_NEGATE_NV = $853B; + GL_SIGNED_IDENTITY_NV = $853C; + GL_SIGNED_NEGATE_NV = $853D; + GL_SCALE_BY_TWO_NV = $853E; + GL_SCALE_BY_FOUR_NV = $853F; + GL_SCALE_BY_ONE_HALF_NV = $8540; + GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = $8541; + GL_COMBINER_INPUT_NV = $8542; + GL_COMBINER_MAPPING_NV = $8543; + GL_COMBINER_COMPONENT_USAGE_NV = $8544; + GL_COMBINER_AB_DOT_PRODUCT_NV = $8545; + GL_COMBINER_CD_DOT_PRODUCT_NV = $8546; + GL_COMBINER_MUX_SUM_NV = $8547; + GL_COMBINER_SCALE_NV = $8548; + GL_COMBINER_BIAS_NV = $8549; + GL_COMBINER_AB_OUTPUT_NV = $854A; + GL_COMBINER_CD_OUTPUT_NV = $854B; + GL_COMBINER_SUM_OUTPUT_NV = $854C; + GL_MAX_GENERAL_COMBINERS_NV = $854D; + GL_NUM_GENERAL_COMBINERS_NV = $854E; + GL_COLOR_SUM_CLAMP_NV = $854F; + GL_COMBINER0_NV = $8550; + GL_COMBINER1_NV = $8551; + GL_COMBINER2_NV = $8552; + GL_COMBINER3_NV = $8553; + GL_COMBINER4_NV = $8554; + GL_COMBINER5_NV = $8555; + GL_COMBINER6_NV = $8556; + GL_COMBINER7_NV = $8557; + + // GL_NV_register_combiners2 + GL_PER_STAGE_CONSTANTS_NV = $8535; + + // GL_NV_texgen_emboss + GL_EMBOSS_LIGHT_NV = $855D; + GL_EMBOSS_CONSTANT_NV = $855E; + GL_EMBOSS_MAP_NV = $855F; + + // GL_NV_texgen_reflection + GL_NORMAL_MAP_NV = $8511; + GL_REFLECTION_MAP_NV = $8512; + + // GL_NV_texture_env_combine4 + GL_COMBINE4_NV = $8503; + GL_SOURCE3_RGB_NV = $8583; + GL_SOURCE3_ALPHA_NV = $858B; + GL_OPERAND3_RGB_NV = $8593; + GL_OPERAND3_ALPHA_NV = $859B; + + // GL_NV_texture_expand_normal + GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = $888F; + + // GL_NV_texture_rectangle + GL_TEXTURE_RECTANGLE_NV = $84F5; + GL_TEXTURE_BINDING_RECTANGLE_NV = $84F6; + GL_PROXY_TEXTURE_RECTANGLE_NV = $84F7; + GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = $84F8; + + // GL_NV_texture_shader + GL_OFFSET_TEXTURE_RECTANGLE_NV = $864C; + GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = $864D; + GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = $864E; + GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = $86D9; + GL_UNSIGNED_INT_S8_S8_8_8_NV = $86DA; + GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = $86DB; + GL_DSDT_MAG_INTENSITY_NV = $86DC; + GL_SHADER_CONSISTENT_NV = $86DD; + GL_TEXTURE_SHADER_NV = $86DE; + GL_SHADER_OPERATION_NV = $86DF; + GL_CULL_MODES_NV = $86E0; + GL_OFFSET_TEXTURE_MATRIX_NV = $86E1; + GL_OFFSET_TEXTURE_SCALE_NV = $86E2; + GL_OFFSET_TEXTURE_BIAS_NV = $86E3; + GL_OFFSET_TEXTURE_2D_MATRIX_NV = GL_OFFSET_TEXTURE_MATRIX_NV; + GL_OFFSET_TEXTURE_2D_SCALE_NV = GL_OFFSET_TEXTURE_SCALE_NV; + GL_OFFSET_TEXTURE_2D_BIAS_NV = GL_OFFSET_TEXTURE_BIAS_NV; + GL_PREVIOUS_TEXTURE_INPUT_NV = $86E4; + GL_CONST_EYE_NV = $86E5; + GL_PASS_THROUGH_NV = $86E6; + GL_CULL_FRAGMENT_NV = $86E7; + GL_OFFSET_TEXTURE_2D_NV = $86E8; + GL_DEPENDENT_AR_TEXTURE_2D_NV = $86E9; + GL_DEPENDENT_GB_TEXTURE_2D_NV = $86EA; + GL_DOT_PRODUCT_NV = $86EC; + GL_DOT_PRODUCT_DEPTH_REPLACE_NV = $86ED; + GL_DOT_PRODUCT_TEXTURE_2D_NV = $86EE; + GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = $86F0; + GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = $86F1; + GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = $86F2; + GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = $86F3; + GL_HILO_NV = $86F4; + GL_DSDT_NV = $86F5; + GL_DSDT_MAG_NV = $86F6; + GL_DSDT_MAG_VIB_NV = $86F7; + GL_HILO16_NV = $86F8; + GL_SIGNED_HILO_NV = $86F9; + GL_SIGNED_HILO16_NV = $86FA; + GL_SIGNED_RGBA_NV = $86FB; + GL_SIGNED_RGBA8_NV = $86FC; + GL_SIGNED_RGB_NV = $86FE; + GL_SIGNED_RGB8_NV = $86FF; + GL_SIGNED_LUMINANCE_NV = $8701; + GL_SIGNED_LUMINANCE8_NV = $8702; + GL_SIGNED_LUMINANCE_ALPHA_NV = $8703; + GL_SIGNED_LUMINANCE8_ALPHA8_NV = $8704; + GL_SIGNED_ALPHA_NV = $8705; + GL_SIGNED_ALPHA8_NV = $8706; + GL_SIGNED_INTENSITY_NV = $8707; + GL_SIGNED_INTENSITY8_NV = $8708; + GL_DSDT8_NV = $8709; + GL_DSDT8_MAG8_NV = $870A; + GL_DSDT8_MAG8_INTENSITY8_NV = $870B; + GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = $870C; + GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = $870D; + GL_HI_SCALE_NV = $870E; + GL_LO_SCALE_NV = $870F; + GL_DS_SCALE_NV = $8710; + GL_DT_SCALE_NV = $8711; + GL_MAGNITUDE_SCALE_NV = $8712; + GL_VIBRANCE_SCALE_NV = $8713; + GL_HI_BIAS_NV = $8714; + GL_LO_BIAS_NV = $8715; + GL_DS_BIAS_NV = $8716; + GL_DT_BIAS_NV = $8717; + GL_MAGNITUDE_BIAS_NV = $8718; + GL_VIBRANCE_BIAS_NV = $8719; + GL_TEXTURE_BORDER_VALUES_NV = $871A; + GL_TEXTURE_HI_SIZE_NV = $871B; + GL_TEXTURE_LO_SIZE_NV = $871C; + GL_TEXTURE_DS_SIZE_NV = $871D; + GL_TEXTURE_DT_SIZE_NV = $871E; + GL_TEXTURE_MAG_SIZE_NV = $871F; + + // GL_NV_texture_shader2 + GL_DOT_PRODUCT_TEXTURE_3D_NV = $86EF; + + // GL_NV_texture_shader3 + GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = $8850; + GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = $8851; + GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8852; + GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = $8853; + GL_OFFSET_HILO_TEXTURE_2D_NV = $8854; + GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = $8855; + GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = $8856; + GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8857; + GL_DEPENDENT_HILO_TEXTURE_2D_NV = $8858; + GL_DEPENDENT_RGB_TEXTURE_3D_NV = $8859; + GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = $885A; + GL_DOT_PRODUCT_PASS_THROUGH_NV = $885B; + GL_DOT_PRODUCT_TEXTURE_1D_NV = $885C; + GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = $885D; + GL_HILO8_NV = $885E; + GL_SIGNED_HILO8_NV = $885F; + GL_FORCE_BLUE_TO_ONE_NV = $8860; + + // GL_NV_vertex_array_range + GL_VERTEX_ARRAY_RANGE_NV = $851D; + GL_VERTEX_ARRAY_RANGE_LENGTH_NV = $851E; + GL_VERTEX_ARRAY_RANGE_VALID_NV = $851F; + GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = $8520; + GL_VERTEX_ARRAY_RANGE_POINTER_NV = $8521; + + // GL_NV_vertex_array_range2 + GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = $8533; + + // GL_NV_vertex_program + GL_VERTEX_PROGRAM_NV = $8620; + GL_VERTEX_STATE_PROGRAM_NV = $8621; + GL_ATTRIB_ARRAY_SIZE_NV = $8623; + GL_ATTRIB_ARRAY_STRIDE_NV = $8624; + GL_ATTRIB_ARRAY_TYPE_NV = $8625; + GL_CURRENT_ATTRIB_NV = $8626; + GL_PROGRAM_LENGTH_NV = $8627; + GL_PROGRAM_STRING_NV = $8628; + GL_MODELVIEW_PROJECTION_NV = $8629; + GL_IDENTITY_NV = $862A; + GL_INVERSE_NV = $862B; + GL_TRANSPOSE_NV = $862C; + GL_INVERSE_TRANSPOSE_NV = $862D; + GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = $862E; + GL_MAX_TRACK_MATRICES_NV = $862F; + GL_MATRIX0_NV = $8630; + GL_MATRIX1_NV = $8631; + GL_MATRIX2_NV = $8632; + GL_MATRIX3_NV = $8633; + GL_MATRIX4_NV = $8634; + GL_MATRIX5_NV = $8635; + GL_MATRIX6_NV = $8636; + GL_MATRIX7_NV = $8637; + GL_CURRENT_MATRIX_STACK_DEPTH_NV = $8640; + GL_CURRENT_MATRIX_NV = $8641; + GL_VERTEX_PROGRAM_POINT_SIZE_NV = $8642; + GL_VERTEX_PROGRAM_TWO_SIDE_NV = $8643; + GL_PROGRAM_PARAMETER_NV = $8644; + GL_ATTRIB_ARRAY_POINTER_NV = $8645; + GL_PROGRAM_TARGET_NV = $8646; + GL_PROGRAM_RESIDENT_NV = $8647; + GL_TRACK_MATRIX_NV = $8648; + GL_TRACK_MATRIX_TRANSFORM_NV = $8649; + GL_VERTEX_PROGRAM_BINDING_NV = $864A; + GL_PROGRAM_ERROR_POSITION_NV = $864B; + GL_VERTEX_ATTRIB_ARRAY0_NV = $8650; + GL_VERTEX_ATTRIB_ARRAY1_NV = $8651; + GL_VERTEX_ATTRIB_ARRAY2_NV = $8652; + GL_VERTEX_ATTRIB_ARRAY3_NV = $8653; + GL_VERTEX_ATTRIB_ARRAY4_NV = $8654; + GL_VERTEX_ATTRIB_ARRAY5_NV = $8655; + GL_VERTEX_ATTRIB_ARRAY6_NV = $8656; + GL_VERTEX_ATTRIB_ARRAY7_NV = $8657; + GL_VERTEX_ATTRIB_ARRAY8_NV = $8658; + GL_VERTEX_ATTRIB_ARRAY9_NV = $8659; + GL_VERTEX_ATTRIB_ARRAY10_NV = $865A; + GL_VERTEX_ATTRIB_ARRAY11_NV = $865B; + GL_VERTEX_ATTRIB_ARRAY12_NV = $865C; + GL_VERTEX_ATTRIB_ARRAY13_NV = $865D; + GL_VERTEX_ATTRIB_ARRAY14_NV = $865E; + GL_VERTEX_ATTRIB_ARRAY15_NV = $865F; + GL_MAP1_VERTEX_ATTRIB0_4_NV = $8660; + GL_MAP1_VERTEX_ATTRIB1_4_NV = $8661; + GL_MAP1_VERTEX_ATTRIB2_4_NV = $8662; + GL_MAP1_VERTEX_ATTRIB3_4_NV = $8663; + GL_MAP1_VERTEX_ATTRIB4_4_NV = $8664; + GL_MAP1_VERTEX_ATTRIB5_4_NV = $8665; + GL_MAP1_VERTEX_ATTRIB6_4_NV = $8666; + GL_MAP1_VERTEX_ATTRIB7_4_NV = $8667; + GL_MAP1_VERTEX_ATTRIB8_4_NV = $8668; + GL_MAP1_VERTEX_ATTRIB9_4_NV = $8669; + GL_MAP1_VERTEX_ATTRIB10_4_NV = $866A; + GL_MAP1_VERTEX_ATTRIB11_4_NV = $866B; + GL_MAP1_VERTEX_ATTRIB12_4_NV = $866C; + GL_MAP1_VERTEX_ATTRIB13_4_NV = $866D; + GL_MAP1_VERTEX_ATTRIB14_4_NV = $866E; + GL_MAP1_VERTEX_ATTRIB15_4_NV = $866F; + GL_MAP2_VERTEX_ATTRIB0_4_NV = $8670; + GL_MAP2_VERTEX_ATTRIB1_4_NV = $8671; + GL_MAP2_VERTEX_ATTRIB2_4_NV = $8672; + GL_MAP2_VERTEX_ATTRIB3_4_NV = $8673; + GL_MAP2_VERTEX_ATTRIB4_4_NV = $8674; + GL_MAP2_VERTEX_ATTRIB5_4_NV = $8675; + GL_MAP2_VERTEX_ATTRIB6_4_NV = $8676; + GL_MAP2_VERTEX_ATTRIB7_4_NV = $8677; + GL_MAP2_VERTEX_ATTRIB8_4_NV = $8678; + GL_MAP2_VERTEX_ATTRIB9_4_NV = $8679; + GL_MAP2_VERTEX_ATTRIB10_4_NV = $867A; + GL_MAP2_VERTEX_ATTRIB11_4_NV = $867B; + GL_MAP2_VERTEX_ATTRIB12_4_NV = $867C; + GL_MAP2_VERTEX_ATTRIB13_4_NV = $867D; + GL_MAP2_VERTEX_ATTRIB14_4_NV = $867E; + GL_MAP2_VERTEX_ATTRIB15_4_NV = $867F; + + // GL_NV_fragment_program2 and GL_NV_vertex_program2_option + GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = $88F4; + GL_MAX_PROGRAM_CALL_DEPTH_NV = $88F5; + + // GL_NV_fragment_program2 + GL_MAX_PROGRAM_IF_DEPTH_NV = $88F6; + GL_MAX_PROGRAM_LOOP_DEPTH_NV = $88F7; + GL_MAX_PROGRAM_LOOP_COUNT_NV = $88F8; + + // GL_NV_vertex_program3 + MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C; + + // GL_NV_depth_buffer_float + GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = $8DAD; + GL_DEPTH_BUFFER_FLOAT_MODE_NV = $8DAF; + + // GL_NV_framebuffer_multisample_coverage + GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = $8CAB; + GL_RENDERBUFFER_COLOR_SAMPLES_NV = $8E10; + + // GL_NV_geometry_program4 + GL_GEOMETRY_PROGRAM_NV = $8C26; + GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = $8C27; + GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = $8C28; + + // GL_NV_gpu_program4 + GL_PROGRAM_ATTRIB_COMPONENTS_NV = $8906; + GL_PROGRAM_RESULT_COMPONENTS_NV = $8907; + GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = $8908; + GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = $8909; + GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = $8DA5; + GL_MAX_PROGRAM_GENERIC_RESULTS_NV = $8DA6; + + // GL_NV_parameter_buffer_object + GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = $8DA0; + GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = $8DA1; + GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = $8DA2; + GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = $8DA3; + GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = $8DA4; + + // GL_NV_transform_feedback + GL_TRANSFORM_FEEDBACK_BUFFER_NV = $8C8E; + GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = $8C84; + GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = $8C85; + GL_TRANSFORM_FEEDBACK_RECORD_NV = $8C86; + GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = $8C8F; + GL_INTERLEAVED_ATTRIBS_NV = $8C8C; + GL_SEPARATE_ATTRIBS_NV = $8C8D; + GL_PRIMITIVES_GENERATED_NV = $8C87; + GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = $8C88; + GL_RASTERIZER_DISCARD_NV = $8C89; + GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = $8C8A; + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = $8C8B; + GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = $8C80; + GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = $8C7E; + GL_ACTIVE_VARYINGS_NV = $8C81; + GL_ACTIVE_VARYING_MAX_LENGTH_NV = $8C82; + GL_TRANSFORM_FEEDBACK_VARYINGS_NV = $8C83; + GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = $8C7F; + GL_BACK_PRIMARY_COLOR_NV = $8C77; + GL_BACK_SECONDARY_COLOR_NV = $8C78; + GL_TEXTURE_COORD_NV = $8C79; + GL_CLIP_DISTANCE_NV = $8C7A; + GL_VERTEX_ID_NV = $8C7B; + GL_PRIMITIVE_ID_NV = $8C7C; + GL_GENERIC_ATTRIB_NV = $8C7D; + GL_LAYER_NV = $8DAA; + GL_NEXT_BUFFER_NV = -2; + GL_SKIP_COMPONENTS4_NV = -3; + GL_SKIP_COMPONENTS3_NV = -4; + GL_SKIP_COMPONENTS2_NV = -5; + GL_SKIP_COMPONENTS1_NV = -6; + + // GL_NV_conditional_render + GL_QUERY_WAIT_NV = $8E13; + GL_QUERY_NO_WAIT_NV = $8E14; + GL_QUERY_BY_REGION_WAIT_NV = $8E15; + GL_QUERY_BY_REGION_NO_WAIT_NV = $8E16; + + // GL_NV_present_video + GL_FRAME_NV = $8E26; + GL_FIELDS_NV = $8E27; + GL_CURRENT_TIME_NV = $8E28; + GL_NUM_FILL_STREAMS_NV = $8E29; + GL_PRESENT_TIME_NV = $8E2A; + GL_PRESENT_DURATION_NV = $8E2B; + + // GL_NV_explicit_multisample + GL_SAMPLE_POSITION_NV = $8E50; + GL_SAMPLE_MASK_NV = $8E51; + GL_SAMPLE_MASK_VALUE_NV = $8E52; + GL_TEXTURE_BINDING_RENDERBUFFER_NV = $8E53; + GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = $8E54; + GL_TEXTURE_RENDERBUFFER_NV = $8E55; + GL_SAMPLER_RENDERBUFFER_NV = $8E56; + GL_INT_SAMPLER_RENDERBUFFER_NV = $8E57; + GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = $8E58; + GL_MAX_SAMPLE_MASK_WORDS_NV = $8E59; + + // GL_NV_transform_feedback2 + GL_TRANSFORM_FEEDBACK_NV = $8E22; + GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = $8E23; + GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = $8E24; + GL_TRANSFORM_FEEDBACK_BINDING_NV = $8E25; + + // GL_NV_video_capture + GL_VIDEO_BUFFER_NV = $9020; + GL_VIDEO_BUFFER_BINDING_NV = $9021; + GL_FIELD_UPPER_NV = $9022; + GL_FIELD_LOWER_NV = $9023; + GL_NUM_VIDEO_CAPTURE_STREAMS_NV = $9024; + GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = $9025; + GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = $9026; + GL_LAST_VIDEO_CAPTURE_STATUS_NV = $9027; + GL_VIDEO_BUFFER_PITCH_NV = $9028; + GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = $9029; + GL_VIDEO_COLOR_CONVERSION_MAX_NV = $902A; + GL_VIDEO_COLOR_CONVERSION_MIN_NV = $902B; + GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = $902C; + GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = $902D; + GL_PARTIAL_SUCCESS_NV = $902E; + GL_SUCCESS_NV = $902F; + GL_FAILURE_NV = $9030; + GL_YCBYCR8_422_NV = $9031; + GL_YCBAYCR8A_4224_NV = $9032; + GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = $9033; + GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = $9034; + GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = $9035; + GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = $9036; + GL_Z4Y12Z4CB12Z4CR12_444_NV = $9037; + GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = $9038; + GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = $9039; + GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = $903A; + GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = $903B; + GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = $903C; + + // GL_NV_shader_buffer_load + GL_BUFFER_GPU_ADDRESS_NV = $8F1D; + GL_GPU_ADDRESS_NV = $8F34; + GL_MAX_SHADER_BUFFER_ADDRESS_NV = $8F35; + + // GL_NV_vertex_buffer_unified_memory + GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = $8F1E; + GL_ELEMENT_ARRAY_UNIFIED_NV = $8F1F; + GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = $8F20; + GL_VERTEX_ARRAY_ADDRESS_NV = $8F21; + GL_NORMAL_ARRAY_ADDRESS_NV = $8F22; + GL_COLOR_ARRAY_ADDRESS_NV = $8F23; + GL_INDEX_ARRAY_ADDRESS_NV = $8F24; + GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = $8F25; + GL_EDGE_FLAG_ARRAY_ADDRESS_NV = $8F26; + GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = $8F27; + GL_FOG_COORD_ARRAY_ADDRESS_NV = $8F28; + GL_ELEMENT_ARRAY_ADDRESS_NV = $8F29; + GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = $8F2A; + GL_VERTEX_ARRAY_LENGTH_NV = $8F2B; + GL_NORMAL_ARRAY_LENGTH_NV = $8F2C; + GL_COLOR_ARRAY_LENGTH_NV = $8F2D; + GL_INDEX_ARRAY_LENGTH_NV = $8F2E; + GL_TEXTURE_COORD_ARRAY_LENGTH_NV = $8F2F; + GL_EDGE_FLAG_ARRAY_LENGTH_NV = $8F30; + GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = $8F31; + GL_FOG_COORD_ARRAY_LENGTH_NV = $8F32; + GL_ELEMENT_ARRAY_LENGTH_NV = $8F33; + GL_DRAW_INDIRECT_UNIFIED_NV = $8F40; + GL_DRAW_INDIRECT_ADDRESS_NV = $8F41; + GL_DRAW_INDIRECT_LENGTH_NV = $8F42; + + // GL_NV_gpu_program5 + GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = $8E5A; + GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5B; + GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = $8E5C; + GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = $8E5D; + GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5E; + GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = $8E5F; + GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = $8F44; + GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = $8F45; + + // GL_NV_gpu_shader5 + GL_INT64_NV = $140E; + GL_UNSIGNED_INT64_NV = $140F; + GL_INT8_NV = $8FE0; + GL_INT8_VEC2_NV = $8FE1; + GL_INT8_VEC3_NV = $8FE2; + GL_INT8_VEC4_NV = $8FE3; + GL_INT16_NV = $8FE4; + GL_INT16_VEC2_NV = $8FE5; + GL_INT16_VEC3_NV = $8FE6; + GL_INT16_VEC4_NV = $8FE7; + GL_INT64_VEC2_NV = $8FE9; + GL_INT64_VEC3_NV = $8FEA; + GL_INT64_VEC4_NV = $8FEB; + GL_UNSIGNED_INT8_NV = $8FEC; + GL_UNSIGNED_INT8_VEC2_NV = $8FED; + GL_UNSIGNED_INT8_VEC3_NV = $8FEE; + GL_UNSIGNED_INT8_VEC4_NV = $8FEF; + GL_UNSIGNED_INT16_NV = $8FF0; + GL_UNSIGNED_INT16_VEC2_NV = $8FF1; + GL_UNSIGNED_INT16_VEC3_NV = $8FF2; + GL_UNSIGNED_INT16_VEC4_NV = $8FF3; + GL_UNSIGNED_INT64_VEC2_NV = $8FF5; + GL_UNSIGNED_INT64_VEC3_NV = $8FF6; + GL_UNSIGNED_INT64_VEC4_NV = $8FF7; + GL_FLOAT16_NV = $8FF8; + GL_FLOAT16_VEC2_NV = $8FF9; + GL_FLOAT16_VEC3_NV = $8FFA; + GL_FLOAT16_VEC4_NV = $8FFB; + { reuse GL_PATCHES } + + // GL_NV_shader_buffer_store + GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = $00000010; + { reuse GL_READ_WRITE } + { reuse GL_WRITE_ONLY } + + // GL_NV_tessellation_program5 + GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = $86D8; + GL_TESS_CONTROL_PROGRAM_NV = $891E; + GL_TESS_EVALUATION_PROGRAM_NV = $891F; + GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = $8C74; + GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = $8C75; + + // GL_NV_vertex_attrib_integer_64bit + { reuse GL_INT64_NV } + { reuse GL_UNSIGNED_INT64_NV } + + // GL_NV_multisample_coverage + GL_COVERAGE_SAMPLES_NV = $80A9; + GL_COLOR_SAMPLES_NV = $8E20; + + // GL_NV_vdpau_interop + GL_SURFACE_STATE_NV = $86EB; + GL_SURFACE_REGISTERED_NV = $86FD; + GL_SURFACE_MAPPED_NV = $8700; + GL_WRITE_DISCARD_NV = $88BE; + + // GL_OML_interlace + GL_INTERLACE_OML = $8980; + GL_INTERLACE_READ_OML = $8981; + + // GL_OML_resample + GL_PACK_RESAMPLE_OML = $8984; + GL_UNPACK_RESAMPLE_OML = $8985; + GL_RESAMPLE_REPLICATE_OML = $8986; + GL_RESAMPLE_ZERO_FILL_OML = $8987; + GL_RESAMPLE_AVERAGE_OML = $8988; + GL_RESAMPLE_DECIMATE_OML = $8989; + + // GL_OML_subsample + GL_FORMAT_SUBSAMPLE_24_24_OML = $8982; + GL_FORMAT_SUBSAMPLE_244_244_OML = $8983; + + // GL_PGI_misc_hints + GL_PREFER_DOUBLEBUFFER_HINT_PGI = $1A1F8; + GL_CONSERVE_MEMORY_HINT_PGI = $1A1FD; + GL_RECLAIM_MEMORY_HINT_PGI = $1A1FE; + GL_NATIVE_GRAPHICS_HANDLE_PGI = $1A202; + GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = $1A203; + GL_NATIVE_GRAPHICS_END_HINT_PGI = $1A204; + GL_ALWAYS_FAST_HINT_PGI = $1A20C; + GL_ALWAYS_SOFT_HINT_PGI = $1A20D; + GL_ALLOW_DRAW_OBJ_HINT_PGI = $1A20E; + GL_ALLOW_DRAW_WIN_HINT_PGI = $1A20F; + GL_ALLOW_DRAW_FRG_HINT_PGI = $1A210; + GL_ALLOW_DRAW_MEM_HINT_PGI = $1A211; + GL_STRICT_DEPTHFUNC_HINT_PGI = $1A216; + GL_STRICT_LIGHTING_HINT_PGI = $1A217; + GL_STRICT_SCISSOR_HINT_PGI = $1A218; + GL_FULL_STIPPLE_HINT_PGI = $1A219; + GL_CLIP_NEAR_HINT_PGI = $1A220; + GL_CLIP_FAR_HINT_PGI = $1A221; + GL_WIDE_LINE_HINT_PGI = $1A222; + GL_BACK_NORMALS_HINT_PGI = $1A223; + + // GL_PGI_vertex_hints + GL_VERTEX_DATA_HINT_PGI = $1A22A; + GL_VERTEX_CONSISTENT_HINT_PGI = $1A22B; + GL_MATERIAL_SIDE_HINT_PGI = $1A22C; + GL_MAX_VERTEX_HINT_PGI = $1A22D; + GL_COLOR3_BIT_PGI = $00010000; + GL_COLOR4_BIT_PGI = $00020000; + GL_EDGEFLAG_BIT_PGI = $00040000; + GL_INDEX_BIT_PGI = $00080000; + GL_MAT_AMBIENT_BIT_PGI = $00100000; + GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = $00200000; + GL_MAT_DIFFUSE_BIT_PGI = $00400000; + GL_MAT_EMISSION_BIT_PGI = $00800000; + GL_MAT_COLOR_INDEXES_BIT_PGI = $01000000; + GL_MAT_SHININESS_BIT_PGI = $02000000; + GL_MAT_SPECULAR_BIT_PGI = $04000000; + GL_NORMAL_BIT_PGI = $08000000; + GL_TEXCOORD1_BIT_PGI = $10000000; + GL_TEXCOORD2_BIT_PGI = $20000000; + GL_TEXCOORD3_BIT_PGI = $40000000; + GL_TEXCOORD4_BIT_PGI = $80000000; + GL_VERTEX23_BIT_PGI = $00000004; + GL_VERTEX4_BIT_PGI = $00000008; + + // GL_REND_screen_coordinates + GL_SCREEN_COORDINATES_REND = $8490; + GL_INVERTED_SCREEN_W_REND = $8491; + + // GL_S3_s3tc + GL_RGB_S3TC = $83A0; + GL_RGB4_S3TC = $83A1; + GL_RGBA_S3TC = $83A2; + GL_RGBA4_S3TC = $83A3; + + // GL_SGIS_detail_texture + GL_DETAIL_TEXTURE_2D_SGIS = $8095; + GL_DETAIL_TEXTURE_2D_BINDING_SGIS = $8096; + GL_LINEAR_DETAIL_SGIS = $8097; + GL_LINEAR_DETAIL_ALPHA_SGIS = $8098; + GL_LINEAR_DETAIL_COLOR_SGIS = $8099; + GL_DETAIL_TEXTURE_LEVEL_SGIS = $809A; + GL_DETAIL_TEXTURE_MODE_SGIS = $809B; + GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = $809C; + + // GL_SGIS_fog_function + GL_FOG_FUNC_SGIS = $812A; + GL_FOG_FUNC_POINTS_SGIS = $812B; + GL_MAX_FOG_FUNC_POINTS_SGIS = $812C; + + // GL_SGIS_generate_mipmap + GL_GENERATE_MIPMAP_SGIS = $8191; + GL_GENERATE_MIPMAP_HINT_SGIS = $8192; + + // GL_SGIS_multisample + GL_MULTISAMPLE_SGIS = $809D; + GL_SAMPLE_ALPHA_TO_MASK_SGIS = $809E; + GL_SAMPLE_ALPHA_TO_ONE_SGIS = $809F; + GL_SAMPLE_MASK_SGIS = $80A0; + GL_1PASS_SGIS = $80A1; + GL_2PASS_0_SGIS = $80A2; + GL_2PASS_1_SGIS = $80A3; + GL_4PASS_0_SGIS = $80A4; + GL_4PASS_1_SGIS = $80A5; + GL_4PASS_2_SGIS = $80A6; + GL_4PASS_3_SGIS = $80A7; + GL_SAMPLE_BUFFERS_SGIS = $80A8; + GL_SAMPLES_SGIS = $80A9; + GL_SAMPLE_MASK_VALUE_SGIS = $80AA; + GL_SAMPLE_MASK_INVERT_SGIS = $80AB; + GL_SAMPLE_PATTERN_SGIS = $80AC; + + // GL_SGIS_pixel_texture + GL_PIXEL_TEXTURE_SGIS = $8353; + GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = $8354; + GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = $8355; + GL_PIXEL_GROUP_COLOR_SGIS = $8356; + + // GL_SGIS_point_line_texgen + GL_EYE_DISTANCE_TO_POINT_SGIS = $81F0; + GL_OBJECT_DISTANCE_TO_POINT_SGIS = $81F1; + GL_EYE_DISTANCE_TO_LINE_SGIS = $81F2; + GL_OBJECT_DISTANCE_TO_LINE_SGIS = $81F3; + GL_EYE_POINT_SGIS = $81F4; + GL_OBJECT_POINT_SGIS = $81F5; + GL_EYE_LINE_SGIS = $81F6; + GL_OBJECT_LINE_SGIS = $81F7; + + // GL_SGIS_point_parameters + GL_POINT_SIZE_MIN_SGIS = $8126; + GL_POINT_SIZE_MAX_SGIS = $8127; + GL_POINT_FADE_THRESHOLD_SIZE_SGIS = $8128; + GL_DISTANCE_ATTENUATION_SGIS = $8129; + + // GL_SGIS_sharpen_texture + GL_LINEAR_SHARPEN_SGIS = $80AD; + GL_LINEAR_SHARPEN_ALPHA_SGIS = $80AE; + GL_LINEAR_SHARPEN_COLOR_SGIS = $80AF; + GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = $80B0; + + // GL_SGIS_texture4D + GL_PACK_SKIP_VOLUMES_SGIS = $8130; + GL_PACK_IMAGE_DEPTH_SGIS = $8131; + GL_UNPACK_SKIP_VOLUMES_SGIS = $8132; + GL_UNPACK_IMAGE_DEPTH_SGIS = $8133; + GL_TEXTURE_4D_SGIS = $8134; + GL_PROXY_TEXTURE_4D_SGIS = $8135; + GL_TEXTURE_4DSIZE_SGIS = $8136; + GL_TEXTURE_WRAP_Q_SGIS = $8137; + GL_MAX_4D_TEXTURE_SIZE_SGIS = $8138; + GL_TEXTURE_4D_BINDING_SGIS = $814F; + + // GL_SGIS_texture_color_mask + GL_TEXTURE_COLOR_WRITEMASK_SGIS = $81EF; + + // GL_SGIS_texture_edge_clamp + GL_CLAMP_TO_EDGE_SGIS = $812F; + + // GL_SGIS_texture_filter4 + GL_FILTER4_SGIS = $8146; + GL_TEXTURE_FILTER4_SIZE_SGIS = $8147; + + // GL_SGIS_texture_lod + GL_TEXTURE_MIN_LOD_SGIS = $813A; + GL_TEXTURE_MAX_LOD_SGIS = $813B; + GL_TEXTURE_BASE_LEVEL_SGIS = $813C; + GL_TEXTURE_MAX_LEVEL_SGIS = $813D; + + // GL_SGIS_texture_select + GL_DUAL_ALPHA4_SGIS = $8110; + GL_DUAL_ALPHA8_SGIS = $8111; + GL_DUAL_ALPHA12_SGIS = $8112; + GL_DUAL_ALPHA16_SGIS = $8113; + GL_DUAL_LUMINANCE4_SGIS = $8114; + GL_DUAL_LUMINANCE8_SGIS = $8115; + GL_DUAL_LUMINANCE12_SGIS = $8116; + GL_DUAL_LUMINANCE16_SGIS = $8117; + GL_DUAL_INTENSITY4_SGIS = $8118; + GL_DUAL_INTENSITY8_SGIS = $8119; + GL_DUAL_INTENSITY12_SGIS = $811A; + GL_DUAL_INTENSITY16_SGIS = $811B; + GL_DUAL_LUMINANCE_ALPHA4_SGIS = $811C; + GL_DUAL_LUMINANCE_ALPHA8_SGIS = $811D; + GL_QUAD_ALPHA4_SGIS = $811E; + GL_QUAD_ALPHA8_SGIS = $811F; + GL_QUAD_LUMINANCE4_SGIS = $8120; + GL_QUAD_LUMINANCE8_SGIS = $8121; + GL_QUAD_INTENSITY4_SGIS = $8122; + GL_QUAD_INTENSITY8_SGIS = $8123; + GL_DUAL_TEXTURE_SELECT_SGIS = $8124; + GL_QUAD_TEXTURE_SELECT_SGIS = $8125; + + // GL_SGIX_async + GL_ASYNC_MARKER_SGIX = $8329; + + // GL_SGIX_async_histogram + GL_ASYNC_HISTOGRAM_SGIX = $832C; + GL_MAX_ASYNC_HISTOGRAM_SGIX = $832D; + + // GL_SGIX_async_pixel + GL_ASYNC_TEX_IMAGE_SGIX = $835C; + GL_ASYNC_DRAW_PIXELS_SGIX = $835D; + GL_ASYNC_READ_PIXELS_SGIX = $835E; + GL_MAX_ASYNC_TEX_IMAGE_SGIX = $835F; + GL_MAX_ASYNC_DRAW_PIXELS_SGIX = $8360; + GL_MAX_ASYNC_READ_PIXELS_SGIX = $8361; + + // GL_SGIX_blend_alpha_minmax + GL_ALPHA_MIN_SGIX = $8320; + GL_ALPHA_MAX_SGIX = $8321; + + // GL_SGIX_calligraphic_fragment + GL_CALLIGRAPHIC_FRAGMENT_SGIX = $8183; + + // GL_SGIX_clipmap + GL_LINEAR_CLIPMAP_LINEAR_SGIX = $8170; + GL_TEXTURE_CLIPMAP_CENTER_SGIX = $8171; + GL_TEXTURE_CLIPMAP_FRAME_SGIX = $8172; + GL_TEXTURE_CLIPMAP_OFFSET_SGIX = $8173; + GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8174; + GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = $8175; + GL_TEXTURE_CLIPMAP_DEPTH_SGIX = $8176; + GL_MAX_CLIPMAP_DEPTH_SGIX = $8177; + GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8178; + GL_NEAREST_CLIPMAP_NEAREST_SGIX = $844D; + GL_NEAREST_CLIPMAP_LINEAR_SGIX = $844E; + GL_LINEAR_CLIPMAP_NEAREST_SGIX = $844F; + + // GL_SGIX_convolution_accuracy + GL_CONVOLUTION_HINT_SGIX = $8316; + + // GL_SGIX_depth_texture + GL_DEPTH_COMPONENT16_SGIX = $81A5; + GL_DEPTH_COMPONENT24_SGIX = $81A6; + GL_DEPTH_COMPONENT32_SGIX = $81A7; + + // GL_SGIX_fog_offset + GL_FOG_OFFSET_SGIX = $8198; + GL_FOG_OFFSET_VALUE_SGIX = $8199; + + // GL_SGIX_fog_scale + GL_FOG_SCALE_SGIX = $81FC; + GL_FOG_SCALE_VALUE_SGIX = $81FD; + + // GL_SGIX_fragment_lighting + GL_FRAGMENT_LIGHTING_SGIX = $8400; + GL_FRAGMENT_COLOR_MATERIAL_SGIX = $8401; + GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = $8402; + GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = $8403; + GL_MAX_FRAGMENT_LIGHTS_SGIX = $8404; + GL_MAX_ACTIVE_LIGHTS_SGIX = $8405; + GL_CURRENT_RASTER_NORMAL_SGIX = $8406; + GL_LIGHT_ENV_MODE_SGIX = $8407; + GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = $8408; + GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = $8409; + GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = $840A; + GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = $840B; + GL_FRAGMENT_LIGHT0_SGIX = $840C; + GL_FRAGMENT_LIGHT1_SGIX = $840D; + GL_FRAGMENT_LIGHT2_SGIX = $840E; + GL_FRAGMENT_LIGHT3_SGIX = $840F; + GL_FRAGMENT_LIGHT4_SGIX = $8410; + GL_FRAGMENT_LIGHT5_SGIX = $8411; + GL_FRAGMENT_LIGHT6_SGIX = $8412; + GL_FRAGMENT_LIGHT7_SGIX = $8413; + + // GL_SGIX_framezoom + GL_FRAMEZOOM_SGIX = $818B; + GL_FRAMEZOOM_FACTOR_SGIX = $818C; + GL_MAX_FRAMEZOOM_FACTOR_SGIX = $818D; + + // GL_SGIX_impact_pixel_texture + GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = $8184; + GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = $8185; + GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = $8186; + GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = $8187; + GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = $8188; + GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = $8189; + GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = $818A; + + // GL_SGIX_instruments + GL_INSTRUMENT_BUFFER_POINTER_SGIX = $8180; + GL_INSTRUMENT_MEASUREMENTS_SGIX = $8181; + + // GL_SGIX_interlace + GL_INTERLACE_SGIX = $8094; + + // GL_SGIX_ir_instrument1 + GL_IR_INSTRUMENT1_SGIX = $817F; + + // GL_SGIX_list_priority + GL_LIST_PRIORITY_SGIX = $8182; + + // GL_SGIX_pixel_texture + GL_PIXEL_TEX_GEN_SGIX = $8139; + GL_PIXEL_TEX_GEN_MODE_SGIX = $832B; + + // GL_SGIX_pixel_tiles + GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = $813E; + GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = $813F; + GL_PIXEL_TILE_WIDTH_SGIX = $8140; + GL_PIXEL_TILE_HEIGHT_SGIX = $8141; + GL_PIXEL_TILE_GRID_WIDTH_SGIX = $8142; + GL_PIXEL_TILE_GRID_HEIGHT_SGIX = $8143; + GL_PIXEL_TILE_GRID_DEPTH_SGIX = $8144; + GL_PIXEL_TILE_CACHE_SIZE_SGIX = $8145; + + // GL_SGIX_polynomial_ffd + GL_GEOMETRY_DEFORMATION_SGIX = $8194; + GL_TEXTURE_DEFORMATION_SGIX = $8195; + GL_DEFORMATIONS_MASK_SGIX = $8196; + GL_MAX_DEFORMATION_ORDER_SGIX = $8197; + + // GL_SGIX_reference_plane + GL_REFERENCE_PLANE_SGIX = $817D; + GL_REFERENCE_PLANE_EQUATION_SGIX = $817E; + + // GL_SGIX_resample + GL_PACK_RESAMPLE_SGIX = $842C; + GL_UNPACK_RESAMPLE_SGIX = $842D; + GL_RESAMPLE_REPLICATE_SGIX = $842E; + GL_RESAMPLE_ZERO_FILL_SGIX = $842F; + GL_RESAMPLE_DECIMATE_SGIX = $8430; + + // GL_SGIX_scalebias_hint + GL_SCALEBIAS_HINT_SGIX = $8322; + + // GL_SGIX_shadow + GL_TEXTURE_COMPARE_SGIX = $819A; + GL_TEXTURE_COMPARE_OPERATOR_SGIX = $819B; + GL_TEXTURE_LEQUAL_R_SGIX = $819C; + GL_TEXTURE_GEQUAL_R_SGIX = $819D; + + // GL_SGIX_shadow_ambient + GL_SHADOW_AMBIENT_SGIX = $80BF; + + // GL_SGIX_sprite + GL_SPRITE_SGIX = $8148; + GL_SPRITE_MODE_SGIX = $8149; + GL_SPRITE_AXIS_SGIX = $814A; + GL_SPRITE_TRANSLATION_SGIX = $814B; + GL_SPRITE_AXIAL_SGIX = $814C; + GL_SPRITE_OBJECT_ALIGNED_SGIX = $814D; + GL_SPRITE_EYE_ALIGNED_SGIX = $814E; + + // GL_SGIX_subsample + GL_PACK_SUBSAMPLE_RATE_SGIX = $85A0; + GL_UNPACK_SUBSAMPLE_RATE_SGIX = $85A1; + GL_PIXEL_SUBSAMPLE_4444_SGIX = $85A2; + GL_PIXEL_SUBSAMPLE_2424_SGIX = $85A3; + GL_PIXEL_SUBSAMPLE_4242_SGIX = $85A4; + + // GL_SGIX_texture_add_env + GL_TEXTURE_ENV_BIAS_SGIX = $80BE; + + // GL_SGIX_texture_coordinate_clamp + GL_TEXTURE_MAX_CLAMP_S_SGIX = $8369; + GL_TEXTURE_MAX_CLAMP_T_SGIX = $836A; + GL_TEXTURE_MAX_CLAMP_R_SGIX = $836B; + + // GL_SGIX_texture_lod_bias + GL_TEXTURE_LOD_BIAS_S_SGIX = $818E; + GL_TEXTURE_LOD_BIAS_T_SGIX = $818F; + GL_TEXTURE_LOD_BIAS_R_SGIX = $8190; + + // GL_SGIX_texture_multi_buffer + GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = $812E; + + // GL_SGIX_texture_scale_bias + GL_POST_TEXTURE_FILTER_BIAS_SGIX = $8179; + GL_POST_TEXTURE_FILTER_SCALE_SGIX = $817A; + GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = $817B; + GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = $817C; + + // GL_SGIX_vertex_preclip + GL_VERTEX_PRECLIP_SGIX = $83EE; + GL_VERTEX_PRECLIP_HINT_SGIX = $83EF; + + // GL_SGIX_ycrcb + GL_YCRCB_422_SGIX = $81BB; + GL_YCRCB_444_SGIX = $81BC; + + // GL_SGIX_ycrcba + GL_YCRCB_SGIX = $8318; + GL_YCRCBA_SGIX = $8319; + + // GL_SGI_color_matrix + GL_COLOR_MATRIX_SGI = $80B1; + GL_COLOR_MATRIX_STACK_DEPTH_SGI = $80B2; + GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = $80B3; + GL_POST_COLOR_MATRIX_RED_SCALE_SGI = $80B4; + GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = $80B5; + GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = $80B6; + GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = $80B7; + GL_POST_COLOR_MATRIX_RED_BIAS_SGI = $80B8; + GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = $80B9; + GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = $80BA; + GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = $80BB; + + // GL_SGI_color_table + GL_COLOR_TABLE_SGI = $80D0; + GL_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D1; + GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D2; + GL_PROXY_COLOR_TABLE_SGI = $80D3; + GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D4; + GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D5; + GL_COLOR_TABLE_SCALE_SGI = $80D6; + GL_COLOR_TABLE_BIAS_SGI = $80D7; + GL_COLOR_TABLE_FORMAT_SGI = $80D8; + GL_COLOR_TABLE_WIDTH_SGI = $80D9; + GL_COLOR_TABLE_RED_SIZE_SGI = $80DA; + GL_COLOR_TABLE_GREEN_SIZE_SGI = $80DB; + GL_COLOR_TABLE_BLUE_SIZE_SGI = $80DC; + GL_COLOR_TABLE_ALPHA_SIZE_SGI = $80DD; + GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = $80DE; + GL_COLOR_TABLE_INTENSITY_SIZE_SGI = $80DF; + + // GL_SGI_depth_pass_instrument + GL_DEPTH_PASS_INSTRUMENT_SGIX = $8310; + GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = $8311; + GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = $8312; + + // GL_SGI_texture_color_table + GL_TEXTURE_COLOR_TABLE_SGI = $80BC; + GL_PROXY_TEXTURE_COLOR_TABLE_SGI = $80BD; + + // GL_SUNX_constant_data + GL_UNPACK_CONSTANT_DATA_SUNX = $81D5; + GL_TEXTURE_CONSTANT_DATA_SUNX = $81D6; + + // GL_SUN_convolution_border_modes + GL_WRAP_BORDER_SUN = $81D4; + + // GL_SUN_global_alpha + GL_GLOBAL_ALPHA_SUN = $81D9; + GL_GLOBAL_ALPHA_FACTOR_SUN = $81DA; + + // GL_SUN_mesh_array + GL_QUAD_MESH_SUN = $8614; + GL_TRIANGLE_MESH_SUN = $8615; + + // GL_SUN_slice_accum + GL_SLICE_ACCUM_SUN = $85CC; + + // GL_SUN_triangle_list + GL_RESTART_SUN = $0001; + GL_REPLACE_MIDDLE_SUN = $0002; + GL_REPLACE_OLDEST_SUN = $0003; + GL_TRIANGLE_LIST_SUN = $81D7; + GL_REPLACEMENT_CODE_SUN = $81D8; + GL_REPLACEMENT_CODE_ARRAY_SUN = $85C0; + GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = $85C1; + GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = $85C2; + GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = $85C3; + GL_R1UI_V3F_SUN = $85C4; + GL_R1UI_C4UB_V3F_SUN = $85C5; + GL_R1UI_C3F_V3F_SUN = $85C6; + GL_R1UI_N3F_V3F_SUN = $85C7; + GL_R1UI_C4F_N3F_V3F_SUN = $85C8; + GL_R1UI_T2F_V3F_SUN = $85C9; + GL_R1UI_T2F_N3F_V3F_SUN = $85CA; + GL_R1UI_T2F_C4F_N3F_V3F_SUN = $85CB; + + // GL_WIN_phong_shading + GL_PHONG_WIN = $80EA; + GL_PHONG_HINT_WIN = $80EB; + + // GL_WIN_specular_fog + GL_FOG_SPECULAR_TEXTURE_WIN = $80EC; + + // GL_ARB_vertex_shader + GL_VERTEX_SHADER_ARB = $8B31; + GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = $8B4A; + GL_MAX_VARYING_FLOATS_ARB = $8B4B; + GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C; + GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = $8B4D; + GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = $8B89; + GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = $8B8A; + + // GL_ARB_fragment_shader + GL_FRAGMENT_SHADER_ARB = $8B30; + GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = $8B49; // 1.4 + GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = $8B8B; // 1.4 + + // GL_ARB_occlusion_query + GL_SAMPLES_PASSED_ARB = $8914; + GL_QUERY_COUNTER_BITS_ARB = $8864; + GL_CURRENT_QUERY_ARB = $8865; + GL_QUERY_RESULT_ARB = $8866; + GL_QUERY_RESULT_AVAILABLE_ARB = $8867; + + // GL_ARB_point_sprite + GL_POINT_SPRITE_ARB = $8861; + GL_COORD_REPLACE_ARB = $8862; + + // GL_ARB_shading_language_100 + GL_SHADING_LANGUAGE_VERSION_ARB = $8B8C; // 1.4 + + // GL_ARB_shader_objects + GL_PROGRAM_OBJECT_ARB = $8B40; + + GL_OBJECT_TYPE_ARB = $8B4E; + GL_OBJECT_SUBTYPE_ARB = $8B4F; + GL_OBJECT_DELETE_STATUS_ARB = $8B80; + GL_OBJECT_COMPILE_STATUS_ARB = $8B81; + GL_OBJECT_LINK_STATUS_ARB = $8B82; + GL_OBJECT_VALIDATE_STATUS_ARB = $8B83; + GL_OBJECT_INFO_LOG_LENGTH_ARB = $8B84; + GL_OBJECT_ATTACHED_OBJECTS_ARB = $8B85; + GL_OBJECT_ACTIVE_UNIFORMS_ARB = $8B86; + GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = $8B87; + GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = $8B88; + + GL_SHADER_OBJECT_ARB = $8B48; + + GL_FLOAT_VEC2_ARB = $8B50; + GL_FLOAT_VEC3_ARB = $8B51; + GL_FLOAT_VEC4_ARB = $8B52; + GL_INT_VEC2_ARB = $8B53; + GL_INT_VEC3_ARB = $8B54; + GL_INT_VEC4_ARB = $8B55; + GL_BOOL_ARB = $8B56; + GL_BOOL_VEC2_ARB = $8B57; + GL_BOOL_VEC3_ARB = $8B58; + GL_BOOL_VEC4_ARB = $8B59; + GL_FLOAT_MAT2_ARB = $8B5A; + GL_FLOAT_MAT3_ARB = $8B5B; + GL_FLOAT_MAT4_ARB = $8B5C; + GL_SAMPLER_1D_ARB = $8B5D; + GL_SAMPLER_2D_ARB = $8B5E; + GL_SAMPLER_3D_ARB = $8B5F; + GL_SAMPLER_CUBE_ARB = $8B60; + GL_SAMPLER_1D_SHADOW_ARB = $8B61; + GL_SAMPLER_2D_SHADOW_ARB = $8B62; + GL_SAMPLER_2D_RECT_ARB = $8B63; + GL_SAMPLER_2D_RECT_SHADOW_ARB = $8B64; + + // WGL_3DFX_multisample + WGL_SAMPLE_BUFFERS_3DFX = $2060; + WGL_SAMPLES_3DFX = $2061; + + // WGL_ARB_buffer_region + WGL_FRONT_COLOR_BUFFER_BIT_ARB = $00000001; + WGL_BACK_COLOR_BUFFER_BIT_ARB = $00000002; + WGL_DEPTH_BUFFER_BIT_ARB = $00000004; + WGL_STENCIL_BUFFER_BIT_ARB = $00000008; + + // WGL_ARB_make_current_read + ERROR_INVALID_PIXEL_TYPE_ARB = $2043; + ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = $2054; + + // WGL_ARB_multisample + WGL_SAMPLE_BUFFERS_ARB = $2041; + WGL_SAMPLES_ARB = $2042; + + // WGL_ARB_pbuffer + WGL_DRAW_TO_PBUFFER_ARB = $202D; + WGL_MAX_PBUFFER_PIXELS_ARB = $202E; + WGL_MAX_PBUFFER_WIDTH_ARB = $202F; + WGL_MAX_PBUFFER_HEIGHT_ARB = $2030; + WGL_PBUFFER_LARGEST_ARB = $2033; + WGL_PBUFFER_WIDTH_ARB = $2034; + WGL_PBUFFER_HEIGHT_ARB = $2035; + WGL_PBUFFER_LOST_ARB = $2036; + + // WGL_ARB_pixel_format + WGL_NUMBER_PIXEL_FORMATS_ARB = $2000; + WGL_DRAW_TO_WINDOW_ARB = $2001; + WGL_DRAW_TO_BITMAP_ARB = $2002; + WGL_ACCELERATION_ARB = $2003; + WGL_NEED_PALETTE_ARB = $2004; + WGL_NEED_SYSTEM_PALETTE_ARB = $2005; + WGL_SWAP_LAYER_BUFFERS_ARB = $2006; + WGL_SWAP_METHOD_ARB = $2007; + WGL_NUMBER_OVERLAYS_ARB = $2008; + WGL_NUMBER_UNDERLAYS_ARB = $2009; + WGL_TRANSPARENT_ARB = $200A; + WGL_TRANSPARENT_RED_VALUE_ARB = $2037; + WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038; + WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039; + WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A; + WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B; + WGL_SHARE_DEPTH_ARB = $200C; + WGL_SHARE_STENCIL_ARB = $200D; + WGL_SHARE_ACCUM_ARB = $200E; + WGL_SUPPORT_GDI_ARB = $200F; + WGL_SUPPORT_OPENGL_ARB = $2010; + WGL_DOUBLE_BUFFER_ARB = $2011; + WGL_STEREO_ARB = $2012; + WGL_PIXEL_TYPE_ARB = $2013; + WGL_COLOR_BITS_ARB = $2014; + WGL_RED_BITS_ARB = $2015; + WGL_RED_SHIFT_ARB = $2016; + WGL_GREEN_BITS_ARB = $2017; + WGL_GREEN_SHIFT_ARB = $2018; + WGL_BLUE_BITS_ARB = $2019; + WGL_BLUE_SHIFT_ARB = $201A; + WGL_ALPHA_BITS_ARB = $201B; + WGL_ALPHA_SHIFT_ARB = $201C; + WGL_ACCUM_BITS_ARB = $201D; + WGL_ACCUM_RED_BITS_ARB = $201E; + WGL_ACCUM_GREEN_BITS_ARB = $201F; + WGL_ACCUM_BLUE_BITS_ARB = $2020; + WGL_ACCUM_ALPHA_BITS_ARB = $2021; + WGL_DEPTH_BITS_ARB = $2022; + WGL_STENCIL_BITS_ARB = $2023; + WGL_AUX_BUFFERS_ARB = $2024; + WGL_NO_ACCELERATION_ARB = $2025; + WGL_GENERIC_ACCELERATION_ARB = $2026; + WGL_FULL_ACCELERATION_ARB = $2027; + WGL_SWAP_EXCHANGE_ARB = $2028; + WGL_SWAP_COPY_ARB = $2029; + WGL_SWAP_UNDEFINED_ARB = $202A; + WGL_TYPE_RGBA_ARB = $202B; + WGL_TYPE_COLORINDEX_ARB = $202C; + + // WGL_ARB_pixel_format_float + WGL_RGBA_FLOAT_MODE_ARB = $8820; + WGL_CLAMP_VERTEX_COLOR_ARB = $891A; + WGL_CLAMP_FRAGMENT_COLOR_ARB = $891B; + WGL_CLAMP_READ_COLOR_ARB = $891C; + WGL_FIXED_ONLY_ARB = $891D; + + // WGL_ARB_render_texture + WGL_BIND_TO_TEXTURE_RGB_ARB = $2070; + WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071; + WGL_TEXTURE_FORMAT_ARB = $2072; + WGL_TEXTURE_TARGET_ARB = $2073; + WGL_MIPMAP_TEXTURE_ARB = $2074; + WGL_TEXTURE_RGB_ARB = $2075; + WGL_TEXTURE_RGBA_ARB = $2076; + WGL_NO_TEXTURE_ARB = $2077; + WGL_TEXTURE_CUBE_MAP_ARB = $2078; + WGL_TEXTURE_1D_ARB = $2079; + WGL_TEXTURE_2D_ARB = $207A; + WGL_MIPMAP_LEVEL_ARB = $207B; + WGL_CUBE_MAP_FACE_ARB = $207C; + WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D; + WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E; + WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F; + WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080; + WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081; + WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082; + WGL_FRONT_LEFT_ARB = $2083; + WGL_FRONT_RIGHT_ARB = $2084; + WGL_BACK_LEFT_ARB = $2085; + WGL_BACK_RIGHT_ARB = $2086; + WGL_AUX0_ARB = $2087; + WGL_AUX1_ARB = $2088; + WGL_AUX2_ARB = $2089; + WGL_AUX3_ARB = $208A; + WGL_AUX4_ARB = $208B; + WGL_AUX5_ARB = $208C; + WGL_AUX6_ARB = $208D; + WGL_AUX7_ARB = $208E; + WGL_AUX8_ARB = $208F; + WGL_AUX9_ARB = $2090; + + // WGL_ARB_create_context + WGL_CONTEXT_DEBUG_BIT_ARB = $00000001; + WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002; + WGL_CONTEXT_MAJOR_VERSION_ARB = $2091; + WGL_CONTEXT_MINOR_VERSION_ARB = $2092; + WGL_CONTEXT_LAYER_PLANE_ARB = $2093; + WGL_CONTEXT_FLAGS_ARB = $2094; + ERROR_INVALID_VERSION_ARB = $2095; + + // WGL_ARB_create_context_profile + WGL_CONTEXT_PROFILE_MASK_ARB = $9126; + WGL_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001; + WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002; + ERROR_INVALID_PROFILE_ARB = $2096; + + // WGL_ARB_framebuffer_sRGB + WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20A9; + + // WGL_ARB_create_context_robustness + WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004; + WGL_LOSE_CONTEXT_ON_RESET_ARB = $8252; + WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256; + WGL_NO_RESET_NOTIFICATION_ARB = $8261; + + // WGL_ATI_pixel_format_float + WGL_TYPE_RGBA_FLOAT_ATI = $21A0; + GL_TYPE_RGBA_FLOAT_ATI = $8820; + GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = $8835; + + // WGL_AMD_gpu_association + WGL_GPU_VENDOR_AMD = $1F00; + WGL_GPU_RENDERER_STRING_AMD = $1F01; + WGL_GPU_OPENGL_VERSION_STRING_AMD = $1F02; + WGL_GPU_FASTEST_TARGET_GPUS_AMD = $21A2; + WGL_GPU_RAM_AMD = $21A3; + WGL_GPU_CLOCK_AMD = $21A4; + WGL_GPU_NUM_PIPES_AMD = $21A5; + WGL_GPU_NUM_SIMD_AMD = $21A6; + WGL_GPU_NUM_RB_AMD = $21A7; + WGL_GPU_NUM_SPI_AMD = $21A8; + + // WGL_EXT_depth_float + WGL_DEPTH_FLOAT_EXT = $2040; + + // WGL_EXT_make_current_read + ERROR_INVALID_PIXEL_TYPE_EXT = $2043; + + // WGL_EXT_multisample + WGL_SAMPLE_BUFFERS_EXT = $2041; + WGL_SAMPLES_EXT = $2042; + + // WGL_EXT_pbuffer + WGL_DRAW_TO_PBUFFER_EXT = $202D; + WGL_MAX_PBUFFER_PIXELS_EXT = $202E; + WGL_MAX_PBUFFER_WIDTH_EXT = $202F; + WGL_MAX_PBUFFER_HEIGHT_EXT = $2030; + WGL_OPTIMAL_PBUFFER_WIDTH_EXT = $2031; + WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = $2032; + WGL_PBUFFER_LARGEST_EXT = $2033; + WGL_PBUFFER_WIDTH_EXT = $2034; + WGL_PBUFFER_HEIGHT_EXT = $2035; + + // WGL_EXT_pixel_format + WGL_NUMBER_PIXEL_FORMATS_EXT = $2000; + WGL_DRAW_TO_WINDOW_EXT = $2001; + WGL_DRAW_TO_BITMAP_EXT = $2002; + WGL_ACCELERATION_EXT = $2003; + WGL_NEED_PALETTE_EXT = $2004; + WGL_NEED_SYSTEM_PALETTE_EXT = $2005; + WGL_SWAP_LAYER_BUFFERS_EXT = $2006; + WGL_SWAP_METHOD_EXT = $2007; + WGL_NUMBER_OVERLAYS_EXT = $2008; + WGL_NUMBER_UNDERLAYS_EXT = $2009; + WGL_TRANSPARENT_EXT = $200A; + WGL_TRANSPARENT_VALUE_EXT = $200B; + WGL_SHARE_DEPTH_EXT = $200C; + WGL_SHARE_STENCIL_EXT = $200D; + WGL_SHARE_ACCUM_EXT = $200E; + WGL_SUPPORT_GDI_EXT = $200F; + WGL_SUPPORT_OPENGL_EXT = $2010; + WGL_DOUBLE_BUFFER_EXT = $2011; + WGL_STEREO_EXT = $2012; + WGL_PIXEL_TYPE_EXT = $2013; + WGL_COLOR_BITS_EXT = $2014; + WGL_RED_BITS_EXT = $2015; + WGL_RED_SHIFT_EXT = $2016; + WGL_GREEN_BITS_EXT = $2017; + WGL_GREEN_SHIFT_EXT = $2018; + WGL_BLUE_BITS_EXT = $2019; + WGL_BLUE_SHIFT_EXT = $201A; + WGL_ALPHA_BITS_EXT = $201B; + WGL_ALPHA_SHIFT_EXT = $201C; + WGL_ACCUM_BITS_EXT = $201D; + WGL_ACCUM_RED_BITS_EXT = $201E; + WGL_ACCUM_GREEN_BITS_EXT = $201F; + WGL_ACCUM_BLUE_BITS_EXT = $2020; + WGL_ACCUM_ALPHA_BITS_EXT = $2021; + WGL_DEPTH_BITS_EXT = $2022; + WGL_STENCIL_BITS_EXT = $2023; + WGL_AUX_BUFFERS_EXT = $2024; + WGL_NO_ACCELERATION_EXT = $2025; + WGL_GENERIC_ACCELERATION_EXT = $2026; + WGL_FULL_ACCELERATION_EXT = $2027; + WGL_SWAP_EXCHANGE_EXT = $2028; + WGL_SWAP_COPY_EXT = $2029; + WGL_SWAP_UNDEFINED_EXT = $202A; + WGL_TYPE_RGBA_EXT = $202B; + WGL_TYPE_COLORINDEX_EXT = $202C; + + // WGL_I3D_digital_video_control + WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = $2050; + WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = $2051; + WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = $2052; + WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = $2053; + + // WGL_I3D_gamma + WGL_GAMMA_TABLE_SIZE_I3D = $204E; + WGL_GAMMA_EXCLUDE_DESKTOP_I3D = $204F; + + // WGL_I3D_genlock + WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = $2044; + WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D = $2045; + WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D = $2046; + WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D = $2047; + WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = $2048; + WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = $2049; + WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = $204A; + WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = $204B; + WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = $204C; + + // WGL_I3D_image_buffer + WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = $00000001; + WGL_IMAGE_BUFFER_LOCK_I3D = $00000002; + + // WGL_NV_float_buffer + WGL_FLOAT_COMPONENTS_NV = $20B0; + WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1; + WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2; + WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3; + WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4; + WGL_TEXTURE_FLOAT_R_NV = $20B5; + WGL_TEXTURE_FLOAT_RG_NV = $20B6; + WGL_TEXTURE_FLOAT_RGB_NV = $20B7; + WGL_TEXTURE_FLOAT_RGBA_NV = $20B8; + + // WGL_NV_render_depth_texture + WGL_BIND_TO_TEXTURE_DEPTH_NV = $20A3; + WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = $20A4; + WGL_DEPTH_TEXTURE_FORMAT_NV = $20A5; + WGL_TEXTURE_DEPTH_COMPONENT_NV = $20A6; + WGL_DEPTH_COMPONENT_NV = $20A7; + + // WGL_NV_render_texture_rectangle + WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = $20A0; + WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = $20A1; + WGL_TEXTURE_RECTANGLE_NV = $20A2; + + // WGL_NV_present_video + WGL_NUM_VIDEO_SLOTS_NV = $20F0; + + // WGL_NV_video_output + WGL_BIND_TO_VIDEO_RGB_NV = $20C0; + WGL_BIND_TO_VIDEO_RGBA_NV = $20C1; + WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV = $20C2; + WGL_VIDEO_OUT_COLOR_NV = $20C3; + WGL_VIDEO_OUT_ALPHA_NV = $20C4; + WGL_VIDEO_OUT_DEPTH_NV = $20C5; + WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV = $20C6; + WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV = $20C7; + WGL_VIDEO_OUT_FRAME = $20C8; + WGL_VIDEO_OUT_FIELD_1 = $20C9; + WGL_VIDEO_OUT_FIELD_2 = $20CA; + WGL_VIDEO_OUT_STACKED_FIELDS_1_2 = $20CB; + WGL_VIDEO_OUT_STACKED_FIELDS_2_1 = $20CC; + + // WGL_NV_gpu_affinity + WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV = $20D0; + WGL_ERROR_MISSING_AFFINITY_MASK_NV = $20D1; + + // WGL_NV_video_capture + WGL_UNIQUE_ID_NV = $20CE; + WGL_NUM_VIDEO_CAPTURE_SLOTS_NV = $20CF; + + // WGL_NV_multisample_coverage + WGL_COVERAGE_SAMPLES_NV = $2042; + WGL_COLOR_SAMPLES_NV = $20B9; + + // WGL_EXT_create_context_es2_profile + WGL_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004; + + // WGL_NV_DX_interop + WGL_ACCESS_READ_ONLY_NV = $00000000; + WGL_ACCESS_READ_WRITE_NV = $00000001; + WGL_ACCESS_WRITE_DISCARD_NV = $00000002; + + // WIN_draw_range_elements + GL_MAX_ELEMENTS_VERTICES_WIN = $80E8; + GL_MAX_ELEMENTS_INDICES_WIN = $80E9; + + // GLX 1.1 and later: + GLX_VENDOR = 1; + GLX_VERSION = 2; + GLX_EXTENSIONS = 3; + + GLX_USE_GL = 1; + GLX_BUFFER_SIZE = 2; + GLX_LEVEL = 3; + GLX_RGBA = 4; + GLX_DOUBLEBUFFER = 5; + GLX_STEREO = 6; + GLX_AUX_BUFFERS = 7; + GLX_RED_SIZE = 8; + GLX_GREEN_SIZE = 9; + GLX_BLUE_SIZE = 10; + GLX_ALPHA_SIZE = 11; + GLX_DEPTH_SIZE = 12; + GLX_STENCIL_SIZE = 13; + GLX_ACCUM_RED_SIZE = 14; + GLX_ACCUM_GREEN_SIZE = 15; + GLX_ACCUM_BLUE_SIZE = 16; + GLX_ACCUM_ALPHA_SIZE = 17; + + // GLX_VERSION_1_3 + GLX_WINDOW_BIT = $00000001; + GLX_PIXMAP_BIT = $00000002; + GLX_PBUFFER_BIT = $00000004; + GLX_RGBA_BIT = $00000001; + GLX_COLOR_INDEX_BIT = $00000002; + GLX_PBUFFER_CLOBBER_MASK = $08000000; + GLX_FRONT_LEFT_BUFFER_BIT = $00000001; + GLX_FRONT_RIGHT_BUFFER_BIT = $00000002; + GLX_BACK_LEFT_BUFFER_BIT = $00000004; + GLX_BACK_RIGHT_BUFFER_BIT = $00000008; + GLX_AUX_BUFFERS_BIT = $00000010; + GLX_DEPTH_BUFFER_BIT = $00000020; + GLX_STENCIL_BUFFER_BIT = $00000040; + GLX_ACCUM_BUFFER_BIT = $00000080; + GLX_CONFIG_CAVEAT = $20; + GLX_X_VISUAL_TYPE = $22; + GLX_TRANSPARENT_TYPE = $23; + GLX_TRANSPARENT_INDEX_VALUE = $24; + GLX_TRANSPARENT_RED_VALUE = $25; + GLX_TRANSPARENT_GREEN_VALUE = $26; + GLX_TRANSPARENT_BLUE_VALUE = $27; + GLX_TRANSPARENT_ALPHA_VALUE = $28; + GLX_DONT_CARE = $FFFFFFFF; + GLX_NONE = $8000; + GLX_SLOW_CONFIG = $8001; + GLX_TRUE_COLOR = $8002; + GLX_DIRECT_COLOR = $8003; + GLX_PSEUDO_COLOR = $8004; + GLX_STATIC_COLOR = $8005; + GLX_GRAY_SCALE = $8006; + GLX_STATIC_GRAY = $8007; + GLX_TRANSPARENT_RGB = $8008; + GLX_TRANSPARENT_INDEX = $8009; + GLX_VISUAL_ID = $800B; + GLX_SCREEN = $800C; + GLX_NON_CONFORMANT_CONFIG = $800D; + GLX_DRAWABLE_TYPE = $8010; + GLX_RENDER_TYPE = $8011; + GLX_X_RENDERABLE = $8012; + GLX_FBCONFIG_ID = $8013; + GLX_RGBA_TYPE = $8014; + GLX_COLOR_INDEX_TYPE = $8015; + GLX_MAX_PBUFFER_WIDTH = $8016; + GLX_MAX_PBUFFER_HEIGHT = $8017; + GLX_MAX_PBUFFER_PIXELS = $8018; + GLX_PRESERVED_CONTENTS = $801B; + GLX_LARGEST_PBUFFER = $801C; + GLX_WIDTH = $801D; + GLX_HEIGHT = $801E; + GLX_EVENT_MASK = $801F; + GLX_DAMAGED = $8020; + GLX_SAVED = $8021; + GLX_WINDOW = $8022; + GLX_PBUFFER = $8023; + GLX_PBUFFER_HEIGHT = $8040; + GLX_PBUFFER_WIDTH = $8041; + + // GLX_VERSION_1_4 + GLX_SAMPLE_BUFFERS = 100000; + GLX_SAMPLES = 100001; + + // GLX_ARB_multisample + GLX_SAMPLE_BUFFERS_ARB = 100000; + GLX_SAMPLES_ARB = 100001; + + // GLX_ARB_fbconfig_float + GLX_RGBA_FLOAT_TYPE_ARB = $20B9; + GLX_RGBA_FLOAT_BIT_ARB = $00000004; + + // GLX_ARB_create_context + GLX_CONTEXT_DEBUG_BIT_ARB = $00000001; + GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $00000002; + GLX_CONTEXT_MAJOR_VERSION_ARB = $2091; + GLX_CONTEXT_MINOR_VERSION_ARB = $2092; + GLX_CONTEXT_FLAGS_ARB = $2094; + + // GLX_ARB_create_context_profile + GLX_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001; + GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002; + GLX_CONTEXT_PROFILE_MASK_ARB = $9126; + + // GLX_ARB_vertex_buffer_object + GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB = $2095; + + // GLX_ARB_framebuffer_sRGB + GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20B2; + + // GLX_ARB_create_context_robustness + GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB = $00000004; + GLX_LOSE_CONTEXT_ON_RESET_ARB = $8252; + GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = $8256; + GLX_NO_RESET_NOTIFICATION_ARB = $8261; + + // GLX_EXT_visual_info + GLX_X_VISUAL_TYPE_EXT = $22; + GLX_TRANSPARENT_TYPE_EXT = $23; + GLX_TRANSPARENT_INDEX_VALUE_EXT = $24; + GLX_TRANSPARENT_RED_VALUE_EXT = $25; + GLX_TRANSPARENT_GREEN_VALUE_EXT = $26; + GLX_TRANSPARENT_BLUE_VALUE_EXT = $27; + GLX_TRANSPARENT_ALPHA_VALUE_EXT = $28; + GLX_NONE_EXT = $8000; + GLX_TRUE_COLOR_EXT = $8002; + GLX_DIRECT_COLOR_EXT = $8003; + GLX_PSEUDO_COLOR_EXT = $8004; + GLX_STATIC_COLOR_EXT = $8005; + GLX_GRAY_SCALE_EXT = $8006; + GLX_STATIC_GRAY_EXT = $8007; + GLX_TRANSPARENT_RGB_EXT = $8008; + GLX_TRANSPARENT_INDEX_EXT = $8009; + + // GLX_EXT_visual_rating + GLX_VISUAL_CAVEAT_EXT = $20; + GLX_SLOW_VISUAL_EXT = $8001; + GLX_NON_CONFORMANT_VISUAL_EXT = $800D; + (* reuse GLX_NONE_EXT *) + + // GLX_EXT_import_context + GLX_SHARE_CONTEXT_EXT = $800A; + GLX_VISUAL_ID_EXT = $800B; + GLX_SCREEN_EXT = $800C; + + // GLX_EXT_fbconfig_packed_float +// GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT = $20B1; +// GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT = $00000008; + + // GLX_EXT_framebuffer_sRGB +// GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT = $20B2; + + // GLX_EXT_texture_from_pixmap + GLX_TEXTURE_1D_BIT_EXT = $00000001; + GLX_TEXTURE_2D_BIT_EXT = $00000002; + GLX_TEXTURE_RECTANGLE_BIT_EXT = $00000004; + GLX_BIND_TO_TEXTURE_RGB_EXT = $20D0; + GLX_BIND_TO_TEXTURE_RGBA_EXT = $20D1; + GLX_BIND_TO_MIPMAP_TEXTURE_EXT = $20D2; + GLX_BIND_TO_TEXTURE_TARGETS_EXT = $20D3; + GLX_Y_INVERTED_EXT = $20D4; + GLX_TEXTURE_FORMAT_EXT = $20D5; + GLX_TEXTURE_TARGET_EXT = $20D6; + GLX_MIPMAP_TEXTURE_EXT = $20D7; + GLX_TEXTURE_FORMAT_NONE_EXT = $20D8; + GLX_TEXTURE_FORMAT_RGB_EXT = $20D9; + GLX_TEXTURE_FORMAT_RGBA_EXT = $20DA; + GLX_TEXTURE_1D_EXT = $20DB; + GLX_TEXTURE_2D_EXT = $20DC; + GLX_TEXTURE_RECTANGLE_EXT = $20DD; + GLX_FRONT_LEFT_EXT = $20DE; + GLX_FRONT_RIGHT_EXT = $20DF; + GLX_BACK_LEFT_EXT = $20E0; + GLX_BACK_RIGHT_EXT = $20E1; + GLX_FRONT_EXT = GLX_FRONT_LEFT_EXT; + GLX_BACK_EXT = GLX_BACK_LEFT_EXT; + GLX_AUX0_EXT = $20E2; + GLX_AUX1_EXT = $20E3; + GLX_AUX2_EXT = $20E4; + GLX_AUX3_EXT = $20E5; + GLX_AUX4_EXT = $20E6; + GLX_AUX5_EXT = $20E7; + GLX_AUX6_EXT = $20E8; + GLX_AUX7_EXT = $20E9; + GLX_AUX8_EXT = $20EA; + GLX_AUX9_EXT = $20EB; + + // GLX_EXT_swap_control + GLX_SWAP_INTERVAL_EXT = $20F1; + GLX_MAX_SWAP_INTERVAL_EXT = $20F2; + + // GLX_EXT_create_context_es2_profile + GLX_CONTEXT_ES2_PROFILE_BIT_EXT = $00000004; + + // GL_EXT_Late_Swaps + GLX_LATE_SWAPS_TEAR_EXT = $20F3; + + // GLU + GLU_INVALID_ENUM = 100900; + GLU_INVALID_VALUE = 100901; + GLU_OUT_OF_MEMORY = 100902; + GLU_INCOMPATIBLE_GL_VERSION = 100903; + GLU_VERSION = 100800; + GLU_EXTENSIONS = 100801; + GLU_TRUE = GL_TRUE; + GLU_FALSE = GL_FALSE; + GLU_SMOOTH = 100000; + GLU_FLAT = 100001; + GLU_NONE = 100002; + GLU_POINT = 100010; + GLU_LINE = 100011; + GLU_FILL = 100012; + GLU_SILHOUETTE = 100013; + GLU_OUTSIDE = 100020; + GLU_INSIDE = 100021; + GLU_TESS_MAX_COORD = 1.0E150; + GLU_TESS_WINDING_RULE = 100140; + GLU_TESS_BOUNDARY_ONLY = 100141; + GLU_TESS_TOLERANCE = 100142; + GLU_TESS_WINDING_ODD = 100130; + GLU_TESS_WINDING_NONZERO = 100131; + GLU_TESS_WINDING_POSITIVE = 100132; + GLU_TESS_WINDING_NEGATIVE = 100133; + GLU_TESS_WINDING_ABS_GEQ_TWO = 100134; + GLU_TESS_BEGIN = 100100; // TGLUTessBeginProc + GLU_TESS_VERTEX = 100101; // TGLUTessVertexProc + GLU_TESS_END = 100102; // TGLUTessEndProc + GLU_TESS_ERROR = 100103; // TGLUTessErrorProc + GLU_TESS_EDGE_FLAG = 100104; // TGLUTessEdgeFlagProc + GLU_TESS_COMBINE = 100105; // TGLUTessCombineProc + GLU_TESS_BEGIN_DATA = 100106; // TGLUTessBeginDataProc + GLU_TESS_VERTEX_DATA = 100107; // TGLUTessVertexDataProc + GLU_TESS_END_DATA = 100108; // TGLUTessEndDataProc + GLU_TESS_ERROR_DATA = 100109; // TGLUTessErrorDataProc + GLU_TESS_EDGE_FLAG_DATA = 100110; // TGLUTessEdgeFlagDataProc + GLU_TESS_COMBINE_DATA = 100111; // TGLUTessCombineDataProc + GLU_TESS_ERROR1 = 100151; + GLU_TESS_ERROR2 = 100152; + GLU_TESS_ERROR3 = 100153; + GLU_TESS_ERROR4 = 100154; + GLU_TESS_ERROR5 = 100155; + GLU_TESS_ERROR6 = 100156; + GLU_TESS_ERROR7 = 100157; + GLU_TESS_ERROR8 = 100158; + GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1; + GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2; + GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3; + GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4; + GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5; + GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6; + GLU_AUTO_LOAD_MATRIX = 100200; + GLU_CULLING = 100201; + GLU_SAMPLING_TOLERANCE = 100203; + GLU_DISPLAY_MODE = 100204; + GLU_PARAMETRIC_TOLERANCE = 100202; + GLU_SAMPLING_METHOD = 100205; + GLU_U_STEP = 100206; + GLU_V_STEP = 100207; + GLU_PATH_LENGTH = 100215; + GLU_PARAMETRIC_ERROR = 100216; + GLU_DOMAIN_DISTANCE = 100217; + GLU_MAP1_TRIM_2 = 100210; + GLU_MAP1_TRIM_3 = 100211; + GLU_OUTLINE_POLYGON = 100240; + GLU_OUTLINE_PATCH = 100241; + GLU_NURBS_ERROR1 = 100251; + GLU_NURBS_ERROR2 = 100252; + GLU_NURBS_ERROR3 = 100253; + GLU_NURBS_ERROR4 = 100254; + GLU_NURBS_ERROR5 = 100255; + GLU_NURBS_ERROR6 = 100256; + GLU_NURBS_ERROR7 = 100257; + GLU_NURBS_ERROR8 = 100258; + GLU_NURBS_ERROR9 = 100259; + GLU_NURBS_ERROR10 = 100260; + GLU_NURBS_ERROR11 = 100261; + GLU_NURBS_ERROR12 = 100262; + GLU_NURBS_ERROR13 = 100263; + GLU_NURBS_ERROR14 = 100264; + GLU_NURBS_ERROR15 = 100265; + GLU_NURBS_ERROR16 = 100266; + GLU_NURBS_ERROR17 = 100267; + GLU_NURBS_ERROR18 = 100268; + GLU_NURBS_ERROR19 = 100269; + GLU_NURBS_ERROR20 = 100270; + GLU_NURBS_ERROR21 = 100271; + GLU_NURBS_ERROR22 = 100272; + GLU_NURBS_ERROR23 = 100273; + GLU_NURBS_ERROR24 = 100274; + GLU_NURBS_ERROR25 = 100275; + GLU_NURBS_ERROR26 = 100276; + GLU_NURBS_ERROR27 = 100277; + GLU_NURBS_ERROR28 = 100278; + GLU_NURBS_ERROR29 = 100279; + GLU_NURBS_ERROR30 = 100280; + GLU_NURBS_ERROR31 = 100281; + GLU_NURBS_ERROR32 = 100282; + GLU_NURBS_ERROR33 = 100283; + GLU_NURBS_ERROR34 = 100284; + GLU_NURBS_ERROR35 = 100285; + GLU_NURBS_ERROR36 = 100286; + GLU_NURBS_ERROR37 = 100287; + GLU_CW = 100120; + GLU_CCW = 100121; + GLU_INTERIOR = 100122; + GLU_EXTERIOR = 100123; + GLU_UNKNOWN = 100124; + GLU_BEGIN = GLU_TESS_BEGIN; + GLU_VERTEX = GLU_TESS_VERTEX; + GLU_END = GLU_TESS_END; + GLU_ERROR = GLU_TESS_ERROR; + GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG; + +type + // GL_VERSION_1_0 + TglCullFace = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFrontFace = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglHint = procedure(target: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLineWidth = procedure(width: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointSize = procedure(size: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPolygonMode = procedure(face: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglScissor = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexParameterf = procedure(target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexParameterfv = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexParameteri = procedure(target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexParameteriv = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexImage1D = procedure(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexImage2D = procedure(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawBuffer = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClear = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearColor = procedure(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearStencil = procedure(s: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearDepth = procedure(depth: GLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilMask = procedure(mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorMask = procedure(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDepthMask = procedure(flag: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDisable = procedure(cap: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnable = procedure(cap: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFinish = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFlush = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendFunc = procedure(sfactor: GLenum; dfactor: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLogicOp = procedure(opcode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilFunc = procedure(func: GLenum; ref: GLint; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilOp = procedure(fail: GLenum; zfail: GLenum; zpass: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDepthFunc = procedure(func: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelStoref = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelStorei = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReadBuffer = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReadPixels = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBooleanv = procedure(pname: GLenum; params: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetDoublev = procedure(pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetError = function(): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFloatv = procedure(pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetIntegerv = procedure(pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetString = function(name: GLenum): PAnsiChar; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexImage = procedure(target: GLenum; level: GLint; format: GLenum; _type: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexParameterfv = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexLevelParameterfv = procedure(target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexLevelParameteriv = procedure(target: GLenum; level: GLint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsEnabled = function(cap: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDepthRange = procedure(zNear: GLclampd; zFar: GLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglViewport = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_1_1 + TglDrawArrays = procedure(mode: GLenum; first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElements = procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPointerv = procedure(pname: GLenum; params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPolygonOffset = procedure(factor: GLfloat; units: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTexImage1D = procedure(target: GLenum; level: GLint; internalFormat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTexImage2D = procedure(target: GLenum; level: GLint; internalFormat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTexSubImage1D = procedure(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTexSubImage2D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexSubImage1D = procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexSubImage2D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindTexture = procedure(target: GLenum; texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteTextures = procedure(n: GLsizei; const textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenTextures = procedure(n: GLsizei; textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + +{$ifdef DGL_DEPRECATED} + TglAccum = procedure(op: GLenum; value: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglAlphaFunc = procedure(func: GLenum; ref: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglAreTexturesResident = function(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglArrayElement = procedure(i: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBegin = procedure(mode: GLenum); {$IFNDEF CLR}{$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}{$ENDIF} + TglBitmap = procedure(width: GLsizei; height: GLsizei; xorig: GLfloat; yorig: GLfloat; xmove: GLfloat; ymove: GLfloat; const bitmap: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCallList = procedure(list: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCallLists = procedure(n: GLsizei; _type: GLenum; const lists: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearAccum = procedure(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearIndex = procedure(c: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClipPlane = procedure(plane: GLenum; const equation: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3b = procedure(red: GLbyte; green: GLbyte; blue: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3bv = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3d = procedure(red: GLdouble; green: GLdouble; blue: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3f = procedure(red: GLfloat; green: GLfloat; blue: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3i = procedure(red: GLint; green: GLint; blue: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3s = procedure(red: GLshort; green: GLshort; blue: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3ub = procedure(red: GLubyte; green: GLubyte; blue: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3ubv = procedure(const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3ui = procedure(red: GLuint; green: GLuint; blue: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3uiv = procedure(const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3us = procedure(red: GLushort; green: GLushort; blue: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3usv = procedure(const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4b = procedure(red: GLbyte; green: GLbyte; blue: GLbyte; alpha: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4bv = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4d = procedure(red: GLdouble; green: GLdouble; blue: GLdouble; alpha: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4f = procedure(red: GLfloat; green: GLfloat; blue: GLfloat; alpha: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4i = procedure(red: GLint; green: GLint; blue: GLint; alpha: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4s = procedure(red: GLshort; green: GLshort; blue: GLshort; alpha: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4ub = procedure(red: GLubyte; green: GLubyte; blue: GLubyte; alpha: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4ubv = procedure(const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4ui = procedure(red: GLuint; green: GLuint; blue: GLuint; alpha: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4uiv = procedure(const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4us = procedure(red: GLushort; green: GLushort; blue: GLushort; alpha: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4usv = procedure(const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorMaterial = procedure(face: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorPointer = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyPixels = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; _type: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteLists = procedure(list: GLuint; range: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDisableClientState = procedure(_array: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawPixels = procedure(width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEdgeFlag = procedure(flag: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEdgeFlagPointer = procedure(stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEdgeFlagv = procedure(const flag: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnableClientState = procedure(_array: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnd = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndList = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalCoord1d = procedure(u: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalCoord1dv = procedure(const u: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalCoord1f = procedure(u: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalCoord1fv = procedure(const u: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalCoord2d = procedure(u: GLdouble; v: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalCoord2dv = procedure(const u: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalCoord2f = procedure(u: GLfloat; v: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalCoord2fv = procedure(const u: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalMesh1 = procedure(mode: GLenum; i1: GLint; i2: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalMesh2 = procedure(mode: GLenum; i1: GLint; i2: GLint; j1: GLint; j2: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalPoint1 = procedure(i: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalPoint2 = procedure(i: GLint; j: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFeedbackBuffer = procedure(size: GLsizei; _type: GLenum; buffer: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogf = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogfv = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogi = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogiv = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFrustum = procedure(left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenLists = function(range: GLsizei): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetClipPlane = procedure(plane: GLenum; equation: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetLightfv = procedure(light: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetLightiv = procedure(light: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMapdv = procedure(target: GLenum; query: GLenum; v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMapfv = procedure(target: GLenum; query: GLenum; v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMapiv = procedure(target: GLenum; query: GLenum; v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMaterialfv = procedure(face: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMaterialiv = procedure(face: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPixelMapfv = procedure(map: GLenum; values: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPixelMapuiv = procedure(map: GLenum; values: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPixelMapusv = procedure(map: GLenum; values: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPolygonStipple = procedure(mask: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexEnvfv = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexEnviv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexGendv = procedure(coord: GLenum; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexGenfv = procedure(coord: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexGeniv = procedure(coord: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexMask = procedure(mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexPointer = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexd = procedure(c: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexdv = procedure(const c: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexf = procedure(c: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexfv = procedure(const c: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexi = procedure(c: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexiv = procedure(const c: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexs = procedure(c: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexsv = procedure(const c: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexub = procedure(c: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexubv = procedure(const c: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInitNames = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInterleavedArrays = procedure(format: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsList = function(list: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsTexture = function(texture: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLightModelf = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLightModelfv = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLightModeli = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLightModeliv = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLightf = procedure(light: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLightfv = procedure(light: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLighti = procedure(light: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLightiv = procedure(light: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLineStipple = procedure(factor: GLint; pattern: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglListBase = procedure(base: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLoadIdentity = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLoadMatrixd = procedure(const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLoadMatrixf = procedure(const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLoadName = procedure(name: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMap1d = procedure(target: GLenum; u1: GLdouble; u2: GLdouble; stride: GLint; order: GLint; const points: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMap1f = procedure(target: GLenum; u1: GLfloat; u2: GLfloat; stride: GLint; order: GLint; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMap2d = procedure(target: GLenum; u1: GLdouble; u2: GLdouble; ustride: GLint; uorder: GLint; v1: GLdouble; v2: GLdouble; vstride: GLint; vorder: GLint; const points: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMap2f = procedure(target: GLenum; u1: GLfloat; u2: GLfloat; ustride: GLint; uorder: GLint; v1: GLfloat; v2: GLfloat; vstride: GLint; vorder: GLint; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapGrid1d = procedure(un: GLint; u1: GLdouble; u2: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapGrid1f = procedure(un: GLint; u1: GLfloat; u2: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapGrid2d = procedure(un: GLint; u1: GLdouble; u2: GLdouble; vn: GLint; v1: GLdouble; v2: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapGrid2f = procedure(un: GLint; u1: GLfloat; u2: GLfloat; vn: GLint; v1: GLfloat; v2: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMaterialf = procedure(face: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMaterialfv = procedure(face: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMateriali = procedure(face: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMaterialiv = procedure(face: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixMode = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultMatrixd = procedure(const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultMatrixf = procedure(const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNewList = procedure(list: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3b = procedure(nx: GLbyte; ny: GLbyte; nz: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3bv = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3d = procedure(nx: GLdouble; ny: GLdouble; nz: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3f = procedure(nx: GLfloat; ny: GLfloat; nz: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3i = procedure(nx: GLint; ny: GLint; nz: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3s = procedure(nx: GLshort; ny: GLshort; nz: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalPointer = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglOrtho = procedure(left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPassThrough = procedure(token: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelMapfv = procedure(map: GLenum; mapsize: GLsizei; const values: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelMapuiv = procedure(map: GLenum; mapsize: GLsizei; const values: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelMapusv = procedure(map: GLenum; mapsize: GLsizei; const values: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelTransferf = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelTransferi = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelZoom = procedure(xfactor: GLfloat; yfactor: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPolygonStipple = procedure(const mask: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPopAttrib = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPopClientAttrib = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPopMatrix = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPopName = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPrioritizeTextures = procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPushAttrib = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPushClientAttrib = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPushMatrix = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPushName = procedure(name: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos2d = procedure(x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos2dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos2f = procedure(x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos2fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos2i = procedure(x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos2iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos2s = procedure(x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos2sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos3d = procedure(x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos3dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos3f = procedure(x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos3fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos3i = procedure(x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos3iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos3s = procedure(x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos3sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos4d = procedure(x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos4dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos4f = procedure(x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos4fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos4i = procedure(x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos4iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos4s = procedure(x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRasterPos4sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRectd = procedure(x1: GLdouble; y1: GLdouble; x2: GLdouble; y2: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRectdv = procedure(const v1: PGLdouble; const v2: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRectf = procedure(x1: GLfloat; y1: GLfloat; x2: GLfloat; y2: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRectfv = procedure(const v1: PGLfloat; const v2: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRecti = procedure(x1: GLint; y1: GLint; x2: GLint; y2: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRectiv = procedure(const v1: PGLint; const v2: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRects = procedure(x1: GLshort; y1: GLshort; x2: GLshort; y2: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRectsv = procedure(const v1: PGLshort; const v2: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRenderMode = function(mode: GLenum): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRotated = procedure(angle: GLdouble; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRotatef = procedure(angle: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglScaled = procedure(x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglScalef = procedure(x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSelectBuffer = procedure(size: GLsizei; buffer: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglShadeModel = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1d = procedure(s: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1f = procedure(s: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1i = procedure(s: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1s = procedure(s: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2d = procedure(s: GLdouble; t: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2f = procedure(s: GLfloat; t: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2i = procedure(s: GLint; t: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2s = procedure(s: GLshort; t: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3d = procedure(s: GLdouble; t: GLdouble; r: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3f = procedure(s: GLfloat; t: GLfloat; r: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3i = procedure(s: GLint; t: GLint; r: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3s = procedure(s: GLshort; t: GLshort; r: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4d = procedure(s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4f = procedure(s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4i = procedure(s: GLint; t: GLint; r: GLint; q: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4s = procedure(s: GLshort; t: GLshort; r: GLshort; q: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordPointer = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexEnvf = procedure(target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexEnvfv = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexEnvi = procedure(target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexEnviv = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexGend = procedure(coord: GLenum; pname: GLenum; param: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexGendv = procedure(coord: GLenum; pname: GLenum; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexGenf = procedure(coord: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexGenfv = procedure(coord: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexGeni = procedure(coord: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexGeniv = procedure(coord: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + + TglTranslated = procedure(x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTranslatef = procedure(x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex2d = procedure(x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex2dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex2f = procedure(x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex2fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex2i = procedure(x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex2iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex2s = procedure(x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex2sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3d = procedure(x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3f = procedure(x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3i = procedure(x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3s = procedure(x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4d = procedure(x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4f = procedure(x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4i = procedure(x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4s = procedure(x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexPointer = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +{$endif} + + // GL_VERSION_1_2 + TglBlendColor = procedure(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendEquation = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawRangeElements = procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexImage3D = procedure(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexSubImage3D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTexSubImage3D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +{$ifdef DGL_DEPRECATED} + TglColorTable = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorTableParameterfv = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorTableParameteriv = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyColorTable = procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetColorTable = procedure(target: GLenum; format: GLenum; _type: GLenum; table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetColorTableParameterfv = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetColorTableParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorSubTable = procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyColorSubTable = procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionFilter1D = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionFilter2D = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionParameterf = procedure(target: GLenum; pname: GLenum; params: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionParameterfv = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionParameteri = procedure(target: GLenum; pname: GLenum; params: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionParameteriv = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyConvolutionFilter1D = procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyConvolutionFilter2D = procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetConvolutionFilter = procedure(target: GLenum; format: GLenum; _type: GLenum; image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetConvolutionParameterfv = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetConvolutionParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetSeparableFilter = procedure(target: GLenum; format: GLenum; _type: GLenum; row: PGLvoid; column: PGLvoid; span: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSeparableFilter2D = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: PGLvoid; const column: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetHistogram = procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetHistogramParameterfv = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetHistogramParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMinmax = procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMinmaxParameterfv = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMinmaxParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglHistogram = procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMinmax = procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglResetHistogram = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglResetMinmax = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +{$endif} + + // GL_VERSION_1_3 + TglActiveTexture = procedure(texture: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSampleCoverage = procedure(value: GLclampf; invert: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexImage3D = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexImage2D = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexImage1D = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexSubImage3D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexSubImage2D = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexSubImage1D = procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetCompressedTexImage = procedure(target: GLenum; level: GLint; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +{$ifdef DGL_DEPRECATED} + TglClientActiveTexture = procedure(texture: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1d = procedure(target: GLenum; s: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1dv = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1f = procedure(target: GLenum; s: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1fv = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1i = procedure(target: GLenum; s: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1iv = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1s = procedure(target: GLenum; s: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1sv = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2d = procedure(target: GLenum; s: GLdouble; t: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2dv = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2f = procedure(target: GLenum; s: GLfloat; t: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2fv = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2i = procedure(target: GLenum; s: GLint; t: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2iv = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2s = procedure(target: GLenum; s: GLshort; t: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2sv = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3d = procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3dv = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3f = procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3fv = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3i = procedure(target: GLenum; s: GLint; t: GLint; r: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3iv = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3s = procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3sv = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4d = procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4dv = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4f = procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4fv = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4i = procedure(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4iv = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4s = procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4sv = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLoadTransposeMatrixf = procedure(const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLoadTransposeMatrixd = procedure(const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultTransposeMatrixf = procedure(const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultTransposeMatrixd = procedure(const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +{$endif} + + // GL_VERSION_1_4 + TglBlendFuncSeparate = procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiDrawArrays = procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiDrawElements = procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: PGLvoid; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointParameterf = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointParameterfv = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointParameteri = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointParameteriv = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +{$ifdef DGL_DEPRECATED} + TglFogCoordf = procedure(coord: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoordfv = procedure(const coord: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoordd = procedure(coord: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoorddv = procedure(const coord: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoordPointer = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3b = procedure(red: GLbyte; green: GLbyte; blue: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3bv = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3d = procedure(red: GLdouble; green: GLdouble; blue: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3f = procedure(red: GLfloat; green: GLfloat; blue: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3i = procedure(red: GLint; green: GLint; blue: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3s = procedure(red: GLshort; green: GLshort; blue: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3ub = procedure(red: GLubyte; green: GLubyte; blue: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3ubv = procedure(const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3ui = procedure(red: GLuint; green: GLuint; blue: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3uiv = procedure(const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3us = procedure(red: GLushort; green: GLushort; blue: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3usv = procedure(const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColorPointer = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2d = procedure(x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2f = procedure(x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2i = procedure(x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2s = procedure(x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3d = procedure(x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3dv = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3f = procedure(x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3fv = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3i = procedure(x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3iv = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3s = procedure(x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3sv = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +{$endif} + + // GL_VERSION_1_5 + TglGenQueries = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteQueries = procedure(n: GLsizei; const ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsQuery = function(id: GLuint): boolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBeginQuery = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndQuery = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryiv = procedure(target, pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryObjectiv = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryObjectuiv = procedure(id: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBuffer = procedure(target: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteBuffers = procedure(n: GLsizei; const buffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenBuffers = procedure(n: GLsizei; buffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsBuffer = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBufferData = procedure(target: GLenum; size: GLsizeiptr; const data: PGLvoid; usage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBufferSubData = procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBufferSubData = procedure(target: GLenum; offset: GLintptr; size: GLsizeiptr; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapBuffer = function(target: GLenum; access: GLenum): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUnmapBuffer = function(target: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBufferParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBufferPointerv = procedure(target: GLenum; pname: GLenum; params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_2_0 + TglBlendEquationSeparate = procedure(modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawBuffers = procedure(n: GLsizei; const bufs: PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilOpSeparate = procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilFuncSeparate = procedure(face: GLenum; func: GLenum; ref: GLint; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilMaskSeparate = procedure(face: GLenum; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglAttachShader = procedure(programObj, shaderObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindAttribLocation = procedure(programObj: GLhandle; index: GLuint; name: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompileShader = procedure(shaderObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCreateProgram = function: GLhandle; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCreateShader = function(shaderType: GLenum): GLhandle; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteProgram = procedure(programObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteShader = procedure(shaderObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDetachShader = procedure(programObj, shaderObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDisableVertexAttribArray = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnableVertexAttribArray = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveAttrib = procedure(programObj: GLhandle; index: GLuint; maxlength: GLsizei; var length: GLint; var size: GLint; var _type: GLenum; name: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveUniform = procedure(programObj: GLhandle; index: GLuint; maxLength: GLsizei; var length: GLsizei; var size: GLint; var _type: GLenum; name: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetAttachedShaders = procedure(programObj: GLhandle; MaxCount: GLsizei; var Count: GLint; shaders: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetAttribLocation = function(programObj: GLhandle; char: PGLChar): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramiv = procedure(programObj: GLhandle; pname: GLenum; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramInfoLog = procedure(programObj: GLHandle; maxLength: glsizei; var length: GLint; infoLog: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetShaderiv = procedure(shaderObj: GLhandle; pname: GLenum; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetShaderInfoLog = procedure(shaderObj: GLHandle; maxLength: glsizei; var length: glint; infoLog: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetShaderSource = procedure(shaderObj: GLhandle; maxlength: GLsizei; var length: GLsizei; source: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformLocation = function(programObj: GLhandle; const char: PGLChar): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformfv = procedure(programObj: GLhandle; location: GLint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformiv = procedure(programObj: GLhandle; location: GLint; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribfv = procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribiv = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribPointerv = procedure(index: GLuint; pname: GLenum; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsProgram = function(programObj: GLhandle) : GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsShader = function(shaderObj: GLhandle) : GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLinkProgram = procedure(programObj: GLHandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglShaderSource = procedure(shaderObj: GLHandle; count: glsizei; const _string: PPGLChar; lengths: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUseProgram = procedure(programObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1f = procedure(location: GLint; v0: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2f = procedure(location: GLint; v0, v1: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3f = procedure(location: GLint; v0, v1, v2: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4f = procedure(location: GLint; v0, v1, v2, v3: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1i = procedure(location: GLint; v0: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2i = procedure(location: GLint; v0, v1: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3i = procedure(location: GLint; v0, v1, v2: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4i = procedure(location: GLint; v0, v1, v2, v3: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1fv = procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2fv = procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3fv = procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4fv = procedure(location: GLint; count: GLsizei; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1iv = procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2iv = procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3iv = procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4iv = procedure(location: GLint; count: GLsizei; value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix2fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix3fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix4fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglValidateProgram = procedure(programObj: GLhandle); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1d = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1f = procedure(index: GLuint; x: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1fv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1s = procedure(index: GLuint; x: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1sv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2d = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2f = procedure(index: GLuint; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2fv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2s = procedure(index: GLuint; x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2sv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3d = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3f = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3fv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3s = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3sv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4Nbv = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4Niv = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4Nsv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4Nub = procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4Nubv = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4Nuiv = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4Nusv = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4bv = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4d = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4f = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4fv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4iv = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4s = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4sv = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4ubv = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4uiv = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4usv = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribPointer = procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_2_1 + TglUniformMatrix2x3fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix3x2fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix2x4fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix4x2fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix3x4fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix4x3fv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_3_0 + { OpenGL 3.0 also reuses entry points from these extensions: } + { ARB_framebuffer_object } + { ARB_map_buffer_range } + { ARB_vertex_array_object } + TglColorMaski = procedure(index_: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBooleani_v = procedure(target: GLenum; index_: GLuint; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetIntegeri_v = procedure(target: GLenum; index_: GLuint; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnablei = procedure(target: GLenum; index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDisablei = procedure(target: GLenum; index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsEnabledi = function(target: GLenum; index_: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBeginTransformFeedback = procedure(primitiveMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndTransformFeedback = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBufferRange = procedure(target: GLenum; index_: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBufferBase = procedure(target: GLenum; index_: GLuint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTransformFeedbackVaryings = procedure(program_: GLuint; count: GLsizei; const varyings: PPGLchar; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTransformFeedbackVarying = procedure(program_: GLuint; index_: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; type_: PGLsizei; name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClampColor = procedure(targe: GLenum; clamp: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBeginConditionalRender = procedure(id: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndConditionalRender = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribIPointer = procedure(index_: GLuint; size: GLint; type_: GLenum; stride: GLsizei; const pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribIiv = procedure(index_: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribIuiv = procedure(index_: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI1i = procedure(index_: GLuint; x: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI2i = procedure(index_: GLuint; x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI3i = procedure(index_: GLuint; x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4i = procedure(index_: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI1ui = procedure(index_: GLuint; x: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI2ui = procedure(index_: GLuint; x: GLuint; y: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI3ui = procedure(index_: GLuint; x: GLuint; y: GLuint; z: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4ui = procedure(index_: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI1iv = procedure(index_: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI2iv = procedure(index_: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI3iv = procedure(index_: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4iv = procedure(index_: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI1uiv = procedure(index_: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI2uiv = procedure(index_: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI3uiv = procedure(index_: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4uiv = procedure(index_: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4bv = procedure(index_: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4sv = procedure(index_: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4ubv = procedure(index_: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4usv = procedure(index_: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformuiv = procedure(program_: GLuint; location: GLint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindFragDataLocation = procedure(program_: GLuint; color: GLuint; const name: PGLChar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFragDataLocation = function(program_: GLuint; const name: PGLChar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1ui = procedure(location: GLint; v0: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2ui = procedure(location: GLint; v0: GLuint; v1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3ui = procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4ui = procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1uiv = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2uiv = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3uiv = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4uiv = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexParameterIiv = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexParameterIuiv = procedure(target: GLenum; pname: GLenum; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexParameterIiv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexParameterIuiv = procedure(target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearBufferiv = procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearBufferuiv = procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearBufferfv = procedure(buffer: GLenum; drawbuffer: GLint; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearBufferfi = procedure(buffer: GLenum; drawbuffer: GLint; depth: GLfloat; stencil: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetStringi = function(name: GLenum; index: GLuint): PGLubyte; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_2_1 + TglEnableVertexArrayEXT = procedure(vaobj: GLuint; array_: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnableVertexArrayAttribEXT = procedure(vaobj: GLuint; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayVertexAttribOffsetEXT = procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; type_: GLenum; normalized: GLboolean; stride: GLsizei; offset: GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_3_1 + { OpenGL 3.1 also reuses entry points from these extensions: } + { ARB_copy_buffer } + { ARB_uniform_buffer_object } + TglDrawArraysInstanced = procedure(mode: GLenum; first: GLint; count: GLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElementsInstanced = procedure(mode: GLenum; count: GLsizei; type_: GLenum; const indices: PGLvoid; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexBuffer = procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPrimitiveRestartIndex = procedure(index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_3_2 + { OpenGL 3.2 also reuses entry points from these extensions: } + { ARB_draw_elements_base_vertex } + { ARB_provoking_vertex } + { ARB_sync } + { ARB_texture_multisample } + TglGetInteger64i_v = procedure(target: GLenum; index_: GLuint; data: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBufferParameteri64v = procedure(target: GLenum; pname: GLenum; params: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTexture = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +// TglFramebufferTextureFace = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_3_3 + { OpenGL 3.3 also reuses entry points from these extensions: } + { ARB_blend_func_extended } + { ARB_sampler_objects } + { ARB_explicit_attrib_location, but it has none } + { ARB_occlusion_query2 (no entry points) } + { ARB_shader_bit_encoding (no entry points) } + { ARB_texture_rgb10_a2ui (no entry points) } + { ARB_texture_swizzle (no entry points) } + { ARB_timer_query } + { ARB_vertex_type_2_10_10_10_rev } + TglVertexAttribDivisor = procedure(index: GLuint; divisor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_4_0 + { OpenGL 4.0 also reuses entry points from these extensions: } + { ARB_texture_query_lod (no entry points) } + { ARB_draw_indirect } + { ARB_gpu_shader5 (no entry points) } + { ARB_gpu_shader_fp64 } + { ARB_shader_subroutine } + { ARB_tessellation_shader } + { ARB_texture_buffer_object_rgb32 (no entry points) } + { ARB_texture_cube_map_array (no entry points) } + { ARB_texture_gather (no entry points) } + { ARB_transform_feedback2 } + { ARB_transform_feedback3 } + TglMinSampleShading = procedure(value: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendEquationi = procedure(buf: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendEquationSeparatei = procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendFunci = procedure(buf: GLuint; src: GLenum; dst: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendFuncSeparatei = procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_VERSION_4_1 + { OpenGL 4.1 also reuses entry points from these extensions: } + { ARB_ES2_compatibility } + { ARB_get_program_binary } + { ARB_separate_shader_objects } + { ARB_shader_precision (no entry points) } + { ARB_vertex_attrib_64bit } + { ARB_viewport_array } + + // GL_3DFX_tbuffer + TglTbufferMask3DFX = procedure(mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_APPLE_element_array + TglElementPointerAPPLE = procedure(_type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElementArrayAPPLE = procedure(mode: GLenum; first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawRangeElementArrayAPPLE = procedure(mode: GLenum; start: GLuint; _end: GLuint; first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiDrawElementArrayAPPLE = procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiDrawRangeElementArrayAPPLE = procedure(mode: GLenum; start: GLuint; _end: GLuint; const first: PGLint; const count: PGLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_APPLE_fence + TglGenFencesAPPLE = procedure(n: GLsizei; fences: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteFencesAPPLE = procedure(n: GLsizei; const fences: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSetFenceAPPLE = procedure(fence: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsFenceAPPLE = function(fence: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTestFenceAPPLE = function(fence: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFinishFenceAPPLE = procedure(fence: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTestObjectAPPLE = function(_object: GLenum; name: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFinishObjectAPPLE = procedure(_object: GLenum; name: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_APPLE_vertex_array_object + TglBindVertexArrayAPPLE = procedure(_array: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteVertexArraysAPPLE = procedure(n: GLsizei; const arrays: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenVertexArraysAPPLE = procedure(n: GLsizei; const arrays: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsVertexArrayAPPLE = function(_array: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_APPLE_vertex_array_range + TglVertexArrayRangeAPPLE = procedure(length: GLsizei; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFlushVertexArrayRangeAPPLE = procedure(length: GLsizei; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayParameteriAPPLE = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_APPLE_texture_range + TglTextureRangeAPPLE = procedure(target: GLenum; length: GLsizei; const Pointer_: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexParameterPointervAPPLE = procedure(target: GLenum; pname: GLenum; params: PPGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_APPLE_vertex_program_evaluators + TglEnableVertexAttribAPPLE = procedure(index_: GLuint; pname: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDisableVertexAttribAPPLE = procedure(index_: GLuint; pname: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsVertexAttribEnabledAPPLE = function(index_: GLuint; pname: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapVertexAttrib1dAPPLE = procedure(index_: GLuint; size: GLuint; u1: GLdouble; u2: GLdouble; stride: GLint; order: GLint; const points: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapVertexAttrib1fAPPLE = procedure(index_: GLuint; size: GLuint; u1: GLfloat; u2: GLfloat; stride: GLint; order: GLint; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapVertexAttrib2dAPPLE = procedure(index_: GLuint; size: GLuint; u1: GLdouble; u2: GLdouble; ustride: GLint; uorder: GLint; v1: GLdouble; v2: GLdouble; vstride: GLint; vorder: GLint; const points: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapVertexAttrib2fAPPLE = procedure(index_: GLuint; size: GLuint; u1: GLfloat; u2: GLfloat; ustride: GLint; order: GLint; v1: GLfloat; v2: GLfloat; vstride: GLint; vorder: GLint; const points: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_APPLE_object_purgeable + TglObjectPurgeableAPPLE = function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglObjectUnpurgeableAPPLE = function(objectType: GLenum; name: GLuint; option: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetObjectParameterivAPPLE = procedure(objectType: GLenum; name: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_matrix_palette + TglCurrentPaletteMatrixARB = procedure(index: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixIndexubvARB = procedure(size: GLint; const indices: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixIndexusvARB = procedure(size: GLint; const indices: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixIndexuivARB = procedure(size: GLint; const indices: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixIndexPointerARB = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_multisample + TglSampleCoverageARB = procedure(value: GLclampf; invert: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_multitexture + TglActiveTextureARB = procedure(texture: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClientActiveTextureARB = procedure(texture: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1dARB = procedure(target: GLenum; s: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1dvARB = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1fARB = procedure(target: GLenum; s: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1fvARB = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1iARB = procedure(target: GLenum; s: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1ivARB = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1sARB = procedure(target: GLenum; s: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1svARB = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2dARB = procedure(target: GLenum; s: GLdouble; t: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2dvARB = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2fARB = procedure(target: GLenum; s: GLfloat; t: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2fvARB = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2iARB = procedure(target: GLenum; s: GLint; t: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2ivARB = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2sARB = procedure(target: GLenum; s: GLshort; t: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2svARB = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3dARB = procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3dvARB = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3fARB = procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3fvARB = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3iARB = procedure(target: GLenum; s: GLint; t: GLint; r: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3ivARB = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3sARB = procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3svARB = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4dARB = procedure(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4dvARB = procedure(target: GLenum; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4fARB = procedure(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4fvARB = procedure(target: GLenum; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4iARB = procedure(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4ivARB = procedure(target: GLenum; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4sARB = procedure(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4svARB = procedure(target: GLenum; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_point_parameters + TglPointParameterfARB = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointParameterfvARB = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_texture_compression + TglCompressedTexImage3DARB = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexImage2DARB = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexImage1DARB = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexSubImage3DARB = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexSubImage2DARB = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTexSubImage1DARB = procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetCompressedTexImageARB = procedure(target: GLenum; level: GLint; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_transpose_matrix + TglLoadTransposeMatrixfARB = procedure(const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLoadTransposeMatrixdARB = procedure(const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultTransposeMatrixfARB = procedure(const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultTransposeMatrixdARB = procedure(const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_vertex_blend + TglWeightbvARB = procedure(size: GLint; const weights: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWeightsvARB = procedure(size: GLint; const weights: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWeightivARB = procedure(size: GLint; const weights: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWeightfvARB = procedure(size: GLint; const weights: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWeightdvARB = procedure(size: GLint; const weights: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWeightubvARB = procedure(size: GLint; const weights: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWeightusvARB = procedure(size: GLint; const weights: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWeightuivARB = procedure(size: GLint; const weights: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWeightPointerARB = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexBlendARB = procedure(count: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_vertex_buffer_object + TglBindBufferARB = procedure(target: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteBuffersARB = procedure(n: GLsizei; const buffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenBuffersARB = procedure(n: GLsizei; buffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsBufferARB = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBufferDataARB = procedure(target: GLenum; size: GLsizeiptrARB; const data: PGLvoid; usage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBufferSubDataARB = procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBufferSubDataARB = procedure(target: GLenum; offset: GLintptrARB; size: GLsizeiptrARB; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapBufferARB = function(target: GLenum; access: GLenum): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUnmapBufferARB = function(target: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBufferParameterivARB = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBufferPointervARB = procedure(target: GLenum; pname: GLenum; params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_vertex_program + TglVertexAttrib1dARB = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1dvARB = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1fARB = procedure(index: GLuint; x: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1fvARB = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1sARB = procedure(index: GLuint; x: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1svARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2dARB = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2dvARB = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2fARB = procedure(index: GLuint; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2fvARB = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2sARB = procedure(index: GLuint; x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2svARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3dARB = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3dvARB = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3fARB = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3fvARB = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3sARB = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3svARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4NbvARB = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4NivARB = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4NsvARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4NubARB = procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4NubvARB = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4NuivARB = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4NusvARB = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4bvARB = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4dARB = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4dvARB = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4fARB = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4fvARB = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4ivARB = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4sARB = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4svARB = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4ubvARB = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4uivARB = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4usvARB = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribPointerARB = procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnableVertexAttribArrayARB = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDisableVertexAttribArrayARB = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramStringARB = procedure(target: GLenum; format: GLenum; len: GLsizei; const _string: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindProgramARB = procedure(target: GLenum; _program: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteProgramsARB = procedure(n: GLsizei; const programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenProgramsARB = procedure(n: GLsizei; programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParameter4dARB = procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParameter4dvARB = procedure(target: GLenum; index: GLuint; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParameter4fARB = procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParameter4fvARB = procedure(target: GLenum; index: GLuint; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParameter4dARB = procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParameter4dvARB = procedure(target: GLenum; index: GLuint; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParameter4fARB = procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParameter4fvARB = procedure(target: GLenum; index: GLuint; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramEnvParameterdvARB = procedure(target: GLenum; index: GLuint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramEnvParameterfvARB = procedure(target: GLenum; index: GLuint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramLocalParameterdvARB = procedure(target: GLenum; index: GLuint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramLocalParameterfvARB = procedure(target: GLenum; index: GLuint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramivARB = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramStringARB = procedure(target: GLenum; pname: GLenum; _string: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribdvARB = procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribfvARB = procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribivARB = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribPointervARB = procedure(index: GLuint; pname: GLenum; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsProgramARB = function(_program: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_window_pos + TglWindowPos2dARB = procedure(x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2dvARB = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2fARB = procedure(x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2fvARB = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2iARB = procedure(x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2ivARB = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2sARB = procedure(x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2svARB = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3dARB = procedure(x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3dvARB = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3fARB = procedure(x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3fvARB = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3iARB = procedure(x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3ivARB = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3sARB = procedure(x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3svARB = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_draw_buffers + TglDrawBuffersARB = procedure(n: GLsizei; bufs: PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_color_buffer_float + TglClampColorARB = procedure(target: GLenum; clamp: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_vertex_shader + TglGetActiveAttribARB = procedure(programobj: GLhandleARB; index: GLuint; maxLength: GLsizei; var length: GLsizei; var size: GLint; var _type: GLenum; name: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetAttribLocationARB = function(programObj: GLhandleARB; const char: PGLcharARB): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindAttribLocationARB = procedure(programObj: GLhandleARB; index: GLuint; const name: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_shader_objects + TglDeleteObjectARB = procedure(Obj: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetHandleARB = function(pname: GlEnum): GLHandleARB; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDetachObjectARB = procedure(container, attached: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCreateShaderObjectARB = function(shaderType: glenum): GLHandleARB; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglShaderSourceARB = procedure(shaderObj: GLHandleARB; count: glsizei; const _string: PPGLCharARB; lengths: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompileShaderARB = procedure(shaderObj: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCreateProgramObjectARB = function: GLHandleARB; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglAttachObjectARB = procedure(programObj, shaderObj: GLhandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLinkProgramARB = procedure(programObj: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUseProgramObjectARB = procedure(programObj: GLHandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglValidateProgramARB = procedure(programObj: GLhandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1fARB = procedure(location: glint; v0: glfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2fARB = procedure(location: glint; v0, v1: glfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3fARB = procedure(location: glint; v0, v1, v2: glfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4fARB = procedure(location: glint; v0, v1, v2, v3: glfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1iARB = procedure(location: glint; v0: glint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2iARB = procedure(location: glint; v0, v1: glint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3iARB = procedure(location: glint; v0, v1, v2: glint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4iARB = procedure(location: glint; v0, v1, v2, v3: glint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1fvARB = procedure(location: glint; count: GLsizei; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2fvARB = procedure(location: glint; count: GLsizei; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3fvARB = procedure(location: glint; count: GLsizei; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4fvARB = procedure(location: glint; count: GLsizei; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1ivARB = procedure(location: glint; count: GLsizei; value: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2ivARB = procedure(location: glint; count: GLsizei; value: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3ivARB = procedure(location: glint; count: GLsizei; value: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4ivARB = procedure(location: glint; count: GLsizei; value: pglint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix2fvARB = procedure(location: glint; count: glsizei; transpose: glboolean; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix3fvARB = procedure(location: glint; count: glsizei; transpose: glboolean; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix4fvARB = procedure(location: glint; count: glsizei; transpose: glboolean; value: pglfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetObjectParameterfvARB = procedure(Obj: GLHandleARB; pname: GLEnum; params: PGLFloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetObjectParameterivARB = procedure(Obj: GLHandleARB; pname: GLEnum; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetInfoLogARB = procedure(shaderObj: GLHandleARB; maxLength: glsizei; var length: glint; infoLog: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetAttachedObjectsARB = procedure(programobj: GLhandleARB; maxCount: GLsizei; var count: GLsizei; objects: PGLhandleARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformLocationARB = function(programObj: GLhandleARB; const char: PGLcharARB): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveUniformARB = procedure(programobj: GLhandleARB; index: GLuint; maxLength: GLsizei; var length: GLsizei; var size: GLint; var _type: GLenum; name: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformfvARB = procedure(programObj: GLhandleARB; location: GLint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformivARB = procedure(programObj: GLhandleARB; location: GLint; params: PGLInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetShaderSourceARB = procedure(shader: GLhandleARB; maxLength: GLsizei; var length: GLsizei; source: PGLcharARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_Occlusion_Query + TglGenQueriesARB = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteQueriesARB = procedure(n: GLsizei; const ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsQueryARB = function(id: GLuint): boolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBeginQueryARB = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndQueryARB = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryivARB = procedure(target, pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryObjectivARB = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryObjectuivARB = procedure(id: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_draw_instanced + TglDrawArraysInstancedARB = procedure(mode: GLenum; first: GLint; count: GLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElementsInstancedARB = procedure(mode: GLenum; count: GLsizei; type_: GLenum; const indices: PGLvoid; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_framebuffer_object + TglIsRenderbuffer = function(renderbuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindRenderbuffer = procedure(target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteRenderbuffers = procedure(n: GLsizei; const renderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenRenderbuffers = procedure(n: GLsizei; renderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRenderbufferStorage = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetRenderbufferParameteriv = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsFramebuffer = function(framebuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindFramebuffer = procedure(target: GLenum; framebuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteFramebuffers = procedure(n: GLsizei; const framebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenFramebuffers = procedure(n: GLsizei; framebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCheckFramebufferStatus = function(target: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTexture1D = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTexture2D = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTexture3D = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferRenderbuffer = procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFramebufferAttachmentParameteriv = procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenerateMipmap = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlitFramebuffer = procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRenderbufferStorageMultisample = procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTextureLayer = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_geometry_shader4 + TglProgramParameteriARB = procedure(program_: GLuint; pname: GLenum; value: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTextureARB = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTextureLayerARB = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTextureFaceARB = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_instanced_arrays + TglVertexAttribDivisorARB = procedure(index_: GLuint; divisor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_map_buffer_range + TglMapBufferRange = function(target: GLenum; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFlushMappedBufferRange = procedure(target: GLenum; offset: GLintptr; length: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_texture_buffer_object + TglTexBufferARB = procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_vertex_array_object + TglBindVertexArray = procedure(array_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteVertexArrays = procedure(n: GLsizei; const arrays: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenVertexArrays = procedure(n: GLsizei; arrays: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsVertexArray = function(array_: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_uniform_buffer_object + TglGetUniformIndices = procedure(program_: GLuint; uniformCount: GLsizei; const uniformNames: PPGLchar; uniformIndices: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveUniformsiv = procedure(program_: GLuint; uniformCount: GLsizei; const uniformIndices: PGLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveUniformName = procedure(program_: GLuint; uniformIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformName: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformBlockIndex = function(program_: GLuint; const uniformBlockName: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveUniformBlockiv = procedure(program_: GLuint; uniformBlockIndex: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveUniformBlockName = procedure(program_: GLuint; uniformBlockIndex: GLuint; bufSize: GLsizei; length: PGLsizei; uniformBlockName: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformBlockBinding = procedure(program_: GLuint; uniformBlockIndex: GLuint; uniformBlockBinding: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_copy_buffer + TglCopyBufferSubData = procedure(readTarget: GLenum; writeTarget: GLenum; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_draw_elements_base_vertex + TglDrawElementsBaseVertex = procedure(mode: GLenum; count: GLsizei; type_: GLenum; const indices: PGLvoid; basevertex: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawRangeElementsBaseVertex = procedure(mode: GLenum; start: GLuint; end_: GLuint; count: GLsizei; type_: GLenum; const indices: PGLvoid; basevertex: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElementsInstancedBaseVertex = procedure(mode: GLenum; count: GLsizei; type_: GLenum; const indices: PGLvoid; primcount: GLsizei; basevertex: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiDrawElementsBaseVertex = procedure(mode: GLenum; const count: PGLsizei; type_: GLenum; const indices: PPGLvoid; primcount: GLsizei; const basevertex: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_provoking_vertex + TglProvokingVertex = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_sync + TglFenceSync = function(condition: GLenum; flags: GLbitfield): GLsync; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsSync = function(sync: GLsync): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteSync = procedure(sync: GLsync); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClientWaitSync = function(sync: GLsync; flags: GLbitfield; timeout: GLuint64): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWaitSync = procedure(sync: GLsync; flags: GLbitfield; timeout: GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetInteger64v = procedure(pname: GLenum; params: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetSynciv = procedure(sync: GLsync; pname: GLenum; butSize: GLsizei; length: PGLsizei; values: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_texture_multisample + TglTexImage2DMultisample = procedure(target: GLenum; samples: GLsizei; internalformat: GLint; width: GLsizei; height: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexImage3DMultisample = procedure(target: GLenum; samples: GLsizei; internalformat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; fixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultisamplefv = procedure(pname: GLenum; index_: GLuint; val: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSampleMaski = procedure(index_: GLuint; mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_draw_buffers_blend + TglBlendEquationiARB = procedure(buf: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendEquationSeparateiARB = procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendFunciARB = procedure(buf: GLuint; src: GLenum; dst: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendFuncSeparateiARB = procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_sample_shading + TglMinSampleShadingARB = procedure(value: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_shading_language_include + TglNamedStringARB = procedure(type_: GLenum; namelen: GLint; const name: PGLchar; stringlen: GLint; const string_: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteNamedStringARB = procedure(namelen: GLint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompileShaderIncludeARB = procedure (shader: GLuint; count: GLsizei; const path: PPGLchar; const length: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsNamedStringARB = function(namelen: GLint; const name: PGLchar): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedStringARB = procedure(namelen: GLint; const name: PGLchar; bufSize: GLsizei; stringlen: GLint; string_: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedStringivARB = procedure(namelen: GLint; const name: PGLchar; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_blend_func_extended + TglBindFragDataLocationIndexed = procedure(program_: GLuint; colorNumber: GLuint; index: GLuint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFragDataIndex = function(program_: GLuint; const name: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_sampler_objects + TglGenSamplers = procedure(count: GLsizei; samplers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteSamplers = procedure(count: GLsizei; const samplers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsSampler = function(sampler: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindSampler = procedure(unit_: GLuint; sampler: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSamplerParameteri = procedure(sampler: GLuint; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSamplerParameteriv = procedure(sampler: GLuint; pname: GLenum; const param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSamplerParameterf = procedure(sampler: GLuint; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSamplerParameterfv = procedure(sampler: GLuint; pname: GLenum; const param: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSamplerParameterIiv = procedure(sampler: GLuint; pname: GLenum; const param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSamplerParameterIuiv = procedure(sampler: GLuint; pname: GLenum; const param: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetSamplerParameteriv = procedure(sampler: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetSamplerParameterIiv = procedure(sampler: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetSamplerParameterfv = procedure(sampler: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetSamplerParameterIuiv = procedure(sampler: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_timer_query + TglQueryCounter = procedure(id: GLuint; target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryObjecti64v = procedure(id: GLuint; pname: GLenum; params: PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryObjectui64v = procedure(id: GLuint; pname: GLenum; params: PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_vertex_type_2_10_10_10_rev + TglVertexP2ui = procedure(type_: GLenum; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexP2uiv = procedure(type_: GLenum; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexP3ui = procedure(type_: GLenum; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexP3uiv = procedure(type_: GLenum; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexP4ui = procedure(type_: GLenum; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexP4uiv = procedure(type_: GLenum; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordP1ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordP1uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordP2ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordP2uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordP3ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordP3uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordP4ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordP4uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoordP1ui = procedure(texture: GLenum; type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoordP1uiv = procedure(texture: GLenum; type_: GLenum; const coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoordP2ui = procedure(texture: GLenum; type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoordP2uiv = procedure(texture: GLenum; type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoordP3ui = procedure(texture: GLenum; type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoordP3uiv = procedure(texture: GLenum; type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoordP4ui = procedure(texture: GLenum; type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoordP4uiv = procedure(texture: GLenum; type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalP3ui = procedure(type_: GLenum; coords: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalP3uiv = procedure(type_: GLenum; const coords: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorP3ui = procedure(type_: GLenum; color: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorP3uiv = procedure(type_: GLenum; const color: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorP4ui = procedure(type_: GLenum; color: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorP4uiv = procedure(type_: GLenum; const color: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColorP3ui = procedure(type_: GLenum; color: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColorP3uiv = procedure(type_: GLenum; const color: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribP1ui = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribP1uiv = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribP2ui = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribP2uiv = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribP3ui = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribP3uiv = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribP4ui = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; value: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribP4uiv = procedure(index: GLuint; type_: GLenum; normalized: GLboolean; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_draw_indirect + TglDrawArraysIndirect = procedure(mode: GLenum; const indirect: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElementsIndirect = procedure(mode: GLenum; type_: GLenum; const indirect: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_gpu_shader_fp64 + TglUniform1d = procedure(location: GLint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2d = procedure(location: GLint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3d = procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4d = procedure(location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1dv = procedure(location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2dv = procedure(location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3dv = procedure(location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4dv = procedure(location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix2dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix3dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix4dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix2x3dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix2x4dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix3x2dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix3x4dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix4x2dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformMatrix4x3dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformdv = procedure(program_: GLuint; location: GLint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_shader_subroutine + TglGetSubroutineUniformLocation = function(program_: GLuint; shadertype: GLenum; const name: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetSubroutineIndex = function(program_: GLuint; shadertype: GLenum; const name: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveSubroutineUniformiv = procedure(program_: GLuint; shadertype: GLenum; index: GLuint; pname: GLenum; values: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveSubroutineUniformName = procedure(program_: GLuint; shadertype: GLenum; index: GLuint; bufsize: GLsizei; length: PGLsizei; name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveSubroutineName = procedure(program_: GLuint; shadertype: GLenum; index: GLuint; bufsize: GLsizei; length: PGLsizei; name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformSubroutinesuiv = procedure(shadertype: GLenum; count: GLsizei; const indices: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformSubroutineuiv = procedure(shadertype: GLenum; location: GLint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramStageiv = procedure(program_: GLuint; shadertype: GLenum; pname: GLenum; values: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_tessellation_shader + TglPatchParameteri = procedure(pname: GLenum; value: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPatchParameterfv = procedure(pname: GLenum; const values: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_transform_feedback2 + TglBindTransformFeedback = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteTransformFeedbacks = procedure(n: GLsizei; const ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenTransformFeedbacks = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsTransformFeedback = function(id: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPauseTransformFeedback = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglResumeTransformFeedback = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawTransformFeedback = procedure(mode: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_transform_feedback3 + TglDrawTransformFeedbackStream = procedure(mode: GLenum; id: GLuint; stream: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBeginQueryIndexed = procedure(target: GLenum; index: GLuint; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndQueryIndexed = procedure(target: GLenum; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryIndexediv = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_ES2_compatibility + TglReleaseShaderCompiler = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglShaderBinary = procedure(count: GLsizei; const shaders: PGLuint; binaryformat: GLenum; const binary: PGLvoid; length: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetShaderPrecisionFormat = procedure(shadertype: GLenum; precisiontype: GLenum; range: PGLint; precision: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDepthRangef = procedure(n: GLclampf; f: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearDepthf = procedure(d: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_get_program_binary + TglGetProgramBinary = procedure(program_: GLuint; bufSize: GLsizei; length: PGLsizei; binaryFormat: PGLenum; binary: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramBinary = procedure(program_: GLuint; binaryFormat: GLenum; const binary: PGLvoid; length: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramParameteri = procedure(program_: GLuint; pname: GLenum; value: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_separate_shader_objects + TglUseProgramStages = procedure(pipeline: GLuint; stages: GLbitfield; program_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglActiveShaderProgram = procedure(pipeline: GLuint; program_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCreateShaderProgramv = function(type_: GLenum; count: GLsizei; const strings: PPGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindProgramPipeline = procedure(pipeline: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteProgramPipelines = procedure(n: GLsizei; const pipelines: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenProgramPipelines = procedure(n: GLsizei; pipelines: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsProgramPipeline = function(pipeline: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramPipelineiv = procedure(pipeline: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1i = procedure(program_: GLuint; location: GLint; v0: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1iv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1f = procedure(program_: GLuint; location: GLint; v0: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1fv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1d = procedure(program_: GLuint; location: GLint; v0: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1dv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1ui = procedure(program_: GLuint; location: GLint; v0: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1uiv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2i = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2iv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2f = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2fv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2d = procedure(program_: GLuint; location: GLint; v0: GLdouble; v1: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2dv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2ui = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2uiv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3i = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3iv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3f = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3fv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3d = procedure(program_: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3dv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3ui = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3uiv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4i = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4iv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4f = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4fv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4d = procedure(program_: GLuint; location: GLint; v0: GLdouble; v1: GLdouble; v2: GLdouble; v3: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4dv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4ui = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4uiv = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2x3fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3x2fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2x4fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4x2fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3x4fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4x3fv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2x3dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3x2dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2x4dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4x2dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3x4dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4x3dv = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglValidateProgramPipeline = procedure(pipeline: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramPipelineInfoLog = procedure(pipeline: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_vertex_attrib_64bit + TglVertexAttribL1d = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL2d = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL3d = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL4d = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL1dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL2dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL3dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL4dv = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribLPointer = procedure(index: GLuint; size: GLint; type_: GLenum; stride: GLsizei; const pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribLdv = procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_viewport_array + TglViewportArrayv = procedure(first: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglViewportIndexedf = procedure(index: GLuint; x: GLfloat; y: GLfloat; w: GLfloat; h: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglViewportIndexedfv = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglScissorArrayv = procedure(first: GLuint; count: GLsizei; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglScissorIndexed = procedure(index: GLuint; left: GLint; bottom: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglScissorIndexedv = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDepthRangeArrayv = procedure(first: GLuint; count: GLsizei; const v: PGLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDepthRangeIndexed = procedure(index: GLuint; n: GLclampd; f: GLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFloati_v = procedure(target: GLenum; index: GLuint; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetDoublei_v = procedure(target: GLenum; index: GLuint; data: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL 4.2 + + // GL_ARB_base_instance + TglDrawArraysInstancedBaseInstance = procedure(mode : GLenum; first : GLint; count :GLsizei; primcount : GLsizei; baseinstance : GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElementsInstancedBaseInstance = procedure(mode : GLEnum; count : GLsizei; _type : GLenum; const indices : PGLVoid; primcount : GLsizei; baseinstance : GLUInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElementsInstancedBaseVertexBaseInstance = procedure(mode : GLEnum; count : GLsizei; _type : GLenum; const indices : PGLVoid; primcount :GLsizei; basevertex : GLint; baseinstance : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_transform_feedback_instanced + TglDrawTransformFeedbackInstanced = procedure(mode : GLenum; id : GLuint; primcount : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawTransformFeedbackStreamInstanced = procedure(mode : GLenum; id : GLUInt; stream : GLUint; primcount : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_internalformat_query + TglGetInternalformativ = procedure(target : GLenum; internalformat : GLenum; pname : GLenum; bufSize : GLsizei; params : PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_shader_atomic_counters + TglGetActiveAtomicCounterBufferiv = procedure(_program : GLuint; bufferIndex : GLuint; pname : GLenum; params : PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + /// GL_ARB_shader_image_load_store + TglBindImageTexture = procedure(_unit : GLuint; texture : GLuint; level :GLint; layered : GLboolean; layer : GLint; access : GLenum; format : GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMemoryBarrier = procedure(barriers : GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_texture_storage + TglTexStorage1D = procedure(target : GLenum; levels :GLsizei; internalformat : GLenum; width : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexStorage2D = procedure(target : GLenum; levels :GLsizei; internalformat : GLenum; width : GLsizei; height : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexStorage3D = procedure(target : GLenum; levels :GLsizei; internalformat : GLenum; width : GLsizei; height : GLsizei; depth : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureStorage1DEXT = procedure(texture : GLuint; target : GLenum; levels :GLsizei; internalformat : GLenum; width : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureStorage2DEXT = procedure(texture : GLuint; target : GLenum; levels :GLsizei; internalformat : GLenum; width : GLsizei; height : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureStorage3DEXT = procedure(texture : GLuint; target : GLenum; levels :GLsizei; internalformat : GLenum; width : GLsizei; height : GLsizei; depth : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + + // GL 4.3 + + // GL_KHR_debug + TglDebugMessageControl = procedure(source : GLenum; type_ : GLenum; severity : TGLenum; count : GLsizei; const ids : PGLUInt; enabled : GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDebugMessageInsert = procedure(source : GLenum; type_ : GLenum; id : GLuint; sverity : GLenum; length : GLsizei; const buf : PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDebugMessageCallback = procedure(callback : TGLDEBUGPROC; const userParam : Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetDebugMessageLog = function(count : GLuint; bufsize : GLsizei; sources : PGLenum; types : PGLenum; ids : PGLuint; sverities : PGLenum; lengths : PGLSizei; messagelog : PGLchar) : GLUInt; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPushDebugGroup = procedure(source : GLenum; id : GLuint; length : GLsizei; const message_ : PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPopDebugGroup = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglObjectLabel = procedure(identifier : GLenum; name : GLuint; length : GLsizei; const label_ : PGLCHar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetObjectLabel = procedure(identifier : GLenum; name : GLuint; bufsize : GLsizei; length : PGLsizei; label_ : PGLCHar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglObjectPtrLabel = procedure(const ptr : Pointer; length : GLsizei; const label_ : PGLCHar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetObjectPtrLabel = procedure(const ptr : Pointer; bufSize : GLsizei; length : PGLsizei; label_ : PGLCHar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_clear_buffer_object + TglClearBufferData = procedure(target : GLenum; internalformat : GLenum; format : GLEnum; type_ : GLEnum; const data : Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearBufferSubData = procedure(target : GLenum; internalformat : GLenum; offset : GLintptr; size : GLsizeiptr; format : GLenum; type_ : GLenum; const data : Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearNamedBufferDataEXT = procedure(buffer : GLuint; internalformat : GLenum; format : GLEnum; type_ : GLEnum; const data : Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearNamedBufferSubDataEXT = procedure(buffer : GLuint; internalformat : GLenum; format : GLenum; type_ : GLenum; offset : GLsizeiptr; size : GLsizeiptr; const data : Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_compute_shader 1 + TglDispatchCompute = procedure(num_groups_x : GLuint; num_groups_y : GLuint; num_groups_z : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDispatchComputeIndirect = procedure(indirect : GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_copy_image + TglCopyImageSubData = procedure(srcName : GLUInt; srcTarget : GLenum; srcLevel : GLint; srcX : GLint; srcY : GLint; srcZ : GLint; dstName : GLUInt; dstTarget : GLEnum; dstLevel : GLInt; dstX : GLInt; dstY : GLint; dstZ : GLint; srcWidth : GLsizei; srcHeight : GLsizei; srcDepth : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_debug_group + // ARB_debug_group reuses entry points from KHR_debug + + // GL_ARB_debug_label + // ARB_debug_label reuses entry points from KHR_debug + + // GL_ARB_debug_output2 + + // GL_ARB_ES3_compatibility + + // GL_ARB_explicit_uniform_location + + // GL_ARB_fragment_layer_viewport + + // GL_ARB_framebuffer_no_attachments + TglFramebufferParameteri = procedure(target : GLenum; pname : GLenum; param : GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFramebufferParameteriv = procedure(target : GLenum; pname : GLenum; params : PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedFramebufferParameteriEXT = procedure(framebuffer : GLUInt; pname : GLenum; param : GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedFramebufferParameterivEXT = procedure(framebuffer : GLUInt; pname : GLenum; param : GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_internalformat_query2 + TglGetInternalformati64v = procedure(target : GLenum; internalformat : GLenum; pname : GLenum; bufSize : GLsizei; params : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_invalidate_subdata + TglInvalidateTexSubImage = procedure(texture : GLuint; level : GLint; xoffset : GLint; yoffset : GLint; zoffset : GLint; width : GLsizei; height : GLsizei; depth : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInvalidateTexImage = procedure(texture : GLuint; level : GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInvalidateBufferSubData = procedure(buffer : GLuint; offset : GLintptr; length : GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInvalidateBufferData = procedure(buffer : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInvalidateFramebuffer = procedure(target : GLenum; numAttachments : GLsizei; const attachments : PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInvalidateSubFramebuffer = procedure(target : GLenum; numAttachments : GLsizei; const attachments : PGLenum; x : GLint; y : GLint; width : GLsizei; height : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_multi_draw_indirect + TglMultiDrawArraysIndirect = procedure(mode : GLenum; const indirect : Pointer; drawcount : GLsizei; stride : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiDrawElementsIndirect = procedure(mode : GLenum; type_ : GLenum; const indirect : Pointer; drawcount : GLsizei; stride : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_program_interface_query + TglGetProgramInterfaceiv = procedure(program_ : GLUInt;programInterface : GLenum; pname : GLenum; params : PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramResourceIndex = function(program_ : GLUInt;programInterface : GLenum; const name : PGLchar) : GLUInt; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramResourceName = procedure(program_ : GLUInt;programInterface : GLenum; index : GLuint; bufSize : GLsizei; length : PGLsizei; name : PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramResourceiv = procedure(program_ : GLUInt;programInterface : GLenum; index : GLuint; propCount : GLsizei; const props : PGLenum; bufSize : GLsizei; length : PGLsizei; params : PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramResourceLocation = function(program_ : GLUInt;programInterface : GLenum; const name : PGLchar) : GLInt; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramResourceLocationIndex = function(program_ : GLUInt;programInterface : GLenum; const name : PGLchar) : GLInt; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_robust_buffer_access_behavior + + // GL_ARB_shader_image_size + + // GL_ARB_shader_storage_buffer_object + TglShaderStorageBlockBinding = procedure(program_ : GLuint; storageBlockIndex : GLuint; storageBlockBinding : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_stencil_texturing + + // GL_ARB_texture_buffer_range + TglTexBufferRange = procedure(target : GLenum; internalformat : GLenum; buffer : GLuint; offset :GLintptr; size : GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureBufferRangeEXT = procedure(texture : GLuint; target : GLenum; internalformat : GLenum; buffer : GLuint; offset : GLintptr; size : GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_texture_query_levels + + // GL_ARB_texture_storage_multisample + TglTexStorage2DMultisample = procedure(target : GLenum; samples : GLsizei; internalformat : GLenum; width : GLsizei; height : GLsizei; fixedsamplelocations : GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexStorage3DMultisample = procedure(target : GLenum; samples : GLsizei; internalformat : GLenum; width : GLsizei; height : GLsizei; depth : GLsizei; fixedsamplelocations : GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureStorage2DMultisampleEXT = procedure(texture : GLuint; target : GLenum; samples : GLsizei; internalformat : GLenum; width : GLsizei; height : GLsizei; fixedsamplelocations : GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureStorage3DMultisampleEXT = procedure(texture : GLuint; target : GLenum; samples : GLsizei; internalformat : GLenum; width : GLsizei; height : GLsizei; depth : GLsizei; fixedsamplelocations : GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL 4.4 + + TglBufferStorage = procedure(target : GLenum; size : GLsizeiptr; const data : pointer; flags : GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearTexImage = procedure(texture : GLuint; level : GLint; format : GLenum; _type : GLenum; const data : Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearTexSubImage = procedure(texture : GLuint; level : GLint; xoffset : GLint; yoffset : GLint; zoffset : GLint; width : GLsizei; height : GLsizei; depth : GLsizei; format : GLenum; _type : GLenum; const Data : Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBuffersBase = procedure(target : GLenum; first : GLuint; count : GLsizei; const buffers : PGLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBuffersRange = procedure(target : GLenum; first : GLuint; count : GLsizei; const buffers : PGLuint; const offsets : GLintptr; const sizes : GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindTextures = procedure(first : GLuint; count : GLsizei; const textures : PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindSamplers = procedure(first : GLuint; count : GLsizei; const samplers : PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindImageTextures = procedure(first : GLuint; count : GLsizei; const textures : PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindVertexBuffers = procedure(first : GLuint; count : GLsizei; const buffers : GLuint; const offsets : GLintptr; const strides : PGLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // END GL 4.4 + + + // GL_ARB_texture_view + TglTextureView = procedure(texture : GLuint; target : GLenum; origtexture : GLuint; internalformat : GLenum; minlevel : GLuint; numlevels : GLuint; minlayer : GLuint; numlayers : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_vertex_attrib_binding + TglBindVertexBuffer = procedure(bindingindex : GLuint; buffer : GLuint; offset : GLintptr; stride : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribFormat = procedure(attribindex : GLuint; size : GLInt; type_ : GLEnum; normalized : GLboolean; relativeoffset : GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribIFormat = procedure(attribindex : GLuint; size : GLInt; type_ : GLEnum; relativeoffset : GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribLFormat = procedure(attribindex : GLuint; size : GLInt; type_ : GLEnum; relativeoffset : GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribBinding = procedure(attribindex : GLuint; bindingindex : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexBindingDivisor = procedure(bindingindex : GLuint; divisor : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayBindVertexBufferEXT = procedure(vaobj : GLuint; bindingindex : GLuint; buffer : GLuint; offset : GLintptr; stride : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayVertexAttribFormatEXT = procedure(vaobj : GLuint; attribindex : GLuint; size : GLInt; type_ : GLEnum; normalized : GLboolean; relativeoffset : GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayVertexAttribIFormatEXT = procedure(vaobj : GLuint; attribindex : GLuint; size : GLInt; type_ : GLEnum; relativeoffset : GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayVertexAttribLFormatEXT = procedure(vaobj : GLuint; attribindex : GLuint; size : GLInt; type_ : GLEnum; relativeoffset : GLUint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayVertexAttribBindingEXT = procedure(vaobj : GLuint; attribindex : GLuint; bindingindex : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayVertexBindingDivisorEXT = procedure(vaobj : GLuint; bindingindex : GLuint; divisor : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_robustness_isolation + + // + + // GL_ARB_cl_event + TglCreateSyncFromCLeventARB = function(context: p_cl_context; event: p_cl_event; flags: GLbitfield): GLsync; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_debug_output + TglDebugMessageControlARB = procedure(source: GLenum; type_: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDebugMessageInsertARB = procedure(source: GLenum; type_: GLenum; id: GLuint; severity: GLenum; length: GLsizei; const buf: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDebugMessageCallbackARB = procedure(callback: TglDebugProcARB; const userParam: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetDebugMessageLogARB = function(count: GLuint; bufsize: GLsizei; sources: PGLenum; types: PGLenum; ids: PGLuint; severities: PGLenum; lengths: PGLsizei; messageLog: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ARB_robustness + TglGetGraphicsResetStatusARB = function(): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnMapdvARB = procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnMapfvARB = procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnMapivARB = procedure(target: GLenum; query: GLenum; bufSize: GLsizei; v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnPixelMapfvARB = procedure(map: GLenum; bufSize: GLsizei; values: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnPixelMapuivARB = procedure(map: GLenum; bufSize: GLsizei; values: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnPixelMapusvARB = procedure(map: GLenum; bufSize: GLsizei; values: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnPolygonStippleARB = procedure(bufSize: GLsizei; pattern: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnColorTableARB = procedure(target: GLenum; format: GLenum; type_: GLenum; bufSize: GLsizei; table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnConvolutionFilterARB = procedure(target: GLenum; format: GLenum; type_: GLenum; bufSize: GLsizei; image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnSeparableFilterARB = procedure(target: GLenum; format: GLenum; type_: GLenum; rowBufSize: GLsizei; row: PGLvoid; columnBufSize: GLsizei; column: PGLvoid; span: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnHistogramARB = procedure(target: GLenum; reset: GLboolean; format: GLenum; type_: GLenum; bufSize: GLsizei; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnMinmaxARB = procedure(target: GLenum; reset: GLboolean; format: GLenum; type_: GLenum; bufSize: GLsizei; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnTexImageARB = procedure(target: GLenum; level: GLint; format: GLenum; type_: GLenum; bufSize: GLsizei; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReadnPixelsARB = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei; format: GLenum; type_: GLenum; bufSize: GLsizei; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnCompressedTexImageARB = procedure(target: GLenum; lod: GLint; bufSize: GLsizei; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnUniformfvARB = procedure(program_: GLuint; location: GLint; bufSize: GLsizei; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnUniformivARB = procedure(program_: GLuint; location: GLint; bufSize: GLsizei; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnUniformuivARB = procedure(program_: GLuint; location: GLint; bufSize: GLsizei; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetnUniformdvARB = procedure(program_: GLuint; location: GLint; bufSize: GLsizei; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_draw_buffers + TglDrawBuffersATI = procedure(n: GLsizei; const bufs: PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_element_array + TglElementPointerATI = procedure(_type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElementArrayATI = procedure(mode: GLenum; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawRangeElementArrayATI = procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_envmap_bumpmap + TglTexBumpParameterivATI = procedure(pname: GLenum; const param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexBumpParameterfvATI = procedure(pname: GLenum; const param: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexBumpParameterivATI = procedure(pname: GLenum; param: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexBumpParameterfvATI = procedure(pname: GLenum; param: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_fragment_shader + TglGenFragmentShadersATI = function(range: GLuint): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindFragmentShaderATI = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteFragmentShaderATI = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBeginFragmentShaderATI = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndFragmentShaderATI = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPassTexCoordATI = procedure(dst: GLuint; coord: GLuint; swizzle: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSampleMapATI = procedure(dst: GLuint; interp: GLuint; swizzle: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorFragmentOp1ATI = procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorFragmentOp2ATI = procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorFragmentOp3ATI = procedure(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglAlphaFragmentOp1ATI = procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglAlphaFragmentOp2ATI = procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglAlphaFragmentOp3ATI = procedure(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSetFragmentShaderConstantATI = procedure(dst: GLuint; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_map_object_buffer + TglMapObjectBufferATI = function(buffer: GLuint): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUnmapObjectBufferATI = procedure(buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_pn_triangles + TglPNTrianglesiATI = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPNTrianglesfATI = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_separate_stencil + TglStencilOpSeparateATI = procedure(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilFuncSeparateATI = procedure(frontfunc: GLenum; backfunc: GLenum; ref: GLint; mask: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_vertex_array_object + TglNewObjectBufferATI = function(size: GLsizei; const _pointer: PGLvoid; usage: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsObjectBufferATI = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUpdateObjectBufferATI = procedure(buffer: GLuint; offset: GLuint; size: GLsizei; const _pointer: PGLvoid; preserve: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetObjectBufferfvATI = procedure(buffer: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetObjectBufferivATI = procedure(buffer: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFreeObjectBufferATI = procedure(buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglArrayObjectATI = procedure(_array: GLenum; size: GLint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetArrayObjectfvATI = procedure(_array: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetArrayObjectivATI = procedure(_array: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantArrayObjectATI = procedure(id: GLuint; _type: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVariantArrayObjectfvATI = procedure(id: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVariantArrayObjectivATI = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_vertex_attrib_array_object + TglVertexAttribArrayObjectATI = procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei; buffer: GLuint; offset: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribArrayObjectfvATI = procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribArrayObjectivATI = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_ATI_vertex_streams + TglVertexStream1sATI = procedure(stream: GLenum; x: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream1svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream1iATI = procedure(stream: GLenum; x: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream1ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream1fATI = procedure(stream: GLenum; x: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream1fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream1dATI = procedure(stream: GLenum; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream1dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream2sATI = procedure(stream: GLenum; x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream2svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream2iATI = procedure(stream: GLenum; x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream2ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream2fATI = procedure(stream: GLenum; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream2fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream2dATI = procedure(stream: GLenum; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream2dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream3sATI = procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream3svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream3iATI = procedure(stream: GLenum; x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream3ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream3fATI = procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream3fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream3dATI = procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream3dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream4sATI = procedure(stream: GLenum; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream4svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream4iATI = procedure(stream: GLenum; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream4ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream4fATI = procedure(stream: GLenum; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream4fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream4dATI = procedure(stream: GLenum; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexStream4dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3bATI = procedure(stream: GLenum; nx: GLbyte; ny: GLbyte; nz: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3bvATI = procedure(stream: GLenum; const coords: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3sATI = procedure(stream: GLenum; nx: GLshort; ny: GLshort; nz: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3svATI = procedure(stream: GLenum; const coords: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3iATI = procedure(stream: GLenum; nx: GLint; ny: GLint; nz: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3ivATI = procedure(stream: GLenum; const coords: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3fATI = procedure(stream: GLenum; nx: GLfloat; ny: GLfloat; nz: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3fvATI = procedure(stream: GLenum; const coords: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3dATI = procedure(stream: GLenum; nx: GLdouble; ny: GLdouble; nz: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalStream3dvATI = procedure(stream: GLenum; const coords: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClientActiveVertexStreamATI = procedure(stream: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexBlendEnviATI = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexBlendEnvfATI = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_AMD_performance_monitor + TglGetPerfMonitorGroupsAMD = procedure(numGroups: PGLint; groupsSize: GLsizei; groups: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPerfMonitorCountersAMD = procedure(group: GLuint; numCounters: PGLint; maxActiveCouters: PGLint; counterSize: GLsizei; counters: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPerfMonitorGroupStringAMD = procedure(group: GLuint; bufSize: GLsizei; length: PGLsizei; groupString: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPerfMonitorCounterStringAMD = procedure(group: GLuint; counter: GLuint; bufSize: GLsizei; length: PGLsizei; counterString: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPerfMonitorCounterInfoAMD = procedure(group: GLuint; counter: GLuint; pname: GLenum; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenPerfMonitorsAMD = procedure(n: GLsizei; monitors: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeletePerfMonitorsAMD = procedure(n: GLsizei; monitors: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSelectPerfMonitorCountersAMD = procedure(monitor: GLuint; enable: GLboolean; group: GLuint; numCounters: GLint; counterList: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBeginPerfMonitorAMD = procedure(monitor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndPerfMonitorAMD = procedure(monitor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPerfMonitorCounterDataAMD = procedure(monitor: GLuint; pname: GLenum; dataSize: GLsizei; data: PGLuint; bytesWritten: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_AMD_vertex_shader_tesselator + TglTessellationFactorAMD = procedure(factor: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTessellationModeAMD = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_AMD_draw_buffers_blend + TglBlendFuncIndexedAMD = procedure(buf: GLuint; src: GLenum; dst: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendFuncSeparateIndexedAMD = procedure(buf: GLuint; srcRGB: GLenum; dstRGB: GLenum; srcAlpha: GLenum; dstAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendEquationIndexedAMD = procedure(buf: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBlendEquationSeparateIndexedAMD = procedure(buf: GLuint; modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_AMD_name_gen_delete + TglGenNamesAMD = procedure(identifier: GLenum; num: GLuint; names: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteNamesAMD = procedure(identifier: GLenum; num: GLuint; const names: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsNameAMD = function(identifier: GLenum; name: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_AMD_debug_output + TglDebugMessageEnableAMD = procedure(category: GLenum; severity: GLenum; count: GLsizei; const ids: PGLuint; enabled: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDebugMessageInsertAMD = procedure(category: GLenum; severity: GLenum; id: GLuint; length: GLsizei; const buf: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDebugMessageCallbackAMD = procedure(callback: TGLDebugProcAMD; userParam: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetDebugMessageLogAMD = function(count: GLuint; bufsize: GLsizei; categories: PGLenum; severities: PGLuint; ids: PGLuint; lengths: PGLsizei; message: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_blend_color + TglBlendColorEXT = procedure(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_blend_func_separate + TglBlendFuncSeparateEXT = procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_blend_minmax + TglBlendEquationEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_color_subtable + TglColorSubTableEXT = procedure(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; _type: GLenum; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyColorSubTableEXT = procedure(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_compiled_vertex_array + TglLockArraysEXT = procedure(first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUnlockArraysEXT = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_convolution + TglConvolutionFilter1DEXT = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionFilter2DEXT = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionParameterfEXT = procedure(target: GLenum; pname: GLenum; params: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionParameterfvEXT = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionParameteriEXT = procedure(target: GLenum; pname: GLenum; params: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglConvolutionParameterivEXT = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyConvolutionFilter1DEXT = procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyConvolutionFilter2DEXT = procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetConvolutionFilterEXT = procedure(target: GLenum; format: GLenum; _type: GLenum; image: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetConvolutionParameterfvEXT = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetConvolutionParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetSeparableFilterEXT = procedure(target: GLenum; format: GLenum; _type: GLenum; row: PGLvoid; column: PGLvoid; span: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSeparableFilter2DEXT = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const row: PGLvoid; const column: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_coordinate_frame + TglTangent3bEXT = procedure(tx: GLbyte; ty: GLbyte; tz: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangent3bvEXT = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangent3dEXT = procedure(tx: GLdouble; ty: GLdouble; tz: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangent3dvEXT = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangent3fEXT = procedure(tx: GLfloat; ty: GLfloat; tz: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangent3fvEXT = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangent3iEXT = procedure(tx: GLint; ty: GLint; tz: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangent3ivEXT = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangent3sEXT = procedure(tx: GLshort; ty: GLshort; tz: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangent3svEXT = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3bEXT = procedure(bx: GLbyte; by: GLbyte; bz: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3bvEXT = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3dEXT = procedure(bx: GLdouble; by: GLdouble; bz: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3dvEXT = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3fEXT = procedure(bx: GLfloat; by: GLfloat; bz: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3fvEXT = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3iEXT = procedure(bx: GLint; by: GLint; bz: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3ivEXT = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3sEXT = procedure(bx: GLshort; by: GLshort; bz: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormal3svEXT = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTangentPointerEXT = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBinormalPointerEXT = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_copy_texture + TglCopyTexImage1DEXT = procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTexImage2DEXT = procedure(target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTexSubImage1DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTexSubImage2DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTexSubImage3DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_cull_vertex + TglCullParameterdvEXT = procedure(pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCullParameterfvEXT = procedure(pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_draw_range_elements + TglDrawRangeElementsEXT = procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_fog_coord + TglFogCoordfEXT = procedure(coord: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoordfvEXT = procedure(const coord: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoorddEXT = procedure(coord: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoorddvEXT = procedure(const coord: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoordPointerEXT = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_framebuffer_object + TglIsRenderbufferEXT = function(renderbuffer: GLuint): Boolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindRenderbufferEXT = procedure(target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteRenderbuffersEXT = procedure(n: GLsizei; const renderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenRenderbuffersEXT = procedure(n: GLsizei; renderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRenderbufferStorageEXT = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetRenderbufferParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsFramebufferEXT = function(framebuffer: GLuint): Boolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindFramebufferEXT = procedure(target: GLenum; framebuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteFramebuffersEXT = procedure(n: GLsizei; const framebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenFramebuffersEXT = procedure(n: GLsizei; framebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCheckFramebufferStatusEXT = function(target: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTexture1DEXT = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTexture2DEXT = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTexture3DEXT = procedure(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferRenderbufferEXT = procedure(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFramebufferAttachmentParameterivEXT = procedure(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenerateMipmapEXT = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_histogram + TglGetHistogramEXT = procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetHistogramParameterfvEXT = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetHistogramParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMinmaxEXT = procedure(target: GLenum; reset: GLboolean; format: GLenum; _type: GLenum; values: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMinmaxParameterfvEXT = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMinmaxParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglHistogramEXT = procedure(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMinmaxEXT = procedure(target: GLenum; internalformat: GLenum; sink: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglResetHistogramEXT = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglResetMinmaxEXT = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_index_func + TglIndexFuncEXT = procedure(func: GLenum; ref: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_index_material + TglIndexMaterialEXT = procedure(face: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_light_texture + TglApplyTextureEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureLightEXT = procedure(pname: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureMaterialEXT = procedure(face: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_multi_draw_arrays + TglMultiDrawArraysEXT = procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiDrawElementsEXT = procedure(mode: GLenum; const count: PGLsizei; _type: GLenum; const indices: PGLvoid; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_multisample + TglSampleMaskEXT = procedure(value: GLclampf; invert: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSamplePatternEXT = procedure(pattern: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_paletted_texture + TglColorTableEXT = procedure(target: GLenum; internalFormat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetColorTableEXT = procedure(target: GLenum; format: GLenum; _type: GLenum; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetColorTableParameterivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetColorTableParameterfvEXT = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_pixel_transform + TglPixelTransformParameteriEXT = procedure(target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelTransformParameterfEXT = procedure(target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelTransformParameterivEXT = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelTransformParameterfvEXT = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_point_parameters + TglPointParameterfEXT = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointParameterfvEXT = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_polygon_offset + TglPolygonOffsetEXT = procedure(factor: GLfloat; bias: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_secondary_color + TglSecondaryColor3bEXT = procedure(red: GLbyte; green: GLbyte; blue: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3bvEXT = procedure(const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3dEXT = procedure(red: GLdouble; green: GLdouble; blue: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3dvEXT = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3fEXT = procedure(red: GLfloat; green: GLfloat; blue: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3fvEXT = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3iEXT = procedure(red: GLint; green: GLint; blue: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3ivEXT = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3sEXT = procedure(red: GLshort; green: GLshort; blue: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3svEXT = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3ubEXT = procedure(red: GLubyte; green: GLubyte; blue: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3ubvEXT = procedure(const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3uiEXT = procedure(red: GLuint; green: GLuint; blue: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3uivEXT = procedure(const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3usEXT = procedure(red: GLushort; green: GLushort; blue: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3usvEXT = procedure(const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColorPointerEXT = procedure(size: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_stencil_two_side + TglActiveStencilFaceEXT = procedure(face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_subtexture + TglTexSubImage1DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexSubImage2DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_texture3D + TglTexImage3DEXT = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexSubImage3DEXT = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_texture_object + TglAreTexturesResidentEXT = function(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindTextureEXT = procedure(target: GLenum; texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteTexturesEXT = procedure(n: GLsizei; const textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenTexturesEXT = procedure(n: GLsizei; textures: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsTextureEXT = function(texture: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPrioritizeTexturesEXT = procedure(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_texture_perturb_normal + TglTextureNormalEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_vertex_array + TglArrayElementEXT = procedure(i: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorPointerEXT = procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawArraysEXT = procedure(mode: GLenum; first: GLint; count: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEdgeFlagPointerEXT = procedure(stride: GLsizei; count: GLsizei; const _pointer: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPointervEXT = procedure(pname: GLenum; params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexPointerEXT = procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalPointerEXT = procedure(_type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordPointerEXT = procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexPointerEXT = procedure(size: GLint; _type: GLenum; stride: GLsizei; count: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_vertex_shader + TglBeginVertexShaderEXT = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndVertexShaderEXT = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindVertexShaderEXT = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenVertexShadersEXT = function(range: GLuint): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteVertexShaderEXT = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglShaderOp1EXT = procedure(op: GLenum; res: GLuint; arg1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglShaderOp2EXT = procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglShaderOp3EXT = procedure(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint; arg3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSwizzleEXT = procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWriteMaskEXT = procedure(res: GLuint; _in: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInsertComponentEXT = procedure(res: GLuint; src: GLuint; num: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglExtractComponentEXT = procedure(res: GLuint; src: GLuint; num: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenSymbolsEXT = function(datatype: GLenum; storagetype: GLenum; range: GLenum; components: GLuint): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSetInvariantEXT = procedure(id: GLuint; _type: GLenum; const addr: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSetLocalConstantEXT = procedure(id: GLuint; _type: GLenum; const addr: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantbvEXT = procedure(id: GLuint; const addr: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantsvEXT = procedure(id: GLuint; const addr: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantivEXT = procedure(id: GLuint; const addr: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantfvEXT = procedure(id: GLuint; const addr: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantdvEXT = procedure(id: GLuint; const addr: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantubvEXT = procedure(id: GLuint; const addr: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantusvEXT = procedure(id: GLuint; const addr: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantuivEXT = procedure(id: GLuint; const addr: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVariantPointerEXT = procedure(id: GLuint; _type: GLenum; stride: GLuint; const addr: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnableVariantClientStateEXT = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDisableVariantClientStateEXT = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindLightParameterEXT = function(light: GLenum; value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindMaterialParameterEXT = function(face: GLenum; value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindTexGenParameterEXT = function(_unit: GLenum; coord: GLenum; value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindTextureUnitParameterEXT = function(_unit: GLenum; value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindParameterEXT = function(value: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsVariantEnabledEXT = function(id: GLuint; cap: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVariantBooleanvEXT = procedure(id: GLuint; value: GLenum; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVariantIntegervEXT = procedure(id: GLuint; value: GLenum; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVariantFloatvEXT = procedure(id: GLuint; value: GLenum; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVariantPointervEXT = procedure(id: GLuint; value: GLenum; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetInvariantBooleanvEXT = procedure(id: GLuint; value: GLenum; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetInvariantIntegervEXT = procedure(id: GLuint; value: GLenum; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetInvariantFloatvEXT = procedure(id: GLuint; value: GLenum; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetLocalConstantBooleanvEXT = procedure(id: GLuint; value: GLenum; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetLocalConstantIntegervEXT = procedure(id: GLuint; value: GLenum; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetLocalConstantFloatvEXT = procedure(id: GLuint; value: GLenum; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_vertex_weighting + TglVertexWeightfEXT = procedure(weight: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexWeightfvEXT = procedure(const weight: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexWeightPointerEXT = procedure(size: GLsizei; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_stencil_clear_tag + TglStencilClearTagEXT = procedure(stencilTagBits: GLsizei; stencilClearTag: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_framebuffer_blit + TglBlitFramebufferEXT = procedure(srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_framebuffer_multisample + TglRenderbufferStorageMultisampleEXT = procedure(target: GLenum; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_timer_query + TglGetQueryObjecti64vEXT = procedure(id: GLuint; pname: GLenum; params: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetQueryObjectui64vEXT = procedure(id: GLuint; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_gpu_program_parameters + TglProgramEnvParameters4fvEXT = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParameters4fvEXT = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_bindable_uniform + TglUniformBufferEXT = procedure(_program: GLuint; location: GLint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformBufferSizeEXT = function(_program: GLuint; location: GLint): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformOffsetEXT = function(_program: GLuint; location: GLint): GLintptr; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_draw_buffers2 + TglColorMaskIndexedEXT = procedure(buf: GLuint; r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBooleanIndexedvEXT = procedure(value: GLenum; index: GLuint; data: PGLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetIntegerIndexedvEXT = procedure(value: GLenum; index: GLuint; data: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnableIndexedEXT = procedure(target: GLenum; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDisableIndexedEXT = procedure(target: GLenum; index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsEnabledIndexedEXT = function(target: GLenum; index: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_draw_instanced + TglDrawArraysInstancedEXT = procedure(mode: GLenum; first: GLint; count: GLsizei; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawElementsInstancedEXT = procedure(mode: GLenum; count: GLsizei; _type: GLenum; const indices: Pointer; primcount: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_geometry_shader4 + TglProgramParameteriEXT = procedure (_program: GLuint; pname: GLenum; value: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTextureEXT = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +// TglFramebufferTextureLayerEXT = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferTextureFaceEXT = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_gpu_shader4 + TglVertexAttribI1iEXT = procedure(index: GLuint; x: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI2iEXT = procedure(index: GLuint; x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI3iEXT = procedure(index: GLuint; x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4iEXT = procedure(index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI1uiEXT = procedure(index: GLuint; x: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI2uiEXT = procedure(index: GLuint; x: GLuint; y: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI3uiEXT = procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4uiEXT = procedure(index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI1ivEXT = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI2ivEXT = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI3ivEXT = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4ivEXT = procedure(index: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI1uivEXT = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI2uivEXT = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI3uivEXT = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4uivEXT = procedure(index: GLuint; const v: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4bvEXT = procedure(index: GLuint; const v: PGLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4svEXT = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4ubvEXT = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribI4usvEXT = procedure(index: GLuint; const v: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribIPointerEXT = procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei; const _pointer: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribIivEXT = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribIuivEXT = procedure(index: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1uiEXT = procedure(location: GLint; v0: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2uiEXT = procedure(location: GLint; v0: GLuint; v1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3uiEXT = procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4uiEXT = procedure(location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1uivEXT = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2uivEXT = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3uivEXT = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4uivEXT = procedure(location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformuivEXT = procedure(_program: GLuint; location: GLint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindFragDataLocationEXT = procedure(_program: GLuint; colorNumber: GLuint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFragDataLocationEXT = function(_program: GLuint; const name: PGLchar): GLint; + + // GL_EXT_texture_array + TglFramebufferTextureLayerEXT = procedure(target: GLenum; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_texture_buffer_object + TglTexBufferEXT = procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_texture_integer + TglClearColorIiEXT = procedure(r: GLint; g: GLint; b: GLint; a: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearColorIuiEXT = procedure(r: GLuint; g: GLuint; b: GLuint; a: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexParameterIivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexParameterIuivEXT = procedure(target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexParameterIivEXT = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTexParameterIiuvEXT = procedure(target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_HP_image_transform + TglImageTransformParameteriHP = procedure(target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglImageTransformParameterfHP = procedure(target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglImageTransformParameterivHP = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglImageTransformParameterfvHP = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetImageTransformParameterivHP = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetImageTransformParameterfvHP = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_depth_bounds_test + TglDepthBoundsEXT = procedure(zmin: GLclampd; zmax: GLclampd); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_blend_equation_separate + TglBlendEquationSeparateEXT = procedure(modeRGB: GLenum; modeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_transform_feedback + TglBeginTransformFeedbackEXT = procedure(primitiveMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndTransformFeedbackEXT = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBufferRangeEXT = procedure(target: GLenum; index_: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBufferOffsetEXT = procedure(target: GLenum; index_: GLuint; buffer: GLuint; offset: GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBufferBaseEXT = procedure(target: GLenum; index_: GLuint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTransformFeedbackVaryingsEXT = procedure(program_: GLuint; count: GLsizei; const locations: PGLint; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTransformFeedbackVaryingEXT = procedure(program_: GLuint; index_: GLuint; location: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_direct_state_access + TglClientAttribDefaultEXT = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPushClientAttribDefaultEXT = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixLoadfEXT = procedure(mode: GLenum; const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixLoaddEXT = procedure(mode: GLenum; const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixMultfEXT = procedure(mode: GLenum; const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixMultdEXT = procedure(mode: GLenum; const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixLoadIdentityEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixRotatefEXT = procedure(mode: GLenum; angle: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixRotatedEXT = procedure(mode: GLenum; angle: GLdouble; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixScalefEXT = procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixScaledEXT = procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixTranslatefEXT = procedure(mode: GLenum; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixTranslatedEXT = procedure(mode: GLenum; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixFrustumEXT = procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixOrthoEXT = procedure(mode: GLenum; left: GLdouble; right: GLdouble; bottom: GLdouble; top: GLdouble; zNear: GLdouble; zFar: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixPopEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixPushEXT = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixLoadTransposefEXT = procedure(mode: GLenum; const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixLoadTransposedEXT = procedure(mode: GLenum; const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixMultTransposefEXT = procedure(mode: GLenum; const m: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMatrixMultTransposedEXT = procedure(mode: GLenum; const m: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureParameterfEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureParameterfvEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureParameteriEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureParameterivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureSubImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureSubImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTextureImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTextureImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTextureSubImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTextureSubImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTextureImageEXT = procedure(texture: GLuint; target: GLenum; level: GLint; format: GLenum; type_: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTextureParameterfvEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTextureParameterivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTextureLevelParameterfvEXT = procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTextureLevelParameterivEXT = procedure(texture: GLuint; target: GLenum; level: GLint; pname: GLenum; params: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureSubImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyTextureSubImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexParameterfEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexParameterfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexParameteriEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexParameterivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexSubImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexSubImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyMultiTexImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyMultiTexImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei; border: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyMultiTexSubImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyMultiTexSubImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexImageEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; format: GLenum; type_: GLenum; pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexParameterfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexParameterivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexLevelParameterfvEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexLevelParameterivEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; type_: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexSubImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; type_: GLenum; const pixels:PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyMultiTexSubImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindMultiTextureEXT = procedure(texunit: GLenum; target: GLenum; texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEnableClientStateIndexedEXT = procedure(array_: GLenum; index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDisableClientStateIndexedEXT = procedure(array_: GLenum; index_: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoordPointerEXT = procedure(texunit: GLenum; size: GLint; type_: GLenum; stride: GLsizei; const pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexEnvfEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexEnvfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexEnviEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexEnvivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexGendEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexGendvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexGenfEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexGenfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexGeniEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexGenivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexEnvfvEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexEnvivEXT = procedure(texunit: GLenum; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexGendvEXT = procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexGenfvEXT = procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexGenivEXT = procedure(texunit: GLenum; coord: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFloatIndexedvEXT = procedure(target: GLenum; index_: GLuint; data: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetDoubleIndexedvEXT = procedure(target: GLenum; index_: GLuint; data: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPointerIndexedvEXT = procedure(target: GLenum; index_: GLuint; data: PPGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTextureImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTextureImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTextureImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTextureSubImage3DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTextureSubImage2DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedTextureSubImage1DEXT = procedure(texture: GLuint; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetCompressedTextureImageEXT = procedure(texture: GLuint; target: GLenum; lod: GLint; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedMultiTexImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedMultiTexImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedMultiTexImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedMultiTexSubImage3DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedMultiTexSubImage2DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCompressedMultiTexSubImage1DEXT = procedure(texunit: GLenum; target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const bits: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetCompressedMultiTexImageEXT = procedure(texunit: GLenum; target: GLenum; lod: GLint; img: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramStringEXT = procedure(program_: GLuint; target: GLenum; format: GLenum; len: GLsizei; const string_: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParameter4dEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParameter4dvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParameter4fEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParameter4fvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedProgramLocalParameterdvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedProgramLocalParameterfvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedProgramivEXT = procedure(program_: GLuint; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedProgramStringEXT = procedure(program_: GLuint; target: GLenum; pname: GLenum; string_: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParameters4fvEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; count: GLsizei; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParameterI4iEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParameterI4ivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParametersI4ivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; count: GLsizei; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParameterI4uiEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParameterI4uivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedProgramLocalParametersI4uivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; count: GLsizei; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedProgramLocalParameterIivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedProgramLocalParameterIuivEXT = procedure(program_: GLuint; target: GLenum; index_: GLuint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureParameterIivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureParameterIuivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTextureParameterIivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTextureParameterIuivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexParameterIivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexParameterIuivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexParameterIivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMultiTexParameterIuivEXT = procedure(texture: GLuint; target: GLenum; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1fEXT = procedure(program_: GLuint; location: GLint; v0: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2fEXT = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3fEXT = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4fEXT = procedure(program_: GLuint; location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1iEXT = procedure(program_: GLuint; location: GLint; v0: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2iEXT = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3iEXT = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4iEXT = procedure(program_: GLuint; location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1ivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2ivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3ivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4ivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2x3fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3x2fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2x4fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4x2fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3x4fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4x3fvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1uiEXT = procedure(program_: GLuint; location: GLint; v0: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2uiEXT = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3uiEXT = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4uiEXT = procedure(program_: GLuint; location: GLint; v0: GLuint; v1: GLuint; v2: GLuint; v3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1uivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2uivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3uivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4uivEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedBufferDataEXT = procedure(buffer: GLuint; size: GLsizei; const data: PGLvoid; usage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedBufferSubDataEXT = procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; const data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapNamedBufferEXT = function(buffer: GLuint; access: GLenum): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUnmapNamedBufferEXT = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapNamedBufferRangeEXT = function(buffer: GLuint; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFlushMappedNamedBufferRangeEXT = procedure(buffer: GLuint; offset: GLintptr; length: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedCopyBufferSubDataEXT = procedure(readBuffer: GLuint; writeBuffer: GLuint; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedBufferParameterivEXT = procedure(buffer: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedBufferPointervEXT = procedure(buffer: GLuint; pname: GLenum; params: PPGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedBufferSubDataEXT = procedure(buffer: GLuint; offset: GLintptr; size: GLsizeiptr; data: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureBufferEXT = procedure(texture: GLuint; target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexBufferEXT = procedure(texunit: GLenum; target: GLenum; interformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedRenderbufferStorageEXT = procedure(renderbuffer: GLuint; interformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedRenderbufferParameterivEXT = procedure(renderbuffer: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCheckNamedFramebufferStatusEXT = function(framebuffer: GLuint; target: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedFramebufferTexture1DEXT = procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedFramebufferTexture2DEXT = procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedFramebufferTexture3DEXT = procedure(framebuffer: GLuint; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedFramebufferRenderbufferEXT = procedure(framebuffer: GLuint; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedFramebufferAttachmentParameterivEXT = procedure(framebuffer: GLuint; attachment: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenerateTextureMipmapEXT = procedure(texture: GLuint; target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenerateMultiTexMipmapEXT = procedure(texunit: GLenum; target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferDrawBufferEXT = procedure(framebuffer: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferDrawBuffersEXT = procedure(framebuffer: GLuint; n: GLsizei; const bufs: PGLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFramebufferReadBufferEXT = procedure(framebuffer: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFramebufferParameterivEXT = procedure(framebuffer: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedRenderbufferStorageMultisampleEXT = procedure(renderbuffer: GLuint; samples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedRenderbufferStorageMultisampleCoverageEXT = procedure(renderbuffer: GLuint; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedFramebufferTextureEXT = procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedFramebufferTextureLayerEXT = procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; layer: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNamedFramebufferTextureFaceEXT = procedure(framebuffer: GLuint; attachment: GLenum; texture: GLuint; level: GLint; face: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTextureRenderbufferEXT = procedure(texture: GLuint; target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexRenderbufferEXT = procedure(texunit: GLenum; target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1dEXT = procedure(program_: GLuint; location: GLint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2dEXT = procedure(program_: GLuint; location: GLint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3dEXT = procedure(program_: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4dEXT = procedure(program_: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2x3dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix2x4dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3x2dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix3x4dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4x2dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformMatrix4x3dvEXT = procedure(program_: GLuint; location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_separate_shader_objects + TglUseShaderProgramEXT = procedure(_type: GLenum; _program: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglActiveProgramEXT = procedure(_program: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCreateShaderProgramEXT = function(_type: GLenum; const _string: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_shader_image_load_store + TglBindImageTextureEXT = procedure(index: GLuint; texture: GLuint; level: GLint; layered: GLboolean; layer: GLint; access: GLenum; format: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMemoryBarrierEXT = procedure(barriers: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_EXT_vertex_attrib_64bit + TglVertexAttribL1dEXT = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL2dEXT = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL3dEXT = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL4dEXT = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL1dvEXT = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL2dvEXT = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL3dvEXT = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL4dvEXT = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribLPointerEXT = procedure(index: GLuint; size: GLint; type_: GLenum; stride: GLsizei; const pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribLdvEXT = procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayVertexAttribLOffsetEXT = procedure(vaobj: GLuint; buffer: GLuint; index: GLuint; size: GLint; type_: GLenum; stride: GLsizei; offset: GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_IBM_multimode_draw_arrays + TglMultiModeDrawArraysIBM = procedure(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei; modestride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiModeDrawElementsIBM = procedure(const mode: PGLenum; const count: PGLsizei; _type: GLenum; const indices: PGLvoid; primcount: GLsizei; modestride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_IBM_vertex_array_lists + TglColorPointerListIBM = procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColorPointerListIBM = procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEdgeFlagPointerListIBM = procedure(stride: GLint; const _pointer: PGLboolean; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoordPointerListIBM = procedure(_type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexPointerListIBM = procedure(_type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalPointerListIBM = procedure(_type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordPointerListIBM = procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexPointerListIBM = procedure(size: GLint; _type: GLenum; stride: GLint; const _pointer: PGLvoid; ptrstride: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_INGR_blend_func_separate + TglBlendFuncSeparateINGR = procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_INTEL_parallel_arrays + TglVertexPointervINTEL = procedure(size: GLint; _type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalPointervINTEL = procedure(_type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorPointervINTEL = procedure(size: GLint; _type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordPointervINTEL = procedure(size: GLint; _type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_MESA_resize_buffers + TglResizeBuffersMESA = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_MESA_window_pos + TglWindowPos2dMESA = procedure(x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2dvMESA = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2fMESA = procedure(x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2fvMESA = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2iMESA = procedure(x: GLint; y: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2ivMESA = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2sMESA = procedure(x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos2svMESA = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3dMESA = procedure(x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3dvMESA = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3fMESA = procedure(x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3fvMESA = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3iMESA = procedure(x: GLint; y: GLint; z: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3ivMESA = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3sMESA = procedure(x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos3svMESA = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos4dMESA = procedure(x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos4dvMESA = procedure(const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos4fMESA = procedure(x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos4fvMESA = procedure(const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos4iMESA = procedure(x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos4ivMESA = procedure(const v: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos4sMESA = procedure(x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWindowPos4svMESA = procedure(const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_evaluators + TglMapControlPointsNV = procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; uorder: GLint; vorder: GLint; _packed: GLboolean; const points: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapParameterivNV = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMapParameterfvNV = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMapControlPointsNV = procedure(target: GLenum; index: GLuint; _type: GLenum; ustride: GLsizei; vstride: GLsizei; _packed: GLboolean; points: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMapParameterivNV = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMapParameterfvNV = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMapAttribParameterivNV = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetMapAttribParameterfvNV = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEvalMapsNV = procedure(target: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_fence + TglDeleteFencesNV = procedure(n: GLsizei; const fences: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenFencesNV = procedure(n: GLsizei; fences: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsFenceNV = function(fence: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTestFenceNV = function(fence: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFenceivNV = procedure(fence: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFinishFenceNV = procedure(fence: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSetFenceNV = procedure(fence: GLuint; condition: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_fragment_program + TglProgramNamedParameter4fNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramNamedParameter4dNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramNamedParameter4fvNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramNamedParameter4dvNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramNamedParameterfvNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramNamedParameterdvNV = procedure(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_half_float + TglVertex2hNV = procedure(x: GLhalfNV; y: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex2hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3hNV = procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4hNV = procedure(x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertex4hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3hNV = procedure(nx: GLhalfNV; ny: GLhalfNV; nz: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3hNV = procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4hNV = procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV; alpha: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1hNV = procedure(s: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord1hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2hNV = procedure(s: GLhalfNV; t: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3hNV = procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4hNV = procedure(s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1hNV = procedure(target: GLenum; s: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord1hvNV = procedure(target: GLenum; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2hNV = procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord2hvNV = procedure(target: GLenum; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3hNV = procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord3hvNV = procedure(target: GLenum; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4hNV = procedure(target: GLenum; s: GLhalfNV; t: GLhalfNV; r: GLhalfNV; q: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMultiTexCoord4hvNV = procedure(target: GLenum; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoordhNV = procedure(fog: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoordhvNV = procedure(const fog: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3hNV = procedure(red: GLhalfNV; green: GLhalfNV; blue: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColor3hvNV = procedure(const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexWeighthNV = procedure(weight: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexWeighthvNV = procedure(const weight: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1hNV = procedure(index: GLuint; x: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1hvNV = procedure(index: GLuint; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2hNV = procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2hvNV = procedure(index: GLuint; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3hNV = procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3hvNV = procedure(index: GLuint; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4hNV = procedure(index: GLuint; x: GLhalfNV; y: GLhalfNV; z: GLhalfNV; w: GLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4hvNV = procedure(index: GLuint; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs1hvNV = procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs2hvNV = procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs3hvNV = procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs4hvNV = procedure(index: GLuint; n: GLsizei; const v: PGLhalfNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_occlusion_query + TglGenOcclusionQueriesNV = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteOcclusionQueriesNV = procedure(n: GLsizei; const ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsOcclusionQueryNV = function(id: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBeginOcclusionQueryNV = procedure(id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndOcclusionQueryNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetOcclusionQueryivNV = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetOcclusionQueryuivNV = procedure(id: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_pixel_data_range + TglPixelDataRangeNV = procedure(target: GLenum; length: GLsizei; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFlushPixelDataRangeNV = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_point_sprite + TglPointParameteriNV = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointParameterivNV = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_primitive_restart + TglPrimitiveRestartNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPrimitiveRestartIndexNV = procedure(index: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_register_combiners + TglCombinerParameterfvNV = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCombinerParameterfNV = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCombinerParameterivNV = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCombinerParameteriNV = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCombinerInputNV = procedure(stage: GLenum; portion: GLenum; variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCombinerOutputNV = procedure(stage: GLenum; portion: GLenum; abOutput: GLenum; cdOutput: GLenum; sumOutput: GLenum; scale: GLenum; bias: GLenum; abDotProduct: GLboolean; cdDotProduct: GLboolean; muxSum: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFinalCombinerInputNV = procedure(variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetCombinerInputParameterfvNV = procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetCombinerInputParameterivNV = procedure(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetCombinerOutputParameterfvNV = procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetCombinerOutputParameterivNV = procedure(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFinalCombinerInputParameterfvNV = procedure(variable: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFinalCombinerInputParameterivNV = procedure(variable: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_register_combiners2 + TglCombinerStageParameterfvNV = procedure(stage: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetCombinerStageParameterfvNV = procedure(stage: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_vertex_array_range + TglFlushVertexArrayRangeNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexArrayRangeNV = procedure(length: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_vertex_program + TglAreProgramsResidentNV = function(n: GLsizei; const programs: PGLuint; residences: PGLboolean): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindProgramNV = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteProgramsNV = procedure(n: GLsizei; const programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglExecuteProgramNV = procedure(target: GLenum; id: GLuint; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenProgramsNV = procedure(n: GLsizei; programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramParameterdvNV = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramParameterfvNV = procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramivNV = procedure(id: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramStringNV = procedure(id: GLuint; pname: GLenum; _program: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTrackMatrixivNV = procedure(target: GLenum; address: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribdvNV = procedure(index: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribfvNV = procedure(index: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribivNV = procedure(index: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribPointervNV = procedure(index: GLuint; pname: GLenum; _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsProgramNV = function(id: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLoadProgramNV = procedure(target: GLenum; id: GLuint; len: GLsizei; const _program: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramParameter4dNV = procedure(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramParameter4dvNV = procedure(target: GLenum; index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramParameter4fNV = procedure(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramParameter4fvNV = procedure(target: GLenum; index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramParameters4dvNV = procedure(target: GLenum; index: GLuint; count: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramParameters4fvNV = procedure(target: GLenum; index: GLuint; count: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglRequestResidentProgramsNV = procedure(n: GLsizei; const programs: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTrackMatrixNV = procedure(target: GLenum; address: GLuint; matrix: GLenum; transform: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribPointerNV = procedure(index: GLuint; fsize: GLint; _type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1dNV = procedure(index: GLuint; x: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1dvNV = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1fNV = procedure(index: GLuint; x: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1fvNV = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1sNV = procedure(index: GLuint; x: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib1svNV = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2dNV = procedure(index: GLuint; x: GLdouble; y: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2dvNV = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2fNV = procedure(index: GLuint; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2fvNV = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2sNV = procedure(index: GLuint; x: GLshort; y: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib2svNV = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3dNV = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3dvNV = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3fNV = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3fvNV = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3sNV = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib3svNV = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4dNV = procedure(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4dvNV = procedure(index: GLuint; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4fNV = procedure(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4fvNV = procedure(index: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4sNV = procedure(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4svNV = procedure(index: GLuint; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4ubNV = procedure(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttrib4ubvNV = procedure(index: GLuint; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs1dvNV = procedure(index: GLuint; count: GLsizei; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs1fvNV = procedure(index: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs1svNV = procedure(index: GLuint; count: GLsizei; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs2dvNV = procedure(index: GLuint; count: GLsizei; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs2fvNV = procedure(index: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs2svNV = procedure(index: GLuint; count: GLsizei; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs3dvNV = procedure(index: GLuint; count: GLsizei; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs3fvNV = procedure(index: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs3svNV = procedure(index: GLuint; count: GLsizei; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs4dvNV = procedure(index: GLuint; count: GLsizei; const v: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs4fvNV = procedure(index: GLuint; count: GLsizei; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs4svNV = procedure(index: GLuint; count: GLsizei; const v: PGLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribs4ubvNV = procedure(index: GLuint; count: GLsizei; const v: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_depth_buffer_float + TglDepthRangedNV = procedure(n: GLdouble; f: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglClearDepthdNV = procedure(d: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDepthBoundsdNV = procedure(zmin: GLdouble; zmax: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_framebuffer_multisample_coverage + TglRenderbufferStorageMultsampleCoverageNV = procedure(target: GLenum; coverageSamples: GLsizei; colorSamples: GLsizei; internalformat: GLenum; width: GLsizei; height: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_geometry_program4 + TglProgramVertexLimitNV = procedure(target: GLenum; limit: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_gpu_program4 + TglProgramLocalParameterI4iNV = procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParameterI4ivNV = procedure(target: GLenum; index: GLuint; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParametersI4ivNV = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParameterI4uiNV = procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParameterI4uivNV = procedure(target: GLenum; index: GLuint; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramLocalParametersI4uivNV = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParameterI4iNV = procedure(target: GLenum; index: GLuint; x: GLint; y: GLint; z: GLint; w: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParameterI4ivNV = procedure(target: GLenum; index: GLuint; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParametersI4ivNV = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParameterI4uiNV = procedure(target: GLenum; index: GLuint; x: GLuint; y: GLuint; z: GLuint; w: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParameterI4uivNV = procedure(target: GLenum; index: GLuint; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramEnvParametersI4uivNV = procedure(target: GLenum; index: GLuint; count: GLsizei; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramLocalParameterIivNV = procedure(target: GLenum; index: GLuint; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramLocalParameterIuivNV = procedure(target: GLenum; index: GLuint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramEnvParameterIivNV = procedure(target: GLenum; index: GLuint; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramEnvParameterIuivNV = procedure(target: GLenum; index: GLuint; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_parameter_buffer_object + TglProgramBufferParametersfvNV = procedure(target: GLenum; buffer: GLuint; index: GLuint; count: GLsizei; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramBufferParametersIivNV = procedure(target: GLenum; buffer: GLuint; index: GLuint; count: GLsizei; const params: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramBufferParametersIuivNV = procedure(target: GLenum; buffer: GLuint; index: GLuint; count: GLuint; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_transform_feedback + TglBeginTransformFeedbackNV = procedure(primitiveMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndTransformFeedbackNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTransformFeedbackAttribsNV = procedure(count: GLsizei; const attribs: GLint; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBufferRangeNV = procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr; size: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBufferOffsetNV = procedure(target: GLenum; index: GLuint; buffer: GLuint; offset: GLintptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindBufferBaseNV = procedure(target: GLenum; index: GLuint; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTransformFeedbackVaryingsNV = procedure(program_: GLuint; count: GLsizei; const locations: PGLint; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglActiveVaryingNV = procedure(program_: GLuint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVaryingLocationNV = function(program_: GLuint; const name: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetActiveVaryingNV = procedure(program_: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLsizei; _type: PGLenum; name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTransformFeedbackVaryingNV = procedure(program_: GLuint; index: GLuint; location: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTransformFeedbackStreamAttribsNV = procedure(count: GLsizei; const attribs: PGLint; nbuffers: GLsizei; const bufstreams: PGLint; bufferMode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_conditional_render + TglBeginConditionalRenderNV = procedure(id: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndConditionalRenderNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_present_video + TglPresentFrameKeyedNV = procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDuratioId: GLuint; type_: GLenum; target0: GLenum; fill0: GLuint; key0: GLuint; target1: GLenum; fill1: GLuint; key1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPresentFrameDualFillNV = procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDurationId: GLuint; type_: GLenum; target0: GLenum; fill0: GLuint; target1: GLenum; fill1: GLuint; target2: GLenum; fill2: GLuint; target3: GLenum; fill3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVideoivNV = procedure(video_slot: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVideouivNV = procedure(video_slot: GLuint; pname: GLenum; params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVideoi64vNV = procedure(video_slot: GLuint; pname: GLenum; params: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVideoui64vNV = procedure(video_slot: GLuint; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} +// TglVideoParameterivNV = procedure(video_slot: GLuint; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_explicit_multisample + TglGetMultisamplefvNV = procedure (pname: GLenum; index: GLuint; val: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSampleMaskIndexedNV = procedure (index: GLuint; mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexRenderbufferNV = procedure (target: GLenum; renderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_transform_feedback2 + TglBindTransformFeedbackNV = procedure(target: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteTransformFeedbacksNV = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenTransformFeedbacksNV = procedure(n: GLsizei; ids: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsTransformFeedbackNV = function (id: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPauseTransformFeedbackNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglResumeTransformFeedbackNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDrawTransformFeedbackNV = procedure(mode: GLenum; id: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_video_capture + TglBeginVideoCaptureNV = procedure(video_capture_slot: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindVideoCaptureStreamBufferNV = procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; offset: GLintptrARB); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglBindVideoCaptureStreamTextureNV = procedure(video_capture_slot: GLuint; stream: GLuint; frame_region: GLenum; target: GLenum; texture: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEndVideoCaptureNV = procedure(video_capture_slot: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVideoCaptureivNV = procedure(video_capture_slot: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVideoCaptureStreamivNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVideoCaptureStreamfvNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVideoCaptureStreamdvNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVideoCaptureNV = function(video_capture_slot: GLuint; sequence_num: PGLuint; capture_time: PGLuint64EXT): GLenum; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVideoCaptureStreamParameterivNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVideoCaptureStreamParameterfvNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVideoCaptureStreamParameterdvNV = procedure(video_capture_slot: GLuint; stream: GLuint; pname: GLenum; const params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_copy_image + TglCopyImageSubDataNV = procedure(srcName: GLuint; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srcY: GLint; srcZ: GLint; dstName: GLuint; dstTarget: GLenum; dstLevel: GLint; dstX: GLint; dstY: GLint; dstZ: GLint; width: GLsizei; height: GLsizei; depth: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_shader_buffer_load + TglMakeBufferResidentNV = procedure(target: GLenum; access: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMakeBufferNonResidentNV = procedure(target: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsBufferResidentNV = function(target: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMakeNamedBufferResidentNV = procedure(buffer: GLuint; access: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMakeNamedBufferNonResidentNV = procedure(buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsNamedBufferResidentNV = function(buffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetBufferParameterui64vNV = procedure(target: GLenum; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetNamedBufferParameterui64vNV = procedure(buffer: GLuint; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetIntegerui64vNV = procedure(value: GLenum; result: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformui64NV = procedure(location: GLint; value: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformui64vNV = procedure(_program: GLuint; location: GLint; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformui64NV = procedure(_program: GLuint; location: GLint; value: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformui64vNV = procedure(_program: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_vertex_buffer_unified_memory + TglBufferAddressRangeNV = procedure(pname: GLenum; index: GLuint; adress: GLuint64EXT; length: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexFormatNV = procedure(size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormalFormatNV = procedure(_type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorFormatNV = procedure(size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIndexFormatNV = procedure(_type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoordFormatNV = procedure(size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglEdgeFlagFormatNV = procedure(stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSecondaryColorFormatNV = procedure(size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFogCoordFormatNV = procedure(_type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribFormatNV = procedure(index: GLuint; size: GLint; _type: GLenum; normalized: GLboolean; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribIFormatNV = procedure(index: GLuint; size: GLint; _type: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetIntegerui64i_vNV = procedure(value: GLenum; index: GLuint; Result: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_gpu_program5 + TglProgramSubroutineParametersuivNV = procedure(target: GLenum; count: GLsizei; const params: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetProgramSubroutineParameteruivNV = procedure(target: GLenum; index: GLuint; param: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_gpu_shader5 + TglUniform1i64NV = procedure(location: GLint; x: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2i64NV = procedure(location: GLint; x: GLint64EXT; y: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3i64NV = procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4i64NV = procedure(location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1i64vNV = procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2i64vNV = procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3i64vNV = procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4i64vNV = procedure(location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1ui64NV = procedure(location: GLint; x: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2ui64NV = procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3ui64NV = procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4ui64NV = procedure(location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform1ui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform2ui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform3ui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniform4ui64vNV = procedure(location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetUniformi64vNV = procedure(program_: GLuint; location: GLint; params: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1i64NV = procedure(program_: GLuint; location: GLint; x: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2i64NV = procedure(program_: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3i64NV = procedure(program_: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4i64NV = procedure(program_: GLuint; location: GLint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1i64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2i64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3i64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4i64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1ui64NV = procedure(program_: GLuint; location: GLint; x: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2ui64NV = procedure(program_: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3ui64NV = procedure(program_: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4ui64NV = procedure(program_: GLuint; location: GLint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform1ui64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform2ui64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform3ui64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniform4ui64vNV = procedure(program_: GLuint; location: GLint; count: GLsizei; const value: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_vertex_attrib_integer_64bit + TglVertexAttribL1i64NV = procedure(index: GLuint; x: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL2i64NV = procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL3i64NV = procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL4i64NV = procedure(index: GLuint; x: GLint64EXT; y: GLint64EXT; z: GLint64EXT; w: GLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL1i64vNV = procedure(index: GLuint; const v: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL2i64vNV = procedure(index: GLuint; const v: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL3i64vNV = procedure(index: GLuint; const v: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL4i64vNV = procedure(index: GLuint; const v: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL1ui64NV = procedure(index: GLuint; x: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL2ui64NV = procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL3ui64NV = procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL4ui64NV = procedure(index: GLuint; x: GLuint64EXT; y: GLuint64EXT; z: GLuint64EXT; w: GLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL1ui64vNV = procedure(index: GLuint; const v: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL2ui64vNV = procedure(index: GLuint; const v: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL3ui64vNV = procedure(index: GLuint; const v: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribL4ui64vNV = procedure(index: GLuint; const v: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribLi64vNV = procedure(index: GLuint; pname: GLenum; params: PGLint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetVertexAttribLui64vNV = procedure(index: GLuint; pname: GLenum; params: PGLuint64EXT); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVertexAttribLFormatNV = procedure(index: GLuint; size: GLint; type_: GLenum; stride: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_vdpau_interop + TglVDPAUInitNV = procedure(const vdpDevice: PGLvoid; const getProcAddress: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVDPAUFiniNV = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVDPAURegisterVideoSurfaceNV = function(vdpSurface: PGLvoid; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVDPAURegisterOutputSurfaceNV = function(vdpSurface: PGLvoid; target: GLenum; numTextureNames: GLsizei; const textureNames: PGLuint): GLvdpauSurfaceNV; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVDPAUIsSurfaceNV = procedure(surface: GLvdpauSurfaceNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVDPAUUnregisterSurfaceNV = procedure(surface: GLvdpauSurfaceNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVDPAUGetSurfaceivNV = procedure(surface: GLvdpauSurfaceNV; pname: GLenum; bufSize: GLsizei; length: PGLsizei; values: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVDPAUSurfaceAccessNV = procedure(surface: GLvdpauSurfaceNV; access: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVDPAUMapSurfacesNV = procedure(numSurfaces: GLsizei; const surfaces: PGLvdpauSurfaceNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglVDPAUUnmapSurfacesNV = procedure(numSurface: GLsizei; const surfaces: PGLvdpauSurfaceNV); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_texture_barrier + TglTextureBarrierNV = procedure; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // (4.3) + // GL_NV_path_rendering + TglGenPathsNV = function(range : GLsizei) : GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeletePathsNV = procedure(path : GLUInt; range : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsPathNV = function(path : GLUInt) : GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathCommandsNV = procedure(path : GLUInt; numCommands : GLsizei; const commands : PGLubyte; numCoords : GLsizei; coordType : GLenum; const coords : PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathCoordsNV = procedure(path : GLUInt; numCoords : GLSizei; coordType : GLenum; const coords : PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathSubCommandsNV = procedure(path : GLUInt; commandStart : GLsizei; commandsToDelete : GLsizei; numCommands : GLsizei; const commands : PGLubyte; numCoords : GLSizei; coordType : GLenum; const coords : PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathSubCoordsNV = procedure(path : GLUInt; coordStart : GLsizei; numCoords : GLSizei; coordType : GLenum; const coords : PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathStringNV = procedure(path : GLUInt; format : GLenum; length : GLsizei; const pathString : PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathGlyphsNV = procedure(firstPathName : GLuint; fontTarget : GLenum; const fontName : PGLvoid; fontStyle : GLbitfield; numGlyphs : GLsizei; type_ : GLenum; const charcodes : PGLvoid; handleMissingGlyphs : GLenum; pathParameterTemplate : GLUInt; emScale : GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathGlyphRangeNV = procedure(firstPathName : GLuint; fontTarget : GLenum; const fontName : PGLvoid; fontStyle : GLbitfield; firstGlyph : GLuint; numGlyphs : GLsizei; handleMissingGlyphs : GLenum; pathParameterTemplate : GLUInt; emScale : GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglWeightPathsNV = procedure(resultPath : GLUInt; numPaths : GLSizei; const paths : PGLuint; const weights : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyPathNV = procedure(resultPath : GLUInt; srcPath : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInterpolatePathsNV = procedure(resultPath : GLUInt; pathA : GLUInt; pathB : GLUInt; weight : GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTransformPathNV = procedure(resultPath : GLUInt; srcPath : GLuint; transformType : GLenum; const transformValues : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathParameterivNV = procedure(path : GLUInt; pname : GLEnum; const value : PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathParameteriNV = procedure(path : GLUInt; pname : GLEnum; value : GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathParameterfvNV = procedure(path : GLUInt; pname : GLEnum; const value : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathParameterfNV = procedure(path : GLUInt; pname : GLEnum; value : GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathDashArrayNV = procedure(path : GLUInt; dashCount : GLsizei; const dashArray : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathStencilFuncNV = procedure(func : GLenum; ref : GLint; mask : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathStencilDepthOffsetNV = procedure(factor : GLfloat; units : GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilFillPathNV = procedure(path : GLUInt; fillMode : GLenum; mask : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilStrokePathNV = procedure(path : GLUInt; reference : GLint; mask : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilFillPathInstancedNV = procedure(numPaths : GLSizei; pathNameType : GLenum; const paths : PGLvoid; pathBase : GLUInt; fillMode : GLenum; mask : GLuint; transformType : GLenum; const transformValues : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStencilStrokePathInstancedNV = procedure(numPaths : GLSizei; pathNameType : GLenum; const paths : PGLvoid; pathBase : GLUInt; reference : GLint; mask : GLuint; transformType : GLenum; const transformValues : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathCoverDepthFuncNV = procedure(func : GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathColorGenNV = procedure(color : GLenum; genMode : GLenum; colorFormat : GLenum; const coeffs : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathTexGenNV = procedure(texCoordSet : GLenum; genMode : GLenum; components : GLint; const coeffs : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPathFogGenNV = procedure(genMode : GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCoverFillPathNV = procedure(path : GLUInt; coverMode : GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCoverStrokePathNV = procedure(path : GLUInt; coverMode : GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCoverFillPathInstancedNV = procedure(numPaths : GLSizei; pathNameType : GLenum; const paths : PGLvoid; pathBase : GLUInt; coverMode : GLenum; transformType : GLenum; const transformValues : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCoverStrokePathInstancedNV = procedure(numPaths : GLSizei; pathNameType : GLenum; const paths : PGLvoid; pathBase : GLUInt; coverMode : GLenum; transformType : GLenum; const transformValues : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathParameterivNV = procedure(path : GLUInt; pname : GLEnum; value : PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathParameterfvNV = procedure(path : GLUInt; pname : GLEnum; value : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathCommandsNV = procedure(path : GLUInt; commands : PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathCoordsNV = procedure(path : GLUInt; coords : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathDashArrayNV = procedure(path : GLUInt; dashArray : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathMetricsNV = procedure(metricQueryMask : GLbitfield; numPaths : GLSizei; pathNameType : GLenum; const paths : PGLvoid; pathBase : GLUInt; stride : GLsizei; metrics : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathMetricRangeNV = procedure(metricQueryMask : GLbitfield; firstPathName : GLuint; numPaths : GLSizei; stride : GLsizei; metrics : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathSpacingNV = procedure(pathListMode : GLenum; numPaths : GLSizei; pathNameType : GLenum; const paths : PGLvoid; pathBase : GLUInt; advanceScale : GLfloat; kerningScale : GLfloat; transformType : GLenum; returnedSpacing : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathColorGenivNV = procedure(color : GLenum; pname : GLEnum; value : PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathColorGenfvNV = procedure(color : GLenum; pname : GLEnum; value : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathTexGenivNV = procedure(texCoordSet : GLenum; pname : GLEnum; value : PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathTexGenfvNV = procedure(texCoordSet : GLenum; pname : GLEnum; value : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsPointInFillPathNV = function(path : GLUInt; mask : GLuint; x : GLfloat; y : GLfloat) : GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsPointInStrokePathNV = function (path : GLUInt; x : GLfloat; y : GLfloat) : GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPathLengthNV = function(path : GLUInt; startSegment : GLsizei; numSegments : GLsizei) : GLfloat; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointAlongPathNV = function(path : GLUInt; startSegment : GLsizei; numSegments : GLsizei; distance : GLfloat; x : PGLfloat; y : PGLfloat; tangentX : PGLfloat; tangentY : PGLfloat) : GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_AMD_pinned_memory + + // GL_AMD_stencil_operation_extended + TglStencilOpValueAMD = procedure(face : GLEnum; value : GLUInt); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_AMD_vertex_shader_viewport_index + + // GL_AMD_vertex_shader_layer + + // GL_NV_bindless_texture + TglGetTextureHandleNV = function(texture : GLuint ) : GLuint64; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetTextureSamplerHandleNV = function(texture : GLuint; sampler : GLuint) : GLuint64; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMakeTextureHandleResidentNV = procedure(handle : GLUint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMakeTextureHandleNonResidentNV = procedure(handle : GLUint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetImageHandleNV = function(texture : GLuint; level : GLint; layered : GLboolean; layer : GLint; format : GLenum) : GLUInt64; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMakeImageHandleResidentNV = procedure(handle : GLUint64; access : GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglMakeImageHandleNonResidentNV = procedure(handle : GLUint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformHandleui64NV = procedure(location : GLint; value : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglUniformHandleui64vNV = procedure(location : GLint; cowunt : GLsizei; const value : PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformHandleui64NV = procedure(program_ : GLuint; location : GLint; value : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglProgramUniformHandleui64vNV = procedure(program_ : GLuint; location : GLint; count : GLsizei; const values : PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsTextureHandleResidentNV = function(handle : GLUint64) : GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsImageHandleResidentNV = function(handle : GLUint64) : GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_NV_shader_atomic_float + + // GL_AMD_query_buffer_object + + // + + // GL_PGI_misc_hints + TglHintPGI = procedure(target: GLenum; mode: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIS_detail_texture + TglDetailTexFuncSGIS = procedure(target: GLenum; n: GLsizei; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetDetailTexFuncSGIS = procedure(target: GLenum; points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIS_fog_function + TglFogFuncSGIS = procedure(n: GLsizei; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFogFuncSGIS = procedure(points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIS_multisample + TglSampleMaskSGIS = procedure(value: GLclampf; invert: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSamplePatternSGIS = procedure(pattern: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIS_pixel_texture + TglPixelTexGenParameteriSGIS = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelTexGenParameterivSGIS = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelTexGenParameterfSGIS = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPixelTexGenParameterfvSGIS = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPixelTexGenParameterivSGIS = procedure(pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetPixelTexGenParameterfvSGIS = procedure(pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIS_point_parameters + TglPointParameterfSGIS = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPointParameterfvSGIS = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIS_sharpen_texture + TglSharpenTexFuncSGIS = procedure(target: GLenum; n: GLsizei; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetSharpenTexFuncSGIS = procedure(target: GLenum; points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIS_texture4D + TglTexImage4DSGIS = procedure(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; size4d: GLsizei; border: GLint; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexSubImage4DSGIS = procedure(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; woffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; size4d: GLsizei; format: GLenum; _type: GLenum; const pixels: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIS_texture_color_mask + TglTextureColorMaskSGIS = procedure(red: GLboolean; green: GLboolean; blue: GLboolean; alpha: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIS_texture_filter4 + TglGetTexFilterFuncSGIS = procedure(target: GLenum; filter: GLenum; weights: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexFilterFuncSGIS = procedure(target: GLenum; filter: GLenum; n: GLsizei; const weights: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_async + TglAsyncMarkerSGIX = procedure(marker: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFinishAsyncSGIX = function(markerp: PGLuint): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPollAsyncSGIX = function(markerp: PGLuint): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGenAsyncMarkersSGIX = function(range: GLsizei): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeleteAsyncMarkersSGIX = procedure(marker: GLuint; range: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglIsAsyncMarkerSGIX = function(marker: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_flush_raster + TglFlushRasterSGIX = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_fragment_lighting + TglFragmentColorMaterialSGIX = procedure(face: GLenum; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentLightfSGIX = procedure(light: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentLightfvSGIX = procedure(light: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentLightiSGIX = procedure(light: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentLightivSGIX = procedure(light: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentLightModelfSGIX = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentLightModelfvSGIX = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentLightModeliSGIX = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentLightModelivSGIX = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentMaterialfSGIX = procedure(face: GLenum; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentMaterialfvSGIX = procedure(face: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentMaterialiSGIX = procedure(face: GLenum; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglFragmentMaterialivSGIX = procedure(face: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFragmentLightfvSGIX = procedure(light: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFragmentLightivSGIX = procedure(light: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFragmentMaterialfvSGIX = procedure(face: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetFragmentMaterialivSGIX = procedure(face: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLightEnviSGIX = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_framezoom + TglFrameZoomSGIX = procedure(factor: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_igloo_interface + TglIglooInterfaceSGIX = procedure(pname: GLenum; const params: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_instruments + TglGetInstrumentsSGIX = function(): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglInstrumentsBufferSGIX = procedure(size: GLsizei; buffer: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglPollInstrumentsSGIX = function(marker_p: PGLint): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReadInstrumentsSGIX = procedure(marker: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStartInstrumentsSGIX = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglStopInstrumentsSGIX = procedure(marker: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_list_priority + TglGetListParameterfvSGIX = procedure(list: GLuint; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetListParameterivSGIX = procedure(list: GLuint; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglListParameterfSGIX = procedure(list: GLuint; pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglListParameterfvSGIX = procedure(list: GLuint; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglListParameteriSGIX = procedure(list: GLuint; pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglListParameterivSGIX = procedure(list: GLuint; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_pixel_texture + TglPixelTexGenSGIX = procedure(mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_polynomial_ffd + TglDeformationMap3dSGIX = procedure(target: GLenum; u1: GLdouble; u2: GLdouble; ustride: GLint; uorder: GLint; v1: GLdouble; v2: GLdouble; vstride: GLint; vorder: GLint; w1: GLdouble; w2: GLdouble; wstride: GLint; worder: GLint; const points: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeformationMap3fSGIX = procedure(target: GLenum; u1: GLfloat; u2: GLfloat; ustride: GLint; uorder: GLint; v1: GLfloat; v2: GLfloat; vstride: GLint; vorder: GLint; w1: GLfloat; w2: GLfloat; wstride: GLint; worder: GLint; const points: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglDeformSGIX = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglLoadIdentityDeformationMapSGIX = procedure(mask: GLbitfield); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_reference_plane + TglReferencePlaneSGIX = procedure(const equation: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_sprite + TglSpriteParameterfSGIX = procedure(pname: GLenum; param: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSpriteParameterfvSGIX = procedure(pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSpriteParameteriSGIX = procedure(pname: GLenum; param: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglSpriteParameterivSGIX = procedure(pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGIX_tag_sample_buffer + TglTagSampleBufferSGIX = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SGI_color_table + TglColorTableSGI = procedure(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; _type: GLenum; const table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorTableParameterfvSGI = procedure(target: GLenum; pname: GLenum; const params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColorTableParameterivSGI = procedure(target: GLenum; pname: GLenum; const params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglCopyColorTableSGI = procedure(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetColorTableSGI = procedure(target: GLenum; format: GLenum; _type: GLenum; table: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetColorTableParameterfvSGI = procedure(target: GLenum; pname: GLenum; params: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGetColorTableParameterivSGI = procedure(target: GLenum; pname: GLenum; params: PGLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SUNX_constant_data + TglFinishTextureSUNX = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SUN_global_alpha + TglGlobalAlphaFactorbSUN = procedure(factor: GLbyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGlobalAlphaFactorsSUN = procedure(factor: GLshort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGlobalAlphaFactoriSUN = procedure(factor: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGlobalAlphaFactorfSUN = procedure(factor: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGlobalAlphaFactordSUN = procedure(factor: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGlobalAlphaFactorubSUN = procedure(factor: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGlobalAlphaFactorusSUN = procedure(factor: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglGlobalAlphaFactoruiSUN = procedure(factor: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SUN_mesh_array + TglDrawMeshArraysSUN = procedure(mode: GLenum; first: GLint; count: GLsizei; width: GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SUN_triangle_list + TglReplacementCodeuiSUN = procedure(code: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeusSUN = procedure(code: GLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeubSUN = procedure(code: GLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuivSUN = procedure(const code: PGLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeusvSUN = procedure(const code: PGLushort); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeubvSUN = procedure(const code: PGLubyte); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodePointerSUN = procedure(_type: GLenum; stride: GLsizei; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // GL_SUN_vertex + TglColor4ubVertex2fSUN = procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4ubVertex2fvSUN = procedure(const c: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4ubVertex3fSUN = procedure(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4ubVertex3fvSUN = procedure(const c: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3fVertex3fSUN = procedure(r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor3fVertex3fvSUN = procedure(const c: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3fVertex3fSUN = procedure(nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglNormal3fVertex3fvSUN = procedure(const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4fNormal3fVertex3fSUN = procedure(r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglColor4fNormal3fVertex3fvSUN = procedure(const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fVertex3fSUN = procedure(s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fVertex3fvSUN = procedure(const tc: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4fVertex4fSUN = procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4fVertex4fvSUN = procedure(const tc: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fColor4ubVertex3fSUN = procedure(s: GLfloat; t: GLfloat; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fColor4ubVertex3fvSUN = procedure(const tc: PGLfloat; const c: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fColor3fVertex3fSUN = procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fColor3fVertex3fvSUN = procedure(const tc: PGLfloat; const c: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fNormal3fVertex3fSUN = procedure(s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fNormal3fVertex3fvSUN = procedure(const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fColor4fNormal3fVertex3fSUN = procedure(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord2fColor4fNormal3fVertex3fvSUN = procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4fColor4fNormal3fVertex4fSUN = procedure(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglTexCoord4fColor4fNormal3fVertex4fvSUN = procedure(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiVertex3fSUN = procedure(rc: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiVertex3fvSUN = procedure(const rc: PGLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiColor4ubVertex3fSUN = procedure(rc: GLuint; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiColor4ubVertex3fvSUN = procedure(const rc: PGLuint; const c: PGLubyte; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiColor3fVertex3fSUN = procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiColor3fVertex3fvSUN = procedure(const rc: PGLuint; const c: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiNormal3fVertex3fSUN = procedure(rc: GLuint; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiNormal3fVertex3fvSUN = procedure(const rc: PGLuint; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiColor4fNormal3fVertex3fSUN = procedure(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiColor4fNormal3fVertex3fvSUN = procedure(const rc: PGLuint; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiTexCoord2fVertex3fSUN = procedure(rc: GLuint; s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiTexCoord2fVertex3fvSUN = procedure(const rc: PGLuint; const tc: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = procedure(rc: GLuint; s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = procedure(const rc: PGLuint; const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = procedure(rc: GLuint; s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = procedure(const rc: PGLuint; const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + + // window support functions +{$IFDEF DGL_WIN} + TwglGetProcAddress = function(ProcName: PAnsiChar): Pointer; stdcall; + TwglCopyContext = function(p1: HGLRC; p2: HGLRC; p3: Cardinal): BOOL; stdcall; + TwglCreateContext = function(DC: HDC): HGLRC; stdcall; + TwglCreateLayerContext = function(p1: HDC; p2: Integer): HGLRC; stdcall; + TwglDeleteContext = function(p1: HGLRC): BOOL; stdcall; + TwglDescribeLayerPlane = function(p1: HDC; p2, p3: Integer; p4: Cardinal; p5: PLayerPlaneDescriptor): BOOL; stdcall; + TwglGetCurrentContext = function: HGLRC; stdcall; + TwglGetCurrentDC = function: HDC; stdcall; + TwglGetLayerPaletteEntries = function(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; + TwglMakeCurrent = function(DC: HDC; p2: HGLRC): BOOL; stdcall; + TwglRealizeLayerPalette = function(p1: HDC; p2: Integer; p3: BOOL): BOOL; stdcall; + TwglSetLayerPaletteEntries = function(p1: HDC; p2, p3, p4: Integer; var pcr): Integer; stdcall; + TwglShareLists = function(p1, p2: HGLRC): BOOL; stdcall; + TwglSwapLayerBuffers = function(p1: HDC; p2: Cardinal): BOOL; stdcall; + TwglSwapMultipleBuffers = function(p1: UINT; const p2: PWGLSWAP): DWORD; stdcall; + TwglUseFontBitmapsA = function(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; + TwglUseFontBitmapsW = function(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; + TwglUseFontBitmaps = function(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; + + TwglUseFontOutlinesA = function(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; + TwglUseFontOutlinesW = function(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; + TwglUseFontOutlines = function(p1: HDC; p2, p3, p4: DWORD; p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; + + + // WGL_ARB_buffer_region + TwglCreateBufferRegionARB = function(hDC: HDC; iLayerPlane: GLint; uType: GLuint): THandle; stdcall; + TwglDeleteBufferRegionARB = procedure(hRegion: THandle); stdcall; + TwglSaveBufferRegionARB = function(hRegion: THandle; x: GLint; y: GLint; width: GLint; height: GLint): Boolean; stdcall; + TwglRestoreBufferRegionARB = function(hRegion: THandle; x: GLint; y: GLint; width: GLint; height: GLint; xSrc: GLint; ySrc: GLint): Boolean; stdcall; + + // WGL_ARB_extensions_string + TwglGetExtensionsStringARB = function(hdc: HDC): PAnsiChar; stdcall; + + // WGL_ARB_make_current_read + TwglMakeContextCurrentARB = function(hDrawDC: HDC; hReadDC: HDC; hglrc: HGLRC): Boolean; stdcall; + TwglGetCurrentReadDCARB = function(): HDC; stdcall; + + // WGL_ARB_pbuffer + TwglCreatePbufferARB = function(hDC: HDC; iPixelFormat: GLint; iWidth: GLint; iHeight: GLint; const piAttribList: PGLint): HPBUFFERARB; stdcall; + TwglGetPbufferDCARB = function(hPbuffer: HPBUFFERARB): HDC; stdcall; + TwglReleasePbufferDCARB = function(hPbuffer: HPBUFFERARB; hDC: HDC): GLint; stdcall; + TwglDestroyPbufferARB = function(hPbuffer: HPBUFFERARB): Boolean; stdcall; + TwglQueryPbufferARB = function(hPbuffer: HPBUFFERARB; iAttribute: GLint; piValue: PGLint): Boolean; stdcall; + + // WGL_ARB_pixel_format + TwglGetPixelFormatAttribivARB = function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; const piAttributes: PGLint; piValues: PGLint): Boolean; stdcall; + TwglGetPixelFormatAttribfvARB = function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; const piAttributes: PGLint; pfValues: PGLfloat): Boolean; stdcall; + TwglChoosePixelFormatARB = function(hdc: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLfloat; nMaxFormats: GLuint; piFormats: PGLint; nNumFormats: PGLuint): BOOL; stdcall; + + // WGL_ARB_color_buffer_float + TwglClampColorARB = procedure(target: GLenum; clamp: GLenum); stdcall; + + // WGL_ARB_render_texture + TwglBindTexImageARB = function(hPbuffer: HPBUFFERARB; iBuffer: GLint): Boolean; stdcall; + TwglReleaseTexImageARB = function(hPbuffer: HPBUFFERARB; iBuffer: GLint): Boolean; stdcall; + TwglSetPbufferAttribARB = function(hPbuffer: HPBUFFERARB; const piAttribList: PGLint): Boolean; stdcall; + + // WGL_ARB_create_context + TwglCreateContextAttribsARB = function(hDC: HDC; hShareContext: HGLRC; const attribList: PGLint): HGLRC; stdcall; + + // WGL_AMD_gpu_association + TwglGetGPUIDsAMD = function(maxCount: Cardinal; ids: PCardinal): Cardinal; stdcall; + TwglGetGPUInfoAMD = function(id: Cardinal; property_: Integer; dataType: GLenum; size: Cardinal; data: Pointer): Integer; stdcall; + TwglGetContextGPUIDAMD = function(hglrc: HGLRC): Cardinal; stdcall; + TwglCreateAssociatedContextAMD = function(id: Cardinal): HGLRC; stdcall; + TwglCreateAssociatedContextAttribsAMD = function(id: Cardinal; hShareContext: HGLRC; const attribList: PInteger): HGLRC; stdcall; + TwglDeleteAssociatedContextAMD = function(hglrc: HGLRC): Boolean; stdcall; + TwglMakeAssociatedContextCurrentAMD = function(hglrc: HGLRC): Boolean; stdcall; + TwglGetCurrentAssociatedContextAMD = function(): HGLRC; stdcall; + TwglBlitContextFramebufferAMD = procedure(dstCtx: HGLRC; srcX0: GLint; srcY0: GLint; srcX1: GLint; srcY1: GLint; dstX0: GLint; dstY0: GLint; dstX1: GLint; dstY1: GLint; mask: GLbitfield; filter: GLenum); stdcall; + + // WGL_EXT_display_color_table + TwglCreateDisplayColorTableEXT = function(id: GLushort): GLboolean; stdcall; + TwglLoadDisplayColorTableEXT = function(const table: PGLushort; length: GLuint): GLboolean; stdcall; + TwglBindDisplayColorTableEXT = function(id: GLushort): GLboolean; stdcall; + TwglDestroyDisplayColorTableEXT = procedure(id: GLushort); stdcall; + + // WGL_EXT_extensions_string + TwglGetExtensionsStringEXT = function(): PAnsiChar; stdcall; + + // WGL_EXT_make_current_read + TwglMakeContextCurrentEXT = function(hDrawDC: HDC; hReadDC: HDC; hglrc: HGLRC): Boolean; stdcall; + TwglGetCurrentReadDCEXT = function(): HDC; stdcall; + + // WGL_EXT_pbuffer + TwglCreatePbufferEXT = function(hDC: HDC; iPixelFormat: GLint; iWidth: GLint; iHeight: GLint; const piAttribList: PGLint): HPBUFFEREXT; stdcall; + TwglGetPbufferDCEXT = function(hPbuffer: HPBUFFEREXT): HDC; stdcall; + TwglReleasePbufferDCEXT = function(hPbuffer: HPBUFFEREXT; hDC: HDC): GLint; stdcall; + TwglDestroyPbufferEXT = function(hPbuffer: HPBUFFEREXT): Boolean; stdcall; + TwglQueryPbufferEXT = function(hPbuffer: HPBUFFEREXT; iAttribute: GLint; piValue: PGLint): Boolean; stdcall; + + // WGL_EXT_pixel_format + TwglGetPixelFormatAttribivEXT = function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; piAttributes: PGLint; piValues: PGLint): Boolean; stdcall; + TwglGetPixelFormatAttribfvEXT = function(hdc: HDC; iPixelFormat: GLint; iLayerPlane: GLint; nAttributes: GLuint; piAttributes: PGLint; pfValues: PGLfloat): Boolean; stdcall; + TwglChoosePixelFormatEXT = function(hdc: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLfloat; nMaxFormats: GLuint; piFormats: PGLint; nNumFormats: PGLuint): Boolean; stdcall; + + // WGL_EXT_swap_control + TwglSwapIntervalEXT = function(interval: GLint): Boolean; stdcall; + TwglGetSwapIntervalEXT = function(): GLint; stdcall; + + // WGL_I3D_digital_video_control + TwglGetDigitalVideoParametersI3D = function(hDC: HDC; iAttribute: GLint; piValue: PGLint): Boolean; stdcall; + TwglSetDigitalVideoParametersI3D = function(hDC: HDC; iAttribute: GLint; const piValue: PGLint): Boolean; stdcall; + + // WGL_I3D_gamma + TwglGetGammaTableParametersI3D = function(hDC: HDC; iAttribute: GLint; piValue: PGLint): Boolean; stdcall; + TwglSetGammaTableParametersI3D = function(hDC: HDC; iAttribute: GLint; const piValue: PGLint): Boolean; stdcall; + TwglGetGammaTableI3D = function(hDC: HDC; iEntries: GLint; puRed: PGLushort; puGreen: PGLushort; puBlue: PGLushort): Boolean; stdcall; + TwglSetGammaTableI3D = function(hDC: HDC; iEntries: GLint; const puRed: PGLushort; const puGreen: PGLushort; const puBlue: PGLushort): Boolean; stdcall; + + // WGL_I3D_genlock + TwglEnableGenlockI3D = function(hDC: HDC): Boolean; stdcall; + TwglDisableGenlockI3D = function(hDC: HDC): Boolean; stdcall; + TwglIsEnabledGenlockI3D = function(hDC: HDC; pFlag: Boolean): Boolean; stdcall; + TwglGenlockSourceI3D = function(hDC: HDC; uSource: GLuint): Boolean; stdcall; + TwglGetGenlockSourceI3D = function(hDC: HDC; uSource: PGLuint): Boolean; stdcall; + TwglGenlockSourceEdgeI3D = function(hDC: HDC; uEdge: GLuint): Boolean; stdcall; + TwglGetGenlockSourceEdgeI3D = function(hDC: HDC; uEdge: PGLuint): Boolean; stdcall; + TwglGenlockSampleRateI3D = function(hDC: HDC; uRate: GLuint): Boolean; stdcall; + TwglGetGenlockSampleRateI3D = function(hDC: HDC; uRate: PGLuint): Boolean; stdcall; + TwglGenlockSourceDelayI3D = function(hDC: HDC; uDelay: GLuint): Boolean; stdcall; + TwglGetGenlockSourceDelayI3D = function(hDC: HDC; uDelay: PGLuint): Boolean; stdcall; + TwglQueryGenlockMaxSourceDelayI3D = function(hDC: HDC; uMaxLineDelay: PGLuint; uMaxPixelDelay: PGLuint): Boolean; stdcall; + + // WGL_I3D_image_buffer + TwglCreateImageBufferI3D = function(hDC: HDC; dwSize: GLuint; uFlags: GLuint): GLvoid; stdcall; + TwglDestroyImageBufferI3D = function(hDC: HDC; pAddress: GLvoid): Boolean; stdcall; + TwglAssociateImageBufferEventsI3D = function(hDC: HDC; const pEvent: THandle; const pAddress: PGLvoid; const pSize: PGLuint; count: GLuint): Boolean; stdcall; + TwglReleaseImageBufferEventsI3D = function(hDC: HDC; const pAddress: PGLvoid; count: GLuint): Boolean; stdcall; + + // WGL_I3D_swap_frame_lock + TwglEnableFrameLockI3D = function(): Boolean; stdcall; + TwglDisableFrameLockI3D = function(): Boolean; stdcall; + TwglIsEnabledFrameLockI3D = function(pFlag: Boolean): Boolean; stdcall; + TwglQueryFrameLockMasterI3D = function(pFlag: Boolean): Boolean; stdcall; + + // WGL_I3D_swap_frame_usage + TwglGetFrameUsageI3D = function(pUsage: PGLfloat): Boolean; stdcall; + TwglBeginFrameTrackingI3D = function(): Boolean; stdcall; + TwglEndFrameTrackingI3D = function(): Boolean; stdcall; + TwglQueryFrameTrackingI3D = function(pFrameCount: PGLuint; pMissedFrames: PGLuint; pLastMissedUsage: PGLfloat): Boolean; stdcall; + + // WGL_NV_vertex_array_range + TwglAllocateMemoryNV = procedure(size: GLsizei; readfreq: GLfloat; writefreq: GLfloat; priority: GLfloat); stdcall; + TwglFreeMemoryNV = procedure(_pointer: Pointer); stdcall; + + // WGL_NV_present_video + TwglEnumerateVideoDevicesNV = function(hdc: HDC; phDeviceList: PHVIDEOOUTPUTDEVICENV): Integer; stdcall; + TwglBindVideoDeviceNV = function(hd: HDC; uVideoSlot: Cardinal; hVideoDevice: HVIDEOOUTPUTDEVICENV; piAttribList: PInteger): Boolean; stdcall; + TwglQueryCurrentContextNV = function(iAttribute: Integer; piValue: PInteger): Boolean; stdcall; + + // WGL_NV_video_output + TwglGetVideoDeviceNV = function(hDC: HDC; numDevices: Integer; hVideoDevice: PHPVIDEODEV): Boolean; stdcall; + TwglReleaseVideoDeviceNV = function(hVideoDevice: HPVIDEODEV): Boolean; stdcall; + TwglBindVideoImageNV = function(hVideoDevice: HPVIDEODEV; hPbuffer: HPBUFFERARB; iVideoBuffer: Integer): Boolean; stdcall; + TwglReleaseVideoImageNV = function(hPbuffer: HPBUFFERARB; iVideoBuffer: Integer): Boolean; stdcall; + TwglSendPbufferToVideoNV = function(hPbuffer: HPBUFFERARB; iBufferType: Integer; pulCounterPbuffer: PCardinal; bBlock: Boolean): Boolean; stdcall; + TwglGetVideoInfoNV = function(hpVideoDevice: HPVIDEODEV; pulCounterOutputPbuffer: PCardinal; pulCounterOutputVideo: PCardinal): Boolean; stdcall; + + // WGL_NV_swap_group + TwglJoinSwapGroupNV = function(hDC: HDC; group: GLuint): Boolean; stdcall; + TwglBindSwapBarrierNV = function(group: GLuint; barrier: GLuint): Boolean; stdcall; + TwglQuerySwapGroupNV = function(hDC: HDC; group: PGLuint; barrier: PGLuint): Boolean; stdcall; + TwglQueryMaxSwapGroupsNV = function(hDC: HDC; mxGroups: PGLuint; maxBarriers: PGLuint): Boolean; stdcall; + TwglQueryFrameCountNV = function(hDC: HDC; count: PGLuint): Boolean; stdcall; + TwglResetFrameCountNV = function(hDC: HDC): Boolean; stdcall; + + // WGL_NV_gpu_affinity + TwglEnumGpusNV = function(iGpuIndex: Cardinal; phGpu: PHGPUNV): Boolean; stdcall; + TwglEnumGpuDevicesNV = function(hGpu: HGPUNV; iDeviceIndex: Cardinal; lpGpuDevice: PGPU_DEVICE): Boolean; stdcall; + TwglCreateAffinityDCNV = function(const phGpuList: PHGPUNV): HDC; stdcall; + TwglEnumGpusFromAffinityDCNV = function(hAffinityDC: HDC; iGpuIndex: Cardinal; hGpu: PHGPUNV): Boolean; stdcall; + TwglDeleteDCNV = function(hDC: HDC): Boolean; stdcall; + + // WGL_NV_video_capture + TwglBindVideoCaptureDeviceNV = function(uVideoSlot: Cardinal; hDevice: HVIDEOINPUTDEVICENV): Boolean; stdcall; + TwglEnumerateVideoCaptureDevicesNV = function(hDc: HDC; phDeviceList: PHVIDEOINPUTDEVICENV): Cardinal; stdcall; + TwglLockVideoCaptureDeviceNV = function(hDc: HDC; hDevice: HVIDEOINPUTDEVICENV): Boolean; stdcall; + TwglQueryVideoCaptureDeviceNV = function(hDc: HDC; hDevice: HVIDEOINPUTDEVICENV; iAttribute: Integer; piValue: PInteger): Boolean; stdcall; + TwglReleaseVideoCaptureDeviceNV = function(hDc: HDC; hDevice: HVIDEOINPUTDEVICENV): Boolean; stdcall; + + // WGL_NV_copy_image + TwglCopyImageSubDataNV = function(hSrcRc: HGLRC; srcName: GLuint; srcTarget: GLenum; srcLevel: GLint; srcX: GLint; srcY: GLint; srcZ: GLint; hDstRC: HGLRC; dstName: GLuint; dstTarget: GLenum; dstLevel: GLint; dstX: GLint; dstY: GLint; dstZ: GLint; width: GLsizei; height: GLsizei; depth: GLsizei): Boolean; stdcall; + + // WGL_NV_DX_interop + TwglDXSetResourceShareHandleNV = function(dxObject : PGLVoid; hareHandle : Cardinal) : Boolean; stdcall; + TwglDXOpenDeviceNV = function(dxDevice : PGLVoid) : Cardinal; stdcall; + TwglDXCloseDeviceNV = function(hDevice : Cardinal) : Boolean; stdcall; + TwglDXRegisterObjectNV = function(hDevice : Cardinal; dxObject : PGLVoid; name : GLUInt; _type : TGLEnum; access : TGLenum) : Cardinal; stdcall; + TwglDXUnregisterObjectNV = function(hDevice : Cardinal; hObject : Cardinal) : Boolean; stdcall; + TwglDXObjectAccessNV = function(hObject : Cardinal; access : GLenum) : Boolean; stdcall; + TwglDXLockObjectsNV = function(hDevice : Cardinal; count : GLint; hObjects : PCardinal) : Boolean; stdcall; + TwglDXUnlockObjectsNV = function (hDevice : Cardinal; count : GLint; hObjects : PCardinal) : Boolean; stdcall; + + // WGL_OML_sync_control + TwglGetSyncValuesOML = function(hdc: HDC; ust: PGLint64; msc: PGLint64; sbc: PGLint64): Boolean; stdcall; + TwglGetMscRateOML = function(hdc: HDC; numerator: PGLint; denominator: PGLint): Boolean; stdcall; + TwglSwapBuffersMscOML = function(hdc: HDC; target_msc: GLint64; divisor: GLint64; remainder: GLint64): GLint64; stdcall; + TwglSwapLayerBuffersMscOML = function(hdc: HDC; fuPlanes: GLint; target_msc: GLint64; divisor: GLint64; remainder: GLint64): GLint64; stdcall; + TwglWaitForMscOML = function(hdc: HDC; target_msc: GLint64; divisor: GLint64; remainder: GLint64; ust: PGLint64; msc: PGLint64; sbc: PGLint64): Boolean; stdcall; + TwglWaitForSbcOML = function(hdc: HDC; target_sbc: GLint64; ust: PGLint64; msc: PGLint64; sbc: PGLint64): Boolean; stdcall; + + // WGL_3DL_stereo_control + TwglSetStereoEmitterState3DL = function(hDC: HDC; uState: UINT): Boolean; stdcall; + + // WIN_draw_range_elements + TglDrawRangeElementsWIN = procedure(mode: GLenum; start: GLuint; _end: GLuint; count: GLsizei; _type: GLenum; const indices: PGLvoid); stdcall; + + // WIN_swap_hint + TglAddSwapHintRectWIN = procedure(x: GLint; y: GLint; width: GLsizei; height: GLsizei); stdcall; +{$ENDIF} + +{$IFDEF DGL_LINUX} + TglXChooseVisual = function(dpy: PDisplay; screen: GLint; attribList: PGLint): PXVisualInfo; cdecl; + TglXCopyContext = procedure(dpy: PDisplay; src: GLXContext; dst: GLXContext; mask: GLuint); cdecl; + TglXCreateContext = function(dpy: PDisplay; vis: PXVisualInfo; shareList: GLXContext; direct: GLboolean): GLXContext; cdecl; + TglXCreateGLXPixmap = function(dpy: PDisplay; vis: PXVisualInfo; pixmap: Pixmap): GLXPixmap cdecl; + TglXDestroyContext = procedure(dpy: PDisplay; ctx: GLXContext); cdecl; + TglXDestroyGLXPixmap = procedure(dpy : PDisplay; pix: GLXPixmap); cdecl; + TglXGetConfig = function(dpy : PDisplay; vis: PXVisualInfo; attrib: GLint; value: PGLint): GLint; cdecl; + TglXGetCurrentContext = function: GLXContext cdecl; + TglXGetCurrentDrawable = function: GLXDrawable cdecl; + TglXIsDirect = function(dpy: PDisplay; ctx: GLXContext): glboolean; cdecl; + TglXMakeCurrent = function(dpy: PDisplay; drawable: GLXDrawable; ctx: GLXContext): GLboolean cdecl; + TglXQueryExtension = function(dpy: PDisplay; errorBase: PGLint; eventBase: PGLint): GLboolean; cdecl; + TglXQueryVersion = function(dpy: PDisplay; major: PGLint; minor: PGLint): GLboolean cdecl; + TglXSwapBuffers = procedure(dpy: PDisplay; drawable: GLXDrawable); cdecl; + TglXUseXFont = procedure(font: Font; first: GLint; count: GLint; listBase: GLint); cdecl; + TglXWaitGL = procedure; cdecl; + TglXWaitX = procedure; cdecl; + + TglXGetClientString = function(dpy: PDisplay; name: GLint): PGLchar; cdecl; + TglXQueryServerString = function(dpy: PDisplay; screen: GLint; name: GLint): PGLchar; cdecl; + TglXQueryExtensionsString = function(dpy: PDisplay; screen: GLint): PGLchar; cdecl; + + // GLX_VERSION_1_3 + TglXGetFBConfigs = function(dpy: PDisplay; screen: GLint; nelements: PGLint): GLXFBConfig; cdecl; + TglXChooseFBConfig = function(dpy: PDisplay; screen: GLint; attrib_list: PGLint; nelements: PGLint): GLXFBConfig; cdecl; + TglXGetFBConfigAttrib = function(dpy: PDisplay; config: GLXFBConfig; attribute: GLint; value: PGLint): glint; cdecl; + TglXGetVisualFromFBConfig = function(dpy: PDisplay; config: GLXFBConfig) : PXVisualInfo; cdecl; + TglXCreateWindow = function(dpy: PDisplay; config: GLXFBConfig; win: Window; attrib_list: PGLint): GLXWindow; cdecl; + TglXDestroyWindow = procedure(dpy: PDisplay; win: GLXWindow); cdecl; + TglXCreatePixmap = function(dpy: PDisplay; config: GLXFBConfig; pixmap: Pixmap; attrib_list: PGLint): GLXPixmap; cdecl; + + TglXDestroyPixmap = procedure(dpy: PDisplay; pixmap: GLXPixmap); cdecl; + TglXCreatePbuffer = function(dpy: PDisplay; config: GLXFBConfig; attrib_list: PGLint): GLXPbuffer; cdecl; + TglXDestroyPbuffer = procedure(dpy: PDisplay; pbuf: GLXPbuffer); cdecl; + TglXQueryDrawable = procedure(dpy: PDisplay; draw: GLXDrawable; attribute: GLint; value: PGLuint); cdecl; + TglXCreateNewContext = function(dpy: PDisplay; config: GLXFBConfig; render_type: GLint; share_list: GLXContext; direct: GLboolean): GLXContext cdecl; + TglXMakeContextCurrent = function(display: PDisplay; draw: GLXDrawable; read_: GLXDrawable; ctx: GLXContext): GLboolean; cdecl; + TglXGetCurrentReadDrawable = function: GLXDrawable; cdecl; + TglXGetCurreentDisplay = function: PDisplay; + + TglXQueryContext = function(dpy: PDisplay; ctx: GLXContext; attribute: GLint; value: PGLint): GLint; cdecl; + TglXSelectEvent = procedure(dpy: PDisplay; draw: GLXDrawable; event_mask: GLuint); cdecl; + TglXGetSelectedEvent = procedure(dpy: PDisplay; draw: GLXDrawable; event_mask: PGLuint); cdecl; + + // GLX_VERSION_1_4 + TglXGetProcAddress = function(const name: PAnsiChar): pointer; cdecl; + + // GLX_ARB_get_proc_address + TglXGetProcAddressARB = function(const name: PAnsiChar): pointer; cdecl; + + // GLX_ARB_create_context + TglXCreateContextAttribsARB = function(dpy: PDisplay; config: GLXFBConfig; share_context: GLXContext; direct: GLboolean; const attrib_list: PGLint): GLXContext; cdecl; + + // GLX_EXT_import_context + TglXGetCurrentDisplayEXT = function: PDisplay; cdecl; + TglXQueryContextInfoEXT = function(dpy: PDisplay; context: GLXContext; attribute: GLint; value: PGLint): GLint; cdecl; + TglXGetContextIDEXT = function(const context: GLXContext): GLXContextID; cdecl; + TglXImportContextEXT = function(dpy: PDisplay; contextID: GLXContextID): GLXContext; cdecl; + TglXFreeContextEXT = procedure(dpy: PDisplay; context: GLXContext); cdecl; + + // GLX_EXT_texture_from_pixmap + TglXBindTexImageEXT = procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: GLint; const attrib_list: PGLint); cdecl; + TglXReleaseTexImageEXT = procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: GLint); cdecl; + + // GLX_EXT_swap_control + TglXSwapIntervalEXT = procedure (dpy: PDisplay; drawable: GLXDrawable; interval: GLint); cdecl; +{$ENDIF} + + // GL utility functions and procedures + TgluErrorString = function(errCode: GLEnum): PAnsiChar; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluGetString = function(name: GLEnum): PAnsiChar; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluOrtho2D = procedure(left, right, bottom, top: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluPerspective = procedure(fovy, aspect, zNear, zFar: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluPickMatrix = procedure(x, y, width, height: GLdouble; const viewport: TVector4i); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluLookAt = procedure(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluProject = function(objx, objy, objz: GLdouble; const modelMatrix: TGLMatrixd4; const projMatrix: TGLMatrixd4; const viewport: TVector4i; winx, winy, winz: PGLdouble): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluUnProject = function(winx, winy, winz: GLdouble; const modelMatrix: TGLMatrixd4; const projMatrix: TGLMatrixd4; const viewport: TVector4i; objx, objy, objz: PGLdouble): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluScaleImage = function(format: GLEnum; widthin, heightin: GLint; typein: GLEnum; datain: Pointer; widthout, heightout: GLint; typeout: GLEnum; const dataout: Pointer): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluBuild1DMipmaps = function(target: GLEnum; components, width: GLint; format, atype: GLEnum; const data: Pointer): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluBuild2DMipmaps = function(target: GLEnum; components, width, height: GLint; format, atype: GLEnum; const Data: Pointer): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluNewQuadric = function: PGLUquadric; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluDeleteQuadric = procedure(state: PGLUquadric); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluQuadricNormals = procedure(quadObject: PGLUquadric; normals: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluQuadricTexture = procedure(quadObject: PGLUquadric; textureCoords: GLboolean); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluQuadricOrientation = procedure(quadObject: PGLUquadric; orientation: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluQuadricDrawStyle = procedure(quadObject: PGLUquadric; drawStyle: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluCylinder = procedure(quadObject: PGLUquadric; baseRadius, topRadius, height: GLdouble; slices, stacks: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluDisk = procedure(quadObject: PGLUquadric; innerRadius, outerRadius: GLdouble; slices, loops: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluPartialDisk = procedure(quadObject: PGLUquadric; innerRadius, outerRadius: GLdouble; slices, loops: GLint; startAngle, sweepAngle: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluSphere = procedure(quadObject: PGLUquadric; radius: GLdouble; slices, stacks: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluQuadricCallback = procedure(quadObject: PGLUquadric; which: GLEnum; fn: TGLUQuadricErrorProc); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluNewTess = function: PGLUtesselator; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluDeleteTess = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluTessBeginPolygon = procedure(tess: PGLUtesselator; polygon_data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluTessBeginContour = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluTessVertex = procedure(tess: PGLUtesselator; const coords: TGLArrayd3; data: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluTessEndContour = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluTessEndPolygon = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluTessProperty = procedure(tess: PGLUtesselator; which: GLEnum; value: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluTessNormal = procedure(tess: PGLUtesselator; x, y, z: GLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluTessCallback = procedure(tess: PGLUtesselator; which: GLEnum; fn: Pointer); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluGetTessProperty = procedure(tess: PGLUtesselator; which: GLEnum; value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluNewNurbsRenderer = function: PGLUnurbs; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluDeleteNurbsRenderer = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluBeginSurface = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluBeginCurve = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluEndCurve = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluEndSurface = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluBeginTrim = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluEndTrim = procedure(nobj: PGLUnurbs); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluPwlCurve = procedure(nobj: PGLUnurbs; count: GLint; points: PGLfloat; stride: GLint; atype: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluNurbsCurve = procedure(nobj: PGLUnurbs; nknots: GLint; knot: PGLfloat; stride: GLint; ctlarray: PGLfloat; order: GLint; atype: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluNurbsSurface = procedure(nobj: PGLUnurbs; sknot_count: GLint; sknot: PGLfloat; tknot_count: GLint; tknot: PGLfloat; s_stride, t_stride: GLint; ctlarray: PGLfloat; sorder, torder: GLint; atype: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluLoadSamplingMatrices = procedure(nobj: PGLUnurbs; const modelMatrix, projMatrix: TGLMatrixf4; const viewport: TVector4i); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluNurbsProperty = procedure(nobj: PGLUnurbs; aproperty: GLEnum; value: GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluGetNurbsProperty = procedure(nobj: PGLUnurbs; aproperty: GLEnum; value: PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluNurbsCallback = procedure(nobj: PGLUnurbs; which: GLEnum; fn: TGLUNurbsErrorProc); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluBeginPolygon = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluNextContour = procedure(tess: PGLUtesselator; atype: GLEnum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + TgluEndPolygon = procedure(tess: PGLUtesselator); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} + +var + // GL_VERSION_1_0 + glCullFace: TglCullFace; + glFrontFace: TglFrontFace; + glHint: TglHint; + glLineWidth: TglLineWidth; + glPointSize: TglPointSize; + glPolygonMode: TglPolygonMode; + glScissor: TglScissor; + glTexParameterf: TglTexParameterf; + glTexParameterfv: TglTexParameterfv; + glTexParameteri: TglTexParameteri; + glTexParameteriv: TglTexParameteriv; + glTexImage1D: TglTexImage1D; + glTexImage2D: TglTexImage2D; + glDrawBuffer: TglDrawBuffer; + glClear: TglClear; + glClearColor: TglClearColor; + glClearStencil: TglClearStencil; + glClearDepth: TglClearDepth; + glStencilMask: TglStencilMask; + glColorMask: TglColorMask; + glDepthMask: TglDepthMask; + glDisable: TglDisable; + glEnable: TglEnable; + glFinish: TglFinish; + glFlush: TglFlush; + glBlendFunc: TglBlendFunc; + glLogicOp: TglLogicOp; + glStencilFunc: TglStencilFunc; + glStencilOp: TglStencilOp; + glDepthFunc: TglDepthFunc; + glPixelStoref: TglPixelStoref; + glPixelStorei: TglPixelStorei; + glReadBuffer: TglReadBuffer; + glReadPixels: TglReadPixels; + glGetBooleanv: TglGetBooleanv; + glGetDoublev: TglGetDoublev; + glGetError: TglGetError; + glGetFloatv: TglGetFloatv; + glGetIntegerv: TglGetIntegerv; + glGetString: TglGetString; + glGetTexImage: TglGetTexImage; + glGetTexParameteriv: TglGetTexParameteriv; + glGetTexParameterfv: TglGetTexParameterfv; + glGetTexLevelParameterfv: TglGetTexLevelParameterfv; + glGetTexLevelParameteriv: TglGetTexLevelParameteriv; + glIsEnabled: TglIsEnabled; + glDepthRange: TglDepthRange; + glViewport: TglViewport; + + // GL_VERSION_1_1 + glDrawArrays: TglDrawArrays; + glDrawElements: TglDrawElements; + glGetPointerv: TglGetPointerv; + glPolygonOffset: TglPolygonOffset; + glCopyTexImage1D: TglCopyTexImage1D; + glCopyTexImage2D: TglCopyTexImage2D; + glCopyTexSubImage1D: TglCopyTexSubImage1D; + glCopyTexSubImage2D: TglCopyTexSubImage2D; + glTexSubImage1D: TglTexSubImage1D; + glTexSubImage2D: TglTexSubImage2D; + glBindTexture: TglBindTexture; + glDeleteTextures: TglDeleteTextures; + glGenTextures: TglGenTextures; +{$ifdef DGL_DEPRECATED} + glAccum: TglAccum; + glAlphaFunc: TglAlphaFunc; + glAreTexturesResident: TglAreTexturesResident; + glArrayElement: TglArrayElement; + glBegin: TglBegin; + glBitmap: TglBitmap; + glCallList: TglCallList; + glCallLists: TglCallLists; + glClearAccum: TglClearAccum; + glClearIndex: TglClearIndex; + glClipPlane: TglClipPlane; + glColor3b: TglColor3b; + glColor3bv: TglColor3bv; + glColor3d: TglColor3d; + glColor3dv: TglColor3dv; + glColor3f: TglColor3f; + glColor3fv: TglColor3fv; + glColor3i: TglColor3i; + glColor3iv: TglColor3iv; + glColor3s: TglColor3s; + glColor3sv: TglColor3sv; + glColor3ub: TglColor3ub; + glColor3ubv: TglColor3ubv; + glColor3ui: TglColor3ui; + glColor3uiv: TglColor3uiv; + glColor3us: TglColor3us; + glColor3usv: TglColor3usv; + glColor4b: TglColor4b; + glColor4bv: TglColor4bv; + glColor4d: TglColor4d; + glColor4dv: TglColor4dv; + glColor4f: TglColor4f; + glColor4fv: TglColor4fv; + glColor4i: TglColor4i; + glColor4iv: TglColor4iv; + glColor4s: TglColor4s; + glColor4sv: TglColor4sv; + glColor4ub: TglColor4ub; + glColor4ubv: TglColor4ubv; + glColor4ui: TglColor4ui; + glColor4uiv: TglColor4uiv; + glColor4us: TglColor4us; + glColor4usv: TglColor4usv; + glColorMaterial: TglColorMaterial; + glColorPointer: TglColorPointer; + glCopyPixels: TglCopyPixels; + glDeleteLists: TglDeleteLists; + glDisableClientState: TglDisableClientState; + glDrawPixels: TglDrawPixels; + glEdgeFlag: TglEdgeFlag; + glEdgeFlagPointer: TglEdgeFlagPointer; + glEdgeFlagv: TglEdgeFlagv; + glEnableClientState: TglEnableClientState; + glEnd: TglEnd; + glEndList: TglEndList; + glEvalCoord1d: TglEvalCoord1d; + glEvalCoord1dv: TglEvalCoord1dv; + glEvalCoord1f: TglEvalCoord1f; + glEvalCoord1fv: TglEvalCoord1fv; + glEvalCoord2d: TglEvalCoord2d; + glEvalCoord2dv: TglEvalCoord2dv; + glEvalCoord2f: TglEvalCoord2f; + glEvalCoord2fv: TglEvalCoord2fv; + glEvalMesh1: TglEvalMesh1; + glEvalMesh2: TglEvalMesh2; + glEvalPoint1: TglEvalPoint1; + glEvalPoint2: TglEvalPoint2; + glFeedbackBuffer: TglFeedbackBuffer; + glFogf: TglFogf; + glFogfv: TglFogfv; + glFogi: TglFogi; + glFogiv: TglFogiv; + glFrustum: TglFrustum; + glGenLists: TglGenLists; + glGetClipPlane: TglGetClipPlane; + glGetLightfv: TglGetLightfv; + glGetLightiv: TglGetLightiv; + glGetMapdv: TglGetMapdv; + glGetMapfv: TglGetMapfv; + glGetMapiv: TglGetMapiv; + glGetMaterialfv: TglGetMaterialfv; + glGetMaterialiv: TglGetMaterialiv; + glGetPixelMapfv: TglGetPixelMapfv; + glGetPixelMapuiv: TglGetPixelMapuiv; + glGetPixelMapusv: TglGetPixelMapusv; + glGetPolygonStipple: TglGetPolygonStipple; + glGetTexEnvfv: TglGetTexEnvfv; + glGetTexEnviv: TglGetTexEnviv; + glGetTexGendv: TglGetTexGendv; + glGetTexGenfv: TglGetTexGenfv; + glGetTexGeniv: TglGetTexGeniv; + glIndexMask: TglIndexMask; + glIndexPointer: TglIndexPointer; + glIndexd: TglIndexd; + glIndexdv: TglIndexdv; + glIndexf: TglIndexf; + glIndexfv: TglIndexfv; + glIndexi: TglIndexi; + glIndexiv: TglIndexiv; + glIndexs: TglIndexs; + glIndexsv: TglIndexsv; + glIndexub: TglIndexub; + glIndexubv: TglIndexubv; + glInitNames: TglInitNames; + glInterleavedArrays: TglInterleavedArrays; + glIsList: TglIsList; + glIsTexture: TglIsTexture; + glLightModelf: TglLightModelf; + glLightModelfv: TglLightModelfv; + glLightModeli: TglLightModeli; + glLightModeliv: TglLightModeliv; + glLightf: TglLightf; + glLightfv: TglLightfv; + glLighti: TglLighti; + glLightiv: TglLightiv; + glLineStipple: TglLineStipple; + glListBase: TglListBase; + glLoadIdentity: TglLoadIdentity; + glLoadMatrixd: TglLoadMatrixd; + glLoadMatrixf: TglLoadMatrixf; + glLoadName: TglLoadName; + glMap1d: TglMap1d; + glMap1f: TglMap1f; + glMap2d: TglMap2d; + glMap2f: TglMap2f; + glMapGrid1d: TglMapGrid1d; + glMapGrid1f: TglMapGrid1f; + glMapGrid2d: TglMapGrid2d; + glMapGrid2f: TglMapGrid2f; + glMaterialf: TglMaterialf; + glMaterialfv: TglMaterialfv; + glMateriali: TglMateriali; + glMaterialiv: TglMaterialiv; + glMatrixMode: TglMatrixMode; + glMultMatrixd: TglMultMatrixd; + glMultMatrixf: TglMultMatrixf; + glNewList: TglNewList; + glNormal3b: TglNormal3b; + glNormal3bv: TglNormal3bv; + glNormal3d: TglNormal3d; + glNormal3dv: TglNormal3dv; + glNormal3f: TglNormal3f; + glNormal3fv: TglNormal3fv; + glNormal3i: TglNormal3i; + glNormal3iv: TglNormal3iv; + glNormal3s: TglNormal3s; + glNormal3sv: TglNormal3sv; + glNormalPointer: TglNormalPointer; + glOrtho: TglOrtho; + glPassThrough: TglPassThrough; + glPixelMapfv: TglPixelMapfv; + glPixelMapuiv: TglPixelMapuiv; + glPixelMapusv: TglPixelMapusv; + glPixelTransferf: TglPixelTransferf; + glPixelTransferi: TglPixelTransferi; + glPixelZoom: TglPixelZoom; + glPolygonStipple: TglPolygonStipple; + glPopAttrib: TglPopAttrib; + glPopClientAttrib: TglPopClientAttrib; + glPopMatrix: TglPopMatrix; + glPopName: TglPopName; + glPrioritizeTextures: TglPrioritizeTextures; + glPushAttrib: TglPushAttrib; + glPushClientAttrib: TglPushClientAttrib; + glPushMatrix: TglPushMatrix; + glPushName: TglPushName; + glRasterPos2d: TglRasterPos2d; + glRasterPos2dv: TglRasterPos2dv; + glRasterPos2f: TglRasterPos2f; + glRasterPos2fv: TglRasterPos2fv; + glRasterPos2i: TglRasterPos2i; + glRasterPos2iv: TglRasterPos2iv; + glRasterPos2s: TglRasterPos2s; + glRasterPos2sv: TglRasterPos2sv; + glRasterPos3d: TglRasterPos3d; + glRasterPos3dv: TglRasterPos3dv; + glRasterPos3f: TglRasterPos3f; + glRasterPos3fv: TglRasterPos3fv; + glRasterPos3i: TglRasterPos3i; + glRasterPos3iv: TglRasterPos3iv; + glRasterPos3s: TglRasterPos3s; + glRasterPos3sv: TglRasterPos3sv; + glRasterPos4d: TglRasterPos4d; + glRasterPos4dv: TglRasterPos4dv; + glRasterPos4f: TglRasterPos4f; + glRasterPos4fv: TglRasterPos4fv; + glRasterPos4i: TglRasterPos4i; + glRasterPos4iv: TglRasterPos4iv; + glRasterPos4s: TglRasterPos4s; + glRasterPos4sv: TglRasterPos4sv; + glRectd: TglRectd; + glRectdv: TglRectdv; + glRectf: TglRectf; + glRectfv: TglRectfv; + glRecti: TglRecti; + glRectiv: TglRectiv; + glRects: TglRects; + glRectsv: TglRectsv; + glRenderMode: TglRenderMode; + glRotated: TglRotated; + glRotatef: TglRotatef; + glScaled: TglScaled; + glScalef: TglScalef; + glSelectBuffer: TglSelectBuffer; + glShadeModel: TglShadeModel; + glTexCoord1d: TglTexCoord1d; + glTexCoord1dv: TglTexCoord1dv; + glTexCoord1f: TglTexCoord1f; + glTexCoord1fv: TglTexCoord1fv; + glTexCoord1i: TglTexCoord1i; + glTexCoord1iv: TglTexCoord1iv; + glTexCoord1s: TglTexCoord1s; + glTexCoord1sv: TglTexCoord1sv; + glTexCoord2d: TglTexCoord2d; + glTexCoord2dv: TglTexCoord2dv; + glTexCoord2f: TglTexCoord2f; + glTexCoord2fv: TglTexCoord2fv; + glTexCoord2i: TglTexCoord2i; + glTexCoord2iv: TglTexCoord2iv; + glTexCoord2s: TglTexCoord2s; + glTexCoord2sv: TglTexCoord2sv; + glTexCoord3d: TglTexCoord3d; + glTexCoord3dv: TglTexCoord3dv; + glTexCoord3f: TglTexCoord3f; + glTexCoord3fv: TglTexCoord3fv; + glTexCoord3i: TglTexCoord3i; + glTexCoord3iv: TglTexCoord3iv; + glTexCoord3s: TglTexCoord3s; + glTexCoord3sv: TglTexCoord3sv; + glTexCoord4d: TglTexCoord4d; + glTexCoord4dv: TglTexCoord4dv; + glTexCoord4f: TglTexCoord4f; + glTexCoord4fv: TglTexCoord4fv; + glTexCoord4i: TglTexCoord4i; + glTexCoord4iv: TglTexCoord4iv; + glTexCoord4s: TglTexCoord4s; + glTexCoord4sv: TglTexCoord4sv; + glTexCoordPointer: TglTexCoordPointer; + glTexEnvf: TglTexEnvf; + glTexEnvfv: TglTexEnvfv; + glTexEnvi: TglTexEnvi; + glTexEnviv: TglTexEnviv; + glTexGend: TglTexGend; + glTexGendv: TglTexGendv; + glTexGenf: TglTexGenf; + glTexGenfv: TglTexGenfv; + glTexGeni: TglTexGeni; + glTexGeniv: TglTexGeniv; + glTranslated: TglTranslated; + glTranslatef: TglTranslatef; + glVertex2d: TglVertex2d; + glVertex2dv: TglVertex2dv; + glVertex2f: TglVertex2f; + glVertex2fv: TglVertex2fv; + glVertex2i: TglVertex2i; + glVertex2iv: TglVertex2iv; + glVertex2s: TglVertex2s; + glVertex2sv: TglVertex2sv; + glVertex3d: TglVertex3d; + glVertex3dv: TglVertex3dv; + glVertex3f: TglVertex3f; + glVertex3fv: TglVertex3fv; + glVertex3i: TglVertex3i; + glVertex3iv: TglVertex3iv; + glVertex3s: TglVertex3s; + glVertex3sv: TglVertex3sv; + glVertex4d: TglVertex4d; + glVertex4dv: TglVertex4dv; + glVertex4f: TglVertex4f; + glVertex4fv: TglVertex4fv; + glVertex4i: TglVertex4i; + glVertex4iv: TglVertex4iv; + glVertex4s: TglVertex4s; + glVertex4sv: TglVertex4sv; + glVertexPointer: TglVertexPointer; +{$endif} + + // GL_VERSION_1_2 + glBlendColor: TglBlendColor; + glBlendEquation: TglBlendEquation; + glDrawRangeElements: TglDrawRangeElements; + glTexImage3D: TglTexImage3D; + glTexSubImage3D: TglTexSubImage3D; + glCopyTexSubImage3D: TglCopyTexSubImage3D; +{$ifdef DGL_DEPRECATED} + glColorTable: TglColorTable; + glColorTableParameterfv: TglColorTableParameterfv; + glColorTableParameteriv: TglColorTableParameteriv; + glCopyColorTable: TglCopyColorTable; + glGetColorTable: TglGetColorTable; + glGetColorTableParameterfv: TglGetColorTableParameterfv; + glGetColorTableParameteriv: TglGetColorTableParameteriv; + glColorSubTable: TglColorSubTable; + glCopyColorSubTable: TglCopyColorSubTable; + glConvolutionFilter1D: TglConvolutionFilter1D; + glConvolutionFilter2D: TglConvolutionFilter2D; + glConvolutionParameterf: TglConvolutionParameterf; + glConvolutionParameterfv: TglConvolutionParameterfv; + glConvolutionParameteri: TglConvolutionParameteri; + glConvolutionParameteriv: TglConvolutionParameteriv; + glCopyConvolutionFilter1D: TglCopyConvolutionFilter1D; + glCopyConvolutionFilter2D: TglCopyConvolutionFilter2D; + glGetConvolutionFilter: TglGetConvolutionFilter; + glGetConvolutionParameterfv: TglGetConvolutionParameterfv; + glGetConvolutionParameteriv: TglGetConvolutionParameteriv; + glGetSeparableFilter: TglGetSeparableFilter; + glSeparableFilter2D: TglSeparableFilter2D; + glGetHistogram: TglGetHistogram; + glGetHistogramParameterfv: TglGetHistogramParameterfv; + glGetHistogramParameteriv: TglGetHistogramParameteriv; + glGetMinmax: TglGetMinmax; + glGetMinmaxParameterfv: TglGetMinmaxParameterfv; + glGetMinmaxParameteriv: TglGetMinmaxParameteriv; + glHistogram: TglHistogram; + glMinmax: TglMinmax; + glResetHistogram: TglResetHistogram; + glResetMinmax: TglResetMinmax; +{$endif} + + // GL_VERSION_1_3 + glActiveTexture: TglActiveTexture; + glSampleCoverage: TglSampleCoverage; + glCompressedTexImage3D: TglCompressedTexImage3D; + glCompressedTexImage2D: TglCompressedTexImage2D; + glCompressedTexImage1D: TglCompressedTexImage1D; + glCompressedTexSubImage3D: TglCompressedTexSubImage3D; + glCompressedTexSubImage2D: TglCompressedTexSubImage2D; + glCompressedTexSubImage1D: TglCompressedTexSubImage1D; + glGetCompressedTexImage: TglGetCompressedTexImage; +{$ifdef DGL_DEPRECATED} + glClientActiveTexture: TglClientActiveTexture; + glMultiTexCoord1d: TglMultiTexCoord1d; + glMultiTexCoord1dv: TglMultiTexCoord1dv; + glMultiTexCoord1f: TglMultiTexCoord1f; + glMultiTexCoord1fv: TglMultiTexCoord1fv; + glMultiTexCoord1i: TglMultiTexCoord1i; + glMultiTexCoord1iv: TglMultiTexCoord1iv; + glMultiTexCoord1s: TglMultiTexCoord1s; + glMultiTexCoord1sv: TglMultiTexCoord1sv; + glMultiTexCoord2d: TglMultiTexCoord2d; + glMultiTexCoord2dv: TglMultiTexCoord2dv; + glMultiTexCoord2f: TglMultiTexCoord2f; + glMultiTexCoord2fv: TglMultiTexCoord2fv; + glMultiTexCoord2i: TglMultiTexCoord2i; + glMultiTexCoord2iv: TglMultiTexCoord2iv; + glMultiTexCoord2s: TglMultiTexCoord2s; + glMultiTexCoord2sv: TglMultiTexCoord2sv; + glMultiTexCoord3d: TglMultiTexCoord3d; + glMultiTexCoord3dv: TglMultiTexCoord3dv; + glMultiTexCoord3f: TglMultiTexCoord3f; + glMultiTexCoord3fv: TglMultiTexCoord3fv; + glMultiTexCoord3i: TglMultiTexCoord3i; + glMultiTexCoord3iv: TglMultiTexCoord3iv; + glMultiTexCoord3s: TglMultiTexCoord3s; + glMultiTexCoord3sv: TglMultiTexCoord3sv; + glMultiTexCoord4d: TglMultiTexCoord4d; + glMultiTexCoord4dv: TglMultiTexCoord4dv; + glMultiTexCoord4f: TglMultiTexCoord4f; + glMultiTexCoord4fv: TglMultiTexCoord4fv; + glMultiTexCoord4i: TglMultiTexCoord4i; + glMultiTexCoord4iv: TglMultiTexCoord4iv; + glMultiTexCoord4s: TglMultiTexCoord4s; + glMultiTexCoord4sv: TglMultiTexCoord4sv; + glLoadTransposeMatrixf: TglLoadTransposeMatrixf; + glLoadTransposeMatrixd: TglLoadTransposeMatrixd; + glMultTransposeMatrixf: TglMultTransposeMatrixf; + glMultTransposeMatrixd: TglMultTransposeMatrixd; +{$endif} + + // GL_VERSION_1_4 + glBlendFuncSeparate: TglBlendFuncSeparate; + glMultiDrawArrays: TglMultiDrawArrays; + glMultiDrawElements: TglMultiDrawElements; + glPointParameterf: TglPointParameterf; + glPointParameterfv: TglPointParameterfv; + glPointParameteri: TglPointParameteri; + glPointParameteriv: TglPointParameteriv; +{$ifdef DGL_DEPRECATED} + glFogCoordf: TglFogCoordf; + glFogCoordfv: TglFogCoordfv; + glFogCoordd: TglFogCoordd; + glFogCoorddv: TglFogCoorddv; + glFogCoordPointer: TglFogCoordPointer; + glSecondaryColor3b: TglSecondaryColor3b; + glSecondaryColor3bv: TglSecondaryColor3bv; + glSecondaryColor3d: TglSecondaryColor3d; + glSecondaryColor3dv: TglSecondaryColor3dv; + glSecondaryColor3f: TglSecondaryColor3f; + glSecondaryColor3fv: TglSecondaryColor3fv; + glSecondaryColor3i: TglSecondaryColor3i; + glSecondaryColor3iv: TglSecondaryColor3iv; + glSecondaryColor3s: TglSecondaryColor3s; + glSecondaryColor3sv: TglSecondaryColor3sv; + glSecondaryColor3ub: TglSecondaryColor3ub; + glSecondaryColor3ubv: TglSecondaryColor3ubv; + glSecondaryColor3ui: TglSecondaryColor3ui; + glSecondaryColor3uiv: TglSecondaryColor3uiv; + glSecondaryColor3us: TglSecondaryColor3us; + glSecondaryColor3usv: TglSecondaryColor3usv; + glSecondaryColorPointer: TglSecondaryColorPointer; + glWindowPos2d: TglWindowPos2d; + glWindowPos2dv: TglWindowPos2dv; + glWindowPos2f: TglWindowPos2f; + glWindowPos2fv: TglWindowPos2fv; + glWindowPos2i: TglWindowPos2i; + glWindowPos2iv: TglWindowPos2iv; + glWindowPos2s: TglWindowPos2s; + glWindowPos2sv: TglWindowPos2sv; + glWindowPos3d: TglWindowPos3d; + glWindowPos3dv: TglWindowPos3dv; + glWindowPos3f: TglWindowPos3f; + glWindowPos3fv: TglWindowPos3fv; + glWindowPos3i: TglWindowPos3i; + glWindowPos3iv: TglWindowPos3iv; + glWindowPos3s: TglWindowPos3s; + glWindowPos3sv: TglWindowPos3sv; +{$endif} + + // GL_VERSION_1_5 + glGenQueries: TglGenQueries; + glDeleteQueries: TglDeleteQueries; + glIsQuery: TglIsQuery; + glBeginQuery: TglBeginQuery; + glEndQuery: TglEndQuery; + glGetQueryiv: TglGetQueryiv; + glGetQueryObjectiv: TglGetQueryObjectiv; + glGetQueryObjectuiv: TglGetQueryObjectuiv; + glBindBuffer: TglBindBuffer; + glDeleteBuffers: TglDeleteBuffers; + glGenBuffers: TglGenBuffers; + glIsBuffer: TglIsBuffer; + glBufferData: TglBufferData; + glBufferSubData: TglBufferSubData; + glGetBufferSubData: TglGetBufferSubData; + glMapBuffer: TglMapBuffer; + glUnmapBuffer: TglUnmapBuffer; + glGetBufferParameteriv: TglGetBufferParameteriv; + glGetBufferPointerv: TglGetBufferPointerv; + + // GL_VERSION_2_0 + glBlendEquationSeparate: TglBlendEquationSeparate; + glDrawBuffers: TglDrawBuffers; + glStencilOpSeparate: TglStencilOpSeparate; + glStencilFuncSeparate: TglStencilFuncSeparate; + glStencilMaskSeparate: TglStencilMaskSeparate; + glAttachShader: TglAttachShader; + glBindAttribLocation: TglBindAttribLocation; + glCompileShader: TglCompileShader; + glCreateProgram: TglCreateProgram; + glCreateShader: TglCreateShader; + glDeleteProgram: TglDeleteProgram; + glDeleteShader: TglDeleteShader; + glDetachShader: TglDetachShader; + glDisableVertexAttribArray: TglDisableVertexAttribArray; + glEnableVertexAttribArray: TglEnableVertexAttribArray; + glGetActiveAttrib: TglGetActiveAttrib; + glGetActiveUniform: TglGetActiveUniform; + glGetAttachedShaders: TglGetAttachedShaders; + glGetAttribLocation: TglGetAttribLocation; + glGetProgramiv: TglGetProgramiv; + glGetProgramInfoLog: TglGetProgramInfoLog; + glGetShaderiv: TglGetShaderiv; + glGetShaderInfoLog: TglGetShaderInfoLog; + glGetShaderSource: TglGetShaderSource; + glGetUniformLocation: TglGetUniformLocation; + glGetUniformfv: TglGetUniformfv; + glGetUniformiv: TglGetUniformiv; + glGetVertexAttribfv: TglGetVertexAttribfv; + glGetVertexAttribiv: TglGetVertexAttribiv; + glGetVertexAttribPointerv: TglGetVertexAttribPointerv; + glIsProgram: TglIsProgram; + glIsShader: TglIsShader; + glLinkProgram: TglLinkProgram; + glShaderSource: TglShaderSource; + glUseProgram: TglUseProgram; + glUniform1f: TglUniform1f; + glUniform2f: TglUniform2f; + glUniform3f: TglUniform3f; + glUniform4f: TglUniform4f; + glUniform1i: TglUniform1i; + glUniform2i: TglUniform2i; + glUniform3i: TglUniform3i; + glUniform4i: TglUniform4i; + glUniform1fv: TglUniform1fv; + glUniform2fv: TglUniform2fv; + glUniform3fv: TglUniform3fv; + glUniform4fv: TglUniform4fv; + glUniform1iv: TglUniform1iv; + glUniform2iv: TglUniform2iv; + glUniform3iv: TglUniform3iv; + glUniform4iv: TglUniform4iv; + glUniformMatrix2fv: TglUniformMatrix2fv; + glUniformMatrix3fv: TglUniformMatrix3fv; + glUniformMatrix4fv: TglUniformMatrix4fv; + glValidateProgram: TglValidateProgram; + glVertexAttrib1d: TglVertexAttrib1d; + glVertexAttrib1dv: TglVertexAttrib1dv; + glVertexAttrib1f: TglVertexAttrib1f; + glVertexAttrib1fv: TglVertexAttrib1fv; + glVertexAttrib1s: TglVertexAttrib1s; + glVertexAttrib1sv: TglVertexAttrib1sv; + glVertexAttrib2d: TglVertexAttrib2d; + glVertexAttrib2dv: TglVertexAttrib2dv; + glVertexAttrib2f: TglVertexAttrib2f; + glVertexAttrib2fv: TglVertexAttrib2fv; + glVertexAttrib2s: TglVertexAttrib2s; + glVertexAttrib2sv: TglVertexAttrib2sv; + glVertexAttrib3d: TglVertexAttrib3d; + glVertexAttrib3dv: TglVertexAttrib3dv; + glVertexAttrib3f: TglVertexAttrib3f; + glVertexAttrib3fv: TglVertexAttrib3fv; + glVertexAttrib3s: TglVertexAttrib3s; + glVertexAttrib3sv: TglVertexAttrib3sv; + glVertexAttrib4Nbv: TglVertexAttrib4Nbv; + glVertexAttrib4Niv: TglVertexAttrib4Niv; + glVertexAttrib4Nsv: TglVertexAttrib4Nsv; + glVertexAttrib4Nub: TglVertexAttrib4Nub; + glVertexAttrib4Nubv: TglVertexAttrib4Nubv; + glVertexAttrib4Nuiv: TglVertexAttrib4Nuiv; + glVertexAttrib4Nusv: TglVertexAttrib4Nusv; + glVertexAttrib4bv: TglVertexAttrib4bv; + glVertexAttrib4d: TglVertexAttrib4d; + glVertexAttrib4dv: TglVertexAttrib4dv; + glVertexAttrib4f: TglVertexAttrib4f; + glVertexAttrib4fv: TglVertexAttrib4fv; + glVertexAttrib4iv: TglVertexAttrib4iv; + glVertexAttrib4s: TglVertexAttrib4s; + glVertexAttrib4sv: TglVertexAttrib4sv; + glVertexAttrib4ubv: TglVertexAttrib4ubv; + glVertexAttrib4uiv: TglVertexAttrib4uiv; + glVertexAttrib4usv: TglVertexAttrib4usv; + glVertexAttribPointer: TglVertexAttribPointer; + + // GL_VERSION_2_1 + glUniformMatrix2x3fv: TglUniformMatrix2x3fv; + glUniformMatrix3x2fv: TglUniformMatrix3x2fv; + glUniformMatrix2x4fv: TglUniformMatrix2x4fv; + glUniformMatrix4x2fv: TglUniformMatrix4x2fv; + glUniformMatrix3x4fv: TglUniformMatrix3x4fv; + glUniformMatrix4x3fv: TglUniformMatrix4x3fv; + + // GL_VERSION_3_0 + glColorMaski: TglColorMaski; + glGetBooleani_v: TglGetBooleani_v; + glGetIntegeri_v: TglGetIntegeri_v; + glEnablei: TglEnablei; + glDisablei: TglDisablei; + glIsEnabledi: TglIsEnabledi; + glBeginTransformFeedback: TglBeginTransformFeedback; + glEndTransformFeedback: TglEndTransformFeedback; + glBindBufferRange: TglBindBufferRange; + glBindBufferBase: TglBindBufferBase; + glTransformFeedbackVaryings: TglTransformFeedbackVaryings; + glGetTransformFeedbackVarying: TglGetTransformFeedbackVarying; + glClampColor: TglClampColor; + glBeginConditionalRender: TglBeginConditionalRender; + glEndConditionalRender: TglEndConditionalRender; + glVertexAttribI1i: TglVertexAttribI1i; + glVertexAttribI2i: TglVertexAttribI2i; + glVertexAttribI3i: TglVertexAttribI3i; + glVertexAttribI4i: TglVertexAttribI4i; + glVertexAttribI1ui: TglVertexAttribI1ui; + glVertexAttribI2ui: TglVertexAttribI2ui; + glVertexAttribI3ui: TglVertexAttribI3ui; + glVertexAttribI4ui: TglVertexAttribI4ui; + glVertexAttribI1iv: TglVertexAttribI1iv; + glVertexAttribI2iv: TglVertexAttribI2iv; + glVertexAttribI3iv: TglVertexAttribI3iv; + glVertexAttribI4iv: TglVertexAttribI4iv; + glVertexAttribI1uiv: TglVertexAttribI1uiv; + glVertexAttribI2uiv: TglVertexAttribI2uiv; + glVertexAttribI3uiv: TglVertexAttribI3uiv; + glVertexAttribI4uiv: TglVertexAttribI4uiv; + glVertexAttribI4bv: TglVertexAttribI4bv; + glVertexAttribI4sv: TglVertexAttribI4sv; + glVertexAttribI4ubv: TglVertexAttribI4ubv; + glVertexAttribI4usv: TglVertexAttribI4usv; + glVertexAttribIPointer: TglVertexAttribIPointer; + glGetVertexAttribIiv: TglGetVertexAttribIiv; + glGetVertexAttribIuiv: TglGetVertexAttribIuiv; + glGetUniformuiv: TglGetUniformuiv; + glBindFragDataLocation: TglBindFragDataLocation; + glGetFragDataLocation: TglGetFragDataLocation; + glUniform1ui: TglUniform1ui; + glUniform2ui: TglUniform2ui; + glUniform3ui: TglUniform3ui; + glUniform4ui: TglUniform4ui; + glUniform1uiv: TglUniform1uiv; + glUniform2uiv: TglUniform2uiv; + glUniform3uiv: TglUniform3uiv; + glUniform4uiv: TglUniform4uiv; + glTexParameterIiv: TglTexParameterIiv; + glTexParameterIuiv: TglTexParameterIuiv; + glGetTexParameterIiv: TglGetTexParameterIiv; + glGetTexParameterIuiv: TglGetTexParameterIuiv; + glClearBufferiv: TglClearBufferiv; + glClearBufferuiv: TglClearBufferuiv; + glClearBufferfv: TglClearBufferfv; + glClearBufferfi: TglClearBufferfi; + glGetStringi: TglGetStringi; + + // GL_VERSION_2_1 + glEnableVertexArrayEXT : TglEnableVertexArrayEXT; + glEnableVertexArrayAttribEXT : TglEnableVertexArrayAttribEXT; + glVertexArrayVertexAttribOffsetEXT : TglVertexArrayVertexAttribOffsetEXT; + + // GL_VERSION_3_1 + glDrawArraysInstanced: TglDrawArraysInstanced; + glDrawElementsInstanced: TglDrawElementsInstanced; + glTexBuffer: TglTexBuffer; + glPrimitiveRestartIndex: TglPrimitiveRestartIndex; + + // GL_VERSION_3_2 + glGetInteger64i_v: TglGetInteger64i_v; + glGetBufferParameteri64v: TglGetBufferParameteri64v; + glFramebufferTexture: TglFramebufferTexture; + + // GL_VERSION_3_3 + glVertexAttribDivisor: TglVertexAttribDivisor; + + // GL_VERSION_4_0 + { OpenGL 4.0 also reuses entry points from these extensions: } + { ARB_texture_query_lod (no entry points) } + { ARB_draw_indirect } + { ARB_gpu_shader5 (no entry points) } + { ARB_gpu_shader_fp64 } + { ARB_shader_subroutine } + { ARB_tessellation_shader } + { ARB_texture_buffer_object_rgb32 (no entry points) } + { ARB_texture_cube_map_array (no entry points) } + { ARB_texture_gather (no entry points) } + { ARB_transform_feedback2 } + { ARB_transform_feedback3 } + glMinSampleShading: TglMinSampleShading; + glBlendEquationi: TglBlendEquationi; + glBlendEquationSeparatei: TglBlendEquationSeparatei; + glBlendFunci: TglBlendFunci; + glBlendFuncSeparatei: TglBlendFuncSeparatei; + + // GL_3DFX_tbuffer + glTbufferMask3DFX: TglTbufferMask3DFX; + + // GL_APPLE_element_array + glElementPointerAPPLE: TglElementPointerAPPLE; + glDrawElementArrayAPPLE: TglDrawElementArrayAPPLE; + glDrawRangeElementArrayAPPLE: TglDrawRangeElementArrayAPPLE; + glMultiDrawElementArrayAPPLE: TglMultiDrawElementArrayAPPLE; + glMultiDrawRangeElementArrayAPPLE: TglMultiDrawRangeElementArrayAPPLE; + + // GL_APPLE_fence + glGenFencesAPPLE: TglGenFencesAPPLE; + glDeleteFencesAPPLE: TglDeleteFencesAPPLE; + glSetFenceAPPLE: TglSetFenceAPPLE; + glIsFenceAPPLE: TglIsFenceAPPLE; + glTestFenceAPPLE: TglTestFenceAPPLE; + glFinishFenceAPPLE: TglFinishFenceAPPLE; + glTestObjectAPPLE: TglTestObjectAPPLE; + glFinishObjectAPPLE: TglFinishObjectAPPLE; + + // GL_APPLE_vertex_array_object + glBindVertexArrayAPPLE: TglBindVertexArrayAPPLE; + glDeleteVertexArraysAPPLE: TglDeleteVertexArraysAPPLE; + glGenVertexArraysAPPLE: TglGenVertexArraysAPPLE; + glIsVertexArrayAPPLE: TglIsVertexArrayAPPLE; + + // GL_APPLE_vertex_array_range + glVertexArrayRangeAPPLE: TglVertexArrayRangeAPPLE; + glFlushVertexArrayRangeAPPLE: TglFlushVertexArrayRangeAPPLE; + glVertexArrayParameteriAPPLE: TglVertexArrayParameteriAPPLE; + + // GL_APPLE_texture_range + glTextureRangeAPPLE: TglTextureRangeAPPLE; + glGetTexParameterPointervAPPLE: TglGetTexParameterPointervAPPLE; + + // GL_APPLE_vertex_program_evaluators + glEnableVertexAttribAPPLE: TglEnableVertexAttribAPPLE; + glDisableVertexAttribAPPLE: TglDisableVertexAttribAPPLE; + glIsVertexAttribEnabledAPPLE: TglIsVertexAttribEnabledAPPLE; + glMapVertexAttrib1dAPPLE: TglMapVertexAttrib1dAPPLE; + glMapVertexAttrib1fAPPLE: TglMapVertexAttrib1fAPPLE; + glMapVertexAttrib2dAPPLE: TglMapVertexAttrib2dAPPLE; + glMapVertexAttrib2fAPPLE: TglMapVertexAttrib2fAPPLE; + + // GL_APPLE_object_purgeable + glObjectPurgeableAPPLE: TglObjectPurgeableAPPLE; + glObjectUnpurgeableAPPLE: TglObjectUnpurgeableAPPLE; + glGetObjectParameterivAPPLE: TglGetObjectParameterivAPPLE; + + // GL_ARB_matrix_palette + glCurrentPaletteMatrixARB: TglCurrentPaletteMatrixARB; + glMatrixIndexubvARB: TglMatrixIndexubvARB; + glMatrixIndexusvARB: TglMatrixIndexusvARB; + glMatrixIndexuivARB: TglMatrixIndexuivARB; + glMatrixIndexPointerARB: TglMatrixIndexPointerARB; + + // GL_ARB_multisample + glSampleCoverageARB: TglSampleCoverageARB; + + // GL_ARB_multitexture + glActiveTextureARB: TglActiveTextureARB; + glClientActiveTextureARB: TglClientActiveTextureARB; + glMultiTexCoord1dARB: TglMultiTexCoord1dARB; + glMultiTexCoord1dvARB: TglMultiTexCoord1dvARB; + glMultiTexCoord1fARB: TglMultiTexCoord1fARB; + glMultiTexCoord1fvARB: TglMultiTexCoord1fvARB; + glMultiTexCoord1iARB: TglMultiTexCoord1iARB; + glMultiTexCoord1ivARB: TglMultiTexCoord1ivARB; + glMultiTexCoord1sARB: TglMultiTexCoord1sARB; + glMultiTexCoord1svARB: TglMultiTexCoord1svARB; + glMultiTexCoord2dARB: TglMultiTexCoord2dARB; + glMultiTexCoord2dvARB: TglMultiTexCoord2dvARB; + glMultiTexCoord2fARB: TglMultiTexCoord2fARB; + glMultiTexCoord2fvARB: TglMultiTexCoord2fvARB; + glMultiTexCoord2iARB: TglMultiTexCoord2iARB; + glMultiTexCoord2ivARB: TglMultiTexCoord2ivARB; + glMultiTexCoord2sARB: TglMultiTexCoord2sARB; + glMultiTexCoord2svARB: TglMultiTexCoord2svARB; + glMultiTexCoord3dARB: TglMultiTexCoord3dARB; + glMultiTexCoord3dvARB: TglMultiTexCoord3dvARB; + glMultiTexCoord3fARB: TglMultiTexCoord3fARB; + glMultiTexCoord3fvARB: TglMultiTexCoord3fvARB; + glMultiTexCoord3iARB: TglMultiTexCoord3iARB; + glMultiTexCoord3ivARB: TglMultiTexCoord3ivARB; + glMultiTexCoord3sARB: TglMultiTexCoord3sARB; + glMultiTexCoord3svARB: TglMultiTexCoord3svARB; + glMultiTexCoord4dARB: TglMultiTexCoord4dARB; + glMultiTexCoord4dvARB: TglMultiTexCoord4dvARB; + glMultiTexCoord4fARB: TglMultiTexCoord4fARB; + glMultiTexCoord4fvARB: TglMultiTexCoord4fvARB; + glMultiTexCoord4iARB: TglMultiTexCoord4iARB; + glMultiTexCoord4ivARB: TglMultiTexCoord4ivARB; + glMultiTexCoord4sARB: TglMultiTexCoord4sARB; + glMultiTexCoord4svARB: TglMultiTexCoord4svARB; + + // GL_ARB_point_parameters + glPointParameterfARB: TglPointParameterfARB; + glPointParameterfvARB: TglPointParameterfvARB; + + // GL_ARB_texture_compression + glCompressedTexImage3DARB: TglCompressedTexImage3DARB; + glCompressedTexImage2DARB: TglCompressedTexImage2DARB; + glCompressedTexImage1DARB: TglCompressedTexImage1DARB; + glCompressedTexSubImage3DARB: TglCompressedTexSubImage3DARB; + glCompressedTexSubImage2DARB: TglCompressedTexSubImage2DARB; + glCompressedTexSubImage1DARB: TglCompressedTexSubImage1DARB; + glGetCompressedTexImageARB: TglGetCompressedTexImageARB; + + // GL_ARB_transpose_matrix + glLoadTransposeMatrixfARB: TglLoadTransposeMatrixfARB; + glLoadTransposeMatrixdARB: TglLoadTransposeMatrixdARB; + glMultTransposeMatrixfARB: TglMultTransposeMatrixfARB; + glMultTransposeMatrixdARB: TglMultTransposeMatrixdARB; + + // GL_ARB_vertex_blend + glWeightbvARB: TglWeightbvARB; + glWeightsvARB: TglWeightsvARB; + glWeightivARB: TglWeightivARB; + glWeightfvARB: TglWeightfvARB; + glWeightdvARB: TglWeightdvARB; + glWeightubvARB: TglWeightubvARB; + glWeightusvARB: TglWeightusvARB; + glWeightuivARB: TglWeightuivARB; + glWeightPointerARB: TglWeightPointerARB; + glVertexBlendARB: TglVertexBlendARB; + + // GL_ARB_vertex_buffer_object + glBindBufferARB: TglBindBufferARB; + glDeleteBuffersARB: TglDeleteBuffersARB; + glGenBuffersARB: TglGenBuffersARB; + glIsBufferARB: TglIsBufferARB; + glBufferDataARB: TglBufferDataARB; + glBufferSubDataARB: TglBufferSubData; + glGetBufferSubDataARB: TglGetBufferSubDataARB; + glMapBufferARB: TglMapBufferARB; + glUnmapBufferARB: TglUnmapBufferARB; + glGetBufferParameterivARB: TglGetBufferParameterivARB; + glGetBufferPointervARB: TglGetBufferPointervARB; + + // GL_ARB_vertex_program + glVertexAttrib1dARB: TglVertexAttrib1dARB; + glVertexAttrib1dvARB: TglVertexAttrib1dvARB; + glVertexAttrib1fARB: TglVertexAttrib1fARB; + glVertexAttrib1fvARB: TglVertexAttrib1fvARB; + glVertexAttrib1sARB: TglVertexAttrib1sARB; + glVertexAttrib1svARB: TglVertexAttrib1svARB; + glVertexAttrib2dARB: TglVertexAttrib2dARB; + glVertexAttrib2dvARB: TglVertexAttrib2dvARB; + glVertexAttrib2fARB: TglVertexAttrib2fARB; + glVertexAttrib2fvARB: TglVertexAttrib2fvARB; + glVertexAttrib2sARB: TglVertexAttrib2sARB; + glVertexAttrib2svARB: TglVertexAttrib2svARB; + glVertexAttrib3dARB: TglVertexAttrib3dARB; + glVertexAttrib3dvARB: TglVertexAttrib3dvARB; + glVertexAttrib3fARB: TglVertexAttrib3fARB; + glVertexAttrib3fvARB: TglVertexAttrib3fvARB; + glVertexAttrib3sARB: TglVertexAttrib3sARB; + glVertexAttrib3svARB: TglVertexAttrib3svARB; + glVertexAttrib4NbvARB: TglVertexAttrib4NbvARB; + glVertexAttrib4NivARB: TglVertexAttrib4NivARB; + glVertexAttrib4NsvARB: TglVertexAttrib4NsvARB; + glVertexAttrib4NubARB: TglVertexAttrib4NubARB; + glVertexAttrib4NubvARB: TglVertexAttrib4NubvARB; + glVertexAttrib4NuivARB: TglVertexAttrib4NuivARB; + glVertexAttrib4NusvARB: TglVertexAttrib4NusvARB; + glVertexAttrib4bvARB: TglVertexAttrib4bvARB; + glVertexAttrib4dARB: TglVertexAttrib4dARB; + glVertexAttrib4dvARB: TglVertexAttrib4dvARB; + glVertexAttrib4fARB: TglVertexAttrib4fARB; + glVertexAttrib4fvARB: TglVertexAttrib4fvARB; + glVertexAttrib4ivARB: TglVertexAttrib4ivARB; + glVertexAttrib4sARB: TglVertexAttrib4sARB; + glVertexAttrib4svARB: TglVertexAttrib4svARB; + glVertexAttrib4ubvARB: TglVertexAttrib4ubvARB; + glVertexAttrib4uivARB: TglVertexAttrib4uivARB; + glVertexAttrib4usvARB: TglVertexAttrib4usvARB; + glVertexAttribPointerARB: TglVertexAttribPointerARB; + glEnableVertexAttribArrayARB: TglEnableVertexAttribArrayARB; + glDisableVertexAttribArrayARB: TglDisableVertexAttribArrayARB; + glProgramStringARB: TglProgramStringARB; + glBindProgramARB: TglBindProgramARB; + glDeleteProgramsARB: TglDeleteProgramsARB; + glGenProgramsARB: TglGenProgramsARB; + + glProgramEnvParameter4dARB: TglProgramEnvParameter4dARB; + glProgramEnvParameter4dvARB: TglProgramEnvParameter4dvARB; + glProgramEnvParameter4fARB: TglProgramEnvParameter4fARB; + glProgramEnvParameter4fvARB: TglProgramEnvParameter4fvARB; + glProgramLocalParameter4dARB: TglProgramLocalParameter4dARB; + glProgramLocalParameter4dvARB: TglProgramLocalParameter4dvARB; + glProgramLocalParameter4fARB: TglProgramLocalParameter4fARB; + glProgramLocalParameter4fvARB: TglProgramLocalParameter4fvARB; + glGetProgramEnvParameterdvARB: TglGetProgramEnvParameterdvARB; + glGetProgramEnvParameterfvARB: TglGetProgramEnvParameterfvARB; + glGetProgramLocalParameterdvARB: TglGetProgramLocalParameterdvARB; + glGetProgramLocalParameterfvARB: TglGetProgramLocalParameterfvARB; + glGetProgramivARB: TglGetProgramivARB; + glGetProgramStringARB: TglGetProgramStringARB; + glGetVertexAttribdvARB: TglGetVertexAttribdvARB; + glGetVertexAttribfvARB: TglGetVertexAttribfvARB; + glGetVertexAttribivARB: TglGetVertexAttribivARB; + glGetVertexAttribPointervARB: TglGetVertexAttribPointervARB; + glIsProgramARB: TglIsProgramARB; + + // GL_ARB_window_pos + glWindowPos2dARB: TglWindowPos2dARB; + glWindowPos2dvARB: TglWindowPos2dvARB; + glWindowPos2fARB: TglWindowPos2fARB; + glWindowPos2fvARB: TglWindowPos2fvARB; + glWindowPos2iARB: TglWindowPos2iARB; + glWindowPos2ivARB: TglWindowPos2ivARB; + glWindowPos2sARB: TglWindowPos2sARB; + glWindowPos2svARB: TglWindowPos2svARB; + glWindowPos3dARB: TglWindowPos3dARB; + glWindowPos3dvARB: TglWindowPos3dvARB; + glWindowPos3fARB: TglWindowPos3fARB; + glWindowPos3fvARB: TglWindowPos3fvARB; + glWindowPos3iARB: TglWindowPos3iARB; + glWindowPos3ivARB: TglWindowPos3ivARB; + glWindowPos3sARB: TglWindowPos3sARB; + glWindowPos3svARB: TglWindowPos3svARB; + + // GL_ARB_draw_buffers + glDrawBuffersARB: TglDrawBuffersARB; + + // GL_ARB_color_buffer_float + glClampColorARB: TglClampColorARB; + + // GL_ARB_vertex_shader + glGetActiveAttribARB: TglGetActiveAttribARB; + glGetAttribLocationARB: TglGetAttribLocationARB; + glBindAttribLocationARB: TglBindAttribLocationARB; + + // GL_ARB_shader_objects + glDeleteObjectARB: TglDeleteObjectARB; + glGetHandleARB: TglGetHandleARB; + glDetachObjectARB: TglDetachObjectARB; + glCreateShaderObjectARB: TglCreateShaderObjectARB; + glShaderSourceARB: TglShaderSourceARB; + glCompileShaderARB: TglCompileShaderARB; + glCreateProgramObjectARB: TglCreateProgramObjectARB; + glAttachObjectARB: TglAttachObjectARB; + glLinkProgramARB: TglLinkProgramARB; + glUseProgramObjectARB: TglUseProgramObjectARB; + glValidateProgramARB: TglValidateProgramARB; + glUniform1fARB: TglUniform1fARB; + glUniform2fARB: TglUniform2fARB; + glUniform3fARB: TglUniform3fARB; + glUniform4fARB: TglUniform4fARB; + glUniform1iARB: TglUniform1iARB; + glUniform2iARB: TglUniform2iARB; + glUniform3iARB: TglUniform3iARB; + glUniform4iARB: TglUniform4iARB; + glUniform1fvARB: TglUniform1fvARB; + glUniform2fvARB: TglUniform2fvARB; + glUniform3fvARB: TglUniform3fvARB; + glUniform4fvARB: TglUniform4fvARB; + glUniform1ivARB: TglUniform1ivARB; + glUniform2ivARB: TglUniform2ivARB; + glUniform3ivARB: TglUniform3ivARB; + glUniform4ivARB: TglUniform4ivARB; + glUniformMatrix2fvARB: TglUniformMatrix2fvARB; + glUniformMatrix3fvARB: TglUniformMatrix3fvARB; + glUniformMatrix4fvARB: TglUniformMatrix4fvARB; + glGetObjectParameterfvARB: TglGetObjectParameterfvARB; + glGetObjectParameterivARB: TglGetObjectParameterivARB; + glGetInfoLogARB: TglGetInfoLogARB; + glGetAttachedObjectsARB: TglGetAttachedObjectsARB; + glGetUniformLocationARB: TglGetUniformLocationARB; + glGetActiveUniformARB: TglGetActiveUniformARB; + glGetUniformfvARB: TglGetUniformfvARB; + glGetUniformivARB: TglGetUniformivARB; + glGetShaderSourceARB: TglGetShaderSourceARB; + + // GL_ARB_Occlusion_Query + glGenQueriesARB: TglGenQueriesARB; + glDeleteQueriesARB: TglDeleteQueriesARB; + glIsQueryARB: TglIsQueryARB; + glBeginQueryARB: TglBeginQueryARB; + glEndQueryARB: TglEndQueryARB; + glGetQueryivARB: TglGetQueryivARB; + glGetQueryObjectivARB: TglGetQueryObjectivARB; + glGetQueryObjectuivARB: TglGetQueryObjectuivARB; + + // GL_ARB_draw_instanced + glDrawArraysInstancedARB: TglDrawArraysInstancedARB; + glDrawElementsInstancedARB: TglDrawElementsInstancedARB; + + // GL_ARB_framebuffer_object + glIsRenderbuffer: TglIsRenderbuffer; + glBindRenderbuffer: TglBindRenderbuffer; + glDeleteRenderbuffers: TglDeleteRenderbuffers; + glGenRenderbuffers: TglGenRenderbuffers; + glRenderbufferStorage: TglRenderbufferStorage; + glGetRenderbufferParameteriv: TglGetRenderbufferParameteriv; + glIsFramebuffer: TglIsFramebuffer; + glBindFramebuffer: TglBindFramebuffer; + glDeleteFramebuffers: TglDeleteFramebuffers; + glGenFramebuffers: TglGenFramebuffers; + glCheckFramebufferStatus: TglCheckFramebufferStatus; + glFramebufferTexture1D: TglFramebufferTexture1D; + glFramebufferTexture2D: TglFramebufferTexture2D; + glFramebufferTexture3D: TglFramebufferTexture3D; + glFramebufferRenderbuffer: TglFramebufferRenderbuffer; + glGetFramebufferAttachmentParameteriv: TglGetFramebufferAttachmentParameteriv; + glGenerateMipmap: TglGenerateMipmap; + glBlitFramebuffer: TglBlitFramebuffer; + glRenderbufferStorageMultisample: TglRenderbufferStorageMultisample; + glFramebufferTextureLayer: TglFramebufferTextureLayer; + + // GL_ARB_geometry_shader4 + glProgramParameteriARB: TglProgramParameteriARB; + glFramebufferTextureARB: TglFramebufferTextureARB; + glFramebufferTextureLayerARB: TglFramebufferTextureLayerARB; + glFramebufferTextureFaceARB: TglFramebufferTextureFaceARB; + + // GL_ARB_instanced_arrays + glVertexAttribDivisorARB: TglVertexAttribDivisorARB; + + // GL_ARB_map_buffer_range + glMapBufferRange: TglMapBufferRange; + glFlushMappedBufferRange: TglFlushMappedBufferRange; + + // GL_ARB_texture_buffer_object + glTexBufferARB: TglTexBufferARB; + + // GL_ARB_vertex_array_object + glBindVertexArray: TglBindVertexArray; + glDeleteVertexArrays: TglDeleteVertexArrays; + glGenVertexArrays: TglGenVertexArrays; + glIsVertexArray: TglIsVertexArray; + + // GL_ARB_uniform_buffer_object + glGetUniformIndices: TglGetUniformIndices; + glGetActiveUniformsiv: TglGetActiveUniformsiv; + glGetActiveUniformName: TglGetActiveUniformName; + glGetUniformBlockIndex: TglGetUniformBlockIndex; + glGetActiveUniformBlockiv: TglGetActiveUniformBlockiv; + glGetActiveUniformBlockName: TglGetActiveUniformBlockName; + glUniformBlockBinding: TglUniformBlockBinding; + + // GL_ARB_copy_buffer + glCopyBufferSubData: TglCopyBufferSubData; + + // GL_ARB_draw_elements_base_vertex + glDrawElementsBaseVertex: TglDrawElementsBaseVertex; + glDrawRangeElementsBaseVertex: TglDrawRangeElementsBaseVertex; + glDrawElementsInstancedBaseVertex: TglDrawElementsInstancedBaseVertex; + glMultiDrawElementsBaseVertex: TglMultiDrawElementsBaseVertex; + + // GL_ARB_provoking_vertex + glProvokingVertex: TglProvokingVertex; + + // GL_ARB_sync + glFenceSync: TglFenceSync; + glIsSync: TglIsSync; + glDeleteSync: TglDeleteSync; + glClientWaitSync: TglClientWaitSync; + glWaitSync: TglWaitSync; + glGetInteger64v: TglGetInteger64v; + glGetSynciv: TglGetSynciv; + + // GL_ARB_texture_multisample + glTexImage2DMultisample: TglTexImage2DMultisample; + glTexImage3DMultisample: TglTexImage3DMultisample; + glGetMultisamplefv: TglGetMultisamplefv; + glSampleMaski: TglSampleMaski; + + // GL_ARB_draw_buffers_blend + glBlendEquationiARB: TglBlendEquationiARB; + glBlendEquationSeparateiARB: TglBlendEquationSeparateiARB; + glBlendFunciARB: TglBlendFunciARB; + glBlendFuncSeparateiARB: TglBlendFuncSeparateiARB; + + // GL_ARB_sample_shading + glMinSampleShadingARB: TglMinSampleShadingARB; + + // GL_ARB_shading_language_include + glNamedStringARB: TglNamedStringARB; + glDeleteNamedStringARB: TglDeleteNamedStringARB; + glCompileShaderIncludeARB: TglCompileShaderIncludeARB; + glIsNamedStringARB: TglIsNamedStringARB; + glGetNamedStringARB: TglGetNamedStringARB; + glGetNamedStringivARB: TglGetNamedStringivARB; + + // GL_ARB_blend_func_extended + glBindFragDataLocationIndexed: TglBindFragDataLocationIndexed; + glGetFragDataIndex: TglGetFragDataIndex; + + // GL_ARB_sampler_objects + glGenSamplers: TglGenSamplers; + glDeleteSamplers: TglDeleteSamplers; + glIsSampler: TglIsSampler; + glBindSampler: TglBindSampler; + glSamplerParameteri: TglSamplerParameteri; + glSamplerParameteriv: TglSamplerParameteriv; + glSamplerParameterf: TglSamplerParameterf; + glSamplerParameterfv: TglSamplerParameterfv; + glSamplerParameterIiv: TglSamplerParameterIiv; + glSamplerParameterIuiv: TglSamplerParameterIuiv; + glGetSamplerParameteriv: TglGetSamplerParameteriv; + glGetSamplerParameterIiv: TglGetSamplerParameterIiv; + glGetSamplerParameterfv: TglGetSamplerParameterfv; + glGetSamplerParameterIuiv: TglGetSamplerParameterIuiv; + + // GL_ARB_timer_query + glQueryCounter: TglQueryCounter; + glGetQueryObjecti64v: TglGetQueryObjecti64v; + glGetQueryObjectui64v: TglGetQueryObjectui64v; + + // GL_ARB_vertex_type_2_10_10_10_rev + glVertexP2ui: TglVertexP2ui; + glVertexP2uiv: TglVertexP2uiv; + glVertexP3ui: TglVertexP3ui; + glVertexP3uiv: TglVertexP3uiv; + glVertexP4ui: TglVertexP4ui; + glVertexP4uiv: TglVertexP4uiv; + glTexCoordP1ui: TglTexCoordP1ui; + glTexCoordP1uiv: TglTexCoordP1uiv; + glTexCoordP2ui: TglTexCoordP2ui; + glTexCoordP2uiv: TglTexCoordP2uiv; + glTexCoordP3ui: TglTexCoordP3ui; + glTexCoordP3uiv: TglTexCoordP3uiv; + glTexCoordP4ui: TglTexCoordP4ui; + glTexCoordP4uiv: TglTexCoordP4uiv; + glMultiTexCoordP1ui: TglMultiTexCoordP1ui; + glMultiTexCoordP1uiv: TglMultiTexCoordP1uiv; + glMultiTexCoordP2ui: TglMultiTexCoordP2ui; + glMultiTexCoordP2uiv: TglMultiTexCoordP2uiv; + glMultiTexCoordP3ui: TglMultiTexCoordP3ui; + glMultiTexCoordP3uiv: TglMultiTexCoordP3uiv; + glMultiTexCoordP4ui: TglMultiTexCoordP4ui; + glMultiTexCoordP4uiv: TglMultiTexCoordP4uiv; + glNormalP3ui: TglNormalP3ui; + glNormalP3uiv: TglNormalP3uiv; + glColorP3ui: TglColorP3ui; + glColorP3uiv: TglColorP3uiv; + glColorP4ui: TglColorP4ui; + glColorP4uiv: TglColorP4uiv; + glSecondaryColorP3ui: TglSecondaryColorP3ui; + glSecondaryColorP3uiv: TglSecondaryColorP3uiv; + glVertexAttribP1ui: TglVertexAttribP1ui; + glVertexAttribP1uiv: TglVertexAttribP1uiv; + glVertexAttribP2ui: TglVertexAttribP2ui; + glVertexAttribP2uiv: TglVertexAttribP2uiv; + glVertexAttribP3ui: TglVertexAttribP3ui; + glVertexAttribP3uiv: TglVertexAttribP3uiv; + glVertexAttribP4ui: TglVertexAttribP4ui; + glVertexAttribP4uiv: TglVertexAttribP4uiv; + + // GL_ARB_draw_indirect + glDrawArraysIndirect: TglDrawArraysIndirect; + glDrawElementsIndirect: TglDrawElementsIndirect; + + // GL_ARB_gpu_shader_fp64 + glUniform1d: TglUniform1d; + glUniform2d: TglUniform2d; + glUniform3d: TglUniform3d; + glUniform4d: TglUniform4d; + glUniform1dv: TglUniform1dv; + glUniform2dv: TglUniform2dv; + glUniform3dv: TglUniform3dv; + glUniform4dv: TglUniform4dv; + glUniformMatrix2dv: TglUniformMatrix2dv; + glUniformMatrix3dv: TglUniformMatrix3dv; + glUniformMatrix4dv: TglUniformMatrix4dv; + glUniformMatrix2x3dv: TglUniformMatrix2x3dv; + glUniformMatrix2x4dv: TglUniformMatrix2x4dv; + glUniformMatrix3x2dv: TglUniformMatrix3x2dv; + glUniformMatrix3x4dv: TglUniformMatrix3x4dv; + glUniformMatrix4x2dv: TglUniformMatrix4x2dv; + glUniformMatrix4x3dv: TglUniformMatrix4x3dv; + glGetUniformdv: TglGetUniformdv; + + // GL_ARB_shader_subroutine + glGetSubroutineUniformLocation: TglGetSubroutineUniformLocation; + glGetSubroutineIndex: TglGetSubroutineIndex; + glGetActiveSubroutineUniformiv: TglGetActiveSubroutineUniformiv; + glGetActiveSubroutineUniformName: TglGetActiveSubroutineUniformName; + glGetActiveSubroutineName: TglGetActiveSubroutineName; + glUniformSubroutinesuiv: TglUniformSubroutinesuiv; + glGetUniformSubroutineuiv: TglGetUniformSubroutineuiv; + glGetProgramStageiv: TglGetProgramStageiv; + + // GL_ARB_tessellation_shader + glPatchParameteri: TglPatchParameteri; + glPatchParameterfv: TglPatchParameterfv; + + // GL_ARB_transform_feedback2 + glBindTransformFeedback: TglBindTransformFeedback; + glDeleteTransformFeedbacks: TglDeleteTransformFeedbacks; + glGenTransformFeedbacks: TglGenTransformFeedbacks; + glIsTransformFeedback: TglIsTransformFeedback; + glPauseTransformFeedback: TglPauseTransformFeedback; + glResumeTransformFeedback: TglResumeTransformFeedback; + glDrawTransformFeedback: TglDrawTransformFeedback; + + // GL_ARB_transform_feedback3 + glDrawTransformFeedbackStream: TglDrawTransformFeedbackStream; + glBeginQueryIndexed: TglBeginQueryIndexed; + glEndQueryIndexed: TglEndQueryIndexed; + glGetQueryIndexediv: TglGetQueryIndexediv; + + // GL_ARB_ES2_compatibility + glReleaseShaderCompiler: TglReleaseShaderCompiler; + glShaderBinary: TglShaderBinary; + glGetShaderPrecisionFormat: TglGetShaderPrecisionFormat; + glDepthRangef: TglDepthRangef; + glClearDepthf: TglClearDepthf; + + // GL_ARB_get_program_binary + glGetProgramBinary: TglGetProgramBinary; + glProgramBinary: TglProgramBinary; + glProgramParameteri: TglProgramParameteri; + + // GL_ARB_separate_shader_objects + glUseProgramStages: TglUseProgramStages; + glActiveShaderProgram: TglActiveShaderProgram; + glCreateShaderProgramv: TglCreateShaderProgramv; + glBindProgramPipeline: TglBindProgramPipeline; + glDeleteProgramPipelines: TglDeleteProgramPipelines; + glGenProgramPipelines: TglGenProgramPipelines; + glIsProgramPipeline: TglIsProgramPipeline; + glGetProgramPipelineiv: TglGetProgramPipelineiv; + glProgramUniform1i: TglProgramUniform1i; + glProgramUniform1iv: TglProgramUniform1iv; + glProgramUniform1f: TglProgramUniform1f; + glProgramUniform1fv: TglProgramUniform1fv; + glProgramUniform1d: TglProgramUniform1d; + glProgramUniform1dv: TglProgramUniform1dv; + glProgramUniform1ui: TglProgramUniform1ui; + glProgramUniform1uiv: TglProgramUniform1uiv; + glProgramUniform2i: TglProgramUniform2i; + glProgramUniform2iv: TglProgramUniform2iv; + glProgramUniform2f: TglProgramUniform2f; + glProgramUniform2fv: TglProgramUniform2fv; + glProgramUniform2d: TglProgramUniform2d; + glProgramUniform2dv: TglProgramUniform2dv; + glProgramUniform2ui: TglProgramUniform2ui; + glProgramUniform2uiv: TglProgramUniform2uiv; + glProgramUniform3i: TglProgramUniform3i; + glProgramUniform3iv: TglProgramUniform3iv; + glProgramUniform3f: TglProgramUniform3f; + glProgramUniform3fv: TglProgramUniform3fv; + glProgramUniform3d: TglProgramUniform3d; + glProgramUniform3dv: TglProgramUniform3dv; + glProgramUniform3ui: TglProgramUniform3ui; + glProgramUniform3uiv: TglProgramUniform3uiv; + glProgramUniform4i: TglProgramUniform4i; + glProgramUniform4iv: TglProgramUniform4iv; + glProgramUniform4f: TglProgramUniform4f; + glProgramUniform4fv: TglProgramUniform4fv; + glProgramUniform4d: TglProgramUniform4d; + glProgramUniform4dv: TglProgramUniform4dv; + glProgramUniform4ui: TglProgramUniform4ui; + glProgramUniform4uiv: TglProgramUniform4uiv; + glProgramUniformMatrix2fv: TglProgramUniformMatrix2fv; + glProgramUniformMatrix3fv: TglProgramUniformMatrix3fv; + glProgramUniformMatrix4fv: TglProgramUniformMatrix4fv; + glProgramUniformMatrix2dv: TglProgramUniformMatrix2dv; + glProgramUniformMatrix3dv: TglProgramUniformMatrix3dv; + glProgramUniformMatrix4dv: TglProgramUniformMatrix4dv; + glProgramUniformMatrix2x3fv: TglProgramUniformMatrix2x3fv; + glProgramUniformMatrix3x2fv: TglProgramUniformMatrix3x2fv; + glProgramUniformMatrix2x4fv: TglProgramUniformMatrix2x4fv; + glProgramUniformMatrix4x2fv: TglProgramUniformMatrix4x2fv; + glProgramUniformMatrix3x4fv: TglProgramUniformMatrix3x4fv; + glProgramUniformMatrix4x3fv: TglProgramUniformMatrix4x3fv; + glProgramUniformMatrix2x3dv: TglProgramUniformMatrix2x3dv; + glProgramUniformMatrix3x2dv: TglProgramUniformMatrix3x2dv; + glProgramUniformMatrix2x4dv: TglProgramUniformMatrix2x4dv; + glProgramUniformMatrix4x2dv: TglProgramUniformMatrix4x2dv; + glProgramUniformMatrix3x4dv: TglProgramUniformMatrix3x4dv; + glProgramUniformMatrix4x3dv: TglProgramUniformMatrix4x3dv; + glValidateProgramPipeline: TglValidateProgramPipeline; + glGetProgramPipelineInfoLog: TglGetProgramPipelineInfoLog; + + // GL_ARB_vertex_attrib_64bit + glVertexAttribL1d: TglVertexAttribL1d; + glVertexAttribL2d: TglVertexAttribL2d; + glVertexAttribL3d: TglVertexAttribL3d; + glVertexAttribL4d: TglVertexAttribL4d; + glVertexAttribL1dv: TglVertexAttribL1dv; + glVertexAttribL2dv: TglVertexAttribL2dv; + glVertexAttribL3dv: TglVertexAttribL3dv; + glVertexAttribL4dv: TglVertexAttribL4dv; + glVertexAttribLPointer: TglVertexAttribLPointer; + glGetVertexAttribLdv: TglGetVertexAttribLdv; + + // GL_ARB_viewport_array + glViewportArrayv: TglViewportArrayv; + glViewportIndexedf: TglViewportIndexedf; + glViewportIndexedfv: TglViewportIndexedfv; + glScissorArrayv: TglScissorArrayv; + glScissorIndexed: TglScissorIndexed; + glScissorIndexedv: TglScissorIndexedv; + glDepthRangeArrayv: TglDepthRangeArrayv; + glDepthRangeIndexed: TglDepthRangeIndexed; + glGetFloati_v: TglGetFloati_v; + glGetDoublei_v: TglGetDoublei_v; + + // GL 4.2 + + // GL_ARB_base_instance + glDrawArraysInstancedBaseInstance : TglDrawArraysInstancedBaseInstance; + glDrawElementsInstancedBaseInstance : TglDrawElementsInstancedBaseInstance; + glDrawElementsInstancedBaseVertexBaseInstance : TglDrawElementsInstancedBaseVertexBaseInstance; + + // GL_ARB_transform_feedback_instanced + glDrawTransformFeedbackInstanced : TglDrawTransformFeedbackInstanced; + glDrawTransformFeedbackStreamInstanced : TglDrawTransformFeedbackStreamInstanced; + + // GL_ARB_internalformat_query + glGetInternalformativ : TglGetInternalformativ; + + // GL_ARB_shader_atomic_counters + glGetActiveAtomicCounterBufferiv : TglGetActiveAtomicCounterBufferiv; + + /// GL_ARB_shader_image_load_store + glBindImageTexture : TglBindImageTexture; + glMemoryBarrier : TglMemoryBarrier; + + // GL_ARB_texture_storage + glTexStorage1D : TglTexStorage1D; + glTexStorage2D : TglTexStorage2D; + glTexStorage3D : TglTexStorage3D; + glTextureStorage1DEXT : TglTextureStorage1DEXT; + glTextureStorage2DEXT : TglTextureStorage2DEXT; + glTextureStorage3DEXT : TglTextureStorage3DEXT; + + + // GL 4.3 + // GL_KHR_debug + glDebugMessageControl : TglDebugMessageControl; + glDebugMessageInsert : TglDebugMessageInsert; + glDebugMessageCallback : TglDebugMessageCallback; + glGetDebugMessageLog : TglGetDebugMessageLog; + glPushDebugGroup : TglPushDebugGroup; + glPopDebugGroup : TglPopDebugGroup; + glObjectLabel : TglObjectLabel; + glGetObjectLabel : TglGetObjectLabel; + glObjectPtrLabel : TglObjectPtrLabel; + glGetObjectPtrLabel : TglGetObjectPtrLabel; + // GL_ARB_clear_buffer_object + glClearBufferData : TglClearBufferData; + glClearBufferSubData : TglClearBufferSubData; + glClearNamedBufferDataEXT : TglClearNamedBufferDataEXT; + glClearNamedBufferSubDataEXT : TglClearNamedBufferSubDataEXT; + // GL_ARB_compute_shader + glDispatchCompute : TglDispatchCompute; + glDispatchComputeIndirect : TglDispatchComputeIndirect; + // GL_ARB_copy_image + glCopyImageSubData : TglCopyImageSubData; + // GL_ARB_framebuffer_no_attachments + glFramebufferParameteri : TglFramebufferParameteri; + glGetFramebufferParameteriv : TglGetFramebufferParameteriv; + glNamedFramebufferParameteriEXT : TglNamedFramebufferParameteriEXT; + glGetNamedFramebufferParameterivEXT : TglGetNamedFramebufferParameterivEXT; + // GL_ARB_internalformat_query2 + glGetInternalformati64v : TglGetInternalformati64v; + // GL_ARB_invalidate_subdata + glInvalidateTexSubImage : TglInvalidateTexSubImage; + glInvalidateTexImage : TglInvalidateTexImage; + glInvalidateBufferSubData : TglInvalidateBufferSubData; + glInvalidateBufferData : TglInvalidateBufferData; + glInvalidateFramebuffer : TglInvalidateFramebuffer; + glInvalidateSubFramebuffer : TglInvalidateSubFramebuffer; + // GL_ARB_multi_draw_indirect + glMultiDrawArraysIndirect : TglMultiDrawArraysIndirect; + glMultiDrawElementsIndirect : TglMultiDrawElementsIndirect; + // GL_ARB_program_interface_query + glGetProgramInterfaceiv : TglGetProgramInterfaceiv; + glGetProgramResourceIndex : TglGetProgramResourceIndex; + glGetProgramResourceName : TglGetProgramResourceName; + glGetProgramResourceiv : TglGetProgramResourceiv; + glGetProgramResourceLocation : TglGetProgramResourceLocation; + glGetProgramResourceLocationIndex : TglGetProgramResourceLocationIndex; + // GL_ARB_shader_storage_buffer_object + glShaderStorageBlockBinding : TglShaderStorageBlockBinding; + // GL_ARB_texture_buffer_range + glTexBufferRange : TglTexBufferRange; + glTextureBufferRangeEXT : TglTextureBufferRangeEXT; + // GL_ARB_texture_storage_multisample + glTexStorage2DMultisample : TglTexStorage2DMultisample; + glTexStorage3DMultisample : TglTexStorage3DMultisample; + glTextureStorage2DMultisampleEXT : TglTextureStorage2DMultisampleEXT; + glTextureStorage3DMultisampleEXT : TglTextureStorage3DMultisampleEXT; + // GL_ARB_texture_view + glTextureView : TglTextureView; + // GL_ARB_vertex_attrib_binding + glBindVertexBuffer : TglBindVertexBuffer; + glVertexAttribFormat : TglVertexAttribFormat; + glVertexAttribIFormat : TglVertexAttribIFormat; + glVertexAttribLFormat : TglVertexAttribLFormat; + glVertexAttribBinding : TglVertexAttribBinding; + glVertexBindingDivisor : TglVertexBindingDivisor; + glVertexArrayBindVertexBufferEXT : TglVertexArrayBindVertexBufferEXT; + glVertexArrayVertexAttribFormatEXT : TglVertexArrayVertexAttribFormatEXT; + glVertexArrayVertexAttribIFormatEXT : TglVertexArrayVertexAttribIFormatEXT; + glVertexArrayVertexAttribLFormatEXT : TglVertexArrayVertexAttribLFormatEXT; + glVertexArrayVertexAttribBindingEXT : TglVertexArrayVertexAttribBindingEXT; + glVertexArrayVertexBindingDivisorEXT : TglVertexArrayVertexBindingDivisorEXT; + // END GL 4.3 + + + // GL 4.4 + glBufferStorage : TglBufferStorage; + glClearTexImage : TglClearTexImage; + glClearTexSubImage : TglClearTexSubImage; + glBindBuffersBase : TglBindBuffersBase; + glBindBuffersRange : TglBindBuffersRange; + glBindTextures : TglBindTextures; + glBindSamplers : TglBindSamplers; + glBindImageTextures : TglBindImageTextures; + glBindVertexBuffers : TglBindVertexBuffers; + // END GL 4.4 + + + // GL_ARB_cl_event + glCreateSyncFromCLeventARB: TglCreateSyncFromCLeventARB; + + // GL_ARB_debug_output + glDebugMessageControlARB: TglDebugMessageControlARB; + glDebugMessageInsertARB: TglDebugMessageInsertARB; + glDebugMessageCallbackARB: TglDebugMessageCallbackARB; + glGetDebugMessageLogARB: TglGetDebugMessageLogARB; + + // GL_ARB_robustness + glGetGraphicsResetStatusARB: TglGetGraphicsResetStatusARB; + glGetnMapdvARB: TglGetnMapdvARB; + glGetnMapfvARB: TglGetnMapfvARB; + glGetnMapivARB: TglGetnMapivARB; + glGetnPixelMapfvARB: TglGetnPixelMapfvARB; + glGetnPixelMapuivARB: TglGetnPixelMapuivARB; + glGetnPixelMapusvARB: TglGetnPixelMapusvARB; + glGetnPolygonStippleARB: TglGetnPolygonStippleARB; + glGetnColorTableARB: TglGetnColorTableARB; + glGetnConvolutionFilterARB: TglGetnConvolutionFilterARB; + glGetnSeparableFilterARB: TglGetnSeparableFilterARB; + glGetnHistogramARB: TglGetnHistogramARB; + glGetnMinmaxARB: TglGetnMinmaxARB; + glGetnTexImageARB: TglGetnTexImageARB; + glReadnPixelsARB: TglReadnPixelsARB; + glGetnCompressedTexImageARB: TglGetnCompressedTexImageARB; + glGetnUniformfvARB: TglGetnUniformfvARB; + glGetnUniformivARB: TglGetnUniformivARB; + glGetnUniformuivARB: TglGetnUniformuivARB; + glGetnUniformdvARB: TglGetnUniformdvARB; + + // GL_ATI_draw_buffers + glDrawBuffersATI: TglDrawBuffersATI; + + // GL_ATI_element_array + glElementPointerATI: TglElementPointerATI; + glDrawElementArrayATI: TglDrawElementArrayATI; + glDrawRangeElementArrayATI: TglDrawRangeElementArrayATI; + + // GL_ATI_envmap_bumpmap + glTexBumpParameterivATI: TglTexBumpParameterivATI; + glTexBumpParameterfvATI: TglTexBumpParameterfvATI; + glGetTexBumpParameterivATI: TglGetTexBumpParameterivATI; + glGetTexBumpParameterfvATI: TglGetTexBumpParameterfvATI; + + // GL_ATI_fragment_shader + glGenFragmentShadersATI: TglGenFragmentShadersATI; + glBindFragmentShaderATI: TglBindFragmentShaderATI; + glDeleteFragmentShaderATI: TglDeleteFragmentShaderATI; + glBeginFragmentShaderATI: TglBeginFragmentShaderATI; + glEndFragmentShaderATI: TglEndFragmentShaderATI; + glPassTexCoordATI: TglPassTexCoordATI; + glSampleMapATI: TglSampleMapATI; + glColorFragmentOp1ATI: TglColorFragmentOp1ATI; + glColorFragmentOp2ATI: TglColorFragmentOp2ATI; + glColorFragmentOp3ATI: TglColorFragmentOp3ATI; + glAlphaFragmentOp1ATI: TglAlphaFragmentOp1ATI; + glAlphaFragmentOp2ATI: TglAlphaFragmentOp2ATI; + glAlphaFragmentOp3ATI: TglAlphaFragmentOp3ATI; + glSetFragmentShaderConstantATI: TglSetFragmentShaderConstantATI; + + // GL_ATI_map_object_buffer + glMapObjectBufferATI: TglMapObjectBufferATI; + glUnmapObjectBufferATI: TglUnmapObjectBufferATI; + + // GL_ATI_pn_triangles + glPNTrianglesiATI: TglPNTrianglesiATI; + glPNTrianglesfATI: TglPNTrianglesfATI; + + // GL_ATI_separate_stencil + glStencilOpSeparateATI: TglStencilOpSeparateATI; + glStencilFuncSeparateATI: TglStencilFuncSeparateATI; + + // GL_ATI_vertex_array_object + glNewObjectBufferATI: TglNewObjectBufferATI; + glIsObjectBufferATI: TglIsObjectBufferATI; + glUpdateObjectBufferATI: TglUpdateObjectBufferATI; + glGetObjectBufferfvATI: TglGetObjectBufferfvATI; + glGetObjectBufferivATI: TglGetObjectBufferivATI; + glFreeObjectBufferATI: TglFreeObjectBufferATI; + glArrayObjectATI: TglArrayObjectATI; + glGetArrayObjectfvATI: TglGetArrayObjectfvATI; + glGetArrayObjectivATI: TglGetArrayObjectivATI; + glVariantArrayObjectATI: TglVariantArrayObjectATI; + glGetVariantArrayObjectfvATI: TglGetVariantArrayObjectfvATI; + glGetVariantArrayObjectivATI: TglGetVariantArrayObjectivATI; + glVertexAttribArrayObjectATI: TglVertexAttribArrayObjectATI; + glGetVertexAttribArrayObjectfvATI: TglGetVertexAttribArrayObjectfvATI; + glGetVertexAttribArrayObjectivATI: TglGetVertexAttribArrayObjectivATI; + + // GL_ATI_vertex_streams + glVertexStream1sATI: TglVertexStream1sATI; + glVertexStream1svATI: TglVertexStream1svATI; + glVertexStream1iATI: TglVertexStream1iATI; + glVertexStream1ivATI: TglVertexStream1ivATI; + glVertexStream1fATI: TglVertexStream1fATI; + glVertexStream1fvATI: TglVertexStream1fvATI; + glVertexStream1dATI: TglVertexStream1dATI; + glVertexStream1dvATI: TglVertexStream1dvATI; + glVertexStream2sATI: TglVertexStream2sATI; + glVertexStream2svATI: TglVertexStream2svATI; + glVertexStream2iATI: TglVertexStream2iATI; + glVertexStream2ivATI: TglVertexStream2ivATI; + glVertexStream2fATI: TglVertexStream2fATI; + glVertexStream2fvATI: TglVertexStream2fvATI; + glVertexStream2dATI: TglVertexStream2dATI; + glVertexStream2dvATI: TglVertexStream2dvATI; + glVertexStream3sATI: TglVertexStream3sATI; + glVertexStream3svATI: TglVertexStream3svATI; + glVertexStream3iATI: TglVertexStream3iATI; + glVertexStream3ivATI: TglVertexStream3ivATI; + glVertexStream3fATI: TglVertexStream3fATI; + glVertexStream3fvATI: TglVertexStream3fvATI; + glVertexStream3dATI: TglVertexStream3dATI; + glVertexStream3dvATI: TglVertexStream3dvATI; + glVertexStream4sATI: TglVertexStream4sATI; + glVertexStream4svATI: TglVertexStream4svATI; + glVertexStream4iATI: TglVertexStream4iATI; + glVertexStream4ivATI: TglVertexStream4ivATI; + glVertexStream4fATI: TglVertexStream4fATI; + glVertexStream4fvATI: TglVertexStream4fvATI; + glVertexStream4dATI: TglVertexStream4dATI; + glVertexStream4dvATI: TglVertexStream4dvATI; + glNormalStream3bATI: TglNormalStream3bATI; + glNormalStream3bvATI: TglNormalStream3bvATI; + glNormalStream3sATI: TglNormalStream3sATI; + glNormalStream3svATI: TglNormalStream3svATI; + glNormalStream3iATI: TglNormalStream3iATI; + glNormalStream3ivATI: TglNormalStream3ivATI; + glNormalStream3fATI: TglNormalStream3fATI; + glNormalStream3fvATI: TglNormalStream3fvATI; + glNormalStream3dATI: TglNormalStream3dATI; + glNormalStream3dvATI: TglNormalStream3dvATI; + glClientActiveVertexStreamATI: TglClientActiveVertexStreamATI; + glVertexBlendEnviATI: TglVertexBlendEnviATI; + glVertexBlendEnvfATI: TglVertexBlendEnvfATI; + + // GL_AMD_performance_monitor + glGetPerfMonitorGroupsAMD: TglGetPerfMonitorGroupsAMD; + glGetPerfMonitorCountersAMD: TglGetPerfMonitorCountersAMD; + glGetPerfMonitorGroupStringAMD: TglGetPerfMonitorGroupStringAMD; + glGetPerfMonitorCounterStringAMD: TglGetPerfMonitorCounterStringAMD; + glGetPerfMonitorCounterInfoAMD: TglGetPerfMonitorCounterInfoAMD; + glGenPerfMonitorsAMD: TglGenPerfMonitorsAMD; + glDeletePerfMonitorsAMD: TglDeletePerfMonitorsAMD; + glSelectPerfMonitorCountersAMD: TglSelectPerfMonitorCountersAMD; + glBeginPerfMonitorAMD: TglBeginPerfMonitorAMD; + glEndPerfMonitorAMD: TglEndPerfMonitorAMD; + glGetPerfMonitorCounterDataAMD: TglGetPerfMonitorCounterDataAMD; + + // GL_AMD_vertex_shader_tesselator + glTessellationFactorAMD: TglTessellationFactorAMD; + glTessellationModeAMD: TglTessellationModeAMD; + + // GL_AMD_draw_buffers_blend + glBlendFuncIndexedAMD: TglBlendFuncIndexedAMD; + glBlendFuncSeparateIndexedAMD: TglBlendFuncSeparateIndexedAMD; + glBlendEquationIndexedAMD: TglBlendEquationIndexedAMD; + glBlendEquationSeparateIndexedAMD: TglBlendEquationSeparateIndexedAMD; + + // GL_AMD_name_gen_delete + glGenNamesAMD: TglGenNamesAMD; + glDeleteNamesAMD: TglDeleteNamesAMD; + glIsNameAMD: TglIsNameAMD; + + // GL_AMD_debug_output + glDebugMessageEnableAMD: TglDebugMessageEnableAMD; + glDebugMessageInsertAMD: TglDebugMessageInsertAMD; + glDebugMessageCallbackAMD: TglDebugMessageCallbackAMD; + glGetDebugMessageLogAMD: TglGetDebugMessageLogAMD; + + // GL_EXT_blend_color + glBlendColorEXT: TglBlendColorEXT; + + // GL_EXT_blend_func_separate + glBlendFuncSeparateEXT: TglBlendFuncSeparateEXT; + + // GL_EXT_blend_minmax + glBlendEquationEXT: TglBlendEquationEXT; + + // GL_EXT_color_subtable + glColorSubTableEXT: TglColorSubTableEXT; + glCopyColorSubTableEXT: TglCopyColorSubTableEXT; + + // GL_EXT_compiled_vertex_array + glLockArraysEXT: TglLockArraysEXT; + glUnlockArraysEXT: TglUnlockArraysEXT; + + // GL_EXT_convolution + glConvolutionFilter1DEXT: TglConvolutionFilter1DEXT; + glConvolutionFilter2DEXT: TglConvolutionFilter2DEXT; + glConvolutionParameterfEXT: TglConvolutionParameterfEXT; + glConvolutionParameterfvEXT: TglConvolutionParameterfvEXT; + glConvolutionParameteriEXT: TglConvolutionParameteriEXT; + glConvolutionParameterivEXT: TglConvolutionParameterivEXT; + glCopyConvolutionFilter1DEXT: TglCopyConvolutionFilter1DEXT; + glCopyConvolutionFilter2DEXT: TglCopyConvolutionFilter2DEXT; + glGetConvolutionFilterEXT: TglGetConvolutionFilterEXT; + glGetConvolutionParameterfvEXT: TglGetConvolutionParameterfvEXT; + glGetConvolutionParameterivEXT: TglGetConvolutionParameterivEXT; + glGetSeparableFilterEXT: TglGetSeparableFilterEXT; + glSeparableFilter2DEXT: TglSeparableFilter2DEXT; + + // GL_EXT_coordinate_frame + glTangent3bEXT: TglTangent3bEXT; + glTangent3bvEXT: TglTangent3bvEXT; + glTangent3dEXT: TglTangent3dEXT; + glTangent3dvEXT: TglTangent3dvEXT; + glTangent3fEXT: TglTangent3fEXT; + glTangent3fvEXT: TglTangent3fvEXT; + glTangent3iEXT: TglTangent3iEXT; + glTangent3ivEXT: TglTangent3ivEXT; + glTangent3sEXT: TglTangent3sEXT; + glTangent3svEXT: TglTangent3svEXT; + glBinormal3bEXT: TglBinormal3bEXT; + glBinormal3bvEXT: TglBinormal3bvEXT; + glBinormal3dEXT: TglBinormal3dEXT; + glBinormal3dvEXT: TglBinormal3dvEXT; + glBinormal3fEXT: TglBinormal3fEXT; + glBinormal3fvEXT: TglBinormal3fvEXT; + glBinormal3iEXT: TglBinormal3iEXT; + glBinormal3ivEXT: TglBinormal3ivEXT; + glBinormal3sEXT: TglBinormal3sEXT; + glBinormal3svEXT: TglBinormal3svEXT; + glTangentPointerEXT: TglTangentPointerEXT; + glBinormalPointerEXT: TglBinormalPointerEXT; + + // GL_EXT_copy_texture + glCopyTexImage1DEXT: TglCopyTexImage1DEXT; + glCopyTexImage2DEXT: TglCopyTexImage2DEXT; + glCopyTexSubImage1DEXT: TglCopyTexSubImage1DEXT; + glCopyTexSubImage2DEXT: TglCopyTexSubImage2DEXT; + glCopyTexSubImage3DEXT: TglCopyTexSubImage3DEXT; + + // GL_EXT_cull_vertex + glCullParameterdvEXT: TglCullParameterdvEXT; + glCullParameterfvEXT: TglCullParameterfvEXT; + + // GL_EXT_draw_range_elements + glDrawRangeElementsEXT: TglDrawRangeElementsEXT; + + // GL_EXT_fog_coord + glFogCoordfEXT: TglFogCoordfEXT; + glFogCoordfvEXT: TglFogCoordfvEXT; + glFogCoorddEXT: TglFogCoorddEXT; + glFogCoorddvEXT: TglFogCoorddvEXT; + glFogCoordPointerEXT: TglFogCoordPointerEXT; + + // GL_EXT_framebuffer_object + glIsRenderbufferEXT: TglIsRenderbufferEXT; + glBindRenderbufferEXT: TglBindRenderbufferEXT; + glDeleteRenderbuffersEXT: TglDeleteRenderbuffersEXT; + glGenRenderbuffersEXT: TglGenRenderbuffersEXT; + glRenderbufferStorageEXT: TglRenderbufferStorageEXT; + glGetRenderbufferParameterivEXT: TglGetRenderbufferParameterivEXT; + glIsFramebufferEXT: TglIsFramebufferEXT; + glBindFramebufferEXT: TglBindFramebufferEXT; + glDeleteFramebuffersEXT: TglDeleteFramebuffersEXT; + glGenFramebuffersEXT: TglGenFramebuffersEXT; + glCheckFramebufferStatusEXT: TglCheckFramebufferStatusEXT; + glFramebufferTexture1DEXT: TglFramebufferTexture1DEXT; + glFramebufferTexture2DEXT: TglFramebufferTexture2DEXT; + glFramebufferTexture3DEXT: TglFramebufferTexture3DEXT; + glFramebufferRenderbufferEXT: TglFramebufferRenderbufferEXT; + glGetFramebufferAttachmentParameterivEXT: TglGetFramebufferAttachmentParameterivEXT; + glGenerateMipmapEXT: TglGenerateMipmapEXT; + + // GL_EXT_histogram + glGetHistogramEXT: TglGetHistogramEXT; + glGetHistogramParameterfvEXT: TglGetHistogramParameterfvEXT; + glGetHistogramParameterivEXT: TglGetHistogramParameterivEXT; + glGetMinmaxEXT: TglGetMinmaxEXT; + glGetMinmaxParameterfvEXT: TglGetMinmaxParameterfvEXT; + glGetMinmaxParameterivEXT: TglGetMinmaxParameterivEXT; + glHistogramEXT: TglHistogramEXT; + glMinmaxEXT: TglMinmaxEXT; + glResetHistogramEXT: TglResetHistogramEXT; + glResetMinmaxEXT: TglResetMinmaxEXT; + + // GL_EXT_index_func + glIndexFuncEXT: TglIndexFuncEXT; + + // GL_EXT_index_material + glIndexMaterialEXT: TglIndexMaterialEXT; + + // GL_EXT_light_texture + glApplyTextureEXT: TglApplyTextureEXT; + glTextureLightEXT: TglTextureLightEXT; + glTextureMaterialEXT: TglTextureMaterialEXT; + + // GL_EXT_multi_draw_arrays + glMultiDrawArraysEXT: TglMultiDrawArraysEXT; + glMultiDrawElementsEXT: TglMultiDrawElementsEXT; + + // GL_EXT_multisample + glSampleMaskEXT: TglSampleMaskEXT; + glSamplePatternEXT: TglSamplePatternEXT; + + // GL_EXT_paletted_texture + glColorTableEXT: TglColorTableEXT; + glGetColorTableEXT: TglGetColorTableEXT; + glGetColorTableParameterivEXT: TglGetColorTableParameterivEXT; + glGetColorTableParameterfvEXT: TglGetColorTableParameterfvEXT; + + // GL_EXT_pixel_transform + glPixelTransformParameteriEXT: TglPixelTransformParameteriEXT; + glPixelTransformParameterfEXT: TglPixelTransformParameterfEXT; + glPixelTransformParameterivEXT: TglPixelTransformParameterivEXT; + glPixelTransformParameterfvEXT: TglPixelTransformParameterfvEXT; + + // GL_EXT_point_parameters + glPointParameterfEXT: TglPointParameterfEXT; + glPointParameterfvEXT: TglPointParameterfvEXT; + + // GL_EXT_polygon_offset + glPolygonOffsetEXT: TglPolygonOffsetEXT; + + // GL_EXT_secondary_color + glSecondaryColor3bEXT: TglSecondaryColor3bEXT; + glSecondaryColor3bvEXT: TglSecondaryColor3bvEXT; + glSecondaryColor3dEXT: TglSecondaryColor3dEXT; + glSecondaryColor3dvEXT: TglSecondaryColor3dvEXT; + glSecondaryColor3fEXT: TglSecondaryColor3fEXT; + glSecondaryColor3fvEXT: TglSecondaryColor3fvEXT; + glSecondaryColor3iEXT: TglSecondaryColor3iEXT; + glSecondaryColor3ivEXT: TglSecondaryColor3ivEXT; + glSecondaryColor3sEXT: TglSecondaryColor3sEXT; + glSecondaryColor3svEXT: TglSecondaryColor3svEXT; + glSecondaryColor3ubEXT: TglSecondaryColor3ubEXT; + glSecondaryColor3ubvEXT: TglSecondaryColor3ubvEXT; + glSecondaryColor3uiEXT: TglSecondaryColor3uiEXT; + glSecondaryColor3uivEXT: TglSecondaryColor3uivEXT; + glSecondaryColor3usEXT: TglSecondaryColor3usEXT; + glSecondaryColor3usvEXT: TglSecondaryColor3usvEXT; + glSecondaryColorPointerEXT: TglSecondaryColorPointerEXT; + + // GL_EXT_stencil_two_side + glActiveStencilFaceEXT: TglActiveStencilFaceEXT; + + // GL_EXT_subtexture + glTexSubImage1DEXT: TglTexSubImage1DEXT; + glTexSubImage2DEXT: TglTexSubImage2DEXT; + + // GL_EXT_texture3D + glTexImage3DEXT: TglTexImage3DEXT; + glTexSubImage3DEXT: TglTexSubImage3DEXT; + + // GL_EXT_texture_object + glAreTexturesResidentEXT: TglAreTexturesResidentEXT; + glBindTextureEXT: TglBindTextureEXT; + glDeleteTexturesEXT: TglDeleteTexturesEXT; + glGenTexturesEXT: TglGenTexturesEXT; + glIsTextureEXT: TglIsTextureEXT; + glPrioritizeTexturesEXT: TglPrioritizeTexturesEXT; + + // GL_EXT_texture_perturb_normal + glTextureNormalEXT: TglTextureNormalEXT; + + // GL_EXT_vertex_array + glArrayElementEXT: TglArrayElementEXT; + glColorPointerEXT: TglColorPointerEXT; + glDrawArraysEXT: TglDrawArraysEXT; + glEdgeFlagPointerEXT: TglEdgeFlagPointerEXT; + glGetPointervEXT: TglGetPointervEXT; + glIndexPointerEXT: TglIndexPointerEXT; + glNormalPointerEXT: TglNormalPointerEXT; + glTexCoordPointerEXT: TglTexCoordPointerEXT; + glVertexPointerEXT: TglVertexPointerEXT; + + // GL_EXT_vertex_shader + glBeginVertexShaderEXT: TglBeginVertexShaderEXT; + glEndVertexShaderEXT: TglEndVertexShaderEXT; + glBindVertexShaderEXT: TglBindVertexShaderEXT; + glGenVertexShadersEXT: TglGenVertexShadersEXT; + glDeleteVertexShaderEXT: TglDeleteVertexShaderEXT; + glShaderOp1EXT: TglShaderOp1EXT; + glShaderOp2EXT: TglShaderOp2EXT; + glShaderOp3EXT: TglShaderOp3EXT; + glSwizzleEXT: TglSwizzleEXT; + glWriteMaskEXT: TglWriteMaskEXT; + glInsertComponentEXT: TglInsertComponentEXT; + glExtractComponentEXT: TglExtractComponentEXT; + glGenSymbolsEXT: TglGenSymbolsEXT; + glSetInvariantEXT: TglSetInvariantEXT; + glSetLocalConstantEXT: TglSetLocalConstantEXT; + glVariantbvEXT: TglVariantbvEXT; + glVariantsvEXT: TglVariantsvEXT; + glVariantivEXT: TglVariantivEXT; + glVariantfvEXT: TglVariantfvEXT; + glVariantdvEXT: TglVariantdvEXT; + glVariantubvEXT: TglVariantubvEXT; + glVariantusvEXT: TglVariantusvEXT; + glVariantuivEXT: TglVariantuivEXT; + glVariantPointerEXT: TglVariantPointerEXT; + glEnableVariantClientStateEXT: TglEnableVariantClientStateEXT; + glDisableVariantClientStateEXT: TglDisableVariantClientStateEXT; + glBindLightParameterEXT: TglBindLightParameterEXT; + glBindMaterialParameterEXT: TglBindMaterialParameterEXT; + glBindTexGenParameterEXT: TglBindTexGenParameterEXT; + glBindTextureUnitParameterEXT: TglBindTextureUnitParameterEXT; + glBindParameterEXT: TglBindParameterEXT; + glIsVariantEnabledEXT: TglIsVariantEnabledEXT; + glGetVariantBooleanvEXT: TglGetVariantBooleanvEXT; + glGetVariantIntegervEXT: TglGetVariantIntegervEXT; + glGetVariantFloatvEXT: TglGetVariantFloatvEXT; + glGetVariantPointervEXT: TglGetVariantPointervEXT; + glGetInvariantBooleanvEXT: TglGetInvariantBooleanvEXT; + glGetInvariantIntegervEXT: TglGetInvariantIntegervEXT; + glGetInvariantFloatvEXT: TglGetInvariantFloatvEXT; + glGetLocalConstantBooleanvEXT: TglGetLocalConstantBooleanvEXT; + glGetLocalConstantIntegervEXT: TglGetLocalConstantIntegervEXT; + glGetLocalConstantFloatvEXT: TglGetLocalConstantFloatvEXT; + + // GL_EXT_vertex_weighting + glVertexWeightfEXT: TglVertexWeightfEXT; + glVertexWeightfvEXT: TglVertexWeightfvEXT; + glVertexWeightPointerEXT: TglVertexWeightPointerEXT; + + // GL_EXT_stencil_clear_tag + glStencilClearTagEXT: TglStencilClearTagEXT; + + // GL_EXT_framebuffer_blit + glBlitFramebufferEXT: TglBlitFramebufferEXT; + + // GL_EXT_framebuffer_multisample + glRenderbufferStorageMultisampleEXT: TglRenderbufferStorageMultisampleEXT; + + // GL_EXT_timer_query + glGetQueryObjecti64vEXT: TglGetQueryObjecti64vEXT; + glGetQueryObjectui64vEXT: TglGetQueryObjectui64vEXT; + + // GL_EXT_gpu_program_parameters + glProgramEnvParameters4fvEXT: TglProgramEnvParameters4fvEXT; + glProgramLocalParameters4fvEXT: TglProgramLocalParameters4fvEXT; + + // GL_EXT_bindable_uniform + glUniformBufferEXT: TglUniformBufferEXT; + glGetUniformBufferSizeEXT: TglGetUniformBufferSizeEXT; + glGetUniformOffsetEXT: TglGetUniformOffsetEXT; + + // GL_EXT_draw_buffers2 + glColorMaskIndexedEXT: TglColorMaskIndexedEXT; + glGetBooleanIndexedvEXT: TglGetBooleanIndexedvEXT; + glGetIntegerIndexedvEXT: TglGetIntegerIndexedvEXT; + glEnableIndexedEXT: TglEnableIndexedEXT; + glDisableIndexedEXT: TglDisableIndexedEXT; + glIsEnabledIndexedEXT: TglIsEnabledIndexedEXT; + + // GL_EXT_draw_instanced + glDrawArraysInstancedEXT: TglDrawArraysInstancedEXT; + glDrawElementsInstancedEXT: TglDrawElementsInstancedEXT; + + // GL_EXT_geometry_shader4 + glProgramParameteriEXT: TglProgramParameteriEXT; + glFramebufferTextureEXT: TglFramebufferTextureEXT; +// glFramebufferTextureLayerEXT: TglFramebufferTextureLayerEXT; + glFramebufferTextureFaceEXT: TglFramebufferTextureFaceEXT; + + // GL_EXT_gpu_shader4 + glVertexAttribI1iEXT: TglVertexAttribI1iEXT; + glVertexAttribI2iEXT: TglVertexAttribI2iEXT; + glVertexAttribI3iEXT: TglVertexAttribI3iEXT; + glVertexAttribI4iEXT: TglVertexAttribI4iEXT; + glVertexAttribI1uiEXT: TglVertexAttribI1uiEXT; + glVertexAttribI2uiEXT: TglVertexAttribI2uiEXT; + glVertexAttribI3uiEXT: TglVertexAttribI3uiEXT; + glVertexAttribI4uiEXT: TglVertexAttribI4uiEXT; + glVertexAttribI1ivEXT: TglVertexAttribI1ivEXT; + glVertexAttribI2ivEXT: TglVertexAttribI2ivEXT; + glVertexAttribI3ivEXT: TglVertexAttribI3ivEXT; + glVertexAttribI4ivEXT: TglVertexAttribI4ivEXT; + glVertexAttribI1uivEXT: TglVertexAttribI1uivEXT; + glVertexAttribI2uivEXT: TglVertexAttribI2uivEXT; + glVertexAttribI3uivEXT: TglVertexAttribI3uivEXT; + glVertexAttribI4uivEXT: TglVertexAttribI4uivEXT; + glVertexAttribI4bvEXT: TglVertexAttribI4bvEXT; + glVertexAttribI4svEXT: TglVertexAttribI4svEXT; + glVertexAttribI4ubvEXT: TglVertexAttribI4ubvEXT; + glVertexAttribI4usvEXT: TglVertexAttribI4usvEXT; + glVertexAttribIPointerEXT: TglVertexAttribIPointerEXT; + glGetVertexAttribIivEXT: TglGetVertexAttribIivEXT; + glGetVertexAttribIuivEXT: TglGetVertexAttribIuivEXT; + glUniform1uiEXT: TglUniform1uiEXT; + glUniform2uiEXT: TglUniform2uiEXT; + glUniform3uiEXT: TglUniform3uiEXT; + glUniform4uiEXT: TglUniform4uiEXT; + glUniform1uivEXT: TglUniform1uivEXT; + glUniform2uivEXT: TglUniform2uivEXT; + glUniform3uivEXT: TglUniform3uivEXT; + glUniform4uivEXT: TglUniform4uivEXT; + glGetUniformuivEXT: TglGetUniformuivEXT; + glBindFragDataLocationEXT: TglBindFragDataLocationEXT; + glGetFragDataLocationEXT: TglGetFragDataLocationEXT; + + // GL_EXT_texture_array + glFramebufferTextureLayerEXT: TglFramebufferTextureLayerEXT; + + // GL_EXT_texture_buffer_object + glTexBufferEXT: TglTexBufferEXT; + + // GL_EXT_texture_integer + glClearColorIiEXT: TglClearColorIiEXT; + glClearColorIuiEXT: TglClearColorIuiEXT; + glTexParameterIivEXT: TglTexParameterIivEXT; + glTexParameterIuivEXT: TglTexParameterIuivEXT; + glGetTexParameterIivEXT: TglGetTexParameterIivEXT; + glGetTexParameterIiuvEXT: TglGetTexParameterIiuvEXT; + + // GL_EXT_transform_feedback + glBeginTransformFeedbackEXT: TglBeginTransformFeedbackEXT; + glEndTransformFeedbackEXT: TglEndTransformFeedbackEXT; + glBindBufferRangeEXT: TglBindBufferRangeEXT; + glBindBufferOffsetEXT: TglBindBufferOffsetEXT; + glBindBufferBaseEXT: TglBindBufferBaseEXT; + glTransformFeedbackVaryingsEXT: TglTransformFeedbackVaryingsEXT; + glGetTransformFeedbackVaryingEXT: TglGetTransformFeedbackVaryingEXT; + + // GL_EXT_direct_state_access + glClientAttribDefaultEXT: TglClientAttribDefaultEXT; + glPushClientAttribDefaultEXT: TglPushClientAttribDefaultEXT; + glMatrixLoadfEXT: TglMatrixLoadfEXT; + glMatrixLoaddEXT: TglMatrixLoaddEXT; + glMatrixMultfEXT: TglMatrixMultfEXT; + glMatrixMultdEXT: TglMatrixMultdEXT; + glMatrixLoadIdentityEXT: TglMatrixLoadIdentityEXT; + glMatrixRotatefEXT: TglMatrixRotatefEXT; + glMatrixRotatedEXT: TglMatrixRotatedEXT; + glMatrixScalefEXT: TglMatrixScalefEXT; + glMatrixScaledEXT: TglMatrixScaledEXT; + glMatrixTranslatefEXT: TglMatrixTranslatefEXT; + glMatrixTranslatedEXT: TglMatrixTranslatedEXT; + glMatrixFrustumEXT: TglMatrixFrustumEXT; + glMatrixOrthoEXT: TglMatrixOrthoEXT; + glMatrixPopEXT: TglMatrixPopEXT; + glMatrixPushEXT: TglMatrixPushEXT; + glMatrixLoadTransposefEXT: TglMatrixLoadTransposefEXT; + glMatrixLoadTransposedEXT: TglMatrixLoadTransposedEXT; + glMatrixMultTransposefEXT: TglMatrixMultTransposefEXT; + glMatrixMultTransposedEXT: TglMatrixMultTransposedEXT; + glTextureParameterfEXT: TglTextureParameterfEXT; + glTextureParameterfvEXT: TglTextureParameterfvEXT; + glTextureParameteriEXT: TglTextureParameteriEXT; + glTextureParameterivEXT: TglTextureParameterivEXT; + glTextureImage1DEXT: TglTextureImage1DEXT; + glTextureImage2DEXT: TglTextureImage2DEXT; + glTextureSubImage1DEXT: TglTextureSubImage1DEXT; + glTextureSubImage2DEXT: TglTextureSubImage2DEXT; + glCopyTextureImage1DEXT: TglCopyTextureImage1DEXT; + glCopyTextureImage2DEXT: TglCopyTextureImage2DEXT; + glCopyTextureSubImage1DEXT: TglCopyTextureSubImage1DEXT; + glCopyTextureSubImage2DEXT: TglCopyTextureSubImage2DEXT; + glGetTextureImageEXT: TglGetTextureImageEXT; + glGetTextureParameterfvEXT: TglGetTextureParameterfvEXT; + glGetTextureParameterivEXT: TglGetTextureParameterivEXT; + glGetTextureLevelParameterfvEXT: TglGetTextureLevelParameterfvEXT; + glGetTextureLevelParameterivEXT: TglGetTextureLevelParameterivEXT; + glTextureImage3DEXT: TglTextureImage3DEXT; + glTextureSubImage3DEXT: TglTextureSubImage3DEXT; + glCopyTextureSubImage3DEXT: TglCopyTextureSubImage3DEXT; + glMultiTexParameterfEXT: TglMultiTexParameterfEXT; + glMultiTexParameterfvEXT: TglMultiTexParameterfvEXT; + glMultiTexParameteriEXT: TglMultiTexParameteriEXT; + glMultiTexParameterivEXT: TglMultiTexParameterivEXT; + glMultiTexImage1DEXT: TglMultiTexImage1DEXT; + glMultiTexImage2DEXT: TglMultiTexImage2DEXT; + glMultiTexSubImage1DEXT: TglMultiTexSubImage1DEXT; + glMultiTexSubImage2DEXT: TglMultiTexSubImage2DEXT; + glCopyMultiTexImage1DEXT: TglCopyMultiTexImage1DEXT; + glCopyMultiTexImage2DEXT: TglCopyMultiTexImage2DEXT; + glCopyMultiTexSubImage1DEXT: TglCopyMultiTexSubImage1DEXT; + glCopyMultiTexSubImage2DEXT: TglCopyMultiTexSubImage2DEXT; + glGetMultiTexImageEXT: TglGetMultiTexImageEXT; + glGetMultiTexParameterfvEXT: TglGetMultiTexParameterfvEXT; + glGetMultiTexParameterivEXT: TglGetMultiTexParameterivEXT; + glGetMultiTexLevelParameterfvEXT: TglGetMultiTexLevelParameterfvEXT; + glGetMultiTexLevelParameterivEXT: TglGetMultiTexLevelParameterivEXT; + glMultiTexImage3DEXT: TglMultiTexImage3DEXT; + glMultiTexSubImage3DEXT: TglMultiTexSubImage3DEXT; + glCopyMultiTexSubImage3DEXT: TglCopyMultiTexSubImage3DEXT; + glBindMultiTextureEXT: TglBindMultiTextureEXT; + glEnableClientStateIndexedEXT: TglEnableClientStateIndexedEXT; + glDisableClientStateIndexedEXT: TglDisableClientStateIndexedEXT; + glMultiTexCoordPointerEXT: TglMultiTexCoordPointerEXT; + glMultiTexEnvfEXT: TglMultiTexEnvfEXT; + glMultiTexEnvfvEXT: TglMultiTexEnvfvEXT; + glMultiTexEnviEXT: TglMultiTexEnviEXT; + glMultiTexEnvivEXT: TglMultiTexEnvivEXT; + glMultiTexGendEXT: TglMultiTexGendEXT; + glMultiTexGendvEXT: TglMultiTexGendvEXT; + glMultiTexGenfEXT: TglMultiTexGenfEXT; + glMultiTexGenfvEXT: TglMultiTexGenfvEXT; + glMultiTexGeniEXT: TglMultiTexGeniEXT; + glMultiTexGenivEXT: TglMultiTexGenivEXT; + glGetMultiTexEnvfvEXT: TglGetMultiTexEnvfvEXT; + glGetMultiTexEnvivEXT: TglGetMultiTexEnvivEXT; + glGetMultiTexGendvEXT: TglGetMultiTexGendvEXT; + glGetMultiTexGenfvEXT: TglGetMultiTexGenfvEXT; + glGetMultiTexGenivEXT: TglGetMultiTexGenivEXT; + glGetFloatIndexedvEXT: TglGetFloatIndexedvEXT; + glGetDoubleIndexedvEXT: TglGetDoubleIndexedvEXT; + glGetPointerIndexedvEXT: TglGetPointerIndexedvEXT; + glCompressedTextureImage3DEXT: TglCompressedTextureImage3DEXT; + glCompressedTextureImage2DEXT: TglCompressedTextureImage2DEXT; + glCompressedTextureImage1DEXT: TglCompressedTextureImage1DEXT; + glCompressedTextureSubImage3DEXT: TglCompressedTextureSubImage3DEXT; + glCompressedTextureSubImage2DEXT: TglCompressedTextureSubImage2DEXT; + glCompressedTextureSubImage1DEXT: TglCompressedTextureSubImage1DEXT; + glGetCompressedTextureImageEXT: TglGetCompressedTextureImageEXT; + glCompressedMultiTexImage3DEXT: TglCompressedMultiTexImage3DEXT; + glCompressedMultiTexImage2DEXT: TglCompressedMultiTexImage2DEXT; + glCompressedMultiTexImage1DEXT: TglCompressedMultiTexImage1DEXT; + glCompressedMultiTexSubImage3DEXT: TglCompressedMultiTexSubImage3DEXT; + glCompressedMultiTexSubImage2DEXT: TglCompressedMultiTexSubImage2DEXT; + glCompressedMultiTexSubImage1DEXT: TglCompressedMultiTexSubImage1DEXT; + glGetCompressedMultiTexImageEXT: TglGetCompressedMultiTexImageEXT; + glNamedProgramStringEXT: TglNamedProgramStringEXT; + glNamedProgramLocalParameter4dEXT: TglNamedProgramLocalParameter4dEXT; + glNamedProgramLocalParameter4dvEXT: TglNamedProgramLocalParameter4dvEXT; + glNamedProgramLocalParameter4fEXT: TglNamedProgramLocalParameter4fEXT; + glNamedProgramLocalParameter4fvEXT: TglNamedProgramLocalParameter4fvEXT; + glGetNamedProgramLocalParameterdvEXT: TglGetNamedProgramLocalParameterdvEXT; + glGetNamedProgramLocalParameterfvEXT: TglGetNamedProgramLocalParameterfvEXT; + glGetNamedProgramivEXT: TglGetNamedProgramivEXT; + glGetNamedProgramStringEXT: TglGetNamedProgramStringEXT; + glNamedProgramLocalParameters4fvEXT: TglNamedProgramLocalParameters4fvEXT; + glNamedProgramLocalParameterI4iEXT: TglNamedProgramLocalParameterI4iEXT; + glNamedProgramLocalParameterI4ivEXT: TglNamedProgramLocalParameterI4ivEXT; + glNamedProgramLocalParametersI4ivEXT: TglNamedProgramLocalParametersI4ivEXT; + glNamedProgramLocalParameterI4uiEXT: TglNamedProgramLocalParameterI4uiEXT; + glNamedProgramLocalParameterI4uivEXT: TglNamedProgramLocalParameterI4uivEXT; + glNamedProgramLocalParametersI4uivEXT: TglNamedProgramLocalParametersI4uivEXT; + glGetNamedProgramLocalParameterIivEXT: TglGetNamedProgramLocalParameterIivEXT; + glGetNamedProgramLocalParameterIuivEXT: TglGetNamedProgramLocalParameterIuivEXT; + glTextureParameterIivEXT: TglTextureParameterIivEXT; + glTextureParameterIuivEXT: TglTextureParameterIuivEXT; + glGetTextureParameterIivEXT: TglGetTextureParameterIivEXT; + glGetTextureParameterIuivEXT: TglGetTextureParameterIuivEXT; + glMultiTexParameterIivEXT: TglMultiTexParameterIivEXT; + glMultiTexParameterIuivEXT: TglMultiTexParameterIuivEXT; + glGetMultiTexParameterIivEXT: TglGetMultiTexParameterIivEXT; + glGetMultiTexParameterIuivEXT: TglGetMultiTexParameterIuivEXT; + glProgramUniform1fEXT: TglProgramUniform1fEXT; + glProgramUniform2fEXT: TglProgramUniform2fEXT; + glProgramUniform3fEXT: TglProgramUniform3fEXT; + glProgramUniform4fEXT: TglProgramUniform4fEXT; + glProgramUniform1iEXT: TglProgramUniform1iEXT; + glProgramUniform2iEXT: TglProgramUniform2iEXT; + glProgramUniform3iEXT: TglProgramUniform3iEXT; + glProgramUniform4iEXT: TglProgramUniform4iEXT; + glProgramUniform1fvEXT: TglProgramUniform1fvEXT; + glProgramUniform2fvEXT: TglProgramUniform2fvEXT; + glProgramUniform3fvEXT: TglProgramUniform3fvEXT; + glProgramUniform4fvEXT: TglProgramUniform4fvEXT; + glProgramUniform1ivEXT: TglProgramUniform1ivEXT; + glProgramUniform2ivEXT: TglProgramUniform2ivEXT; + glProgramUniform3ivEXT: TglProgramUniform3ivEXT; + glProgramUniform4ivEXT: TglProgramUniform4ivEXT; + glProgramUniformMatrix2fvEXT: TglProgramUniformMatrix2fvEXT; + glProgramUniformMatrix3fvEXT: TglProgramUniformMatrix3fvEXT; + glProgramUniformMatrix4fvEXT: TglProgramUniformMatrix4fvEXT; + glProgramUniformMatrix2x3fvEXT: TglProgramUniformMatrix2x3fvEXT; + glProgramUniformMatrix3x2fvEXT: TglProgramUniformMatrix3x2fvEXT; + glProgramUniformMatrix2x4fvEXT: TglProgramUniformMatrix2x4fvEXT; + glProgramUniformMatrix4x2fvEXT: TglProgramUniformMatrix4x2fvEXT; + glProgramUniformMatrix3x4fvEXT: TglProgramUniformMatrix3x4fvEXT; + glProgramUniformMatrix4x3fvEXT: TglProgramUniformMatrix4x3fvEXT; + glProgramUniform1uiEXT: TglProgramUniform1uiEXT; + glProgramUniform2uiEXT: TglProgramUniform2uiEXT; + glProgramUniform3uiEXT: TglProgramUniform3uiEXT; + glProgramUniform4uiEXT: TglProgramUniform4uiEXT; + glProgramUniform1uivEXT: TglProgramUniform1uivEXT; + glProgramUniform2uivEXT: TglProgramUniform2uivEXT; + glProgramUniform3uivEXT: TglProgramUniform3uivEXT; + glProgramUniform4uivEXT: TglProgramUniform4uivEXT; + glNamedBufferDataEXT: TglNamedBufferDataEXT; + glNamedBufferSubDataEXT: TglNamedBufferSubDataEXT; + glMapNamedBufferEXT: TglMapNamedBufferEXT; + glUnmapNamedBufferEXT: TglUnmapNamedBufferEXT; + glMapNamedBufferRangeEXT: TglMapNamedBufferRangeEXT; + glFlushMappedNamedBufferRangeEXT: TglFlushMappedNamedBufferRangeEXT; + glNamedCopyBufferSubDataEXT: TglNamedCopyBufferSubDataEXT; + glGetNamedBufferParameterivEXT: TglGetNamedBufferParameterivEXT; + glGetNamedBufferPointervEXT: TglGetNamedBufferPointervEXT; + glGetNamedBufferSubDataEXT: TglGetNamedBufferSubDataEXT; + glTextureBufferEXT: TglTextureBufferEXT; + glMultiTexBufferEXT: TglMultiTexBufferEXT; + glNamedRenderbufferStorageEXT: TglNamedRenderbufferStorageEXT; + glGetNamedRenderbufferParameterivEXT: TglGetNamedRenderbufferParameterivEXT; + glCheckNamedFramebufferStatusEXT: TglCheckNamedFramebufferStatusEXT; + glNamedFramebufferTexture1DEXT: TglNamedFramebufferTexture1DEXT; + glNamedFramebufferTexture2DEXT: TglNamedFramebufferTexture2DEXT; + glNamedFramebufferTexture3DEXT: TglNamedFramebufferTexture3DEXT; + glNamedFramebufferRenderbufferEXT: TglNamedFramebufferRenderbufferEXT; + glGetNamedFramebufferAttachmentParameterivEXT: TglGetNamedFramebufferAttachmentParameterivEXT; + glGenerateTextureMipmapEXT: TglGenerateTextureMipmapEXT; + glGenerateMultiTexMipmapEXT: TglGenerateMultiTexMipmapEXT; + glFramebufferDrawBufferEXT: TglFramebufferDrawBufferEXT; + glFramebufferDrawBuffersEXT: TglFramebufferDrawBuffersEXT; + glFramebufferReadBufferEXT: TglFramebufferReadBufferEXT; + glGetFramebufferParameterivEXT: TglGetFramebufferParameterivEXT; + glNamedRenderbufferStorageMultisampleEXT: TglNamedRenderbufferStorageMultisampleEXT; + glNamedRenderbufferStorageMultisampleCoverageEXT: TglNamedRenderbufferStorageMultisampleCoverageEXT; + glNamedFramebufferTextureEXT: TglNamedFramebufferTextureEXT; + glNamedFramebufferTextureLayerEXT: TglNamedFramebufferTextureLayerEXT; + glNamedFramebufferTextureFaceEXT: TglNamedFramebufferTextureFaceEXT; + glTextureRenderbufferEXT: TglTextureRenderbufferEXT; + glMultiTexRenderbufferEXT: TglMultiTexRenderbufferEXT; + glProgramUniform1dEXT: TglProgramUniform1dEXT; + glProgramUniform2dEXT: TglProgramUniform2dEXT; + glProgramUniform3dEXT: TglProgramUniform3dEXT; + glProgramUniform4dEXT: TglProgramUniform4dEXT; + glProgramUniform1dvEXT: TglProgramUniform1dvEXT; + glProgramUniform2dvEXT: TglProgramUniform2dvEXT; + glProgramUniform3dvEXT: TglProgramUniform3dvEXT; + glProgramUniform4dvEXT: TglProgramUniform4dvEXT; + glProgramUniformMatrix2dvEXT: TglProgramUniformMatrix2dvEXT; + glProgramUniformMatrix3dvEXT: TglProgramUniformMatrix3dvEXT; + glProgramUniformMatrix4dvEXT: TglProgramUniformMatrix4dvEXT; + glProgramUniformMatrix2x3dvEXT: TglProgramUniformMatrix2x3dvEXT; + glProgramUniformMatrix2x4dvEXT: TglProgramUniformMatrix2x4dvEXT; + glProgramUniformMatrix3x2dvEXT: TglProgramUniformMatrix3x2dvEXT; + glProgramUniformMatrix3x4dvEXT: TglProgramUniformMatrix3x4dvEXT; + glProgramUniformMatrix4x2dvEXT: TglProgramUniformMatrix4x2dvEXT; + glProgramUniformMatrix4x3dvEXT: TglProgramUniformMatrix4x3dvEXT; + + // GL_EXT_separate_shader_objects + glUseShaderProgramEXT: TglUseShaderProgramEXT; + glActiveProgramEXT: TglActiveProgramEXT; + glCreateShaderProgramEXT: TglCreateShaderProgramEXT; + + // GL_EXT_shader_image_load_store + glBindImageTextureEXT: TglBindImageTextureEXT; + glMemoryBarrierEXT: TglMemoryBarrierEXT; + + // GL_EXT_vertex_attrib_64bit + glVertexAttribL1dEXT: TglVertexAttribL1dEXT; + glVertexAttribL2dEXT: TglVertexAttribL2dEXT; + glVertexAttribL3dEXT: TglVertexAttribL3dEXT; + glVertexAttribL4dEXT: TglVertexAttribL4dEXT; + glVertexAttribL1dvEXT: TglVertexAttribL1dvEXT; + glVertexAttribL2dvEXT: TglVertexAttribL2dvEXT; + glVertexAttribL3dvEXT: TglVertexAttribL3dvEXT; + glVertexAttribL4dvEXT: TglVertexAttribL4dvEXT; + glVertexAttribLPointerEXT: TglVertexAttribLPointerEXT; + glGetVertexAttribLdvEXT: TglGetVertexAttribLdvEXT; + glVertexArrayVertexAttribLOffsetEXT: TglVertexArrayVertexAttribLOffsetEXT; + + // GL_HP_image_transform + glImageTransformParameteriHP: TglImageTransformParameteriHP; + glImageTransformParameterfHP: TglImageTransformParameterfHP; + glImageTransformParameterivHP: TglImageTransformParameterivHP; + glImageTransformParameterfvHP: TglImageTransformParameterfvHP; + glGetImageTransformParameterivHP: TglGetImageTransformParameterivHP; + glGetImageTransformParameterfvHP: TglGetImageTransformParameterfvHP; + + // GL_EXT_depth_bounds_test + glDepthBoundsEXT: TglDepthBoundsEXT; + + // GL_EXT_blend_equation_separate + glBlendEquationSeparateEXT: TglBlendEquationSeparateEXT; + + // GL_IBM_multimode_draw_arrays + glMultiModeDrawArraysIBM: TglMultiModeDrawArraysIBM; + glMultiModeDrawElementsIBM: TglMultiModeDrawElementsIBM; + + // GL_IBM_vertex_array_lists + glColorPointerListIBM: TglColorPointerListIBM; + glSecondaryColorPointerListIBM: TglSecondaryColorPointerListIBM; + glEdgeFlagPointerListIBM: TglEdgeFlagPointerListIBM; + glFogCoordPointerListIBM: TglFogCoordPointerListIBM; + glIndexPointerListIBM: TglIndexPointerListIBM; + glNormalPointerListIBM: TglNormalPointerListIBM; + glTexCoordPointerListIBM: TglTexCoordPointerListIBM; + glVertexPointerListIBM: TglVertexPointerListIBM; + + // GL_INGR_blend_func_separate + glBlendFuncSeparateINGR: TglBlendFuncSeparateINGR; + + // GL_INTEL_parallel_arrays + glVertexPointervINTEL: TglVertexPointervINTEL; + glNormalPointervINTEL: TglNormalPointervINTEL; + glColorPointervINTEL: TglColorPointervINTEL; + glTexCoordPointervINTEL: TglTexCoordPointervINTEL; + + // GL_MESA_resize_buffers + glResizeBuffersMESA: TglResizeBuffersMESA; + + // GL_MESA_window_pos + glWindowPos2dMESA: TglWindowPos2dMESA; + glWindowPos2dvMESA: TglWindowPos2dvMESA; + glWindowPos2fMESA: TglWindowPos2fMESA; + glWindowPos2fvMESA: TglWindowPos2fvMESA; + glWindowPos2iMESA: TglWindowPos2iMESA; + glWindowPos2ivMESA: TglWindowPos2ivMESA; + glWindowPos2sMESA: TglWindowPos2sMESA; + glWindowPos2svMESA: TglWindowPos2svMESA; + glWindowPos3dMESA: TglWindowPos3dMESA; + glWindowPos3dvMESA: TglWindowPos3dvMESA; + glWindowPos3fMESA: TglWindowPos3fMESA; + glWindowPos3fvMESA: TglWindowPos3fvMESA; + glWindowPos3iMESA: TglWindowPos3iMESA; + glWindowPos3ivMESA: TglWindowPos3ivMESA; + glWindowPos3sMESA: TglWindowPos3sMESA; + glWindowPos3svMESA: TglWindowPos3svMESA; + glWindowPos4dMESA: TglWindowPos4dMESA; + glWindowPos4dvMESA: TglWindowPos4dvMESA; + glWindowPos4fMESA: TglWindowPos4fMESA; + glWindowPos4fvMESA: TglWindowPos4fvMESA; + glWindowPos4iMESA: TglWindowPos4iMESA; + glWindowPos4ivMESA: TglWindowPos4ivMESA; + glWindowPos4sMESA: TglWindowPos4sMESA; + glWindowPos4svMESA: TglWindowPos4svMESA; + + // GL_NV_evaluators + glMapControlPointsNV: TglMapControlPointsNV; + glMapParameterivNV: TglMapParameterivNV; + glMapParameterfvNV: TglMapParameterfvNV; + glGetMapControlPointsNV: TglGetMapControlPointsNV; + glGetMapParameterivNV: TglGetMapParameterivNV; + glGetMapParameterfvNV: TglGetMapParameterfvNV; + glGetMapAttribParameterivNV: TglGetMapAttribParameterivNV; + glGetMapAttribParameterfvNV: TglGetMapAttribParameterfvNV; + glEvalMapsNV: TglEvalMapsNV; + + // GL_NV_fence + glDeleteFencesNV: TglDeleteFencesNV; + glGenFencesNV: TglGenFencesNV; + glIsFenceNV: TglIsFenceNV; + glTestFenceNV: TglTestFenceNV; + glGetFenceivNV: TglGetFenceivNV; + glFinishFenceNV: TglFinishFenceNV; + glSetFenceNV: TglSetFenceNV; + + // GL_NV_fragment_program + glProgramNamedParameter4fNV: TglProgramNamedParameter4fNV; + glProgramNamedParameter4dNV: TglProgramNamedParameter4dNV; + glProgramNamedParameter4fvNV: TglProgramNamedParameter4fvNV; + glProgramNamedParameter4dvNV: TglProgramNamedParameter4dvNV; + glGetProgramNamedParameterfvNV: TglGetProgramNamedParameterfvNV; + glGetProgramNamedParameterdvNV: TglGetProgramNamedParameterdvNV; + + // GL_NV_half_float + glVertex2hNV: TglVertex2hNV; + glVertex2hvNV: TglVertex2hvNV; + glVertex3hNV: TglVertex3hNV; + glVertex3hvNV: TglVertex3hvNV; + glVertex4hNV: TglVertex4hNV; + glVertex4hvNV: TglVertex4hvNV; + glNormal3hNV: TglNormal3hNV; + glNormal3hvNV: TglNormal3hvNV; + glColor3hNV: TglColor3hNV; + glColor3hvNV: TglColor3hvNV; + glColor4hNV: TglColor4hNV; + glColor4hvNV: TglColor4hvNV; + glTexCoord1hNV: TglTexCoord1hNV; + glTexCoord1hvNV: TglTexCoord1hvNV; + glTexCoord2hNV: TglTexCoord2hNV; + glTexCoord2hvNV: TglTexCoord2hvNV; + glTexCoord3hNV: TglTexCoord3hNV; + glTexCoord3hvNV: TglTexCoord3hvNV; + glTexCoord4hNV: TglTexCoord4hNV; + glTexCoord4hvNV: TglTexCoord4hvNV; + glMultiTexCoord1hNV: TglMultiTexCoord1hNV; + glMultiTexCoord1hvNV: TglMultiTexCoord1hvNV; + glMultiTexCoord2hNV: TglMultiTexCoord2hNV; + glMultiTexCoord2hvNV: TglMultiTexCoord2hvNV; + glMultiTexCoord3hNV: TglMultiTexCoord3hNV; + glMultiTexCoord3hvNV: TglMultiTexCoord3hvNV; + glMultiTexCoord4hNV: TglMultiTexCoord4hNV; + glMultiTexCoord4hvNV: TglMultiTexCoord4hvNV; + glFogCoordhNV: TglFogCoordhNV; + glFogCoordhvNV: TglFogCoordhvNV; + glSecondaryColor3hNV: TglSecondaryColor3hNV; + glSecondaryColor3hvNV: TglSecondaryColor3hvNV; + glVertexWeighthNV: TglVertexWeighthNV; + glVertexWeighthvNV: TglVertexWeighthvNV; + glVertexAttrib1hNV: TglVertexAttrib1hNV; + glVertexAttrib1hvNV: TglVertexAttrib1hvNV; + glVertexAttrib2hNV: TglVertexAttrib2hNV; + glVertexAttrib2hvNV: TglVertexAttrib2hvNV; + glVertexAttrib3hNV: TglVertexAttrib3hNV; + glVertexAttrib3hvNV: TglVertexAttrib3hvNV; + glVertexAttrib4hNV: TglVertexAttrib4hNV; + glVertexAttrib4hvNV: TglVertexAttrib4hvNV; + glVertexAttribs1hvNV: TglVertexAttribs1hvNV; + glVertexAttribs2hvNV: TglVertexAttribs2hvNV; + glVertexAttribs3hvNV: TglVertexAttribs3hvNV; + glVertexAttribs4hvNV: TglVertexAttribs4hvNV; + + // GL_NV_occlusion_query + glGenOcclusionQueriesNV: TglGenOcclusionQueriesNV; + glDeleteOcclusionQueriesNV: TglDeleteOcclusionQueriesNV; + glIsOcclusionQueryNV: TglIsOcclusionQueryNV; + glBeginOcclusionQueryNV: TglBeginOcclusionQueryNV; + glEndOcclusionQueryNV: TglEndOcclusionQueryNV; + glGetOcclusionQueryivNV: TglGetOcclusionQueryivNV; + glGetOcclusionQueryuivNV: TglGetOcclusionQueryuivNV; + + // GL_NV_pixel_data_range + glPixelDataRangeNV: TglPixelDataRangeNV; + glFlushPixelDataRangeNV: TglFlushPixelDataRangeNV; + + // GL_NV_point_sprite + glPointParameteriNV: TglPointParameteriNV; + glPointParameterivNV: TglPointParameterivNV; + + // GL_NV_primitive_restart + glPrimitiveRestartNV: TglPrimitiveRestartNV; + glPrimitiveRestartIndexNV: TglPrimitiveRestartIndexNV; + + // GL_NV_register_combiners + glCombinerParameterfvNV: TglCombinerParameterfvNV; + glCombinerParameterfNV: TglCombinerParameterfNV; + glCombinerParameterivNV: TglCombinerParameterivNV; + glCombinerParameteriNV: TglCombinerParameteriNV; + glCombinerInputNV: TglCombinerInputNV; + glCombinerOutputNV: TglCombinerOutputNV; + glFinalCombinerInputNV: TglFinalCombinerInputNV; + glGetCombinerInputParameterfvNV: TglGetCombinerInputParameterfvNV; + glGetCombinerInputParameterivNV: TglGetCombinerInputParameterivNV; + glGetCombinerOutputParameterfvNV: TglGetCombinerOutputParameterfvNV; + glGetCombinerOutputParameterivNV: TglGetCombinerOutputParameterivNV; + glGetFinalCombinerInputParameterfvNV: TglGetFinalCombinerInputParameterfvNV; + glGetFinalCombinerInputParameterivNV: TglGetFinalCombinerInputParameterivNV; + + // GL_NV_register_combiners2 + glCombinerStageParameterfvNV: TglCombinerStageParameterfvNV; + glGetCombinerStageParameterfvNV: TglGetCombinerStageParameterfvNV; + + // GL_NV_vertex_array_range + glFlushVertexArrayRangeNV: TglFlushVertexArrayRangeNV; + glVertexArrayRangeNV: TglVertexArrayRangeNV; + + // GL_NV_vertex_program + glAreProgramsResidentNV: TglAreProgramsResidentNV; + glBindProgramNV: TglBindProgramNV; + glDeleteProgramsNV: TglDeleteProgramsNV; + glExecuteProgramNV: TglExecuteProgramNV; + glGenProgramsNV: TglGenProgramsNV; + glGetProgramParameterdvNV: TglGetProgramParameterdvNV; + glGetProgramParameterfvNV: TglGetProgramParameterfvNV; + glGetProgramivNV: TglGetProgramivNV; + glGetProgramStringNV: TglGetProgramStringNV; + glGetTrackMatrixivNV: TglGetTrackMatrixivNV; + glGetVertexAttribdvNV: TglGetVertexAttribdvNV; + glGetVertexAttribfvNV: TglGetVertexAttribfvNV; + glGetVertexAttribivNV: TglGetVertexAttribivNV; + glGetVertexAttribPointervNV: TglGetVertexAttribPointervNV; + glIsProgramNV: TglIsProgramNV; + glLoadProgramNV: TglLoadProgramNV; + glProgramParameter4dNV: TglProgramParameter4dNV; + glProgramParameter4dvNV: TglProgramParameter4dvNV; + glProgramParameter4fNV: TglProgramParameter4fNV; + glProgramParameter4fvNV: TglProgramParameter4fvNV; + glProgramParameters4dvNV: TglProgramParameters4dvNV; + glProgramParameters4fvNV: TglProgramParameters4fvNV; + glRequestResidentProgramsNV: TglRequestResidentProgramsNV; + glTrackMatrixNV: TglTrackMatrixNV; + glVertexAttribPointerNV: TglVertexAttribPointerNV; + glVertexAttrib1dNV: TglVertexAttrib1dNV; + glVertexAttrib1dvNV: TglVertexAttrib1dvNV; + glVertexAttrib1fNV: TglVertexAttrib1fNV; + glVertexAttrib1fvNV: TglVertexAttrib1fvNV; + glVertexAttrib1sNV: TglVertexAttrib1sNV; + glVertexAttrib1svNV: TglVertexAttrib1svNV; + glVertexAttrib2dNV: TglVertexAttrib2dNV; + glVertexAttrib2dvNV: TglVertexAttrib2dvNV; + glVertexAttrib2fNV: TglVertexAttrib2fNV; + glVertexAttrib2fvNV: TglVertexAttrib2fvNV; + glVertexAttrib2sNV: TglVertexAttrib2sNV; + glVertexAttrib2svNV: TglVertexAttrib2svNV; + glVertexAttrib3dNV: TglVertexAttrib3dNV; + glVertexAttrib3dvNV: TglVertexAttrib3dvNV; + glVertexAttrib3fNV: TglVertexAttrib3fNV; + glVertexAttrib3fvNV: TglVertexAttrib3fvNV; + glVertexAttrib3sNV: TglVertexAttrib3sNV; + glVertexAttrib3svNV: TglVertexAttrib3svNV; + glVertexAttrib4dNV: TglVertexAttrib4dNV; + glVertexAttrib4dvNV: TglVertexAttrib4dvNV; + glVertexAttrib4fNV: TglVertexAttrib4fNV; + glVertexAttrib4fvNV: TglVertexAttrib4fvNV; + glVertexAttrib4sNV: TglVertexAttrib4sNV; + glVertexAttrib4svNV: TglVertexAttrib4svNV; + glVertexAttrib4ubNV: TglVertexAttrib4ubNV; + glVertexAttrib4ubvNV: TglVertexAttrib4ubvNV; + glVertexAttribs1dvNV: TglVertexAttribs1dvNV; + glVertexAttribs1fvNV: TglVertexAttribs1fvNV; + glVertexAttribs1svNV: TglVertexAttribs1svNV; + glVertexAttribs2dvNV: TglVertexAttribs2dvNV; + glVertexAttribs2fvNV: TglVertexAttribs2fvNV; + glVertexAttribs2svNV: TglVertexAttribs2svNV; + glVertexAttribs3dvNV: TglVertexAttribs3dvNV; + glVertexAttribs3fvNV: TglVertexAttribs3fvNV; + glVertexAttribs3svNV: TglVertexAttribs3svNV; + glVertexAttribs4dvNV: TglVertexAttribs4dvNV; + glVertexAttribs4fvNV: TglVertexAttribs4fvNV; + glVertexAttribs4svNV: TglVertexAttribs4svNV; + glVertexAttribs4ubvNV: TglVertexAttribs4ubvNV; + + // GL_NV_depth_buffer_float + glDepthRangedNV: TglDepthRangedNV; + glClearDepthdNV: TglClearDepthdNV; + glDepthBoundsdNV: TglDepthBoundsdNV; + + // GL_NV_framebuffer_multisample_coverage + glRenderbufferStorageMultsampleCoverageNV: TglRenderbufferStorageMultsampleCoverageNV; + + // GL_NV_geometry_program4 + glProgramVertexLimitNV: TglProgramVertexLimitNV; + + // GL_NV_gpu_program4 + glProgramLocalParameterI4iNV: TglProgramLocalParameterI4iNV; + glProgramLocalParameterI4ivNV: TglProgramLocalParameterI4ivNV; + glProgramLocalParametersI4ivNV: TglProgramLocalParametersI4ivNV; + glProgramLocalParameterI4uiNV: TglProgramLocalParameterI4uiNV; + glProgramLocalParameterI4uivNV: TglProgramLocalParameterI4uivNV; + glProgramLocalParametersI4uivNV: TglProgramLocalParametersI4uivNV; + glProgramEnvParameterI4iNV: TglProgramEnvParameterI4iNV; + glProgramEnvParameterI4ivNV: TglProgramEnvParameterI4ivNV; + glProgramEnvParametersI4ivNV: TglProgramEnvParametersI4ivNV; + glProgramEnvParameterI4uiNV: TglProgramEnvParameterI4uiNV; + glProgramEnvParameterI4uivNV: TglProgramEnvParameterI4uivNV; + glProgramEnvParametersI4uivNV: TglProgramEnvParametersI4uivNV; + glGetProgramLocalParameterIivNV: TglGetProgramLocalParameterIivNV; + glGetProgramLocalParameterIuivNV: TglGetProgramLocalParameterIuivNV; + glGetProgramEnvParameterIivNV: TglGetProgramEnvParameterIivNV; + glGetProgramEnvParameterIuivNV: TglGetProgramEnvParameterIuivNV; + + // GL_NV_parameter_buffer_object + glProgramBufferParametersfvNV: TglProgramBufferParametersfvNV; + glProgramBufferParametersIivNV: TglProgramBufferParametersIivNV; + glProgramBufferParametersIuivNV: TglProgramBufferParametersIuivNV; + + // GL_NV_transform_feedback + glBeginTransformFeedbackNV: TglBeginTransformFeedbackNV; + glEndTransformFeedbackNV: TglEndTransformFeedbackNV; + glTransformFeedbackAttribsNV: TglTransformFeedbackAttribsNV; + glBindBufferRangeNV: TglBindBufferRangeNV; + glBindBufferOffsetNV: TglBindBufferOffsetNV; + glBindBufferBaseNV: TglBindBufferBaseNV; + glTransformFeedbackVaryingsNV: TglTransformFeedbackVaryingsNV; + glActiveVaryingNV: TglActiveVaryingNV; + glGetVaryingLocationNV: TglGetVaryingLocationNV; + glGetActiveVaryingNV: TglGetActiveVaryingNV; + glGetTransformFeedbackVaryingNV: TglGetTransformFeedbackVaryingNV; + glTransformFeedbackStreamAttribsNV: TglTransformFeedbackStreamAttribsNV; + + // GL_NV_conditional_render + glBeginConditionalRenderNV: TglBeginConditionalRenderNV; + glEndConditionalRenderNV: TglEndConditionalRenderNV; + + // GL_NV_present_video + glPresentFrameKeyedNV: TglPresentFrameKeyedNV; + glPresentFrameDualFillNV: TglPresentFrameDualFillNV; + glGetVideoivNV: TglGetVideoivNV; + glGetVideouivNV: TglGetVideouivNV; + glGetVideoi64vNV: TglGetVideoi64vNV; + glGetVideoui64vNV: TglGetVideoui64vNV; +// glVideoParameterivNV: TglVideoParameterivNV; + + // GL_NV_explicit_multisample + glGetMultisamplefvNV: TglGetMultisamplefvNV; + glSampleMaskIndexedNV: TglSampleMaskIndexedNV; + glTexRenderbufferNV: TglTexRenderbufferNV; + + // GL_NV_transform_feedback2 + glBindTransformFeedbackNV: TglBindTransformFeedbackNV; + glDeleteTransformFeedbacksNV: TglDeleteTransformFeedbacksNV; + glGenTransformFeedbacksNV: TglGenTransformFeedbacksNV; + glIsTransformFeedbackNV: TglIsTransformFeedbackNV; + glPauseTransformFeedbackNV: TglPauseTransformFeedbackNV; + glResumeTransformFeedbackNV: TglResumeTransformFeedbackNV; + glDrawTransformFeedbackNV: TglDrawTransformFeedbackNV; + + // GL_NV_video_capture + glBeginVideoCaptureNV: TglBeginVideoCaptureNV; + glBindVideoCaptureStreamBufferNV: TglBindVideoCaptureStreamBufferNV; + glBindVideoCaptureStreamTextureNV: TglBindVideoCaptureStreamTextureNV; + glEndVideoCaptureNV: TglEndVideoCaptureNV; + glGetVideoCaptureivNV: TglGetVideoCaptureivNV; + glGetVideoCaptureStreamivNV: TglGetVideoCaptureStreamivNV; + glGetVideoCaptureStreamfvNV: TglGetVideoCaptureStreamfvNV; + glGetVideoCaptureStreamdvNV: TglGetVideoCaptureStreamdvNV; + glVideoCaptureNV: TglVideoCaptureNV; + glVideoCaptureStreamParameterivNV: TglVideoCaptureStreamParameterivNV; + glVideoCaptureStreamParameterfvNV: TglVideoCaptureStreamParameterfvNV; + glVideoCaptureStreamParameterdvNV: TglVideoCaptureStreamParameterdvNV; + + // GL_NV_copy_image + glCopyImageSubDataNV: TglCopyImageSubDataNV; + + // GL_NV_shader_buffer_load + glMakeBufferResidentNV: TglMakeBufferResidentNV; + glMakeBufferNonResidentNV: TglMakeBufferNonResidentNV; + glIsBufferResidentNV: TglIsBufferResidentNV; + glMakeNamedBufferResidentNV: TglMakeNamedBufferResidentNV; + glMakeNamedBufferNonResidentNV: TglMakeNamedBufferNonResidentNV; + glIsNamedBufferResidentNV: TglIsNamedBufferResidentNV; + glGetBufferParameterui64vNV: TglGetBufferParameterui64vNV; + glGetNamedBufferParameterui64vNV: TglGetNamedBufferParameterui64vNV; + glGetIntegerui64vNV: TglGetIntegerui64vNV; + glUniformui64NV: TglUniformui64NV; + glUniformui64vNV: TglUniformui64vNV; + glGetUniformui64vNV: TglGetUniformui64vNV; + glProgramUniformui64NV: TglProgramUniformui64NV; + glProgramUniformui64vNV: TglProgramUniformui64vNV; + + // GL_NV_vertex_buffer_unified_memory + glBufferAddressRangeNV: TglBufferAddressRangeNV; + glVertexFormatNV: TglVertexFormatNV; + glNormalFormatNV: TglNormalFormatNV; + glColorFormatNV: TglColorFormatNV; + glIndexFormatNV: TglIndexFormatNV; + glTexCoordFormatNV: TglTexCoordFormatNV; + glEdgeFlagFormatNV: TglEdgeFlagFormatNV; + glSecondaryColorFormatNV: TglSecondaryColorFormatNV; + glFogCoordFormatNV: TglFogCoordFormatNV; + glVertexAttribFormatNV: TglVertexAttribFormatNV; + glVertexAttribIFormatNV: TglVertexAttribIFormatNV; + glGetIntegerui64i_vNV: TglGetIntegerui64i_vNV; + + // GL_NV_gpu_program5 + glProgramSubroutineParametersuivNV: TglProgramSubroutineParametersuivNV; + glGetProgramSubroutineParameteruivNV: TglGetProgramSubroutineParameteruivNV; + + // GL_NV_gpu_shader5 + glUniform1i64NV: TglUniform1i64NV; + glUniform2i64NV: TglUniform2i64NV; + glUniform3i64NV: TglUniform3i64NV; + glUniform4i64NV: TglUniform4i64NV; + glUniform1i64vNV: TglUniform1i64vNV; + glUniform2i64vNV: TglUniform2i64vNV; + glUniform3i64vNV: TglUniform3i64vNV; + glUniform4i64vNV: TglUniform4i64vNV; + glUniform1ui64NV: TglUniform1ui64NV; + glUniform2ui64NV: TglUniform2ui64NV; + glUniform3ui64NV: TglUniform3ui64NV; + glUniform4ui64NV: TglUniform4ui64NV; + glUniform1ui64vNV: TglUniform1ui64vNV; + glUniform2ui64vNV: TglUniform2ui64vNV; + glUniform3ui64vNV: TglUniform3ui64vNV; + glUniform4ui64vNV: TglUniform4ui64vNV; + glGetUniformi64vNV: TglGetUniformi64vNV; + glProgramUniform1i64NV: TglProgramUniform1i64NV; + glProgramUniform2i64NV: TglProgramUniform2i64NV; + glProgramUniform3i64NV: TglProgramUniform3i64NV; + glProgramUniform4i64NV: TglProgramUniform4i64NV; + glProgramUniform1i64vNV: TglProgramUniform1i64vNV; + glProgramUniform2i64vNV: TglProgramUniform2i64vNV; + glProgramUniform3i64vNV: TglProgramUniform3i64vNV; + glProgramUniform4i64vNV: TglProgramUniform4i64vNV; + glProgramUniform1ui64NV: TglProgramUniform1ui64NV; + glProgramUniform2ui64NV: TglProgramUniform2ui64NV; + glProgramUniform3ui64NV: TglProgramUniform3ui64NV; + glProgramUniform4ui64NV: TglProgramUniform4ui64NV; + glProgramUniform1ui64vNV: TglProgramUniform1ui64vNV; + glProgramUniform2ui64vNV: TglProgramUniform2ui64vNV; + glProgramUniform3ui64vNV: TglProgramUniform3ui64vNV; + glProgramUniform4ui64vNV: TglProgramUniform4ui64vNV; + + // GL_NV_vertex_attrib_integer_64bit + glVertexAttribL1i64NV: TglVertexAttribL1i64NV; + glVertexAttribL2i64NV: TglVertexAttribL2i64NV; + glVertexAttribL3i64NV: TglVertexAttribL3i64NV; + glVertexAttribL4i64NV: TglVertexAttribL4i64NV; + glVertexAttribL1i64vNV: TglVertexAttribL1i64vNV; + glVertexAttribL2i64vNV: TglVertexAttribL2i64vNV; + glVertexAttribL3i64vNV: TglVertexAttribL3i64vNV; + glVertexAttribL4i64vNV: TglVertexAttribL4i64vNV; + glVertexAttribL1ui64NV: TglVertexAttribL1ui64NV; + glVertexAttribL2ui64NV: TglVertexAttribL2ui64NV; + glVertexAttribL3ui64NV: TglVertexAttribL3ui64NV; + glVertexAttribL4ui64NV: TglVertexAttribL4ui64NV; + glVertexAttribL1ui64vNV: TglVertexAttribL1ui64vNV; + glVertexAttribL2ui64vNV: TglVertexAttribL2ui64vNV; + glVertexAttribL3ui64vNV: TglVertexAttribL3ui64vNV; + glVertexAttribL4ui64vNV: TglVertexAttribL4ui64vNV; + glGetVertexAttribLi64vNV: TglGetVertexAttribLi64vNV; + glGetVertexAttribLui64vNV: TglGetVertexAttribLui64vNV; + glVertexAttribLFormatNV: TglVertexAttribLFormatNV; + + // GL_NV_vdpau_interop + glVDPAUInitNV: TglVDPAUInitNV; + glVDPAUFiniNV: TglVDPAUFiniNV; + glVDPAURegisterVideoSurfaceNV: TglVDPAURegisterVideoSurfaceNV; + glVDPAURegisterOutputSurfaceNV: TglVDPAURegisterOutputSurfaceNV; + glVDPAUIsSurfaceNV: TglVDPAUIsSurfaceNV; + glVDPAUUnregisterSurfaceNV: TglVDPAUUnregisterSurfaceNV; + glVDPAUGetSurfaceivNV: TglVDPAUGetSurfaceivNV; + glVDPAUSurfaceAccessNV: TglVDPAUSurfaceAccessNV; + glVDPAUMapSurfacesNV: TglVDPAUMapSurfacesNV; + glVDPAUUnmapSurfacesNV: TglVDPAUUnmapSurfacesNV; + + // GL_NV_texture_barrier + glTextureBarrierNV: TglTextureBarrierNV; + + // (4.3) GL_NV_path_rendering + glGenPathsNV : TglGenPathsNV; + glDeletePathsNV : TglDeletePathsNV; + glIsPathNV : TglIsPathNV; + glPathCommandsNV : TglPathCommandsNV; + glPathCoordsNV : TglPathCoordsNV; + glPathSubCommandsNV : TglPathSubCommandsNV; + glPathSubCoordsNV : TglPathSubCoordsNV; + glPathStringNV : TglPathStringNV; + glPathGlyphsNV : TglPathGlyphsNV; + glPathGlyphRangeNV : TglPathGlyphRangeNV; + glWeightPathsNV : TglWeightPathsNV; + glCopyPathNV : TglCopyPathNV; + glInterpolatePathsNV : TglInterpolatePathsNV; + glTransformPathNV : TglTransformPathNV; + glPathParameterivNV : TglPathParameterivNV; + glPathParameteriNV : TglPathParameteriNV; + glPathParameterfvNV : TglPathParameterfvNV; + glPathParameterfNV : TglPathParameterfNV; + glPathDashArrayNV : TglPathDashArrayNV; + glPathStencilFuncNV : TglPathStencilFuncNV; + glPathStencilDepthOffsetNV : TglPathStencilDepthOffsetNV; + glStencilFillPathNV : TglStencilFillPathNV; + glStencilStrokePathNV : TglStencilStrokePathNV; + glStencilFillPathInstancedNV : TglStencilFillPathInstancedNV; + glStencilStrokePathInstancedNV : TglStencilStrokePathInstancedNV; + glPathCoverDepthFuncNV : TglPathCoverDepthFuncNV; + glPathColorGenNV : TglPathColorGenNV; + glPathTexGenNV : TglPathTexGenNV; + glPathFogGenNV : TglPathFogGenNV; + glCoverFillPathNV : TglCoverFillPathNV; + glCoverStrokePathNV : TglCoverStrokePathNV; + glCoverFillPathInstancedNV : TglCoverFillPathInstancedNV; + glCoverStrokePathInstancedNV : TglCoverStrokePathInstancedNV; + glGetPathParameterivNV : TglGetPathParameterivNV; + glGetPathParameterfvNV : TglGetPathParameterfvNV; + glGetPathCommandsNV : TglGetPathCommandsNV; + glGetPathCoordsNV : TglGetPathCoordsNV; + glGetPathDashArrayNV : TglGetPathDashArrayNV; + glGetPathMetricsNV : TglGetPathMetricsNV; + glGetPathMetricRangeNV : TglGetPathMetricRangeNV; + glGetPathSpacingNV : TglGetPathSpacingNV; + glGetPathColorGenivNV : TglGetPathColorGenivNV; + glGetPathColorGenfvNV : TglGetPathColorGenfvNV; + glGetPathTexGenivNV : TglGetPathTexGenivNV; + glGetPathTexGenfvNV : TglGetPathTexGenfvNV; + glIsPointInFillPathNV : TglIsPointInFillPathNV; + glIsPointInStrokePathNV : TglIsPointInStrokePathNV; + glGetPathLengthNV : TglGetPathLengthNV; + glPointAlongPathNV : TglPointAlongPathNV; + + // GL_AMD_pinned_memory + + // GL_AMD_stencil_operation_extended + glStencilOpValueAMD : TglStencilOpValueAMD; + + // GL_AMD_vertex_shader_viewport_index + + // GL_AMD_vertex_shader_layer + + // GL_NV_bindless_texture + glGetTextureHandleNV : TglGetTextureHandleNV; + glGetTextureSamplerHandleNV : TglGetTextureSamplerHandleNV; + glMakeTextureHandleResidentNV : TglMakeTextureHandleResidentNV; + glMakeTextureHandleNonResidentNV : TglMakeTextureHandleNonResidentNV; + glGetImageHandleNV : TglGetImageHandleNV; + glMakeImageHandleResidentNV : TglMakeImageHandleResidentNV; + glMakeImageHandleNonResidentNV : TglMakeImageHandleNonResidentNV; + glUniformHandleui64NV : TglUniformHandleui64NV; + glUniformHandleui64vNV : TglUniformHandleui64vNV; + glProgramUniformHandleui64NV : TglProgramUniformHandleui64NV; + glProgramUniformHandleui64vNV : TglProgramUniformHandleui64vNV; + glIsTextureHandleResidentNV : TglIsTextureHandleResidentNV; + glIsImageHandleResidentNV : TglIsImageHandleResidentNV; + + // + + // GL_PGI_misc_hints + glHintPGI: TglHintPGI; + + // GL_SGIS_detail_texture + glDetailTexFuncSGIS: TglDetailTexFuncSGIS; + glGetDetailTexFuncSGIS: TglGetDetailTexFuncSGIS; + + // GL_SGIS_fog_function + glFogFuncSGIS: TglFogFuncSGIS; + glGetFogFuncSGIS: TglGetFogFuncSGIS; + + // GL_SGIS_multisample + glSampleMaskSGIS: TglSampleMaskSGIS; + glSamplePatternSGIS: TglSamplePatternSGIS; + + // GL_SGIS_pixel_texture + glPixelTexGenParameteriSGIS: TglPixelTexGenParameteriSGIS; + glPixelTexGenParameterivSGIS: TglPixelTexGenParameterivSGIS; + glPixelTexGenParameterfSGIS: TglPixelTexGenParameterfSGIS; + glPixelTexGenParameterfvSGIS: TglPixelTexGenParameterfvSGIS; + glGetPixelTexGenParameterivSGIS: TglGetPixelTexGenParameterivSGIS; + glGetPixelTexGenParameterfvSGIS: TglGetPixelTexGenParameterfvSGIS; + + // GL_SGIS_point_parameters + glPointParameterfSGIS: TglPointParameterfSGIS; + glPointParameterfvSGIS: TglPointParameterfvSGIS; + + // GL_SGIS_sharpen_texture + glSharpenTexFuncSGIS: TglSharpenTexFuncSGIS; + glGetSharpenTexFuncSGIS: TglGetSharpenTexFuncSGIS; + + // GL_SGIS_texture4D + glTexImage4DSGIS: TglTexImage4DSGIS; + glTexSubImage4DSGIS: TglTexSubImage4DSGIS; + + // GL_SGIS_texture_color_mask + glTextureColorMaskSGIS: TglTextureColorMaskSGIS; + + // GL_SGIS_texture_filter4 + glGetTexFilterFuncSGIS: TglGetTexFilterFuncSGIS; + glTexFilterFuncSGIS: TglTexFilterFuncSGIS; + + // GL_SGIX_async + glAsyncMarkerSGIX: TglAsyncMarkerSGIX; + glFinishAsyncSGIX: TglFinishAsyncSGIX; + glPollAsyncSGIX: TglPollAsyncSGIX; + glGenAsyncMarkersSGIX: TglGenAsyncMarkersSGIX; + glDeleteAsyncMarkersSGIX: TglDeleteAsyncMarkersSGIX; + glIsAsyncMarkerSGIX: TglIsAsyncMarkerSGIX; + + // GL_SGIX_flush_raster + glFlushRasterSGIX: TglFlushRasterSGIX; + + // GL_SGIX_fragment_lighting + glFragmentColorMaterialSGIX: TglFragmentColorMaterialSGIX; + glFragmentLightfSGIX: TglFragmentLightfSGIX; + glFragmentLightfvSGIX: TglFragmentLightfvSGIX; + glFragmentLightiSGIX: TglFragmentLightiSGIX; + glFragmentLightivSGIX: TglFragmentLightivSGIX; + glFragmentLightModelfSGIX: TglFragmentLightModelfSGIX; + glFragmentLightModelfvSGIX: TglFragmentLightModelfvSGIX; + glFragmentLightModeliSGIX: TglFragmentLightModeliSGIX; + glFragmentLightModelivSGIX: TglFragmentLightModelivSGIX; + glFragmentMaterialfSGIX: TglFragmentMaterialfSGIX; + glFragmentMaterialfvSGIX: TglFragmentMaterialfvSGIX; + glFragmentMaterialiSGIX: TglFragmentMaterialiSGIX; + glFragmentMaterialivSGIX: TglFragmentMaterialivSGIX; + glGetFragmentLightfvSGIX: TglGetFragmentLightfvSGIX; + glGetFragmentLightivSGIX: TglGetFragmentLightivSGIX; + glGetFragmentMaterialfvSGIX: TglGetFragmentMaterialfvSGIX; + glGetFragmentMaterialivSGIX: TglGetFragmentMaterialivSGIX; + glLightEnviSGIX: TglLightEnviSGIX; + + // GL_SGIX_framezoom + glFrameZoomSGIX: TglFrameZoomSGIX; + + // GL_SGIX_igloo_interface + glIglooInterfaceSGIX: TglIglooInterfaceSGIX; + + // GL_SGIX_instruments + glGetInstrumentsSGIX: TglGetInstrumentsSGIX; + glInstrumentsBufferSGIX: TglInstrumentsBufferSGIX; + glPollInstrumentsSGIX: TglPollInstrumentsSGIX; + glReadInstrumentsSGIX: TglReadInstrumentsSGIX; + glStartInstrumentsSGIX: TglStartInstrumentsSGIX; + glStopInstrumentsSGIX: TglStopInstrumentsSGIX; + + // GL_SGIX_list_priority + glGetListParameterfvSGIX: TglGetListParameterfvSGIX; + glGetListParameterivSGIX: TglGetListParameterivSGIX; + glListParameterfSGIX: TglListParameterfSGIX; + glListParameterfvSGIX: TglListParameterfvSGIX; + glListParameteriSGIX: TglListParameteriSGIX; + glListParameterivSGIX: TglListParameterivSGIX; + + // GL_SGIX_pixel_texture + glPixelTexGenSGIX: TglPixelTexGenSGIX; + + // GL_SGIX_polynomial_ffd + glDeformationMap3dSGIX: TglDeformationMap3dSGIX; + glDeformationMap3fSGIX: TglDeformationMap3fSGIX; + glDeformSGIX: TglDeformSGIX; + glLoadIdentityDeformationMapSGIX: TglLoadIdentityDeformationMapSGIX; + + // GL_SGIX_reference_plane + glReferencePlaneSGIX: TglReferencePlaneSGIX; + + // GL_SGIX_sprite + glSpriteParameterfSGIX: TglSpriteParameterfSGIX; + glSpriteParameterfvSGIX: TglSpriteParameterfvSGIX; + glSpriteParameteriSGIX: TglSpriteParameteriSGIX; + glSpriteParameterivSGIX: TglSpriteParameterivSGIX; + + // GL_SGIX_tag_sample_buffer + glTagSampleBufferSGIX: TglTagSampleBufferSGIX; + + // GL_SGI_color_table + glColorTableSGI: TglColorTableSGI; + glColorTableParameterfvSGI: TglColorTableParameterfvSGI; + glColorTableParameterivSGI: TglColorTableParameterivSGI; + glCopyColorTableSGI: TglCopyColorTableSGI; + glGetColorTableSGI: TglGetColorTableSGI; + glGetColorTableParameterfvSGI: TglGetColorTableParameterfvSGI; + glGetColorTableParameterivSGI: TglGetColorTableParameterivSGI; + + // GL_SUNX_constant_data + glFinishTextureSUNX: TglFinishTextureSUNX; + + // GL_SUN_global_alpha + glGlobalAlphaFactorbSUN: TglGlobalAlphaFactorbSUN; + glGlobalAlphaFactorsSUN: TglGlobalAlphaFactorsSUN; + glGlobalAlphaFactoriSUN: TglGlobalAlphaFactoriSUN; + glGlobalAlphaFactorfSUN: TglGlobalAlphaFactorfSUN; + glGlobalAlphaFactordSUN: TglGlobalAlphaFactordSUN; + glGlobalAlphaFactorubSUN: TglGlobalAlphaFactorubSUN; + glGlobalAlphaFactorusSUN: TglGlobalAlphaFactorusSUN; + glGlobalAlphaFactoruiSUN: TglGlobalAlphaFactoruiSUN; + + // GL_SUN_mesh_array + glDrawMeshArraysSUN: TglDrawMeshArraysSUN; + + // GL_SUN_triangle_list + glReplacementCodeuiSUN: TglReplacementCodeuiSUN; + glReplacementCodeusSUN: TglReplacementCodeusSUN; + glReplacementCodeubSUN: TglReplacementCodeubSUN; + glReplacementCodeuivSUN: TglReplacementCodeuivSUN; + glReplacementCodeusvSUN: TglReplacementCodeusvSUN; + glReplacementCodeubvSUN: TglReplacementCodeubvSUN; + glReplacementCodePointerSUN: TglReplacementCodePointerSUN; + + // GL_SUN_vertex + glColor4ubVertex2fSUN: TglColor4ubVertex2fSUN; + glColor4ubVertex2fvSUN: TglColor4ubVertex2fvSUN; + glColor4ubVertex3fSUN: TglColor4ubVertex3fSUN; + glColor4ubVertex3fvSUN: TglColor4ubVertex3fvSUN; + glColor3fVertex3fSUN: TglColor3fVertex3fSUN; + glColor3fVertex3fvSUN: TglColor3fVertex3fvSUN; + glNormal3fVertex3fSUN: TglNormal3fVertex3fSUN; + glNormal3fVertex3fvSUN: TglNormal3fVertex3fvSUN; + glColor4fNormal3fVertex3fSUN: TglColor4fNormal3fVertex3fSUN; + glColor4fNormal3fVertex3fvSUN: TglColor4fNormal3fVertex3fvSUN; + glTexCoord2fVertex3fSUN: TglTexCoord2fVertex3fSUN; + glTexCoord2fVertex3fvSUN: TglTexCoord2fVertex3fvSUN; + glTexCoord4fVertex4fSUN: TglTexCoord4fVertex4fSUN; + glTexCoord4fVertex4fvSUN: TglTexCoord4fVertex4fvSUN; + glTexCoord2fColor4ubVertex3fSUN: TglTexCoord2fColor4ubVertex3fSUN; + glTexCoord2fColor4ubVertex3fvSUN: TglTexCoord2fColor4ubVertex3fvSUN; + glTexCoord2fColor3fVertex3fSUN: TglTexCoord2fColor3fVertex3fSUN; + glTexCoord2fColor3fVertex3fvSUN: TglTexCoord2fColor3fVertex3fvSUN; + glTexCoord2fNormal3fVertex3fSUN: TglTexCoord2fNormal3fVertex3fSUN; + glTexCoord2fNormal3fVertex3fvSUN: TglTexCoord2fNormal3fVertex3fvSUN; + glTexCoord2fColor4fNormal3fVertex3fSUN: TglTexCoord2fColor4fNormal3fVertex3fSUN; + glTexCoord2fColor4fNormal3fVertex3fvSUN: TglTexCoord2fColor4fNormal3fVertex3fvSUN; + glTexCoord4fColor4fNormal3fVertex4fSUN: TglTexCoord4fColor4fNormal3fVertex4fSUN; + glTexCoord4fColor4fNormal3fVertex4fvSUN: TglTexCoord4fColor4fNormal3fVertex4fvSUN; + glReplacementCodeuiVertex3fSUN: TglReplacementCodeuiVertex3fSUN; + glReplacementCodeuiVertex3fvSUN: TglReplacementCodeuiVertex3fvSUN; + glReplacementCodeuiColor4ubVertex3fSUN: TglReplacementCodeuiColor4ubVertex3fSUN; + glReplacementCodeuiColor4ubVertex3fvSUN: TglReplacementCodeuiColor4ubVertex3fvSUN; + glReplacementCodeuiColor3fVertex3fSUN: TglReplacementCodeuiColor3fVertex3fSUN; + glReplacementCodeuiColor3fVertex3fvSUN: TglReplacementCodeuiColor3fVertex3fvSUN; + glReplacementCodeuiNormal3fVertex3fSUN: TglReplacementCodeuiNormal3fVertex3fSUN; + glReplacementCodeuiNormal3fVertex3fvSUN: TglReplacementCodeuiNormal3fVertex3fvSUN; + glReplacementCodeuiColor4fNormal3fVertex3fSUN: TglReplacementCodeuiColor4fNormal3fVertex3fSUN; + glReplacementCodeuiColor4fNormal3fVertex3fvSUN: TglReplacementCodeuiColor4fNormal3fVertex3fvSUN; + glReplacementCodeuiTexCoord2fVertex3fSUN: TglReplacementCodeuiTexCoord2fVertex3fSUN; + glReplacementCodeuiTexCoord2fVertex3fvSUN: TglReplacementCodeuiTexCoord2fVertex3fvSUN; + glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: TglReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; + glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: TglReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; + glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN: TglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; + glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN: TglReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + +{$IFDEF DGL_WIN} + wglGetProcAddress: TwglGetProcAddress; + wglCopyContext: TwglCopyContext; + wglCreateContext: TwglCreateContext; + wglCreateLayerContext: TwglCreateLayerContext; + wglDeleteContext: TwglDeleteContext; + wglDescribeLayerPlane: TwglDescribeLayerPlane; + wglGetCurrentContext: TwglGetCurrentContext; + wglGetCurrentDC: TwglGetCurrentDC; + wglGetLayerPaletteEntries: TwglGetLayerPaletteEntries; + wglMakeCurrent: TwglMakeCurrent; + wglRealizeLayerPalette: TwglRealizeLayerPalette; + wglSetLayerPaletteEntries: TwglSetLayerPaletteEntries; + wglShareLists: TwglShareLists; + wglSwapLayerBuffers: TwglSwapLayerBuffers; + wglSwapMultipleBuffers: TwglSwapMultipleBuffers; + wglUseFontBitmapsA: TwglUseFontBitmapsA; + wglUseFontOutlinesA: TwglUseFontOutlinesA; + wglUseFontBitmapsW: TwglUseFontBitmapsW; + wglUseFontOutlinesW: TwglUseFontOutlinesW; + wglUseFontBitmaps: TwglUseFontBitmaps; + wglUseFontOutlines: TwglUseFontOutlines; + + // WGL_ARB_buffer_region + wglCreateBufferRegionARB: TwglCreateBufferRegionARB; + wglDeleteBufferRegionARB: TwglDeleteBufferRegionARB; + wglSaveBufferRegionARB: TwglSaveBufferRegionARB; + wglRestoreBufferRegionARB: TwglRestoreBufferRegionARB; + + // WGL_ARB_extensions_string + wglGetExtensionsStringARB: TwglGetExtensionsStringARB; + + // WGL_ARB_make_current_read + wglMakeContextCurrentARB: TwglMakeContextCurrentARB; + wglGetCurrentReadDCARB: TwglGetCurrentReadDCARB; + + // WGL_ARB_pbuffer + wglCreatePbufferARB: TwglCreatePbufferARB; + wglGetPbufferDCARB: TwglGetPbufferDCARB; + wglReleasePbufferDCARB: TwglReleasePbufferDCARB; + wglDestroyPbufferARB: TwglDestroyPbufferARB; + wglQueryPbufferARB: TwglQueryPbufferARB; + + // WGL_ARB_pixel_format + wglGetPixelFormatAttribivARB: TwglGetPixelFormatAttribivARB; + wglGetPixelFormatAttribfvARB: TwglGetPixelFormatAttribfvARB; + wglChoosePixelFormatARB: TwglChoosePixelFormatARB; + // WGL_ARB_color_buffer_float + wglClampColorARB: TwglClampColorARB; + + // WGL_ARB_render_texture + wglBindTexImageARB: TwglBindTexImageARB; + wglReleaseTexImageARB: TwglReleaseTexImageARB; + wglSetPbufferAttribARB: TwglSetPbufferAttribARB; + + // WGL_ARB_create_context + wglCreateContextAttribsARB: TwglCreateContextAttribsARB; + + // WGL_AMD_gpu_association + wglGetGPUIDsAMD: TwglGetGPUIDsAMD; + wglGetGPUInfoAMD: TwglGetGPUInfoAMD; + wglGetContextGPUIDAMD: TwglGetContextGPUIDAMD; + wglCreateAssociatedContextAMD: TwglCreateAssociatedContextAMD; + wglCreateAssociatedContextAttribsAMD: TwglCreateAssociatedContextAttribsAMD; + wglDeleteAssociatedContextAMD: TwglDeleteAssociatedContextAMD; + wglMakeAssociatedContextCurrentAMD: TwglMakeAssociatedContextCurrentAMD; + wglGetCurrentAssociatedContextAMD: TwglGetCurrentAssociatedContextAMD; + wglBlitContextFramebufferAMD: TwglBlitContextFramebufferAMD; + + // WGL_EXT_display_color_table + wglCreateDisplayColorTableEXT: TwglCreateDisplayColorTableEXT; + wglLoadDisplayColorTableEXT: TwglLoadDisplayColorTableEXT; + wglBindDisplayColorTableEXT: TwglBindDisplayColorTableEXT; + wglDestroyDisplayColorTableEXT: TwglDestroyDisplayColorTableEXT; + + // WGL_EXT_extensions_string + wglGetExtensionsStringEXT: TwglGetExtensionsStringEXT; + + // WGL_EXT_make_current_read + wglMakeContextCurrentEXT: TwglMakeContextCurrentEXT; + wglGetCurrentReadDCEXT: TwglGetCurrentReadDCEXT; + + // WGL_EXT_pbuffer + wglCreatePbufferEXT: TwglCreatePbufferEXT; + wglGetPbufferDCEXT: TwglGetPbufferDCEXT; + wglReleasePbufferDCEXT: TwglReleasePbufferDCEXT; + wglDestroyPbufferEXT: TwglDestroyPbufferEXT; + wglQueryPbufferEXT: TwglQueryPbufferEXT; + + // WGL_EXT_pixel_format + wglGetPixelFormatAttribivEXT: TwglGetPixelFormatAttribivEXT; + wglGetPixelFormatAttribfvEXT: TwglGetPixelFormatAttribfvEXT; + wglChoosePixelFormatEXT: TwglChoosePixelFormatEXT; + + // WGL_EXT_swap_control + wglSwapIntervalEXT: TwglSwapIntervalEXT; + wglGetSwapIntervalEXT: TwglGetSwapIntervalEXT; + + // WGL_I3D_digital_video_control + wglGetDigitalVideoParametersI3D: TwglGetDigitalVideoParametersI3D; + wglSetDigitalVideoParametersI3D: TwglSetDigitalVideoParametersI3D; + + // WGL_I3D_gamma + wglGetGammaTableParametersI3D: TwglGetGammaTableParametersI3D; + wglSetGammaTableParametersI3D: TwglSetGammaTableParametersI3D; + wglGetGammaTableI3D: TwglGetGammaTableI3D; + wglSetGammaTableI3D: TwglSetGammaTableI3D; + + // WGL_I3D_genlock + wglEnableGenlockI3D: TwglEnableGenlockI3D; + wglDisableGenlockI3D: TwglDisableGenlockI3D; + wglIsEnabledGenlockI3D: TwglIsEnabledGenlockI3D; + wglGenlockSourceI3D: TwglGenlockSourceI3D; + wglGetGenlockSourceI3D: TwglGetGenlockSourceI3D; + wglGenlockSourceEdgeI3D: TwglGenlockSourceEdgeI3D; + wglGetGenlockSourceEdgeI3D: TwglGetGenlockSourceEdgeI3D; + wglGenlockSampleRateI3D: TwglGenlockSampleRateI3D; + wglGetGenlockSampleRateI3D: TwglGetGenlockSampleRateI3D; + wglGenlockSourceDelayI3D: TwglGenlockSourceDelayI3D; + wglGetGenlockSourceDelayI3D: TwglGetGenlockSourceDelayI3D; + wglQueryGenlockMaxSourceDelayI3D: TwglQueryGenlockMaxSourceDelayI3D; + + // WGL_I3D_image_buffer + wglCreateImageBufferI3D: TwglCreateImageBufferI3D; + wglDestroyImageBufferI3D: TwglDestroyImageBufferI3D; + wglAssociateImageBufferEventsI3D: TwglAssociateImageBufferEventsI3D; + wglReleaseImageBufferEventsI3D: TwglReleaseImageBufferEventsI3D; + + // WGL_I3D_swap_frame_lock + wglEnableFrameLockI3D: TwglEnableFrameLockI3D; + wglDisableFrameLockI3D: TwglDisableFrameLockI3D; + wglIsEnabledFrameLockI3D: TwglIsEnabledFrameLockI3D; + wglQueryFrameLockMasterI3D: TwglQueryFrameLockMasterI3D; + + // WGL_I3D_swap_frame_usage + wglGetFrameUsageI3D: TwglGetFrameUsageI3D; + wglBeginFrameTrackingI3D: TwglBeginFrameTrackingI3D; + wglEndFrameTrackingI3D: TwglEndFrameTrackingI3D; + wglQueryFrameTrackingI3D: TwglQueryFrameTrackingI3D; + + // WGL_NV_vertex_array_range + wglAllocateMemoryNV: TwglAllocateMemoryNV; + wglFreeMemoryNV: TwglFreeMemoryNV; + + // WGL_NV_present_video + wglEnumerateVideoDevicesNV: TwglEnumerateVideoDevicesNV; + wglBindVideoDeviceNV: TwglBindVideoDeviceNV; + wglQueryCurrentContextNV: TwglQueryCurrentContextNV; + + // WGL_NV_video_output + wglGetVideoDeviceNV: TwglGetVideoDeviceNV; + wglReleaseVideoDeviceNV: TwglReleaseVideoDeviceNV; + wglBindVideoImageNV: TwglBindVideoImageNV; + wglReleaseVideoImageNV: TwglReleaseVideoImageNV; + wglSendPbufferToVideoNV: TwglSendPbufferToVideoNV; + wglGetVideoInfoNV: TwglGetVideoInfoNV; + + // WGL_NV_swap_group + wglJoinSwapGroupNV: TwglJoinSwapGroupNV; + wglBindSwapBarrierNV: TwglBindSwapBarrierNV; + wglQuerySwapGroupNV: TwglQuerySwapGroupNV; + wglQueryMaxSwapGroupsNV: TwglQueryMaxSwapGroupsNV; + wglQueryFrameCountNV: TwglQueryFrameCountNV; + wglResetFrameCountNV: TwglResetFrameCountNV; + + // WGL_NV_gpu_affinity + wglEnumGpusNV: TwglEnumGpusNV; + wglEnumGpuDevicesNV: TwglEnumGpuDevicesNV; + wglCreateAffinityDCNV: TwglCreateAffinityDCNV; + wglEnumGpusFromAffinityDCNV: TwglEnumGpusFromAffinityDCNV; + wglDeleteDCNV: TwglDeleteDCNV; + + // WGL_NV_video_capture + wglBindVideoCaptureDeviceNV: TwglBindVideoCaptureDeviceNV; + wglEnumerateVideoCaptureDevicesNV: TwglEnumerateVideoCaptureDevicesNV; + wglLockVideoCaptureDeviceNV: TwglLockVideoCaptureDeviceNV; + wglQueryVideoCaptureDeviceNV: TwglQueryVideoCaptureDeviceNV; + wglReleaseVideoCaptureDeviceNV: TwglReleaseVideoCaptureDeviceNV; + + // WGL_NV_copy_image + wglCopyImageSubDataNV: TwglCopyImageSubDataNV; + + // WGL_NV_DX_interop + wglDXSetResourceShareHandleNV : TwglDXSetResourceShareHandleNV; + wglDXOpenDeviceNV : TwglDXOpenDeviceNV; + wglDXCloseDeviceNV : TwglDXCloseDeviceNV; + wglDXRegisterObjectNV : TwglDXRegisterObjectNV; + wglDXUnregisterObjectNV : TwglDXUnregisterObjectNV; + wglDXObjectAccessNV : TwglDXObjectAccessNV; + wglDXLockObjectsNV : TwglDXLockObjectsNV; + wglDXUnlockObjectsNV : TwglDXUnlockObjectsNV; + + // WGL_OML_sync_control + wglGetSyncValuesOML: TwglGetSyncValuesOML; + wglGetMscRateOML: TwglGetMscRateOML; + wglSwapBuffersMscOML: TwglSwapBuffersMscOML; + wglSwapLayerBuffersMscOML: TwglSwapLayerBuffersMscOML; + wglWaitForMscOML: TwglWaitForMscOML; + wglWaitForSbcOML: TwglWaitForSbcOML; + + // WGL_3DL_stereo_control + wglSetStereoEmitterState3DL: TwglSetStereoEmitterState3DL; + + // WIN_draw_range_elements + glDrawRangeElementsWIN: TglDrawRangeElementsWIN; + + // WIN_swap_hint + glAddSwapHintRectWIN: TglAddSwapHintRectWIN; +{$ENDIF} + +{$IFDEF DGL_LINUX} + glXChooseVisual: TglXChooseVisual; + glXCopyContext: TglXCopyContext; + glXCreateContext: TglXCreateContext; + glXCreateGLXPixmap: TglXCreateGLXPixmap; + glXDestroyContext: TglXDestroyContext; + glXDestroyGLXPixmap: TglXDestroyGLXPixmap; + glXGetConfig: TglXGetConfig; + glXGetCurrentContext: TglXGetCurrentContext; + glXGetCurrentDrawable: TglXGetCurrentDrawable; + glXIsDirect: TglXIsDirect; + glXMakeCurrent: TglXMakeCurrent; + glXQueryExtension: TglXQueryExtension; + glXQueryVersion: TglXQueryVersion; + glXSwapBuffers: TglXSwapBuffers; + glXUseXFont: TglXUseXFont; + glXWaitGL: TglXWaitGL; + glXWaitX: TglXWaitX; + + glXGetClientString: TglXGetClientString; + glXQueryServerString: TglXQueryServerString; + glXQueryExtensionsString: TglXQueryExtensionsString; + + // GLX_VERSION_1_3 + glXGetFBConfigs: TglXGetFBConfigs; + glXChooseFBConfig: TglXChooseFBConfig; + glXGetFBConfigAttrib: TglXGetFBConfigAttrib; + glXGetVisualFromFBConfig: TglXGetVisualFromFBConfig; + glXCreateWindow: TglXCreateWindow; + glXDestroyWindow: TglXDestroyWindow; + glXCreatePixmap: TglXCreatePixmap; + + glXDestroyPixmap: TglXDestroyPixmap; + glXCreatePbuffer: TglXCreatePbuffer; + glXDestroyPbuffer: TglXDestroyPbuffer; + glXQueryDrawable: TglXQueryDrawable; + glXCreateNewContext: TglXCreateNewContext; + glXMakeContextCurrent: TglXMakeContextCurrent; + glXGetCurrentReadDrawable: TglXGetCurrentReadDrawable; + glXGetCurreentDisplay: TglXGetCurreentDisplay; + + glXQueryContext: TglXQueryContext; + glXSelectEvent: TglXSelectEvent; + glXGetSelectedEvent: TglXGetSelectedEvent; + + // GLX_VERSION_1_4 + glXGetProcAddress: TglXGetProcAddress; + + // GLX_ARB_get_proc_address + glXGetProcAddressARB: TglXGetProcAddressARB; + + // GLX_ARB_create_context + glXCreateContextAttribsARB: TglXCreateContextAttribsARB; + + // GLX_EXT_import_context + glXGetCurrentDisplayEXT: TglXGetCurrentDisplayEXT; + glXQueryContextInfoEXT: TglXQueryContextInfoEXT; + glXGetContextIDEXT: TglXGetContextIDEXT; + glXImportContextEXT: TglXImportContextEXT; + glXFreeContextEXT: TglXFreeContextEXT; + + // GLX_EXT_texture_from_pixmap + glXBindTexImageEXT: TglXBindTexImageEXT; + glXReleaseTexImageEXT: TglXReleaseTexImageEXT; + + // GLX_EXT_swap_control + glXSwapIntervalEXT: TglXSwapIntervalEXT; +{$ENDIF} + + // GL utility functions and procedures + gluErrorString: TgluErrorString; + gluGetString: TgluGetString; + gluOrtho2D: TgluOrtho2D; + gluPerspective: TgluPerspective; + gluPickMatrix: TgluPickMatrix; + gluLookAt: TgluLookAt; + gluProject: TgluProject; + gluUnProject: TgluUnProject; + gluScaleImage: TgluScaleImage; + gluBuild1DMipmaps: TgluBuild1DMipmaps; + gluBuild2DMipmaps: TgluBuild2DMipmaps; + gluNewQuadric: TgluNewQuadric; + gluDeleteQuadric: TgluDeleteQuadric; + gluQuadricNormals: TgluQuadricNormals; + gluQuadricTexture: TgluQuadricTexture; + gluQuadricOrientation: TgluQuadricOrientation; + gluQuadricDrawStyle: TgluQuadricDrawStyle; + gluCylinder: TgluCylinder; + gluDisk: TgluDisk; + gluPartialDisk: TgluPartialDisk; + gluSphere: TgluSphere; + gluQuadricCallback: TgluQuadricCallback; + gluNewTess: TgluNewTess; + gluDeleteTess: TgluDeleteTess; + gluTessBeginPolygon: TgluTessBeginPolygon; + gluTessBeginContour: TgluTessBeginContour; + gluTessVertex: TgluTessVertex; + gluTessEndContour: TgluTessEndContour; + gluTessEndPolygon: TgluTessEndPolygon; + gluTessProperty: TgluTessProperty; + gluTessNormal: TgluTessNormal; + gluTessCallback: TgluTessCallback; + gluGetTessProperty: TgluGetTessProperty; + gluNewNurbsRenderer: TgluNewNurbsRenderer; + gluDeleteNurbsRenderer: TgluDeleteNurbsRenderer; + gluBeginSurface: TgluBeginSurface; + gluBeginCurve: TgluBeginCurve; + gluEndCurve: TgluEndCurve; + gluEndSurface: TgluEndSurface; + gluBeginTrim: TgluBeginTrim; + gluEndTrim: TgluEndTrim; + gluPwlCurve: TgluPwlCurve; + gluNurbsCurve: TgluNurbsCurve; + gluNurbsSurface: TgluNurbsSurface; + gluLoadSamplingMatrices: TgluLoadSamplingMatrices; + gluNurbsProperty: TgluNurbsProperty; + gluGetNurbsProperty: TgluGetNurbsProperty; + gluNurbsCallback: TgluNurbsCallback; + gluBeginPolygon: TgluBeginPolygon; + gluNextContour: TgluNextContour; + gluEndPolygon: TgluEndPolygon; + + +type + TRCOptions = set of (opDoubleBuffered, opGDI, opStereo); + +var + GL_LibHandle: Pointer = nil; + GLU_LibHandle: Pointer = nil; + + LastPixelFormat: Integer; + ExtensionsRead: Boolean; + ImplementationRead: Boolean; + + +const +{$IFDEF DGL_WIN} + OPENGL_LIBNAME = 'OpenGL32.dll'; + GLU_LIBNAME = 'GLU32.dll'; +{$ELSE} + {$IFDEF darwin} + OPENGL_LIBNAME = 'libGL.dylib'; + GLU_LIBNAME = 'libGLU.dylib'; + {$ELSE} + OPENGL_LIBNAME = 'libGL.so.1'; + GLU_LIBNAME = 'libGLU.so.1'; + {$ENDIF} +{$ENDIF} + +function InitOpenGL(LibName: String = OPENGL_LIBNAME; GLULibName: String = GLU_LIBNAME): Boolean; + +function dglGetProcAddress(ProcName: PAnsiChar; LibHandle: Pointer = nil {$IFDEF DGL_LINUX}; ForceDLSym: Boolean = False{$ENDIF}): Pointer; +function dglCheckExtension(Extension: AnsiString): Boolean; + +procedure ReadExtensions; +procedure ReadImplementationProperties; + +// ============================================================================= +// Helper-Functions +// ============================================================================= +{$IFDEF DGL_WIN} + function CreateRenderingContext(DC: HDC; Options: TRCOptions; ColorBits, ZBits, StencilBits, AccumBits, AuxBuffers: Integer; Layer: Integer): HGLRC; + function CreateRenderingContextVersion(DC: HDC; Options: TRCOptions; MajorVersion, MinorVersion : Integer; ForwardCompatible : Boolean; ColorBits, ZBits, StencilBits, AccumBits, AuxBuffers: Integer; Layer: Integer): HGLRC; + procedure DestroyRenderingContext(RC: HGLRC); + + procedure ActivateRenderingContext(DC: HDC; RC: HGLRC; loadext: boolean = true); + procedure DeactivateRenderingContext; +{$ENDIF} + + +procedure ReadOpenGLCore; +procedure Read_GL_3DFX_tbuffer; +procedure Read_GL_APPLE_element_array; +procedure Read_GL_APPLE_fence; +procedure Read_GL_APPLE_vertex_array_object; +procedure Read_GL_APPLE_vertex_array_range; +procedure Read_GL_APPLE_texture_range; +procedure Read_GL_APPLE_vertex_program_evaluators; +procedure Read_GL_APPLE_object_purgeable; +procedure Read_GL_ARB_matrix_palette; +procedure Read_GL_ARB_multitexture; +procedure Read_GL_ARB_point_parameters; +procedure Read_GL_ARB_texture_compression; +procedure Read_GL_ARB_transpose_matrix; +procedure Read_GL_ARB_vertex_blend; +procedure Read_GL_ARB_vertex_buffer_object; +procedure Read_GL_ARB_vertex_program; +procedure Read_GL_ARB_window_pos; +procedure Read_GL_ARB_color_buffer_float; +procedure Read_GL_ARB_Shader_Objects; +procedure Read_GL_ARB_occlusion_query; +procedure Read_GL_ARB_draw_instanced; +procedure Read_GL_ARB_framebuffer_object; +procedure Read_GL_ARB_geometry_shader4; +procedure Read_GL_ARB_instanced_arrays; +procedure Read_GL_ARB_map_buffer_range; +procedure Read_GL_ARB_texture_buffer_object; +procedure Read_GL_ARB_vertex_array_object; +procedure Read_GL_ARB_uniform_buffer_object; +procedure Read_GL_ARB_copy_buffer; +procedure Read_GL_ARB_draw_elements_base_vertex; +procedure Read_GL_ARB_provoking_vertex; +procedure Read_GL_ARB_sync; +procedure Read_GL_ARB_texture_multisample; +procedure Read_GL_ARB_draw_buffers_blend; +procedure Read_GL_ARB_sample_shading; +procedure Read_GL_ARB_shading_language_include; +procedure Read_GL_ARB_blend_func_extended; +procedure Read_GL_ARB_sampler_objects; +procedure Read_GL_ARB_timer_query; +procedure Read_GL_ARB_vertex_type_2_10_10_10_rev; +procedure Read_GL_ARB_draw_indirect; +procedure Read_GL_ARB_gpu_shader_fp64; +procedure Read_GL_ARB_shader_subroutine; +procedure Read_GL_ARB_tessellation_shader; +procedure Read_GL_ARB_transform_feedback2; +procedure Read_GL_ARB_transform_feedback3; +procedure Read_GL_ARB_ES2_compatibility; +procedure Read_GL_ARB_get_program_binary; +procedure Read_GL_ARB_separate_shader_objects; +procedure Read_GL_ARB_vertex_attrib_64bit; +procedure Read_GL_ARB_viewport_array; +// GL 4.2 +procedure Read_GL_ARB_base_instance; +procedure Read_GL_ARB_transform_feedback_instanced; +procedure Read_GL_ARB_internalformat_query; +procedure Read_GL_ARB_shader_atomic_counters; +procedure Read_GL_ARB_shader_image_load_store; +procedure Read_GL_ARB_texture_storage; +// GL 4.3 +procedure Read_GL_KHR_debug; +procedure Read_GL_ARB_clear_buffer_object; +procedure Read_GL_ARB_compute_shader; +procedure Read_GL_ARB_copy_image; +procedure Read_GL_ARB_framebuffer_no_attachments; +procedure Read_GL_ARB_internalformat_query2; +procedure Read_GL_ARB_invalidate_subdata; +procedure Read_GL_ARB_multi_draw_indirect; +procedure Read_GL_ARB_program_interface_query; +procedure Read_GL_ARB_shader_storage_buffer_object; +procedure Read_GL_ARB_texture_buffer_range; +procedure Read_GL_ARB_texture_storage_multisample; +procedure Read_GL_ARB_texture_view; +procedure Read_GL_ARB_vertex_attrib_binding; + +// GL 4.4 +procedure Read_GL_4_4; + +// +procedure Read_GL_ARB_cl_event; +procedure Read_GL_ARB_debug_output; +procedure Read_GL_ARB_robustness; +procedure Read_GL_ATI_draw_buffers; +procedure Read_GL_ATI_element_array; +procedure Read_GL_ATI_envmap_bumpmap; +procedure Read_GL_ATI_fragment_shader; +procedure Read_GL_ATI_map_object_buffer; +procedure Read_GL_ATI_pn_triangles; +procedure Read_GL_ATI_separate_stencil; +procedure Read_GL_ATI_vertex_array_object; +procedure Read_GL_ATI_vertex_attrib_array_object; +procedure Read_GL_ATI_vertex_streams; +procedure Read_GL_AMD_performance_monitor; +procedure Read_GL_AMD_vertex_shader_tesselator; +procedure Read_GL_AMD_draw_buffers_blend; +procedure Read_GL_AMD_name_gen_delete; +procedure Read_GL_AMD_debug_output; +procedure Read_GL_EXT_blend_color; +procedure Read_GL_EXT_blend_func_separate; +procedure Read_GL_EXT_blend_minmax; +procedure Read_GL_EXT_color_subtable; +procedure Read_GL_EXT_compiled_vertex_array; +procedure Read_GL_EXT_convolution; +procedure Read_GL_EXT_coordinate_frame; +procedure Read_GL_EXT_copy_texture; +procedure Read_GL_EXT_cull_vertex; +procedure Read_GL_EXT_draw_range_elements; +procedure Read_GL_EXT_fog_coord; +procedure Read_GL_EXT_framebuffer_object; +procedure Read_GL_EXT_histogram; +procedure Read_GL_EXT_index_func; +procedure Read_GL_EXT_index_material; +procedure Read_GL_EXT_multi_draw_arrays; +procedure Read_GL_EXT_multisample; +procedure Read_GL_EXT_paletted_texture; +procedure Read_GL_EXT_pixel_transform; +procedure Read_GL_EXT_point_parameters; +procedure Read_GL_EXT_polygon_offset; +procedure Read_GL_EXT_secondary_color; +procedure Read_GL_EXT_stencil_two_side; +procedure Read_GL_EXT_subtexture; +procedure Read_GL_EXT_texture3D; +procedure Read_GL_EXT_texture_object; +procedure Read_GL_EXT_texture_perturb_normal; +procedure Read_GL_EXT_vertex_array; +procedure Read_GL_EXT_vertex_shader; +procedure Read_GL_EXT_vertex_weighting; +procedure Read_GL_EXT_depth_bounds_test; +procedure Read_GL_EXT_blend_equation_separate; +procedure Read_GL_EXT_stencil_clear_tag; +procedure Read_GL_EXT_framebuffer_blit; +procedure Read_GL_EXT_framebuffer_multisample; +procedure Read_GL_EXT_timer_query; +procedure Read_GL_EXT_gpu_program_parameters; +procedure Read_GL_EXT_bindable_uniform; +procedure Read_GL_EXT_draw_buffers2; +procedure Read_GL_EXT_draw_instanced; +procedure Read_GL_EXT_geometry_shader4; +procedure Read_GL_EXT_gpu_shader4; +procedure Read_GL_EXT_texture_array; +procedure Read_GL_EXT_texture_buffer_object; +procedure Read_GL_EXT_texture_integer; +procedure Read_GL_EXT_transform_feedback; +procedure Read_GL_EXT_direct_state_access; +procedure Read_GL_EXT_separate_shader_objects; +procedure Read_GL_EXT_shader_image_load_store; +procedure Read_GL_EXT_vertex_attrib_64bit; +procedure Read_GL_HP_image_transform; +procedure Read_GL_IBM_multimode_draw_arrays; +procedure Read_GL_IBM_vertex_array_lists; +procedure Read_GL_INGR_blend_func_separate; +procedure Read_GL_INTEL_parallel_arrays; +procedure Read_GL_MESA_resize_buffers; +procedure Read_GL_MESA_window_pos; +procedure Read_GL_NV_evaluators; +procedure Read_GL_NV_fence; +procedure Read_GL_NV_fragment_program; +procedure Read_GL_NV_half_float; +procedure Read_GL_NV_occlusion_query; +procedure Read_GL_NV_pixel_data_range; +procedure Read_GL_NV_point_sprite; +procedure Read_GL_NV_primitive_restart; +procedure Read_GL_NV_register_combiners; +procedure Read_GL_NV_register_combiners2; +procedure Read_GL_NV_vertex_array_range; +procedure Read_GL_NV_vertex_program; +procedure Read_GL_NV_depth_buffer_float; +procedure Read_GL_NV_framebuffer_multisample_coverage; +procedure Read_GL_NV_geometry_program4; +procedure Read_GL_NV_gpu_program4; +procedure Read_GL_NV_parameter_buffer_object; +procedure Read_GL_NV_transform_feedback; +procedure Read_GL_NV_conditional_render; +procedure Read_GL_NV_present_video; +procedure Read_GL_NV_explicit_multisample; +procedure Read_GL_NV_transform_feedback2; +procedure Read_GL_NV_video_capture; +procedure Read_GL_NV_copy_image; +procedure Read_GL_NV_shader_buffer_load; +procedure Read_GL_NV_vertex_buffer_unified_memory; +procedure Read_GL_NV_gpu_program5; +procedure Read_GL_NV_gpu_shader5; +procedure Read_GL_NV_vertex_attrib_integer_64bit; +procedure Read_GL_NV_vdpau_interop; +procedure Read_GL_NV_texture_barrier; +procedure Read_GL_PGI_misc_hints; +procedure Read_GL_SGIS_detail_texture; +procedure Read_GL_SGIS_fog_function; +procedure Read_GL_SGIS_multisample; +procedure Read_GL_SGIS_pixel_texture; +procedure Read_GL_SGIS_point_parameters; +procedure Read_GL_SGIS_sharpen_texture; +procedure Read_GL_SGIS_texture4D; +procedure Read_GL_SGIS_texture_color_mask; +procedure Read_GL_SGIS_texture_filter4; +procedure Read_GL_SGIX_async; +procedure Read_GL_SGIX_flush_raster; +procedure Read_GL_SGIX_fragment_lighting; +procedure Read_GL_SGIX_framezoom; +procedure Read_GL_SGIX_igloo_interface; +procedure Read_GL_SGIX_instruments; +procedure Read_GL_SGIX_list_priority; +procedure Read_GL_SGIX_pixel_texture; +procedure Read_GL_SGIX_polynomial_ffd; +procedure Read_GL_SGIX_reference_plane; +procedure Read_GL_SGIX_sprite; +procedure Read_GL_SGIX_tag_sample_buffer; +procedure Read_GL_SGI_color_table; +procedure Read_GL_SUNX_constant_data; +procedure Read_GL_SUN_global_alpha; +procedure Read_GL_SUN_mesh_array; +procedure Read_GL_SUN_triangle_list; +procedure Read_GL_SUN_vertex; + +{$IFDEF DGL_WIN} +procedure Read_WGL_ARB_buffer_region; +procedure Read_WGL_ARB_extensions_string; +procedure Read_WGL_ARB_make_current_read; +procedure Read_WGL_ARB_pbuffer; +procedure Read_WGL_ARB_pixel_format; +procedure Read_WGL_ARB_pixel_format_float; +procedure Read_WGL_ARB_render_texture; +procedure Read_WGL_ARB_create_context; +procedure Read_WGL_AMD_gpu_association; +procedure Read_WGL_EXT_display_color_table; +procedure Read_WGL_EXT_extensions_string; +procedure Read_WGL_EXT_make_current_read; +procedure Read_WGL_EXT_pbuffer; +procedure Read_WGL_EXT_pixel_format; +procedure Read_WGL_EXT_swap_control; +procedure Read_WGL_I3D_digital_video_control; +procedure Read_WGL_I3D_gamma; +procedure Read_WGL_I3D_genlock; +procedure Read_WGL_I3D_image_buffer; +procedure Read_WGL_I3D_swap_frame_lock; +procedure Read_WGL_I3D_swap_frame_usage; +procedure Read_WGL_NV_vertex_array_range; +procedure Read_WGL_NV_present_video; +procedure Read_WGL_NV_video_output; +procedure Read_WGL_NV_swap_group; +procedure Read_WGL_NV_gpu_affinity; +procedure Read_WGL_NV_video_capture; +procedure Read_WGL_NV_copy_image; +procedure Read_WGL_OML_sync_control; +procedure Read_WGL_3DL_stereo_control; + +procedure Read_WIN_draw_range_elements; +procedure Read_WIN_swap_hint; +{$ENDIF} + + +implementation + + +{$IFDEF DGL_LINUX} +const + RTLD_LAZY = $001; + RTLD_NOW = $002; + RTLD_BINDING_MASK = $003; + + // Seems to work on Debian / Fedora + LibraryLib = {$IFDEF Linux} 'libdl.so.2'{$ELSE} 'c'{$ENDIF}; + +function dlopen(Name: PAnsiChar; Flags: LongInt): Pointer; cdecl; external LibraryLib name 'dlopen'; +function dlclose(Lib: Pointer): LongInt; cdecl; external LibraryLib name 'dlclose'; + +function dlsym(Lib: Pointer; Name: PAnsiChar): Pointer; cdecl; external LibraryLib name 'dlsym'; +{$ENDIF} + +{$IFDEF DGL_MAC}{$IFDEF OPENGL_FRAMEWORK} // OpenGL framework used +const + RTLD_DEFAULT = Pointer(-2); +{$ENDIF}{$ENDIF} + +function dglLoadLibrary(Name: PChar): Pointer; +begin + {$IFDEF DGL_WIN} + Result := {%H-}Pointer(LoadLibrary(Name)); + {$ENDIF} + + {$IFDEF DGL_LINUX} + Result := dlopen(Name, RTLD_LAZY); + {$ENDIF} + + {$IFDEF DGL_MAC} + {$IFDEF OPENGL_FRAMEWORK} + Result := RTLD_DEFAULT; + {$ELSE} + Result := Pointer(LoadLibrary(Name)); + {$ENDIF} + {$ENDIF} +end; + + +function dglFreeLibrary(LibHandle: Pointer): Boolean; +begin + if LibHandle = nil then + Result := False + else + {$IFDEF DGL_WIN} + Result := FreeLibrary({%H-}HMODULE(LibHandle)); + {$ENDIF} + + {$IFDEF DGL_LINUX} + Result := dlclose(LibHandle) = 0; + {$ENDIF} + + {$IFDEF DGL_MAC} + {$IFDEF OPENGL_FRAMEWORK} + Result := true; + {$ELSE} + Result := FreeLibrary(HMODULE(LibHandle)); + {$ENDIF} + {$ENDIF} +end; + + +function dglGetProcAddress(ProcName: PAnsiChar; LibHandle: Pointer = nil {$IFDEF DGL_LINUX}; ForceDLSym: Boolean = False{$ENDIF}): Pointer; +begin + if LibHandle = nil then + LibHandle := GL_LibHandle; + + Result := nil; + + {$IFDEF DGL_WIN} + Result := GetProcAddress({%H-}HMODULE(LibHandle), ProcName); + + if result <> nil then + exit; + + if Addr(wglGetProcAddress) <> nil then + Result := wglGetProcAddress(ProcName); + {$ENDIF} + + {$IFDEF DGL_LINUX} + if not ForceDLSym then begin + if Addr(glXGetProcAddress) <> nil then + Result := glXGetProcAddress(ProcName); + + if result <> nil then + exit; + + if Addr(glXGetProcAddressARB) <> nil then + Result := glXGetProcAddressARB(ProcName); + + if result <> nil then + exit; + end; + + Result := dlsym(LibHandle, ProcName); + {$ENDIF} + + {$IFDEF DGL_MAC} + Result := GetProcAddress(HMODULE(LibHandle), ProcName); + {$ENDIF} +end; + + +function Int_GetExtensionString: AnsiString; +var + ExtensionCount : GLint; + i : Integer; +begin + if GL_VERSION_3_0 + then + begin + if not Assigned(@glGetIntegerv) then glGetIntegerv := dglGetProcAddress('glGetIntegerv'); + if not Assigned(@glGetStringi) then glGetStringi := dglGetProcAddress('glGetStringi'); + + result := ''; + + if Assigned(@glGetIntegerv) and Assigned(@glGetStringi) + then + begin + glGetIntegerv(GL_NUM_EXTENSIONS, @extensionCount); + + For I := 0 to extensionCount - 1 do + result := result + #32 + PAnsiChar(glGetStringi(GL_EXTENSIONS, I)); + end; + end + else + begin + if not Assigned(@glGetString) then glGetString := dglGetProcAddress('glGetString'); + + if Assigned(@glGetString) + then result := glGetString(GL_EXTENSIONS) + else result := ''; + end; + + if (GL_LibHandle <> nil) then begin + {$IFDEF DGL_WIN} + // wglGetExtensionsStringEXT + if not Assigned(@wglGetExtensionsStringEXT) then + wglGetExtensionsStringEXT := dglGetProcAddress('wglGetExtensionsStringEXT'); + + if Assigned(@wglGetExtensionsStringEXT) then + Result := Result + #32 + wglGetExtensionsStringEXT; + + // wglGetExtensionsStringARB + if not Assigned(@wglGetExtensionsStringARB) then + wglGetExtensionsStringARB := dglGetProcAddress('wglGetExtensionsStringARB'); + + if Assigned(@wglGetExtensionsStringARB) then + Result := Result + #32 + wglGetExtensionsStringARB(wglGetCurrentDC); + {$ENDIF} + end; + + Result := #32 + Result + #32; +end; + + +function Int_CheckExtension(AllExtensions, CheckExtension: AnsiString): Boolean; +begin + Result := Pos(#32 + CheckExtension + #32, AllExtensions) > 0; +end; + + +function dglCheckExtension(Extension: AnsiString): Boolean; +var + Extensions: AnsiString; +begin + Extensions := Int_GetExtensionString; + Result := Int_CheckExtension(Extensions, Extension); +end; + + + +function InitOpenGL(LibName: String; GLULibName: String): Boolean; +begin + Result := False; + + // free opened libraries + if GL_LibHandle <> nil then + dglFreeLibrary(GL_LibHandle); + + if GLU_LibHandle <> nil then + dglFreeLibrary(GLU_LibHandle); + + // load library + GL_LibHandle := dglLoadLibrary(PChar(LibName)); + GLU_LibHandle := dglLoadLibrary(PChar(GLULibName)); + + // load GL functions + if (GL_LibHandle <> nil) then begin + {$IFDEF DGL_WIN} + wglCopyContext := dglGetProcAddress('wglCopyContext'); + wglCreateLayerContext := dglGetProcAddress('wglCreateLayerContext'); + wglCreateContext := dglGetProcAddress('wglCreateContext'); + wglDeleteContext := dglGetProcAddress('wglDeleteContext'); + wglDescribeLayerPlane := dglGetProcAddress('wglDescribeLayerPlane'); + wglGetCurrentContext := dglGetProcAddress('wglGetCurrentContext'); + wglGetCurrentDC := dglGetProcAddress('wglGetCurrentDC'); + wglGetLayerPaletteEntries := dglGetProcAddress('wglGetLayerPaletteEntries'); + wglGetProcAddress := dglGetProcAddress('wglGetProcAddress'); + wglMakeCurrent := dglGetProcAddress('wglMakeCurrent'); + wglRealizeLayerPalette := dglGetProcAddress('wglRealizeLayerPalette'); + wglSetLayerPaletteEntries := dglGetProcAddress('wglSetLayerPaletteEntries'); + wglShareLists := dglGetProcAddress('wglShareLists'); + wglSwapLayerBuffers := dglGetProcAddress('wglSwapLayerBuffers'); + wglSwapMultipleBuffers := dglGetProcAddress('wglSwapMultipleBuffers'); + wglUseFontBitmapsA := dglGetProcAddress('wglUseFontBitmapsA'); + wglUseFontOutlinesA := dglGetProcAddress('wglUseFontOutlinesA'); + wglUseFontBitmapsW := dglGetProcAddress('wglUseFontBitmapsW'); + wglUseFontOutlinesW := dglGetProcAddress('wglUseFontOutlinesW'); + wglUseFontBitmaps := dglGetProcAddress('wglUseFontBitmapsA'); + wglUseFontOutlines := dglGetProcAddress('wglUseFontOutlinesA'); + {$ENDIF} + + {$IFDEF DGL_LINUX} + // GLX_VERSION_1_4 (needs to be first) + glXGetProcAddress := dglGetProcAddress('glXGetProcAddress', nil, True); + + // GLX_ARB_get_proc_address (also needs to be first) + glXGetProcAddressARB := dglGetProcAddress('glXGetProcAddressARB', nil, True); + + glXChooseVisual := dglGetProcAddress('glXChooseVisual'); + glXCopyContext := dglGetProcAddress('glXCopyContext'); + glXCreateContext := dglGetProcAddress('glXCreateContext'); + glXCreateGLXPixmap := dglGetProcAddress('glXCreateGLXPixmap'); + glXDestroyContext := dglGetProcAddress('glXDestroyContext'); + glXDestroyGLXPixmap := dglGetProcAddress('glXDestroyGLXPixmap'); + glXGetConfig := dglGetProcAddress('glXGetConfig'); + glXGetCurrentContext := dglGetProcAddress('glXGetCurrentContext'); + glXGetCurrentDrawable := dglGetProcAddress('glXGetCurrentDrawable'); + glXIsDirect := dglGetProcAddress('glXIsDirect'); + glXMakeCurrent := dglGetProcAddress('glXMakeCurrent'); + glXQueryExtension := dglGetProcAddress('glXQueryExtension'); + glXQueryVersion := dglGetProcAddress('glXQueryVersion'); + glXSwapBuffers := dglGetProcAddress('glXSwapBuffers'); + glXUseXFont := dglGetProcAddress('glXUseXFont'); + glXWaitGL := dglGetProcAddress('glXWaitGL'); + glXWaitX := dglGetProcAddress('glXWaitX'); + + glXGetClientString := dglGetProcAddress('glXGetClientString'); + glXQueryServerString := dglGetProcAddress('glXQueryServerString'); + glXQueryExtensionsString := dglGetProcAddress('glXQueryExtensionsString'); + + // GLX_VERSION_1_3 + glXGetFBConfigs := dglGetProcAddress('glXGetFBConfigs'); + glXChooseFBConfig := dglGetProcAddress('glXChooseFBConfig'); + glXGetFBConfigAttrib := dglGetProcAddress('glXGetFBConfigAttrib'); + glXGetVisualFromFBConfig := dglGetProcAddress('glXGetVisualFromFBConfig'); + glXCreateWindow := dglGetProcAddress('glXCreateWindow'); + glXDestroyWindow := dglGetProcAddress('glXDestroyWindow'); + glXCreatePixmap := dglGetProcAddress('glXCreatePixmap'); + + glXDestroyPixmap := dglGetProcAddress('glXDestroyPixmap'); + glXCreatePbuffer := dglGetProcAddress('glXCreatePbuffer'); + glXDestroyPbuffer := dglGetProcAddress('glXDestroyPbuffer'); + glXQueryDrawable := dglGetProcAddress('glXQueryDrawable'); + glXCreateNewContext := dglGetProcAddress('glXCreateNewContext'); + glXMakeContextCurrent := dglGetProcAddress('glXMakeContextCurrent'); + glXGetCurrentReadDrawable := dglGetProcAddress('glXGetCurrentReadDrawable'); + glXGetCurreentDisplay := dglGetProcAddress('glXGetCurreentDisplay'); + + glXQueryContext := dglGetProcAddress('glXQueryContext'); + glXSelectEvent := dglGetProcAddress('glXSelectEvent'); + glXGetSelectedEvent := dglGetProcAddress('glXGetSelectedEvent'); + + // GLX_ARB_create_context + glXCreateContextAttribsARB := dglGetProcAddress('glXCreateContextAttribsARB'); + + // GLX_EXT_import_context + glXGetCurrentDisplayEXT := dglGetProcAddress('glXGetCurrentDisplayEXT'); + glXQueryContextInfoEXT := dglGetProcAddress('glXQueryContextInfoEXT'); + glXGetContextIDEXT := dglGetProcAddress('glXGetContextIDEXT'); + glXImportContextEXT := dglGetProcAddress('glXImportContextEXT'); + glXFreeContextEXT := dglGetProcAddress('glXFreeContextEXT'); + + // GLX_EXT_texture_from_pixmap + glXBindTexImageEXT := dglGetProcAddress('glXBindTexImageEXT'); + glXReleaseTexImageEXT := dglGetProcAddress('glXReleaseTexImageEXT'); + + // GLX_EXT_swap_control + glXSwapIntervalEXT := dglGetProcAddress('glXSwapIntervalEXT'); + {$ENDIF} + + Result := True; + end; + + // load GLU functions + if GLU_LibHandle <> nil then begin + // GLU ======================================================================== + gluBeginCurve := dglGetProcAddress('gluBeginCurve', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluBeginPolygon := dglGetProcAddress('gluBeginPolygon', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluBeginSurface := dglGetProcAddress('gluBeginSurface', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluBeginTrim := dglGetProcAddress('gluBeginTrim', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluBuild1DMipmaps := dglGetProcAddress('gluBuild1DMipmaps', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluBuild2DMipmaps := dglGetProcAddress('gluBuild2DMipmaps', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluCylinder := dglGetProcAddress('gluCylinder', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluDeleteNurbsRenderer := dglGetProcAddress('gluDeleteNurbsRenderer', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluDeleteQuadric := dglGetProcAddress('gluDeleteQuadric', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluDeleteTess := dglGetProcAddress('gluDeleteTess', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluDisk := dglGetProcAddress('gluDisk', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluEndCurve := dglGetProcAddress('gluEndCurve', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluEndPolygon := dglGetProcAddress('gluEndPolygon', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluEndSurface := dglGetProcAddress('gluEndSurface', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluEndTrim := dglGetProcAddress('gluEndTrim', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluErrorString := dglGetProcAddress('gluErrorString', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluGetNurbsProperty := dglGetProcAddress('gluGetNurbsProperty', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluGetString := dglGetProcAddress('gluGetString', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluGetTessProperty := dglGetProcAddress('gluGetTessProperty', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluLoadSamplingMatrices := dglGetProcAddress('gluLoadSamplingMatrices', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluLookAt := dglGetProcAddress('gluLookAt', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluNewNurbsRenderer := dglGetProcAddress('gluNewNurbsRenderer', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluNewQuadric := dglGetProcAddress('gluNewQuadric', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluNewTess := dglGetProcAddress('gluNewTess', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluNextContour := dglGetProcAddress('gluNextContour', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluNurbsCallback := dglGetProcAddress('gluNurbsCallback', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluNurbsCurve := dglGetProcAddress('gluNurbsCurve', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluNurbsProperty := dglGetProcAddress('gluNurbsProperty', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluNurbsSurface := dglGetProcAddress('gluNurbsSurface', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluOrtho2D := dglGetProcAddress('gluOrtho2D', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluPartialDisk := dglGetProcAddress('gluPartialDisk', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluPerspective := dglGetProcAddress('gluPerspective', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluPickMatrix := dglGetProcAddress('gluPickMatrix', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluProject := dglGetProcAddress('gluProject', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluPwlCurve := dglGetProcAddress('gluPwlCurve', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluQuadricCallback := dglGetProcAddress('gluQuadricCallback', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluQuadricDrawStyle := dglGetProcAddress('gluQuadricDrawStyle', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluQuadricNormals := dglGetProcAddress('gluQuadricNormals', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluQuadricOrientation := dglGetProcAddress('gluQuadricOrientation', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluQuadricTexture := dglGetProcAddress('gluQuadricTexture', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluScaleImage := dglGetProcAddress('gluScaleImage', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluSphere := dglGetProcAddress('gluSphere', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluTessBeginContour := dglGetProcAddress('gluTessBeginContour', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluTessBeginPolygon := dglGetProcAddress('gluTessBeginPolygon', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluTessCallback := dglGetProcAddress('gluTessCallback', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluTessEndContour := dglGetProcAddress('gluTessEndContour', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluTessEndPolygon := dglGetProcAddress('gluTessEndPolygon', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluTessNormal := dglGetProcAddress('gluTessNormal', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluTessProperty := dglGetProcAddress('gluTessProperty', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluTessVertex := dglGetProcAddress('gluTessVertex', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + gluUnProject := dglGetProcAddress('gluUnProject', GLU_LibHandle {$IFDEF DGL_LINUX}, True{$ENDIF}); + end; +end; + +procedure ReadOpenGLCore; +begin + // GL_VERSION_1_0 + glCullFace := dglGetProcAddress('glCullFace'); + glFrontFace := dglGetProcAddress('glFrontFace'); + glHint := dglGetProcAddress('glHint'); + glLineWidth := dglGetProcAddress('glLineWidth'); + glPointSize := dglGetProcAddress('glPointSize'); + glPolygonMode := dglGetProcAddress('glPolygonMode'); + glScissor := dglGetProcAddress('glScissor'); + glTexParameterf := dglGetProcAddress('glTexParameterf'); + glTexParameterfv := dglGetProcAddress('glTexParameterfv'); + glTexParameteri := dglGetProcAddress('glTexParameteri'); + glTexParameteriv := dglGetProcAddress('glTexParameteriv'); + glTexImage1D := dglGetProcAddress('glTexImage1D'); + glTexImage2D := dglGetProcAddress('glTexImage2D'); + glDrawBuffer := dglGetProcAddress('glDrawBuffer'); + glClear := dglGetProcAddress('glClear'); + glClearColor := dglGetProcAddress('glClearColor'); + glClearStencil := dglGetProcAddress('glClearStencil'); + glClearDepth := dglGetProcAddress('glClearDepth'); + glStencilMask := dglGetProcAddress('glStencilMask'); + glColorMask := dglGetProcAddress('glColorMask'); + glDepthMask := dglGetProcAddress('glDepthMask'); + glDisable := dglGetProcAddress('glDisable'); + glEnable := dglGetProcAddress('glEnable'); + glFinish := dglGetProcAddress('glFinish'); + glFlush := dglGetProcAddress('glFlush'); + glBlendFunc := dglGetProcAddress('glBlendFunc'); + glLogicOp := dglGetProcAddress('glLogicOp'); + glStencilFunc := dglGetProcAddress('glStencilFunc'); + glStencilOp := dglGetProcAddress('glStencilOp'); + glDepthFunc := dglGetProcAddress('glDepthFunc'); + glPixelStoref := dglGetProcAddress('glPixelStoref'); + glPixelStorei := dglGetProcAddress('glPixelStorei'); + glReadBuffer := dglGetProcAddress('glReadBuffer'); + glReadPixels := dglGetProcAddress('glReadPixels'); + glGetBooleanv := dglGetProcAddress('glGetBooleanv'); + glGetDoublev := dglGetProcAddress('glGetDoublev'); + glGetError := dglGetProcAddress('glGetError'); + glGetFloatv := dglGetProcAddress('glGetFloatv'); + glGetIntegerv := dglGetProcAddress('glGetIntegerv'); + glGetString := dglGetProcAddress('glGetString'); + glGetTexImage := dglGetProcAddress('glGetTexImage'); + glGetTexParameteriv := dglGetProcAddress('glGetTexParameteriv'); + glGetTexParameterfv := dglGetProcAddress('glGetTexParameterfv'); + glGetTexLevelParameterfv := dglGetProcAddress('glGetTexLevelParameterfv'); + glGetTexLevelParameteriv := dglGetProcAddress('glGetTexLevelParameteriv'); + glIsEnabled := dglGetProcAddress('glIsEnabled'); + glDepthRange := dglGetProcAddress('glDepthRange'); + glViewport := dglGetProcAddress('glViewport'); + + // GL_VERSION_1_1 + glDrawArrays := dglGetProcAddress('glDrawArrays'); + glDrawElements := dglGetProcAddress('glDrawElements'); + glGetPointerv := dglGetProcAddress('glGetPointerv'); + glPolygonOffset := dglGetProcAddress('glPolygonOffset'); + glCopyTexImage1D := dglGetProcAddress('glCopyTexImage1D'); + glCopyTexImage2D := dglGetProcAddress('glCopyTexImage2D'); + glCopyTexSubImage1D := dglGetProcAddress('glCopyTexSubImage1D'); + glCopyTexSubImage2D := dglGetProcAddress('glCopyTexSubImage2D'); + glTexSubImage1D := dglGetProcAddress('glTexSubImage1D'); + glTexSubImage2D := dglGetProcAddress('glTexSubImage2D'); + glBindTexture := dglGetProcAddress('glBindTexture'); + glDeleteTextures := dglGetProcAddress('glDeleteTextures'); + glGenTextures := dglGetProcAddress('glGenTextures'); + +{$ifdef DGL_DEPRECATED} + glAccum := dglGetProcAddress('glAccum'); + glAlphaFunc := dglGetProcAddress('glAlphaFunc'); + glAreTexturesResident := dglGetProcAddress('glAreTexturesResident'); + glArrayElement := dglGetProcAddress('glArrayElement'); + glBegin := dglGetProcAddress('glBegin'); + glBitmap := dglGetProcAddress('glBitmap'); + glCallList := dglGetProcAddress('glCallList'); + glCallLists := dglGetProcAddress('glCallLists'); + glClearAccum := dglGetProcAddress('glClearAccum'); + glClearIndex := dglGetProcAddress('glClearIndex'); + glClipPlane := dglGetProcAddress('glClipPlane'); + glColor3b := dglGetProcAddress('glColor3b'); + glColor3bv := dglGetProcAddress('glColor3bv'); + glColor3d := dglGetProcAddress('glColor3d'); + glColor3dv := dglGetProcAddress('glColor3dv'); + glColor3f := dglGetProcAddress('glColor3f'); + glColor3fv := dglGetProcAddress('glColor3fv'); + glColor3i := dglGetProcAddress('glColor3i'); + glColor3iv := dglGetProcAddress('glColor3iv'); + glColor3s := dglGetProcAddress('glColor3s'); + glColor3sv := dglGetProcAddress('glColor3sv'); + glColor3ub := dglGetProcAddress('glColor3ub'); + glColor3ubv := dglGetProcAddress('glColor3ubv'); + glColor3ui := dglGetProcAddress('glColor3ui'); + glColor3uiv := dglGetProcAddress('glColor3uiv'); + glColor3us := dglGetProcAddress('glColor3us'); + glColor3usv := dglGetProcAddress('glColor3usv'); + glColor4b := dglGetProcAddress('glColor4b'); + glColor4bv := dglGetProcAddress('glColor4bv'); + glColor4d := dglGetProcAddress('glColor4d'); + glColor4dv := dglGetProcAddress('glColor4dv'); + glColor4f := dglGetProcAddress('glColor4f'); + glColor4fv := dglGetProcAddress('glColor4fv'); + glColor4i := dglGetProcAddress('glColor4i'); + glColor4iv := dglGetProcAddress('glColor4iv'); + glColor4s := dglGetProcAddress('glColor4s'); + glColor4sv := dglGetProcAddress('glColor4sv'); + glColor4ub := dglGetProcAddress('glColor4ub'); + glColor4ubv := dglGetProcAddress('glColor4ubv'); + glColor4ui := dglGetProcAddress('glColor4ui'); + glColor4uiv := dglGetProcAddress('glColor4uiv'); + glColor4us := dglGetProcAddress('glColor4us'); + glColor4usv := dglGetProcAddress('glColor4usv'); + glColorMaterial := dglGetProcAddress('glColorMaterial'); + glColorPointer := dglGetProcAddress('glColorPointer'); + glCopyPixels := dglGetProcAddress('glCopyPixels'); + glDeleteLists := dglGetProcAddress('glDeleteLists'); + glDisableClientState := dglGetProcAddress('glDisableClientState'); + glDrawPixels := dglGetProcAddress('glDrawPixels'); + glEdgeFlag := dglGetProcAddress('glEdgeFlag'); + glEdgeFlagPointer := dglGetProcAddress('glEdgeFlagPointer'); + glEdgeFlagv := dglGetProcAddress('glEdgeFlagv'); + glEnableClientState := dglGetProcAddress('glEnableClientState'); + glEnd := dglGetProcAddress('glEnd'); + glEndList := dglGetProcAddress('glEndList'); + glEvalCoord1d := dglGetProcAddress('glEvalCoord1d'); + glEvalCoord1dv := dglGetProcAddress('glEvalCoord1dv'); + glEvalCoord1f := dglGetProcAddress('glEvalCoord1f'); + glEvalCoord1fv := dglGetProcAddress('glEvalCoord1fv'); + glEvalCoord2d := dglGetProcAddress('glEvalCoord2d'); + glEvalCoord2dv := dglGetProcAddress('glEvalCoord2dv'); + glEvalCoord2f := dglGetProcAddress('glEvalCoord2f'); + glEvalCoord2fv := dglGetProcAddress('glEvalCoord2fv'); + glEvalMesh1 := dglGetProcAddress('glEvalMesh1'); + glEvalMesh2 := dglGetProcAddress('glEvalMesh2'); + glEvalPoint1 := dglGetProcAddress('glEvalPoint1'); + glEvalPoint2 := dglGetProcAddress('glEvalPoint2'); + glFeedbackBuffer := dglGetProcAddress('glFeedbackBuffer'); + glFogf := dglGetProcAddress('glFogf'); + glFogfv := dglGetProcAddress('glFogfv'); + glFogi := dglGetProcAddress('glFogi'); + glFogiv := dglGetProcAddress('glFogiv'); + glFrustum := dglGetProcAddress('glFrustum'); + glGenLists := dglGetProcAddress('glGenLists'); + glGetClipPlane := dglGetProcAddress('glGetClipPlane'); + glGetLightfv := dglGetProcAddress('glGetLightfv'); + glGetLightiv := dglGetProcAddress('glGetLightiv'); + glGetMapdv := dglGetProcAddress('glGetMapdv'); + glGetMapfv := dglGetProcAddress('glGetMapfv'); + glGetMapiv := dglGetProcAddress('glGetMapiv'); + glGetMaterialfv := dglGetProcAddress('glGetMaterialfv'); + glGetMaterialiv := dglGetProcAddress('glGetMaterialiv'); + glGetPixelMapfv := dglGetProcAddress('glGetPixelMapfv'); + glGetPixelMapuiv := dglGetProcAddress('glGetPixelMapuiv'); + glGetPixelMapusv := dglGetProcAddress('glGetPixelMapusv'); + glGetPolygonStipple := dglGetProcAddress('glGetPolygonStipple'); + glGetTexEnvfv := dglGetProcAddress('glGetTexEnvfv'); + glGetTexEnviv := dglGetProcAddress('glGetTexEnviv'); + glGetTexGendv := dglGetProcAddress('glGetTexGendv'); + glGetTexGenfv := dglGetProcAddress('glGetTexGenfv'); + glGetTexGeniv := dglGetProcAddress('glGetTexGeniv'); + glIndexMask := dglGetProcAddress('glIndexMask'); + glIndexPointer := dglGetProcAddress('glIndexPointer'); + glIndexd := dglGetProcAddress('glIndexd'); + glIndexdv := dglGetProcAddress('glIndexdv'); + glIndexf := dglGetProcAddress('glIndexf'); + glIndexfv := dglGetProcAddress('glIndexfv'); + glIndexi := dglGetProcAddress('glIndexi'); + glIndexiv := dglGetProcAddress('glIndexiv'); + glIndexs := dglGetProcAddress('glIndexs'); + glIndexsv := dglGetProcAddress('glIndexsv'); + glIndexub := dglGetProcAddress('glIndexub'); + glIndexubv := dglGetProcAddress('glIndexubv'); + glInitNames := dglGetProcAddress('glInitNames'); + glInterleavedArrays := dglGetProcAddress('glInterleavedArrays'); + glIsList := dglGetProcAddress('glIsList'); + glIsTexture := dglGetProcAddress('glIsTexture'); + glLightModelf := dglGetProcAddress('glLightModelf'); + glLightModelfv := dglGetProcAddress('glLightModelfv'); + glLightModeli := dglGetProcAddress('glLightModeli'); + glLightModeliv := dglGetProcAddress('glLightModeliv'); + glLightf := dglGetProcAddress('glLightf'); + glLightfv := dglGetProcAddress('glLightfv'); + glLighti := dglGetProcAddress('glLighti'); + glLightiv := dglGetProcAddress('glLightiv'); + glLineStipple := dglGetProcAddress('glLineStipple'); + glListBase := dglGetProcAddress('glListBase'); + glLoadIdentity := dglGetProcAddress('glLoadIdentity'); + glLoadMatrixd := dglGetProcAddress('glLoadMatrixd'); + glLoadMatrixf := dglGetProcAddress('glLoadMatrixf'); + glLoadName := dglGetProcAddress('glLoadName'); + glMap1d := dglGetProcAddress('glMap1d'); + glMap1f := dglGetProcAddress('glMap1f'); + glMap2d := dglGetProcAddress('glMap2d'); + glMap2f := dglGetProcAddress('glMap2f'); + glMapGrid1d := dglGetProcAddress('glMapGrid1d'); + glMapGrid1f := dglGetProcAddress('glMapGrid1f'); + glMapGrid2d := dglGetProcAddress('glMapGrid2d'); + glMapGrid2f := dglGetProcAddress('glMapGrid2f'); + glMaterialf := dglGetProcAddress('glMaterialf'); + glMaterialfv := dglGetProcAddress('glMaterialfv'); + glMateriali := dglGetProcAddress('glMateriali'); + glMaterialiv := dglGetProcAddress('glMaterialiv'); + glMatrixMode := dglGetProcAddress('glMatrixMode'); + glMultMatrixd := dglGetProcAddress('glMultMatrixd'); + glMultMatrixf := dglGetProcAddress('glMultMatrixf'); + glNewList := dglGetProcAddress('glNewList'); + glNormal3b := dglGetProcAddress('glNormal3b'); + glNormal3bv := dglGetProcAddress('glNormal3bv'); + glNormal3d := dglGetProcAddress('glNormal3d'); + glNormal3dv := dglGetProcAddress('glNormal3dv'); + glNormal3f := dglGetProcAddress('glNormal3f'); + glNormal3fv := dglGetProcAddress('glNormal3fv'); + glNormal3i := dglGetProcAddress('glNormal3i'); + glNormal3iv := dglGetProcAddress('glNormal3iv'); + glNormal3s := dglGetProcAddress('glNormal3s'); + glNormal3sv := dglGetProcAddress('glNormal3sv'); + glNormalPointer := dglGetProcAddress('glNormalPointer'); + glOrtho := dglGetProcAddress('glOrtho'); + glPassThrough := dglGetProcAddress('glPassThrough'); + glPixelMapfv := dglGetProcAddress('glPixelMapfv'); + glPixelMapuiv := dglGetProcAddress('glPixelMapuiv'); + glPixelMapusv := dglGetProcAddress('glPixelMapusv'); + glPixelTransferf := dglGetProcAddress('glPixelTransferf'); + glPixelTransferi := dglGetProcAddress('glPixelTransferi'); + glPixelZoom := dglGetProcAddress('glPixelZoom'); + glPolygonStipple := dglGetProcAddress('glPolygonStipple'); + glPopAttrib := dglGetProcAddress('glPopAttrib'); + glPopClientAttrib := dglGetProcAddress('glPopClientAttrib'); + glPopMatrix := dglGetProcAddress('glPopMatrix'); + glPopName := dglGetProcAddress('glPopName'); + glPrioritizeTextures := dglGetProcAddress('glPrioritizeTextures'); + glPushAttrib := dglGetProcAddress('glPushAttrib'); + glPushClientAttrib := dglGetProcAddress('glPushClientAttrib'); + glPushMatrix := dglGetProcAddress('glPushMatrix'); + glPushName := dglGetProcAddress('glPushName'); + glRasterPos2d := dglGetProcAddress('glRasterPos2d'); + glRasterPos2dv := dglGetProcAddress('glRasterPos2dv'); + glRasterPos2f := dglGetProcAddress('glRasterPos2f'); + glRasterPos2fv := dglGetProcAddress('glRasterPos2fv'); + glRasterPos2i := dglGetProcAddress('glRasterPos2i'); + glRasterPos2iv := dglGetProcAddress('glRasterPos2iv'); + glRasterPos2s := dglGetProcAddress('glRasterPos2s'); + glRasterPos2sv := dglGetProcAddress('glRasterPos2sv'); + glRasterPos3d := dglGetProcAddress('glRasterPos3d'); + glRasterPos3dv := dglGetProcAddress('glRasterPos3dv'); + glRasterPos3f := dglGetProcAddress('glRasterPos3f'); + glRasterPos3fv := dglGetProcAddress('glRasterPos3fv'); + glRasterPos3i := dglGetProcAddress('glRasterPos3i'); + glRasterPos3iv := dglGetProcAddress('glRasterPos3iv'); + glRasterPos3s := dglGetProcAddress('glRasterPos3s'); + glRasterPos3sv := dglGetProcAddress('glRasterPos3sv'); + glRasterPos4d := dglGetProcAddress('glRasterPos4d'); + glRasterPos4dv := dglGetProcAddress('glRasterPos4dv'); + glRasterPos4f := dglGetProcAddress('glRasterPos4f'); + glRasterPos4fv := dglGetProcAddress('glRasterPos4fv'); + glRasterPos4i := dglGetProcAddress('glRasterPos4i'); + glRasterPos4iv := dglGetProcAddress('glRasterPos4iv'); + glRasterPos4s := dglGetProcAddress('glRasterPos4s'); + glRasterPos4sv := dglGetProcAddress('glRasterPos4sv'); + glRectd := dglGetProcAddress('glRectd'); + glRectdv := dglGetProcAddress('glRectdv'); + glRectf := dglGetProcAddress('glRectf'); + glRectfv := dglGetProcAddress('glRectfv'); + glRecti := dglGetProcAddress('glRecti'); + glRectiv := dglGetProcAddress('glRectiv'); + glRects := dglGetProcAddress('glRects'); + glRectsv := dglGetProcAddress('glRectsv'); + glRenderMode := dglGetProcAddress('glRenderMode'); + glRotated := dglGetProcAddress('glRotated'); + glRotatef := dglGetProcAddress('glRotatef'); + glScaled := dglGetProcAddress('glScaled'); + glScalef := dglGetProcAddress('glScalef'); + glSelectBuffer := dglGetProcAddress('glSelectBuffer'); + glShadeModel := dglGetProcAddress('glShadeModel'); + glTexCoord1d := dglGetProcAddress('glTexCoord1d'); + glTexCoord1dv := dglGetProcAddress('glTexCoord1dv'); + glTexCoord1f := dglGetProcAddress('glTexCoord1f'); + glTexCoord1fv := dglGetProcAddress('glTexCoord1fv'); + glTexCoord1i := dglGetProcAddress('glTexCoord1i'); + glTexCoord1iv := dglGetProcAddress('glTexCoord1iv'); + glTexCoord1s := dglGetProcAddress('glTexCoord1s'); + glTexCoord1sv := dglGetProcAddress('glTexCoord1sv'); + glTexCoord2d := dglGetProcAddress('glTexCoord2d'); + glTexCoord2dv := dglGetProcAddress('glTexCoord2dv'); + glTexCoord2f := dglGetProcAddress('glTexCoord2f'); + glTexCoord2fv := dglGetProcAddress('glTexCoord2fv'); + glTexCoord2i := dglGetProcAddress('glTexCoord2i'); + glTexCoord2iv := dglGetProcAddress('glTexCoord2iv'); + glTexCoord2s := dglGetProcAddress('glTexCoord2s'); + glTexCoord2sv := dglGetProcAddress('glTexCoord2sv'); + glTexCoord3d := dglGetProcAddress('glTexCoord3d'); + glTexCoord3dv := dglGetProcAddress('glTexCoord3dv'); + glTexCoord3f := dglGetProcAddress('glTexCoord3f'); + glTexCoord3fv := dglGetProcAddress('glTexCoord3fv'); + glTexCoord3i := dglGetProcAddress('glTexCoord3i'); + glTexCoord3iv := dglGetProcAddress('glTexCoord3iv'); + glTexCoord3s := dglGetProcAddress('glTexCoord3s'); + glTexCoord3sv := dglGetProcAddress('glTexCoord3sv'); + glTexCoord4d := dglGetProcAddress('glTexCoord4d'); + glTexCoord4dv := dglGetProcAddress('glTexCoord4dv'); + glTexCoord4f := dglGetProcAddress('glTexCoord4f'); + glTexCoord4fv := dglGetProcAddress('glTexCoord4fv'); + glTexCoord4i := dglGetProcAddress('glTexCoord4i'); + glTexCoord4iv := dglGetProcAddress('glTexCoord4iv'); + glTexCoord4s := dglGetProcAddress('glTexCoord4s'); + glTexCoord4sv := dglGetProcAddress('glTexCoord4sv'); + glTexCoordPointer := dglGetProcAddress('glTexCoordPointer'); + glTexEnvf := dglGetProcAddress('glTexEnvf'); + glTexEnvfv := dglGetProcAddress('glTexEnvfv'); + glTexEnvi := dglGetProcAddress('glTexEnvi'); + glTexEnviv := dglGetProcAddress('glTexEnviv'); + glTexGend := dglGetProcAddress('glTexGend'); + glTexGendv := dglGetProcAddress('glTexGendv'); + glTexGenf := dglGetProcAddress('glTexGenf'); + glTexGenfv := dglGetProcAddress('glTexGenfv'); + glTexGeni := dglGetProcAddress('glTexGeni'); + glTexGeniv := dglGetProcAddress('glTexGeniv'); + glTranslated := dglGetProcAddress('glTranslated'); + glTranslatef := dglGetProcAddress('glTranslatef'); + glVertex2d := dglGetProcAddress('glVertex2d'); + glVertex2dv := dglGetProcAddress('glVertex2dv'); + glVertex2f := dglGetProcAddress('glVertex2f'); + glVertex2fv := dglGetProcAddress('glVertex2fv'); + glVertex2i := dglGetProcAddress('glVertex2i'); + glVertex2iv := dglGetProcAddress('glVertex2iv'); + glVertex2s := dglGetProcAddress('glVertex2s'); + glVertex2sv := dglGetProcAddress('glVertex2sv'); + glVertex3d := dglGetProcAddress('glVertex3d'); + glVertex3dv := dglGetProcAddress('glVertex3dv'); + glVertex3f := dglGetProcAddress('glVertex3f'); + glVertex3fv := dglGetProcAddress('glVertex3fv'); + glVertex3i := dglGetProcAddress('glVertex3i'); + glVertex3iv := dglGetProcAddress('glVertex3iv'); + glVertex3s := dglGetProcAddress('glVertex3s'); + glVertex3sv := dglGetProcAddress('glVertex3sv'); + glVertex4d := dglGetProcAddress('glVertex4d'); + glVertex4dv := dglGetProcAddress('glVertex4dv'); + glVertex4f := dglGetProcAddress('glVertex4f'); + glVertex4fv := dglGetProcAddress('glVertex4fv'); + glVertex4i := dglGetProcAddress('glVertex4i'); + glVertex4iv := dglGetProcAddress('glVertex4iv'); + glVertex4s := dglGetProcAddress('glVertex4s'); + glVertex4sv := dglGetProcAddress('glVertex4sv'); + glVertexPointer := dglGetProcAddress('glVertexPointer'); +{$endif} + + // GL_VERSION_1_2 + glBlendColor := dglGetProcAddress('glBlendColor'); + glBlendEquation := dglGetProcAddress('glBlendEquation'); + glDrawRangeElements := dglGetProcAddress('glDrawRangeElements'); + glTexImage3D := dglGetProcAddress('glTexImage3D'); + glTexSubImage3D := dglGetProcAddress('glTexSubImage3D'); + glCopyTexSubImage3D := dglGetProcAddress('glCopyTexSubImage3D'); +{$ifdef DGL_DEPRECATED} + glColorTable := dglGetProcAddress('glColorTable'); + glColorTableParameterfv := dglGetProcAddress('glColorTableParameterfv'); + glColorTableParameteriv := dglGetProcAddress('glColorTableParameteriv'); + glCopyColorTable := dglGetProcAddress('glCopyColorTable'); + glGetColorTable := dglGetProcAddress('glGetColorTable'); + glGetColorTableParameterfv := dglGetProcAddress('glGetColorTableParameterfv'); + glGetColorTableParameteriv := dglGetProcAddress('glGetColorTableParameteriv'); + glColorSubTable := dglGetProcAddress('glColorSubTable'); + glCopyColorSubTable := dglGetProcAddress('glCopyColorSubTable'); + glConvolutionFilter1D := dglGetProcAddress('glConvolutionFilter1D'); + glConvolutionFilter2D := dglGetProcAddress('glConvolutionFilter2D'); + glConvolutionParameterf := dglGetProcAddress('glConvolutionParameterf'); + glConvolutionParameterfv := dglGetProcAddress('glConvolutionParameterfv'); + glConvolutionParameteri := dglGetProcAddress('glConvolutionParameteri'); + glConvolutionParameteriv := dglGetProcAddress('glConvolutionParameteriv'); + glCopyConvolutionFilter1D := dglGetProcAddress('glCopyConvolutionFilter1D'); + glCopyConvolutionFilter2D := dglGetProcAddress('glCopyConvolutionFilter2D'); + glGetConvolutionFilter := dglGetProcAddress('glGetConvolutionFilter'); + glGetConvolutionParameterfv := dglGetProcAddress('glGetConvolutionParameterfv'); + glGetConvolutionParameteriv := dglGetProcAddress('glGetConvolutionParameteriv'); + glGetSeparableFilter := dglGetProcAddress('glGetSeparableFilter'); + glSeparableFilter2D := dglGetProcAddress('glSeparableFilter2D'); + glGetHistogram := dglGetProcAddress('glGetHistogram'); + glGetHistogramParameterfv := dglGetProcAddress('glGetHistogramParameterfv'); + glGetHistogramParameteriv := dglGetProcAddress('glGetHistogramParameteriv'); + glGetMinmax := dglGetProcAddress('glGetMinmax'); + glGetMinmaxParameterfv := dglGetProcAddress('glGetMinmaxParameterfv'); + glGetMinmaxParameteriv := dglGetProcAddress('glGetMinmaxParameteriv'); + glHistogram := dglGetProcAddress('glHistogram'); + glMinmax := dglGetProcAddress('glMinmax'); + glResetHistogram := dglGetProcAddress('glResetHistogram'); + glResetMinmax := dglGetProcAddress('glResetMinmax'); +{$endif} + + // GL_VERSION_1_3 + glActiveTexture := dglGetProcAddress('glActiveTexture'); + glSampleCoverage := dglGetProcAddress('glSampleCoverage'); + glCompressedTexImage3D := dglGetProcAddress('glCompressedTexImage3D'); + glCompressedTexImage2D := dglGetProcAddress('glCompressedTexImage2D'); + glCompressedTexImage1D := dglGetProcAddress('glCompressedTexImage1D'); + glCompressedTexSubImage3D := dglGetProcAddress('glCompressedTexSubImage3D'); + glCompressedTexSubImage2D := dglGetProcAddress('glCompressedTexSubImage2D'); + glCompressedTexSubImage1D := dglGetProcAddress('glCompressedTexSubImage1D'); + glGetCompressedTexImage := dglGetProcAddress('glGetCompressedTexImage'); +{$ifdef DGL_DEPRECATED} + glClientActiveTexture := dglGetProcAddress('glClientActiveTexture'); + glMultiTexCoord1d := dglGetProcAddress('glMultiTexCoord1d'); + glMultiTexCoord1dv := dglGetProcAddress('glMultiTexCoord1dv'); + glMultiTexCoord1f := dglGetProcAddress('glMultiTexCoord1f'); + glMultiTexCoord1fv := dglGetProcAddress('glMultiTexCoord1fv'); + glMultiTexCoord1i := dglGetProcAddress('glMultiTexCoord1i'); + glMultiTexCoord1iv := dglGetProcAddress('glMultiTexCoord1iv'); + glMultiTexCoord1s := dglGetProcAddress('glMultiTexCoord1s'); + glMultiTexCoord1sv := dglGetProcAddress('glMultiTexCoord1sv'); + glMultiTexCoord2d := dglGetProcAddress('glMultiTexCoord2d'); + glMultiTexCoord2dv := dglGetProcAddress('glMultiTexCoord2dv'); + glMultiTexCoord2f := dglGetProcAddress('glMultiTexCoord2f'); + glMultiTexCoord2fv := dglGetProcAddress('glMultiTexCoord2fv'); + glMultiTexCoord2i := dglGetProcAddress('glMultiTexCoord2i'); + glMultiTexCoord2iv := dglGetProcAddress('glMultiTexCoord2iv'); + glMultiTexCoord2s := dglGetProcAddress('glMultiTexCoord2s'); + glMultiTexCoord2sv := dglGetProcAddress('glMultiTexCoord2sv'); + glMultiTexCoord3d := dglGetProcAddress('glMultiTexCoord3d'); + glMultiTexCoord3dv := dglGetProcAddress('glMultiTexCoord3dv'); + glMultiTexCoord3f := dglGetProcAddress('glMultiTexCoord3f'); + glMultiTexCoord3fv := dglGetProcAddress('glMultiTexCoord3fv'); + glMultiTexCoord3i := dglGetProcAddress('glMultiTexCoord3i'); + glMultiTexCoord3iv := dglGetProcAddress('glMultiTexCoord3iv'); + glMultiTexCoord3s := dglGetProcAddress('glMultiTexCoord3s'); + glMultiTexCoord3sv := dglGetProcAddress('glMultiTexCoord3sv'); + glMultiTexCoord4d := dglGetProcAddress('glMultiTexCoord4d'); + glMultiTexCoord4dv := dglGetProcAddress('glMultiTexCoord4dv'); + glMultiTexCoord4f := dglGetProcAddress('glMultiTexCoord4f'); + glMultiTexCoord4fv := dglGetProcAddress('glMultiTexCoord4fv'); + glMultiTexCoord4i := dglGetProcAddress('glMultiTexCoord4i'); + glMultiTexCoord4iv := dglGetProcAddress('glMultiTexCoord4iv'); + glMultiTexCoord4s := dglGetProcAddress('glMultiTexCoord4s'); + glMultiTexCoord4sv := dglGetProcAddress('glMultiTexCoord4sv'); + glLoadTransposeMatrixf := dglGetProcAddress('glLoadTransposeMatrixf'); + glLoadTransposeMatrixd := dglGetProcAddress('glLoadTransposeMatrixd'); + glMultTransposeMatrixf := dglGetProcAddress('glMultTransposeMatrixf'); + glMultTransposeMatrixd := dglGetProcAddress('glMultTransposeMatrixd'); +{$endif} + + // GL_VERSION_1_4 + glBlendFuncSeparate := dglGetProcAddress('glBlendFuncSeparate'); + glMultiDrawArrays := dglGetProcAddress('glMultiDrawArrays'); + glMultiDrawElements := dglGetProcAddress('glMultiDrawElements'); + glPointParameterf := dglGetProcAddress('glPointParameterf'); + glPointParameterfv := dglGetProcAddress('glPointParameterfv'); + glPointParameteri := dglGetProcAddress('glPointParameteri'); + glPointParameteriv := dglGetProcAddress('glPointParameteriv'); +{$ifdef DGL_DEPRECATED} + glFogCoordf := dglGetProcAddress('glFogCoordf'); + glFogCoordfv := dglGetProcAddress('glFogCoordfv'); + glFogCoordd := dglGetProcAddress('glFogCoordd'); + glFogCoorddv := dglGetProcAddress('glFogCoorddv'); + glFogCoordPointer := dglGetProcAddress('glFogCoordPointer'); + glSecondaryColor3b := dglGetProcAddress('glSecondaryColor3b'); + glSecondaryColor3bv := dglGetProcAddress('glSecondaryColor3bv'); + glSecondaryColor3d := dglGetProcAddress('glSecondaryColor3d'); + glSecondaryColor3dv := dglGetProcAddress('glSecondaryColor3dv'); + glSecondaryColor3f := dglGetProcAddress('glSecondaryColor3f'); + glSecondaryColor3fv := dglGetProcAddress('glSecondaryColor3fv'); + glSecondaryColor3i := dglGetProcAddress('glSecondaryColor3i'); + glSecondaryColor3iv := dglGetProcAddress('glSecondaryColor3iv'); + glSecondaryColor3s := dglGetProcAddress('glSecondaryColor3s'); + glSecondaryColor3sv := dglGetProcAddress('glSecondaryColor3sv'); + glSecondaryColor3ub := dglGetProcAddress('glSecondaryColor3ub'); + glSecondaryColor3ubv := dglGetProcAddress('glSecondaryColor3ubv'); + glSecondaryColor3ui := dglGetProcAddress('glSecondaryColor3ui'); + glSecondaryColor3uiv := dglGetProcAddress('glSecondaryColor3uiv'); + glSecondaryColor3us := dglGetProcAddress('glSecondaryColor3us'); + glSecondaryColor3usv := dglGetProcAddress('glSecondaryColor3usv'); + glSecondaryColorPointer := dglGetProcAddress('glSecondaryColorPointer'); + glWindowPos2d := dglGetProcAddress('glWindowPos2d'); + glWindowPos2dv := dglGetProcAddress('glWindowPos2dv'); + glWindowPos2f := dglGetProcAddress('glWindowPos2f'); + glWindowPos2fv := dglGetProcAddress('glWindowPos2fv'); + glWindowPos2i := dglGetProcAddress('glWindowPos2i'); + glWindowPos2iv := dglGetProcAddress('glWindowPos2iv'); + glWindowPos2s := dglGetProcAddress('glWindowPos2s'); + glWindowPos2sv := dglGetProcAddress('glWindowPos2sv'); + glWindowPos3d := dglGetProcAddress('glWindowPos3d'); + glWindowPos3dv := dglGetProcAddress('glWindowPos3dv'); + glWindowPos3f := dglGetProcAddress('glWindowPos3f'); + glWindowPos3fv := dglGetProcAddress('glWindowPos3fv'); + glWindowPos3i := dglGetProcAddress('glWindowPos3i'); + glWindowPos3iv := dglGetProcAddress('glWindowPos3iv'); + glWindowPos3s := dglGetProcAddress('glWindowPos3s'); + glWindowPos3sv := dglGetProcAddress('glWindowPos3sv'); +{$endif} + + // GL_VERSION_1_5 + glGenQueries := dglGetProcAddress('glGenQueries'); + glDeleteQueries := dglGetProcAddress('glDeleteQueries'); + glIsQuery := dglGetProcAddress('glIsQuery'); + glBeginQuery := dglGetProcAddress('glBeginQuery'); + glEndQuery := dglGetProcAddress('glEndQuery'); + glGetQueryiv := dglGetProcAddress('glGetQueryiv'); + glGetQueryObjectiv := dglGetProcAddress('glGetQueryObjectiv'); + glGetQueryObjectuiv := dglGetProcAddress('glGetQueryObjectuiv'); + glBindBuffer := dglGetProcAddress('glBindBuffer'); + glDeleteBuffers := dglGetProcAddress('glDeleteBuffers'); + glGenBuffers := dglGetProcAddress('glGenBuffers'); + glIsBuffer := dglGetProcAddress('glIsBuffer'); + glBufferData := dglGetProcAddress('glBufferData'); + glBufferSubData := dglGetProcAddress('glBufferSubData'); + glGetBufferSubData := dglGetProcAddress('glGetBufferSubData'); + glMapBuffer := dglGetProcAddress('glMapBuffer'); + glUnmapBuffer := dglGetProcAddress('glUnmapBuffer'); + glGetBufferParameteriv := dglGetProcAddress('glGetBufferParameteriv'); + glGetBufferPointerv := dglGetProcAddress('glGetBufferPointerv'); + + // GL_VERSION_2_0 + glBlendEquationSeparate := dglGetProcAddress('glBlendEquationSeparate'); + glDrawBuffers := dglGetProcAddress('glDrawBuffers'); + glStencilOpSeparate := dglGetProcAddress('glStencilOpSeparate'); + glStencilFuncSeparate := dglGetProcAddress('glStencilFuncSeparate'); + glStencilMaskSeparate := dglGetProcAddress('glStencilMaskSeparate'); + glAttachShader := dglGetProcAddress('glAttachShader'); + glBindAttribLocation := dglGetProcAddress('glBindAttribLocation'); + glCompileShader := dglGetProcAddress('glCompileShader'); + glCreateProgram := dglGetProcAddress('glCreateProgram'); + glCreateShader := dglGetProcAddress('glCreateShader'); + glDeleteProgram := dglGetProcAddress('glDeleteProgram'); + glDeleteShader := dglGetProcAddress('glDeleteShader'); + glDetachShader := dglGetProcAddress('glDetachShader'); + glDisableVertexAttribArray := dglGetProcAddress('glDisableVertexAttribArray'); + glEnableVertexAttribArray := dglGetProcAddress('glEnableVertexAttribArray'); + glGetActiveAttrib := dglGetProcAddress('glGetActiveAttrib'); + glGetActiveUniform := dglGetProcAddress('glGetActiveUniform'); + glGetAttachedShaders := dglGetProcAddress('glGetAttachedShaders'); + glGetAttribLocation := dglGetProcAddress('glGetAttribLocation'); + glGetProgramiv := dglGetProcAddress('glGetProgramiv'); + glGetProgramInfoLog := dglGetProcAddress('glGetProgramInfoLog'); + glGetShaderiv := dglGetProcAddress('glGetShaderiv'); + glGetShaderInfoLog := dglGetProcAddress('glGetShaderInfoLog'); + glGetShaderSource := dglGetProcAddress('glGetShaderSource'); + glGetUniformLocation := dglGetProcAddress('glGetUniformLocation'); + glGetUniformfv := dglGetProcAddress('glGetUniformfv'); + glGetUniformiv := dglGetProcAddress('glGetUniformiv'); + glGetVertexAttribfv := dglGetProcAddress('glGetVertexAttribfv'); + glGetVertexAttribiv := dglGetProcAddress('glGetVertexAttribiv'); + glGetVertexAttribPointerv := dglGetProcAddress('glGetVertexAttribPointerv'); + glIsProgram := dglGetProcAddress('glIsProgram'); + glIsShader := dglGetProcAddress('glIsShader'); + glLinkProgram := dglGetProcAddress('glLinkProgram'); + glShaderSource := dglGetProcAddress('glShaderSource'); + glUseProgram := dglGetProcAddress('glUseProgram'); + glUniform1f := dglGetProcAddress('glUniform1f'); + glUniform2f := dglGetProcAddress('glUniform2f'); + glUniform3f := dglGetProcAddress('glUniform3f'); + glUniform4f := dglGetProcAddress('glUniform4f'); + glUniform1i := dglGetProcAddress('glUniform1i'); + glUniform2i := dglGetProcAddress('glUniform2i'); + glUniform3i := dglGetProcAddress('glUniform3i'); + glUniform4i := dglGetProcAddress('glUniform4i'); + glUniform1fv := dglGetProcAddress('glUniform1fv'); + glUniform2fv := dglGetProcAddress('glUniform2fv'); + glUniform3fv := dglGetProcAddress('glUniform3fv'); + glUniform4fv := dglGetProcAddress('glUniform4fv'); + glUniform1iv := dglGetProcAddress('glUniform1iv'); + glUniform2iv := dglGetProcAddress('glUniform2iv'); + glUniform3iv := dglGetProcAddress('glUniform3iv'); + glUniform4iv := dglGetProcAddress('glUniform4iv'); + glUniformMatrix2fv := dglGetProcAddress('glUniformMatrix2fv'); + glUniformMatrix3fv := dglGetProcAddress('glUniformMatrix3fv'); + glUniformMatrix4fv := dglGetProcAddress('glUniformMatrix4fv'); + glValidateProgram := dglGetProcAddress('glValidateProgram'); + glVertexAttrib1d := dglGetProcAddress('glVertexAttrib1d'); + glVertexAttrib1dv := dglGetProcAddress('glVertexAttrib1dv'); + glVertexAttrib1f := dglGetProcAddress('glVertexAttrib1f'); + glVertexAttrib1fv := dglGetProcAddress('glVertexAttrib1fv'); + glVertexAttrib1s := dglGetProcAddress('glVertexAttrib1s'); + glVertexAttrib1sv := dglGetProcAddress('glVertexAttrib1sv'); + glVertexAttrib2d := dglGetProcAddress('glVertexAttrib2d'); + glVertexAttrib2dv := dglGetProcAddress('glVertexAttrib2dv'); + glVertexAttrib2f := dglGetProcAddress('glVertexAttrib2f'); + glVertexAttrib2fv := dglGetProcAddress('glVertexAttrib2fv'); + glVertexAttrib2s := dglGetProcAddress('glVertexAttrib2s'); + glVertexAttrib2sv := dglGetProcAddress('glVertexAttrib2sv'); + glVertexAttrib3d := dglGetProcAddress('glVertexAttrib3d'); + glVertexAttrib3dv := dglGetProcAddress('glVertexAttrib3dv'); + glVertexAttrib3f := dglGetProcAddress('glVertexAttrib3f'); + glVertexAttrib3fv := dglGetProcAddress('glVertexAttrib3fv'); + glVertexAttrib3s := dglGetProcAddress('glVertexAttrib3s'); + glVertexAttrib3sv := dglGetProcAddress('glVertexAttrib3sv'); + glVertexAttrib4Nbv := dglGetProcAddress('glVertexAttrib4Nbv'); + glVertexAttrib4Niv := dglGetProcAddress('glVertexAttrib4Niv'); + glVertexAttrib4Nsv := dglGetProcAddress('glVertexAttrib4Nsv'); + glVertexAttrib4Nub := dglGetProcAddress('glVertexAttrib4Nub'); + glVertexAttrib4Nubv := dglGetProcAddress('glVertexAttrib4Nubv'); + glVertexAttrib4Nuiv := dglGetProcAddress('glVertexAttrib4Nuiv'); + glVertexAttrib4Nusv := dglGetProcAddress('glVertexAttrib4Nusv'); + glVertexAttrib4bv := dglGetProcAddress('glVertexAttrib4bv'); + glVertexAttrib4d := dglGetProcAddress('glVertexAttrib4d'); + glVertexAttrib4dv := dglGetProcAddress('glVertexAttrib4dv'); + glVertexAttrib4f := dglGetProcAddress('glVertexAttrib4f'); + glVertexAttrib4fv := dglGetProcAddress('glVertexAttrib4fv'); + glVertexAttrib4iv := dglGetProcAddress('glVertexAttrib4iv'); + glVertexAttrib4s := dglGetProcAddress('glVertexAttrib4s'); + glVertexAttrib4sv := dglGetProcAddress('glVertexAttrib4sv'); + glVertexAttrib4ubv := dglGetProcAddress('glVertexAttrib4ubv'); + glVertexAttrib4uiv := dglGetProcAddress('glVertexAttrib4uiv'); + glVertexAttrib4usv := dglGetProcAddress('glVertexAttrib4usv'); + glVertexAttribPointer := dglGetProcAddress('glVertexAttribPointer'); + + // GL_VERSION_2_1 + glUniformMatrix2x3fv := dglGetProcAddress('glUniformMatrix2x3fv'); + glUniformMatrix3x2fv := dglGetProcAddress('glUniformMatrix3x2fv'); + glUniformMatrix2x4fv := dglGetProcAddress('glUniformMatrix2x4fv'); + glUniformMatrix4x2fv := dglGetProcAddress('glUniformMatrix4x2fv'); + glUniformMatrix3x4fv := dglGetProcAddress('glUniformMatrix3x4fv'); + glUniformMatrix4x3fv := dglGetProcAddress('glUniformMatrix4x3fv'); + + // GL_VERSION_3_0 + { OpenGL 3.0 also reuses entry points from these extensions: } + Read_GL_ARB_framebuffer_object; + Read_GL_ARB_map_buffer_range; + Read_GL_ARB_vertex_array_object; + + glColorMaski := dglGetProcAddress('glColorMaski'); + glGetBooleani_v := dglGetProcAddress('glGetBooleani_v'); + glGetIntegeri_v := dglGetProcAddress('glGetIntegeri_v'); + glEnablei := dglGetProcAddress('glEnablei'); + glDisablei := dglGetProcAddress('glDisablei'); + glIsEnabledi := dglGetProcAddress('glIsEnabledi'); + glBeginTransformFeedback := dglGetProcAddress('glBeginTransformFeedback'); + glEndTransformFeedback := dglGetProcAddress('glEndTransformFeedback'); + glBindBufferRange := dglGetProcAddress('glBindBufferRange'); + glBindBufferBase := dglGetProcAddress('glBindBufferBase'); + glTransformFeedbackVaryings := dglGetProcAddress('glTransformFeedbackVaryings'); + glGetTransformFeedbackVarying := dglGetProcAddress('glGetTransformFeedbackVarying'); + glClampColor := dglGetProcAddress('glClampColor'); + glBeginConditionalRender := dglGetProcAddress('glBeginConditionalRender'); + glEndConditionalRender := dglGetProcAddress('glEndConditionalRender'); + glVertexAttribI1i := dglGetProcAddress('glVertexAttribI1i'); + glVertexAttribI2i := dglGetProcAddress('glVertexAttribI2i'); + glVertexAttribI3i := dglGetProcAddress('glVertexAttribI3i'); + glVertexAttribI4i := dglGetProcAddress('glVertexAttribI4i'); + glVertexAttribI1ui := dglGetProcAddress('glVertexAttribI1ui'); + glVertexAttribI2ui := dglGetProcAddress('glVertexAttribI2ui'); + glVertexAttribI3ui := dglGetProcAddress('glVertexAttribI3ui'); + glVertexAttribI4ui := dglGetProcAddress('glVertexAttribI4ui'); + glVertexAttribI1iv := dglGetProcAddress('glVertexAttribI1iv'); + glVertexAttribI2iv := dglGetProcAddress('glVertexAttribI2iv'); + glVertexAttribI3iv := dglGetProcAddress('glVertexAttribI3iv'); + glVertexAttribI4iv := dglGetProcAddress('glVertexAttribI4iv'); + glVertexAttribI1uiv := dglGetProcAddress('glVertexAttribI1uiv'); + glVertexAttribI2uiv := dglGetProcAddress('glVertexAttribI2uiv'); + glVertexAttribI3uiv := dglGetProcAddress('glVertexAttribI3uiv'); + glVertexAttribI4uiv := dglGetProcAddress('glVertexAttribI4uiv'); + glVertexAttribI4bv := dglGetProcAddress('glVertexAttribI4bv'); + glVertexAttribI4sv := dglGetProcAddress('glVertexAttribI4sv'); + glVertexAttribI4ubv := dglGetProcAddress('glVertexAttribI4ubv'); + glVertexAttribI4usv := dglGetProcAddress('glVertexAttribI4usv'); + glVertexAttribIPointer := dglGetProcAddress('glVertexAttribIPointer'); + glGetVertexAttribIiv := dglGetProcAddress('glGetVertexAttribIiv'); + glGetVertexAttribIuiv := dglGetProcAddress('glGetVertexAttribIuiv'); + glGetUniformuiv := dglGetProcAddress('glGetUniformuiv'); + glBindFragDataLocation := dglGetProcAddress('glBindFragDataLocation'); + glGetFragDataLocation := dglGetProcAddress('glGetFragDataLocation'); + glUniform1ui := dglGetProcAddress('glUniform1ui'); + glUniform2ui := dglGetProcAddress('glUniform2ui'); + glUniform3ui := dglGetProcAddress('glUniform3ui'); + glUniform4ui := dglGetProcAddress('glUniform4ui'); + glUniform1uiv := dglGetProcAddress('glUniform1uiv'); + glUniform2uiv := dglGetProcAddress('glUniform2uiv'); + glUniform3uiv := dglGetProcAddress('glUniform3uiv'); + glUniform4uiv := dglGetProcAddress('glUniform4uiv'); + glTexParameterIiv := dglGetProcAddress('glTexParameterIiv'); + glTexParameterIuiv := dglGetProcAddress('glTexParameterIuiv'); + glGetTexParameterIiv := dglGetProcAddress('glGetTexParameterIiv'); + glGetTexParameterIuiv := dglGetProcAddress('glGetTexParameterIuiv'); + glClearBufferiv := dglGetProcAddress('glClearBufferiv'); + glClearBufferuiv := dglGetProcAddress('glClearBufferuiv'); + glClearBufferfv := dglGetProcAddress('glClearBufferfv'); + glClearBufferfi := dglGetProcAddress('glClearBufferfi'); + glGetStringi := dglGetProcAddress('glGetStringi'); + + // GL_VERSION_2_1 + glEnableVertexArrayEXT := dglGetProcAddress('glEnableVertexArrayEXT'); + glEnableVertexArrayAttribEXT := dglGetProcAddress('glEnableVertexArrayAttribEXT'); + glVertexArrayVertexAttribOffsetEXT := dglGetProcAddress('glVertexArrayVertexAttribOffsetEXT'); + + // GL_VERSION_3_1 + { OpenGL 3.1 also reuses entry points from these extensions: } + Read_GL_ARB_copy_buffer; + Read_GL_ARB_uniform_buffer_object; + + glDrawArraysInstanced := dglGetProcAddress('glDrawArraysInstanced'); + glDrawElementsInstanced := dglGetProcAddress('glDrawElementsInstanced'); + glTexBuffer := dglGetProcAddress('glTexBuffer'); + glPrimitiveRestartIndex := dglGetProcAddress('glPrimitiveRestartIndex'); + + // GL_VERSION_3_2 + { OpenGL 3.2 also reuses entry points from these extensions: } + Read_GL_ARB_draw_elements_base_vertex; + Read_GL_ARB_provoking_vertex; + Read_GL_ARB_sync; + Read_GL_ARB_texture_multisample; + + glGetInteger64i_v := dglGetProcAddress('glGetInteger64i_v'); + glGetBufferParameteri64v := dglGetProcAddress('glGetBufferParameteri64v'); + glFramebufferTexture := dglGetProcAddress('glFramebufferTexture'); +// glFramebufferTextureFace := dglGetProcAddress('glFramebufferTextureFace'); + + // GL_VERSION_3_3 + { OpenGL 3.3 also reuses entry points from these extensions: } + Read_GL_ARB_blend_func_extended; + Read_GL_ARB_sampler_objects; + { ARB_explicit_attrib_location, but it has none } + { ARB_occlusion_query2 (no entry points) } + { ARB_shader_bit_encoding (no entry points) } + { ARB_texture_rgb10_a2ui (no entry points) } + { ARB_texture_swizzle (no entry points) } + Read_GL_ARB_timer_query; + Read_GL_ARB_vertex_type_2_10_10_10_rev; + + glVertexAttribDivisor := dglGetProcAddress('glVertexAttribDivisor'); + + // GL_VERSION_4_0 + { OpenGL 4.0 also reuses entry points from these extensions: } + { ARB_texture_query_lod (no entry points) } + Read_GL_ARB_draw_indirect; + { ARB_gpu_shader5 (no entry points) } + Read_GL_ARB_gpu_shader_fp64; + Read_GL_ARB_shader_subroutine; + Read_GL_ARB_tessellation_shader; + { ARB_texture_buffer_object_rgb32 (no entry points) } + { ARB_texture_cube_map_array (no entry points) } + { ARB_texture_gather (no entry points) } + Read_GL_ARB_transform_feedback2; + Read_GL_ARB_transform_feedback3; + + glMinSampleShading := dglGetProcAddress('glMinSampleShading'); + glBlendEquationi := dglGetProcAddress('glBlendEquationi'); + glBlendEquationSeparatei := dglGetProcAddress('glBlendEquationSeparatei'); + glBlendFunci := dglGetProcAddress('glBlendFunci'); + glBlendFuncSeparatei := dglGetProcAddress('glBlendFuncSeparatei'); + + // GL_VERSION_4_1 + { OpenGL 4.1 also reuses entry points from these extensions: } + Read_GL_ARB_ES2_compatibility; + Read_GL_ARB_get_program_binary; + Read_GL_ARB_separate_shader_objects; + { ARB_shader_precision (no entry points) } + Read_GL_ARB_vertex_attrib_64bit; + Read_GL_ARB_viewport_array; + + // GL_VERSION_4_2 + { OpenGL 4.2 reuses entry points from these extensions: } + Read_GL_ARB_base_instance; + //Read_GL_ARB_shading_language_420pack (no entry points) + Read_GL_ARB_transform_feedback_instanced; + //Read_GL_ARB_compressed_texture_pixel_storage (no entry points) + //Read_GL_ARB_conservative_depth; + Read_GL_ARB_internalformat_query; + //Read_GL_ARB_map_buffer_alignment; + Read_GL_ARB_shader_atomic_counters; + Read_GL_ARB_shader_image_load_store; + //Read_GL_ARB_shading_language_packing; + Read_GL_ARB_texture_storage; + + // GL_VERSION_4_3 + // OpenGL 4.3 reuses entry points from these extensions: + // Read_GL_ARB_arrays_of_arrays (none, GLSL only) (no entry points) + // Read_GL_ARB_fragment_layer_viewport (none, GLSL only) (no entry points) + // Read_GL_ARB_shader_image_size (none, GLSL only) (no entry points) + // Read_GL_ARB_ES3_compatibility (no entry points) + Read_GL_ARB_clear_buffer_object; + Read_GL_ARB_compute_shader; + Read_GL_ARB_copy_image; + Read_GL_KHR_debug; + // Read_GL_ARB_explicit_uniform_location (no entry points) + Read_GL_ARB_framebuffer_no_attachments; + Read_GL_ARB_internalformat_query2; + Read_GL_ARB_invalidate_subdata; + Read_GL_ARB_multi_draw_indirect; + Read_GL_ARB_program_interface_query; + // Read_GL_ARB_robust_buffer_access_behavior (none) (no entry points) + Read_GL_ARB_shader_storage_buffer_object; + // Read_GL_ARB_stencil_texturing (no entry points) + Read_GL_ARB_texture_buffer_range; + // Read_GL_ARB_texture_query_levels (none) (no entry points) + Read_GL_ARB_texture_storage_multisample; + Read_GL_ARB_texture_view; + Read_GL_ARB_vertex_attrib_binding; + + // GL_VERSION_4_4 + // Note (Due to Khronos' change in header conventions, no more single read_ functions) + Read_GL_4_4; +end; + +procedure Read_GL_3DFX_tbuffer; +begin + glTbufferMask3DFX := dglGetProcAddress('glTbufferMask3DFX'); +end; + +procedure Read_GL_APPLE_element_array; +begin + glElementPointerAPPLE := dglGetProcAddress('glElementPointerAPPLE'); + glDrawElementArrayAPPLE := dglGetProcAddress('glDrawElementArrayAPPLE'); + glDrawRangeElementArrayAPPLE := dglGetProcAddress('glDrawRangeElementArrayAPPLE'); + glMultiDrawElementArrayAPPLE := dglGetProcAddress('glMultiDrawElementArrayAPPLE'); + glMultiDrawRangeElementArrayAPPLE := dglGetProcAddress('glMultiDrawRangeElementArrayAPPLE'); +end; + +procedure Read_GL_APPLE_fence; +begin + glGenFencesAPPLE := dglGetProcAddress('glGenFencesAPPLE'); + glDeleteFencesAPPLE := dglGetProcAddress('glDeleteFencesAPPLE'); + glSetFenceAPPLE := dglGetProcAddress('glSetFenceAPPLE'); + glIsFenceAPPLE := dglGetProcAddress('glIsFenceAPPLE'); + glTestFenceAPPLE := dglGetProcAddress('glTestFenceAPPLE'); + glFinishFenceAPPLE := dglGetProcAddress('glFinishFenceAPPLE'); + glTestObjectAPPLE := dglGetProcAddress('glTestObjectAPPLE'); + glFinishObjectAPPLE := dglGetProcAddress('glFinishObjectAPPLE'); +end; + +procedure Read_GL_APPLE_vertex_array_object; +begin + glBindVertexArrayAPPLE := dglGetProcAddress('glBindVertexArrayAPPLE'); + glDeleteVertexArraysAPPLE := dglGetProcAddress('glDeleteVertexArraysAPPLE'); + glGenVertexArraysAPPLE := dglGetProcAddress('glGenVertexArraysAPPLE'); + glIsVertexArrayAPPLE := dglGetProcAddress('glIsVertexArrayAPPLE'); +end; + +procedure Read_GL_APPLE_vertex_array_range; +begin + glVertexArrayRangeAPPLE := dglGetProcAddress('glVertexArrayRangeAPPLE'); + glFlushVertexArrayRangeAPPLE := dglGetProcAddress('glFlushVertexArrayRangeAPPLE'); + glVertexArrayParameteriAPPLE := dglGetProcAddress('glVertexArrayParameteriAPPLE'); +end; + +procedure Read_GL_APPLE_texture_range; +begin + glTextureRangeAPPLE := dglGetProcAddress('glTextureRangeAPPLE'); + glGetTexParameterPointervAPPLE := dglGetProcAddress('glGetTexParameterPointervAPPLE'); +end; + +procedure Read_GL_APPLE_vertex_program_evaluators; +begin + glEnableVertexAttribAPPLE := dglGetProcAddress('glEnableVertexAttribAPPLE'); + glDisableVertexAttribAPPLE := dglGetProcAddress('glDisableVertexAttribAPPLE'); + glIsVertexAttribEnabledAPPLE := dglGetProcAddress('glIsVertexAttribEnabledAPPLE'); + glMapVertexAttrib1dAPPLE := dglGetProcAddress('glMapVertexAttrib1dAPPLE'); + glMapVertexAttrib1fAPPLE := dglGetProcAddress('glMapVertexAttrib1fAPPLE'); + glMapVertexAttrib2dAPPLE := dglGetProcAddress('glMapVertexAttrib2dAPPLE'); + glMapVertexAttrib2fAPPLE := dglGetProcAddress('glMapVertexAttrib2fAPPLE'); +end; + +procedure Read_GL_APPLE_object_purgeable; +begin + glObjectPurgeableAPPLE := dglGetProcAddress('glObjectPurgeableAPPLE'); + glObjectUnpurgeableAPPLE := dglGetProcAddress('glObjectUnpurgeableAPPLE'); + glGetObjectParameterivAPPLE := dglGetProcAddress('glGetObjectParameterivAPPLE'); +end; + +procedure Read_GL_ARB_matrix_palette; +begin + glCurrentPaletteMatrixARB := dglGetProcAddress('glCurrentPaletteMatrixARB'); + glMatrixIndexubvARB := dglGetProcAddress('glMatrixIndexubvARB'); + glMatrixIndexusvARB := dglGetProcAddress('glMatrixIndexusvARB'); + glMatrixIndexuivARB := dglGetProcAddress('glMatrixIndexuivARB'); + glMatrixIndexPointerARB := dglGetProcAddress('glMatrixIndexPointerARB'); +end; + +procedure Read_GL_ARB_multisample; +begin + glSampleCoverageARB := dglGetProcAddress('glSampleCoverageARB'); +end; + +procedure Read_GL_ARB_multitexture; +begin + glActiveTextureARB := dglGetProcAddress('glActiveTextureARB'); + glClientActiveTextureARB := dglGetProcAddress('glClientActiveTextureARB'); + glMultiTexCoord1dARB := dglGetProcAddress('glMultiTexCoord1dARB'); + glMultiTexCoord1dvARB := dglGetProcAddress('glMultiTexCoord1dvARB'); + glMultiTexCoord1fARB := dglGetProcAddress('glMultiTexCoord1fARB'); + glMultiTexCoord1fvARB := dglGetProcAddress('glMultiTexCoord1fvARB'); + glMultiTexCoord1iARB := dglGetProcAddress('glMultiTexCoord1iARB'); + glMultiTexCoord1ivARB := dglGetProcAddress('glMultiTexCoord1ivARB'); + glMultiTexCoord1sARB := dglGetProcAddress('glMultiTexCoord1sARB'); + glMultiTexCoord1svARB := dglGetProcAddress('glMultiTexCoord1svARB'); + glMultiTexCoord2dARB := dglGetProcAddress('glMultiTexCoord2dARB'); + glMultiTexCoord2dvARB := dglGetProcAddress('glMultiTexCoord2dvARB'); + glMultiTexCoord2fARB := dglGetProcAddress('glMultiTexCoord2fARB'); + glMultiTexCoord2fvARB := dglGetProcAddress('glMultiTexCoord2fvARB'); + glMultiTexCoord2iARB := dglGetProcAddress('glMultiTexCoord2iARB'); + glMultiTexCoord2ivARB := dglGetProcAddress('glMultiTexCoord2ivARB'); + glMultiTexCoord2sARB := dglGetProcAddress('glMultiTexCoord2sARB'); + glMultiTexCoord2svARB := dglGetProcAddress('glMultiTexCoord2svARB'); + glMultiTexCoord3dARB := dglGetProcAddress('glMultiTexCoord3dARB'); + glMultiTexCoord3dvARB := dglGetProcAddress('glMultiTexCoord3dvARB'); + glMultiTexCoord3fARB := dglGetProcAddress('glMultiTexCoord3fARB'); + glMultiTexCoord3fvARB := dglGetProcAddress('glMultiTexCoord3fvARB'); + glMultiTexCoord3iARB := dglGetProcAddress('glMultiTexCoord3iARB'); + glMultiTexCoord3ivARB := dglGetProcAddress('glMultiTexCoord3ivARB'); + glMultiTexCoord3sARB := dglGetProcAddress('glMultiTexCoord3sARB'); + glMultiTexCoord3svARB := dglGetProcAddress('glMultiTexCoord3svARB'); + glMultiTexCoord4dARB := dglGetProcAddress('glMultiTexCoord4dARB'); + glMultiTexCoord4dvARB := dglGetProcAddress('glMultiTexCoord4dvARB'); + glMultiTexCoord4fARB := dglGetProcAddress('glMultiTexCoord4fARB'); + glMultiTexCoord4fvARB := dglGetProcAddress('glMultiTexCoord4fvARB'); + glMultiTexCoord4iARB := dglGetProcAddress('glMultiTexCoord4iARB'); + glMultiTexCoord4ivARB := dglGetProcAddress('glMultiTexCoord4ivARB'); + glMultiTexCoord4sARB := dglGetProcAddress('glMultiTexCoord4sARB'); + glMultiTexCoord4svARB := dglGetProcAddress('glMultiTexCoord4svARB'); +end; + +procedure Read_GL_ARB_point_parameters; +begin + glPointParameterfARB := dglGetProcAddress('glPointParameterfARB'); + glPointParameterfvARB := dglGetProcAddress('glPointParameterfvARB'); +end; + +procedure Read_GL_ARB_texture_compression; +begin + glCompressedTexImage3DARB := dglGetProcAddress('glCompressedTexImage3DARB'); + glCompressedTexImage2DARB := dglGetProcAddress('glCompressedTexImage2DARB'); + glCompressedTexImage1DARB := dglGetProcAddress('glCompressedTexImage1DARB'); + glCompressedTexSubImage3DARB := dglGetProcAddress('glCompressedTexSubImage3DARB'); + glCompressedTexSubImage2DARB := dglGetProcAddress('glCompressedTexSubImage2DARB'); + glCompressedTexSubImage1DARB := dglGetProcAddress('glCompressedTexSubImage1DARB'); + glGetCompressedTexImageARB := dglGetProcAddress('glGetCompressedTexImageARB'); +end; + +procedure Read_GL_ARB_transpose_matrix; +begin + glLoadTransposeMatrixfARB := dglGetProcAddress('glLoadTransposeMatrixfARB'); + glLoadTransposeMatrixdARB := dglGetProcAddress('glLoadTransposeMatrixdARB'); + glMultTransposeMatrixfARB := dglGetProcAddress('glMultTransposeMatrixfARB'); + glMultTransposeMatrixdARB := dglGetProcAddress('glMultTransposeMatrixdARB'); +end; + +procedure Read_GL_ARB_vertex_blend; +begin + glWeightbvARB := dglGetProcAddress('glWeightbvARB'); + glWeightsvARB := dglGetProcAddress('glWeightsvARB'); + glWeightivARB := dglGetProcAddress('glWeightivARB'); + glWeightfvARB := dglGetProcAddress('glWeightfvARB'); + glWeightdvARB := dglGetProcAddress('glWeightdvARB'); + glWeightubvARB := dglGetProcAddress('glWeightubvARB'); + glWeightusvARB := dglGetProcAddress('glWeightusvARB'); + glWeightuivARB := dglGetProcAddress('glWeightuivARB'); + glWeightPointerARB := dglGetProcAddress('glWeightPointerARB'); + glVertexBlendARB := dglGetProcAddress('glVertexBlendARB'); +end; + +procedure Read_GL_ARB_vertex_buffer_object; +begin + glBindBufferARB := dglGetProcAddress('glBindBufferARB'); + glDeleteBuffersARB := dglGetProcAddress('glDeleteBuffersARB'); + glGenBuffersARB := dglGetProcAddress('glGenBuffersARB'); + glIsBufferARB := dglGetProcAddress('glIsBufferARB'); + glBufferDataARB := dglGetProcAddress('glBufferDataARB'); + glBufferSubDataARB := dglGetProcAddress('glBufferSubDataARB'); + glGetBufferSubDataARB := dglGetProcAddress('glGetBufferSubDataARB'); + glMapBufferARB := dglGetProcAddress('glMapBufferARB'); + glUnmapBufferARB := dglGetProcAddress('glUnmapBufferARB'); + glGetBufferParameterivARB := dglGetProcAddress('glGetBufferParameterivARB'); + glGetBufferPointervARB := dglGetProcAddress('glGetBufferPointervARB'); +end; + +procedure Read_GL_ARB_vertex_program; +begin + glVertexAttrib1dARB := dglGetProcAddress('glVertexAttrib1dARB'); + glVertexAttrib1dvARB := dglGetProcAddress('glVertexAttrib1dvARB'); + glVertexAttrib1fARB := dglGetProcAddress('glVertexAttrib1fARB'); + glVertexAttrib1fvARB := dglGetProcAddress('glVertexAttrib1fvARB'); + glVertexAttrib1sARB := dglGetProcAddress('glVertexAttrib1sARB'); + glVertexAttrib1svARB := dglGetProcAddress('glVertexAttrib1svARB'); + glVertexAttrib2dARB := dglGetProcAddress('glVertexAttrib2dARB'); + glVertexAttrib2dvARB := dglGetProcAddress('glVertexAttrib2dvARB'); + glVertexAttrib2fARB := dglGetProcAddress('glVertexAttrib2fARB'); + glVertexAttrib2fvARB := dglGetProcAddress('glVertexAttrib2fvARB'); + glVertexAttrib2sARB := dglGetProcAddress('glVertexAttrib2sARB'); + glVertexAttrib2svARB := dglGetProcAddress('glVertexAttrib2svARB'); + glVertexAttrib3dARB := dglGetProcAddress('glVertexAttrib3dARB'); + glVertexAttrib3dvARB := dglGetProcAddress('glVertexAttrib3dvARB'); + glVertexAttrib3fARB := dglGetProcAddress('glVertexAttrib3fARB'); + glVertexAttrib3fvARB := dglGetProcAddress('glVertexAttrib3fvARB'); + glVertexAttrib3sARB := dglGetProcAddress('glVertexAttrib3sARB'); + glVertexAttrib3svARB := dglGetProcAddress('glVertexAttrib3svARB'); + glVertexAttrib4NbvARB := dglGetProcAddress('glVertexAttrib4NbvARB'); + glVertexAttrib4NivARB := dglGetProcAddress('glVertexAttrib4NivARB'); + glVertexAttrib4NsvARB := dglGetProcAddress('glVertexAttrib4NsvARB'); + glVertexAttrib4NubARB := dglGetProcAddress('glVertexAttrib4NubARB'); + glVertexAttrib4NubvARB := dglGetProcAddress('glVertexAttrib4NubvARB'); + glVertexAttrib4NuivARB := dglGetProcAddress('glVertexAttrib4NuivARB'); + glVertexAttrib4NusvARB := dglGetProcAddress('glVertexAttrib4NusvARB'); + glVertexAttrib4bvARB := dglGetProcAddress('glVertexAttrib4bvARB'); + glVertexAttrib4dARB := dglGetProcAddress('glVertexAttrib4dARB'); + glVertexAttrib4dvARB := dglGetProcAddress('glVertexAttrib4dvARB'); + glVertexAttrib4fARB := dglGetProcAddress('glVertexAttrib4fARB'); + glVertexAttrib4fvARB := dglGetProcAddress('glVertexAttrib4fvARB'); + glVertexAttrib4ivARB := dglGetProcAddress('glVertexAttrib4ivARB'); + glVertexAttrib4sARB := dglGetProcAddress('glVertexAttrib4sARB'); + glVertexAttrib4svARB := dglGetProcAddress('glVertexAttrib4svARB'); + glVertexAttrib4ubvARB := dglGetProcAddress('glVertexAttrib4ubvARB'); + glVertexAttrib4uivARB := dglGetProcAddress('glVertexAttrib4uivARB'); + glVertexAttrib4usvARB := dglGetProcAddress('glVertexAttrib4usvARB'); + glVertexAttribPointerARB := dglGetProcAddress('glVertexAttribPointerARB'); + glEnableVertexAttribArrayARB := dglGetProcAddress('glEnableVertexAttribArrayARB'); + glDisableVertexAttribArrayARB := dglGetProcAddress('glDisableVertexAttribArrayARB'); + glProgramStringARB := dglGetProcAddress('glProgramStringARB'); + glBindProgramARB := dglGetProcAddress('glBindProgramARB'); + glDeleteProgramsARB := dglGetProcAddress('glDeleteProgramsARB'); + glGenProgramsARB := dglGetProcAddress('glGenProgramsARB'); + glProgramEnvParameter4dARB := dglGetProcAddress('glProgramEnvParameter4dARB'); + glProgramEnvParameter4dvARB := dglGetProcAddress('glProgramEnvParameter4dvARB'); + glProgramEnvParameter4fARB := dglGetProcAddress('glProgramEnvParameter4fARB'); + glProgramEnvParameter4fvARB := dglGetProcAddress('glProgramEnvParameter4fvARB'); + glProgramLocalParameter4dARB := dglGetProcAddress('glProgramLocalParameter4dARB'); + glProgramLocalParameter4dvARB := dglGetProcAddress('glProgramLocalParameter4dvARB'); + glProgramLocalParameter4fARB := dglGetProcAddress('glProgramLocalParameter4fARB'); + glProgramLocalParameter4fvARB := dglGetProcAddress('glProgramLocalParameter4fvARB'); + glGetProgramEnvParameterdvARB := dglGetProcAddress('glGetProgramEnvParameterdvARB'); + glGetProgramEnvParameterfvARB := dglGetProcAddress('glGetProgramEnvParameterfvARB'); + glGetProgramLocalParameterdvARB := dglGetProcAddress('glGetProgramLocalParameterdvARB'); + glGetProgramLocalParameterfvARB := dglGetProcAddress('glGetProgramLocalParameterfvARB'); + glGetProgramivARB := dglGetProcAddress('glGetProgramivARB'); + glGetProgramStringARB := dglGetProcAddress('glGetProgramStringARB'); + glGetVertexAttribdvARB := dglGetProcAddress('glGetVertexAttribdvARB'); + glGetVertexAttribfvARB := dglGetProcAddress('glGetVertexAttribfvARB'); + glGetVertexAttribivARB := dglGetProcAddress('glGetVertexAttribivARB'); + glGetVertexAttribPointervARB := dglGetProcAddress('glGetVertexAttribPointervARB'); + glIsProgramARB := dglGetProcAddress('glIsProgramARB'); +end; + +procedure Read_GL_ARB_window_pos; +begin + glWindowPos2dARB := dglGetProcAddress('glWindowPos2dARB'); + glWindowPos2dvARB := dglGetProcAddress('glWindowPos2dvARB'); + glWindowPos2fARB := dglGetProcAddress('glWindowPos2fARB'); + glWindowPos2fvARB := dglGetProcAddress('glWindowPos2fvARB'); + glWindowPos2iARB := dglGetProcAddress('glWindowPos2iARB'); + glWindowPos2ivARB := dglGetProcAddress('glWindowPos2ivARB'); + glWindowPos2sARB := dglGetProcAddress('glWindowPos2sARB'); + glWindowPos2svARB := dglGetProcAddress('glWindowPos2svARB'); + glWindowPos3dARB := dglGetProcAddress('glWindowPos3dARB'); + glWindowPos3dvARB := dglGetProcAddress('glWindowPos3dvARB'); + glWindowPos3fARB := dglGetProcAddress('glWindowPos3fARB'); + glWindowPos3fvARB := dglGetProcAddress('glWindowPos3fvARB'); + glWindowPos3iARB := dglGetProcAddress('glWindowPos3iARB'); + glWindowPos3ivARB := dglGetProcAddress('glWindowPos3ivARB'); + glWindowPos3sARB := dglGetProcAddress('glWindowPos3sARB'); + glWindowPos3svARB := dglGetProcAddress('glWindowPos3svARB'); +end; + +procedure Read_GL_ARB_draw_buffers; +begin + glDrawBuffersARB := dglGetProcAddress('glDrawBuffersARB'); +end; + +procedure Read_GL_ARB_color_buffer_float; +begin + glClampColorARB := dglGetProcAddress('glClampColorARB'); +end; + +procedure Read_GL_ARB_Shader_Objects; +begin + // GL_ARB_Shader_Objects + glCreateShaderObjectARB := dglGetProcAddress('glCreateShaderObjectARB'); + glShaderSourceARB := dglGetProcAddress('glShaderSourceARB'); + glCompileShaderARB := dglGetProcAddress('glCompileShaderARB'); + glDeleteObjectARB := dglGetProcAddress('glDeleteObjectARB'); + glGetHandleARB := dglGetProcAddress('glGetHandleARB'); + glDetachObjectARB := dglGetProcAddress('glDetachObjectARB'); + glCreateProgramObjectARB := dglGetProcAddress('glCreateProgramObjectARB'); + glAttachObjectARB := dglGetProcAddress('glAttachObjectARB'); + glLinkProgramARB := dglGetProcAddress('glLinkProgramARB'); + glUseProgramObjectARB := dglGetProcAddress('glUseProgramObjectARB'); + glValidateProgramARB := dglGetProcAddress('glValidateProgramARB'); + glGetObjectParameterfvARB := dglGetProcAddress('glGetObjectParameterfvARB'); + glGetObjectParameterivARB := dglGetProcAddress('glGetObjectParameterivARB'); + glGetActiveUniformARB := dglGetProcAddress('glGetActiveUniformARB'); + glGetAttachedObjectsARB := dglGetProcAddress('glGetAttachedObjectsARB'); + glGetShaderSourceARB := dglGetProcAddress('glGetShaderSourceARB'); + glGetUniformfvARB := dglGetProcAddress('glGetUniformfvARB'); + glGetUniformivARB := dglGetProcAddress('glGetUniformivARB'); + glGetUniformLocationARB := dglGetProcAddress('glGetUniformLocationARB'); + glGetInfoLogARB := dglGetProcAddress('glGetInfoLogARB'); + glUniform1fARB := dglGetProcAddress('glUniform1fARB'); + glUniform2fARB := dglGetProcAddress('glUniform2fARB'); + glUniform3fARB := dglGetProcAddress('glUniform3fARB'); + glUniform4fARB := dglGetProcAddress('glUniform4fARB'); + glUniform1iARB := dglGetProcAddress('glUniform1iARB'); + glUniform2iARB := dglGetProcAddress('glUniform2iARB'); + glUniform3iARB := dglGetProcAddress('glUniform3iARB'); + glUniform4iARB := dglGetProcAddress('glUniform4iARB'); + glUniform1fvARB := dglGetProcAddress('glUniform1fvARB'); + glUniform2fvARB := dglGetProcAddress('glUniform2fvARB'); + glUniform3fvARB := dglGetProcAddress('glUniform3fvARB'); + glUniform4fvARB := dglGetProcAddress('glUniform4fvARB'); + glUniform1ivARB := dglGetProcAddress('glUniform1ivARB'); + glUniform2ivARB := dglGetProcAddress('glUniform2ivARB'); + glUniform3ivARB := dglGetProcAddress('glUniform3ivARB'); + glUniform4ivARB := dglGetProcAddress('glUniform4ivARB'); + glUniformMatrix2fvARB := dglGetProcAddress('glUniformMatrix2fvARB'); + glUniformMatrix3fvARB := dglGetProcAddress('glUniformMatrix3fvARB'); + glUniformMatrix4fvARB := dglGetProcAddress('glUniformMatrix4fvARB'); + + // GL_ARB_vertex_shader + glGetActiveAttribARB := dglGetProcAddress('glGetActiveAttribARB'); + glGetAttribLocationARB := dglGetProcAddress('glGetAttribLocationARB'); + glBindAttribLocationARB := dglGetProcAddress('glBindAttribLocationARB'); + glGetVertexAttribPointervARB := dglGetProcAddress('glGetVertexAttribPointervARB'); +end; + +procedure Read_GL_ARB_occlusion_query; +begin + glGenQueriesARB := dglGetProcAddress('glGenQueriesARB'); + glDeleteQueriesARB := dglGetProcAddress('glDeleteQueriesARB'); + glIsQueryARB := dglGetProcAddress('glIsQueryARB'); + glBeginQueryARB := dglGetProcAddress('glBeginQueryARB'); + glEndQueryARB := dglGetProcAddress('glEndQueryARB'); + glGetQueryivARB := dglGetProcAddress('glGetQueryivARB'); + glGetQueryObjectivARB := dglGetProcAddress('glGetQueryObjectivARB'); + glGetQueryObjectuivARB := dglGetProcAddress('glGetQueryObjectuivARB'); +end; + +procedure Read_GL_ARB_draw_instanced; +begin + glDrawArraysInstancedARB := dglGetProcAddress('glDrawArraysInstancedARB'); + glDrawElementsInstancedARB := dglGetProcAddress('glDrawElementsInstancedARB'); +end; + +procedure Read_GL_ARB_framebuffer_object; +begin + glIsRenderbuffer := dglGetProcAddress('glIsRenderbuffer'); + glBindRenderbuffer := dglGetProcAddress('glBindRenderbuffer'); + glDeleteRenderbuffers := dglGetProcAddress('glDeleteRenderbuffers'); + glGenRenderbuffers := dglGetProcAddress('glGenRenderbuffers'); + glRenderbufferStorage := dglGetProcAddress('glRenderbufferStorage'); + glGetRenderbufferParameteriv := dglGetProcAddress('glGetRenderbufferParameteriv'); + glIsFramebuffer := dglGetProcAddress('glIsFramebuffer'); + glBindFramebuffer := dglGetProcAddress('glBindFramebuffer'); + glDeleteFramebuffers := dglGetProcAddress('glDeleteFramebuffers'); + glGenFramebuffers := dglGetProcAddress('glGenFramebuffers'); + glCheckFramebufferStatus := dglGetProcAddress('glCheckFramebufferStatus'); + glFramebufferTexture1D := dglGetProcAddress('glFramebufferTexture1D'); + glFramebufferTexture2D := dglGetProcAddress('glFramebufferTexture2D'); + glFramebufferTexture3D := dglGetProcAddress('glFramebufferTexture3D'); + glFramebufferRenderbuffer := dglGetProcAddress('glFramebufferRenderbuffer'); + glGetFramebufferAttachmentParameteriv := dglGetProcAddress('glGetFramebufferAttachmentParameteriv'); + glGenerateMipmap := dglGetProcAddress('glGenerateMipmap'); + glBlitFramebuffer := dglGetProcAddress('glBlitFramebuffer'); + glRenderbufferStorageMultisample := dglGetProcAddress('glRenderbufferStorageMultisample'); + glFramebufferTextureLayer := dglGetProcAddress('glFramebufferTextureLayer'); +end; + +procedure Read_GL_ARB_geometry_shader4; +begin + glProgramParameteriARB := dglGetProcAddress('glProgramParameteriARB'); + glFramebufferTextureARB := dglGetProcAddress('glFramebufferTextureARB'); + glFramebufferTextureLayerARB := dglGetProcAddress('glFramebufferTextureLayerARB'); + glFramebufferTextureFaceARB := dglGetProcAddress('glFramebufferTextureFaceARB'); +end; + +procedure Read_GL_ARB_instanced_arrays; +begin + glVertexAttribDivisorARB := dglGetProcAddress('glVertexAttribDivisorARB'); +end; + +procedure Read_GL_ARB_map_buffer_range; +begin + glMapBufferRange := dglGetProcAddress('glMapBufferRange'); + glFlushMappedBufferRange := dglGetProcAddress('glFlushMappedBufferRange'); +end; + +procedure Read_GL_ARB_texture_buffer_object; +begin + glTexBufferARB := dglGetProcAddress('glTexBufferARB'); +end; + +procedure Read_GL_ARB_vertex_array_object; +begin + glBindVertexArray := dglGetProcAddress('glBindVertexArray'); + glDeleteVertexArrays := dglGetProcAddress('glDeleteVertexArrays'); + glGenVertexArrays := dglGetProcAddress('glGenVertexArrays'); + glIsVertexArray := dglGetProcAddress('glIsVertexArray'); +end; + +procedure Read_GL_ARB_uniform_buffer_object; +begin + glGetUniformIndices := dglGetProcAddress('glGetUniformIndices'); + glGetActiveUniformsiv := dglGetProcAddress('glGetActiveUniformsiv'); + glGetActiveUniformName := dglGetProcAddress('glGetActiveUniformName'); + glGetUniformBlockIndex := dglGetProcAddress('glGetUniformBlockIndex'); + glGetActiveUniformBlockiv := dglGetProcAddress('glGetActiveUniformBlockiv'); + glGetActiveUniformBlockName := dglGetProcAddress('glGetActiveUniformBlockName'); + glUniformBlockBinding := dglGetProcAddress('glUniformBlockBinding'); +end; + +procedure Read_GL_ARB_copy_buffer; +begin + glCopyBufferSubData := dglGetProcAddress('glCopyBufferSubData'); +end; + +procedure Read_GL_ARB_draw_elements_base_vertex; +begin + glDrawElementsBaseVertex := dglGetProcAddress('glDrawElementsBaseVertex'); + glDrawRangeElementsBaseVertex := dglGetProcAddress('glDrawRangeElementsBaseVertex'); + glDrawElementsInstancedBaseVertex := dglGetProcAddress('glDrawElementsInstancedBaseVertex'); + glMultiDrawElementsBaseVertex := dglGetProcAddress('glMultiDrawElementsBaseVertex'); +end; + +procedure Read_GL_ARB_provoking_vertex; +begin + glProvokingVertex := dglGetProcAddress('glProvokingVertex'); +end; + +procedure Read_GL_ARB_sync; +begin + glFenceSync := dglGetProcAddress('glFenceSync'); + glIsSync := dglGetProcAddress('glIsSync'); + glDeleteSync := dglGetProcAddress('glDeleteSync'); + glClientWaitSync := dglGetProcAddress('glClientWaitSync'); + glWaitSync := dglGetProcAddress('glWaitSync'); + glGetInteger64v := dglGetProcAddress('glGetInteger64v'); + glGetSynciv := dglGetProcAddress('glGetSynciv'); +end; + +procedure Read_GL_ARB_texture_multisample; +begin + glTexImage2DMultisample := dglGetProcAddress('glTexImage2DMultisample'); + glTexImage3DMultisample := dglGetProcAddress('glTexImage3DMultisample'); + glGetMultisamplefv := dglGetProcAddress('glGetMultisamplefv'); + glSampleMaski := dglGetProcAddress('glSampleMaski'); +end; + +procedure Read_GL_ARB_draw_buffers_blend; +begin + glBlendEquationiARB := dglGetProcAddress('glBlendEquationiARB'); + glBlendEquationSeparateiARB := dglGetProcAddress('glBlendEquationSeparateiARB'); + glBlendFunciARB := dglGetProcAddress('glBlendFunciARB'); + glBlendFuncSeparateiARB := dglGetProcAddress('glBlendFuncSeparateiARB'); +end; + +procedure Read_GL_ARB_sample_shading; +begin + glMinSampleShadingARB := dglGetProcAddress('glMinSampleShadingARB'); +end; + +procedure Read_GL_ARB_shading_language_include; +begin + glNamedStringARB := dglGetProcAddress('glNamedStringARB'); + glDeleteNamedStringARB := dglGetProcAddress('glDeleteNamedStringARB'); + glCompileShaderIncludeARB := dglGetProcAddress('glCompileShaderIncludeARB'); + glIsNamedStringARB := dglGetProcAddress('glIsNamedStringARB'); + glGetNamedStringARB := dglGetProcAddress('glGetNamedStringARB'); + glGetNamedStringivARB := dglGetProcAddress('glGetNamedStringivARB'); +end; + +procedure Read_GL_ARB_blend_func_extended; +begin + glBindFragDataLocationIndexed := dglGetProcAddress('glBindFragDataLocationIndexed'); + glGetFragDataIndex := dglGetProcAddress('glGetFragDataIndex'); +end; + +procedure Read_GL_ARB_sampler_objects; +begin + glGenSamplers := dglGetProcAddress('glGenSamplers'); + glDeleteSamplers := dglGetProcAddress('glDeleteSamplers'); + glIsSampler := dglGetProcAddress('glIsSampler'); + glBindSampler := dglGetProcAddress('glBindSampler'); + glSamplerParameteri := dglGetProcAddress('glSamplerParameteri'); + glSamplerParameteriv := dglGetProcAddress('glSamplerParameteriv'); + glSamplerParameterf := dglGetProcAddress('glSamplerParameterf'); + glSamplerParameterfv := dglGetProcAddress('glSamplerParameterfv'); + glSamplerParameterIiv := dglGetProcAddress('glSamplerParameterIiv'); + glSamplerParameterIuiv := dglGetProcAddress('glSamplerParameterIuiv'); + glGetSamplerParameteriv := dglGetProcAddress('glGetSamplerParameteriv'); + glGetSamplerParameterIiv := dglGetProcAddress('glGetSamplerParameterIiv'); + glGetSamplerParameterfv := dglGetProcAddress('glGetSamplerParameterfv'); + glGetSamplerParameterIuiv := dglGetProcAddress('glGetSamplerParameterIuiv'); +end; + +procedure Read_GL_ARB_timer_query; +begin + glQueryCounter := dglGetProcAddress('glQueryCounter'); + glGetQueryObjecti64v := dglGetProcAddress('glGetQueryObjecti64v'); + glGetQueryObjectui64v := dglGetProcAddress('glGetQueryObjectui64v'); +end; + +procedure Read_GL_ARB_vertex_type_2_10_10_10_rev; +begin + glVertexP2ui := dglGetProcAddress('glVertexP2ui'); + glVertexP2uiv := dglGetProcAddress('glVertexP2uiv'); + glVertexP3ui := dglGetProcAddress('glVertexP3ui'); + glVertexP3uiv := dglGetProcAddress('glVertexP3uiv'); + glVertexP4ui := dglGetProcAddress('glVertexP4ui'); + glVertexP4uiv := dglGetProcAddress('glVertexP4uiv'); + glTexCoordP1ui := dglGetProcAddress('glTexCoordP1ui'); + glTexCoordP1uiv := dglGetProcAddress('glTexCoordP1uiv'); + glTexCoordP2ui := dglGetProcAddress('glTexCoordP2ui'); + glTexCoordP2uiv := dglGetProcAddress('glTexCoordP2uiv'); + glTexCoordP3ui := dglGetProcAddress('glTexCoordP3ui'); + glTexCoordP3uiv := dglGetProcAddress('glTexCoordP3uiv'); + glTexCoordP4ui := dglGetProcAddress('glTexCoordP4ui'); + glTexCoordP4uiv := dglGetProcAddress('glTexCoordP4uiv'); + glMultiTexCoordP1ui := dglGetProcAddress('glMultiTexCoordP1ui'); + glMultiTexCoordP1uiv := dglGetProcAddress('glMultiTexCoordP1uiv'); + glMultiTexCoordP2ui := dglGetProcAddress('glMultiTexCoordP2ui'); + glMultiTexCoordP2uiv := dglGetProcAddress('glMultiTexCoordP2uiv'); + glMultiTexCoordP3ui := dglGetProcAddress('glMultiTexCoordP3ui'); + glMultiTexCoordP3uiv := dglGetProcAddress('glMultiTexCoordP3uiv'); + glMultiTexCoordP4ui := dglGetProcAddress('glMultiTexCoordP4ui'); + glMultiTexCoordP4uiv := dglGetProcAddress('glMultiTexCoordP4uiv'); + glNormalP3ui := dglGetProcAddress('glNormalP3ui'); + glNormalP3uiv := dglGetProcAddress('glNormalP3uiv'); + glColorP3ui := dglGetProcAddress('glColorP3ui'); + glColorP3uiv := dglGetProcAddress('glColorP3uiv'); + glColorP4ui := dglGetProcAddress('glColorP4ui'); + glColorP4uiv := dglGetProcAddress('glColorP4uiv'); + glSecondaryColorP3ui := dglGetProcAddress('glSecondaryColorP3ui'); + glSecondaryColorP3uiv := dglGetProcAddress('glSecondaryColorP3uiv'); + glVertexAttribP1ui := dglGetProcAddress('glVertexAttribP1ui'); + glVertexAttribP1uiv := dglGetProcAddress('glVertexAttribP1uiv'); + glVertexAttribP2ui := dglGetProcAddress('glVertexAttribP2ui'); + glVertexAttribP2uiv := dglGetProcAddress('glVertexAttribP2uiv'); + glVertexAttribP3ui := dglGetProcAddress('glVertexAttribP3ui'); + glVertexAttribP3uiv := dglGetProcAddress('glVertexAttribP3uiv'); + glVertexAttribP4ui := dglGetProcAddress('glVertexAttribP4ui'); + glVertexAttribP4uiv := dglGetProcAddress('glVertexAttribP4uiv'); +end; + +procedure Read_GL_ARB_draw_indirect; +begin + glDrawArraysIndirect := dglGetProcAddress('glDrawArraysIndirect'); + glDrawElementsIndirect := dglGetProcAddress('glDrawElementsIndirect'); +end; + +procedure Read_GL_ARB_gpu_shader_fp64; +begin + glUniform1d := dglGetProcAddress('glUniform1d'); + glUniform2d := dglGetProcAddress('glUniform2d'); + glUniform3d := dglGetProcAddress('glUniform3d'); + glUniform4d := dglGetProcAddress('glUniform4d'); + glUniform1dv := dglGetProcAddress('glUniform1dv'); + glUniform2dv := dglGetProcAddress('glUniform2dv'); + glUniform3dv := dglGetProcAddress('glUniform3dv'); + glUniform4dv := dglGetProcAddress('glUniform4dv'); + glUniformMatrix2dv := dglGetProcAddress('glUniformMatrix2dv'); + glUniformMatrix3dv := dglGetProcAddress('glUniformMatrix3dv'); + glUniformMatrix4dv := dglGetProcAddress('glUniformMatrix4dv'); + glUniformMatrix2x3dv := dglGetProcAddress('glUniformMatrix2x3dv'); + glUniformMatrix2x4dv := dglGetProcAddress('glUniformMatrix2x4dv'); + glUniformMatrix3x2dv := dglGetProcAddress('glUniformMatrix3x2dv'); + glUniformMatrix3x4dv := dglGetProcAddress('glUniformMatrix3x4dv'); + glUniformMatrix4x2dv := dglGetProcAddress('glUniformMatrix4x2dv'); + glUniformMatrix4x3dv := dglGetProcAddress('glUniformMatrix4x3dv'); + glGetUniformdv := dglGetProcAddress('glGetUniformdv'); +end; + +procedure Read_GL_ARB_shader_subroutine; +begin + glGetSubroutineUniformLocation := dglGetProcAddress('glGetSubroutineUniformLocation'); + glGetSubroutineIndex := dglGetProcAddress('glGetSubroutineIndex'); + glGetActiveSubroutineUniformiv := dglGetProcAddress('glGetActiveSubroutineUniformiv'); + glGetActiveSubroutineUniformName := dglGetProcAddress('glGetActiveSubroutineUniformName'); + glGetActiveSubroutineName := dglGetProcAddress('glGetActiveSubroutineName'); + glUniformSubroutinesuiv := dglGetProcAddress('glUniformSubroutinesuiv'); + glGetUniformSubroutineuiv := dglGetProcAddress('glGetUniformSubroutineuiv'); + glGetProgramStageiv := dglGetProcAddress('glGetProgramStageiv'); +end; + +procedure Read_GL_ARB_tessellation_shader; +begin + glPatchParameteri := dglGetProcAddress('glPatchParameteri'); + glPatchParameterfv := dglGetProcAddress('glPatchParameterfv'); +end; + +procedure Read_GL_ARB_transform_feedback2; +begin + glBindTransformFeedback := dglGetProcAddress('glBindTransformFeedback'); + glDeleteTransformFeedbacks := dglGetProcAddress('glDeleteTransformFeedbacks'); + glGenTransformFeedbacks := dglGetProcAddress('glGenTransformFeedbacks'); + glIsTransformFeedback := dglGetProcAddress('glIsTransformFeedback'); + glPauseTransformFeedback := dglGetProcAddress('glPauseTransformFeedback'); + glResumeTransformFeedback := dglGetProcAddress('glResumeTransformFeedback'); + glDrawTransformFeedback := dglGetProcAddress('glDrawTransformFeedback'); +end; + +procedure Read_GL_ARB_transform_feedback3; +begin + glDrawTransformFeedbackStream := dglGetProcAddress('glDrawTransformFeedbackStream'); + glBeginQueryIndexed := dglGetProcAddress('glBeginQueryIndexed'); + glEndQueryIndexed := dglGetProcAddress('glEndQueryIndexed'); + glGetQueryIndexediv := dglGetProcAddress('glGetQueryIndexediv'); +end; + +procedure Read_GL_ARB_ES2_compatibility; +begin + glReleaseShaderCompiler := dglGetProcAddress('glReleaseShaderCompiler'); + glShaderBinary := dglGetProcAddress('glShaderBinary'); + glGetShaderPrecisionFormat := dglGetProcAddress('glGetShaderPrecisionFormat'); + glDepthRangef := dglGetProcAddress('glDepthRangef'); + glClearDepthf := dglGetProcAddress('glClearDepthf'); +end; + +procedure Read_GL_ARB_get_program_binary; +begin + glGetProgramBinary := dglGetProcAddress('glGetProgramBinary'); + glProgramBinary := dglGetProcAddress('glProgramBinary'); + glProgramParameteri := dglGetProcAddress('glProgramParameteri'); +end; + +procedure Read_GL_ARB_separate_shader_objects; +begin + glUseProgramStages := dglGetProcAddress('glUseProgramStages'); + glActiveShaderProgram := dglGetProcAddress('glActiveShaderProgram'); + glCreateShaderProgramv := dglGetProcAddress('glCreateShaderProgramv'); + glBindProgramPipeline := dglGetProcAddress('glBindProgramPipeline'); + glDeleteProgramPipelines := dglGetProcAddress('glDeleteProgramPipelines'); + glGenProgramPipelines := dglGetProcAddress('glGenProgramPipelines'); + glIsProgramPipeline := dglGetProcAddress('glIsProgramPipeline'); + glGetProgramPipelineiv := dglGetProcAddress('glGetProgramPipelineiv'); + glProgramUniform1i := dglGetProcAddress('glProgramUniform1i'); + glProgramUniform1iv := dglGetProcAddress('glProgramUniform1iv'); + glProgramUniform1f := dglGetProcAddress('glProgramUniform1f'); + glProgramUniform1fv := dglGetProcAddress('glProgramUniform1fv'); + glProgramUniform1d := dglGetProcAddress('glProgramUniform1d'); + glProgramUniform1dv := dglGetProcAddress('glProgramUniform1dv'); + glProgramUniform1ui := dglGetProcAddress('glProgramUniform1ui'); + glProgramUniform1uiv := dglGetProcAddress('glProgramUniform1uiv'); + glProgramUniform2i := dglGetProcAddress('glProgramUniform2i'); + glProgramUniform2iv := dglGetProcAddress('glProgramUniform2iv'); + glProgramUniform2f := dglGetProcAddress('glProgramUniform2f'); + glProgramUniform2fv := dglGetProcAddress('glProgramUniform2fv'); + glProgramUniform2d := dglGetProcAddress('glProgramUniform2d'); + glProgramUniform2dv := dglGetProcAddress('glProgramUniform2dv'); + glProgramUniform2ui := dglGetProcAddress('glProgramUniform2ui'); + glProgramUniform2uiv := dglGetProcAddress('glProgramUniform2uiv'); + glProgramUniform3i := dglGetProcAddress('glProgramUniform3i'); + glProgramUniform3iv := dglGetProcAddress('glProgramUniform3iv'); + glProgramUniform3f := dglGetProcAddress('glProgramUniform3f'); + glProgramUniform3fv := dglGetProcAddress('glProgramUniform3fv'); + glProgramUniform3d := dglGetProcAddress('glProgramUniform3d'); + glProgramUniform3dv := dglGetProcAddress('glProgramUniform3dv'); + glProgramUniform3ui := dglGetProcAddress('glProgramUniform3ui'); + glProgramUniform3uiv := dglGetProcAddress('glProgramUniform3uiv'); + glProgramUniform4i := dglGetProcAddress('glProgramUniform4i'); + glProgramUniform4iv := dglGetProcAddress('glProgramUniform4iv'); + glProgramUniform4f := dglGetProcAddress('glProgramUniform4f'); + glProgramUniform4fv := dglGetProcAddress('glProgramUniform4fv'); + glProgramUniform4d := dglGetProcAddress('glProgramUniform4d'); + glProgramUniform4dv := dglGetProcAddress('glProgramUniform4dv'); + glProgramUniform4ui := dglGetProcAddress('glProgramUniform4ui'); + glProgramUniform4uiv := dglGetProcAddress('glProgramUniform4uiv'); + glProgramUniformMatrix2fv := dglGetProcAddress('glProgramUniformMatrix2fv'); + glProgramUniformMatrix3fv := dglGetProcAddress('glProgramUniformMatrix3fv'); + glProgramUniformMatrix4fv := dglGetProcAddress('glProgramUniformMatrix4fv'); + glProgramUniformMatrix2dv := dglGetProcAddress('glProgramUniformMatrix2dv'); + glProgramUniformMatrix3dv := dglGetProcAddress('glProgramUniformMatrix3dv'); + glProgramUniformMatrix4dv := dglGetProcAddress('glProgramUniformMatrix4dv'); + glProgramUniformMatrix2x3fv := dglGetProcAddress('glProgramUniformMatrix2x3fv'); + glProgramUniformMatrix3x2fv := dglGetProcAddress('glProgramUniformMatrix3x2fv'); + glProgramUniformMatrix2x4fv := dglGetProcAddress('glProgramUniformMatrix2x4fv'); + glProgramUniformMatrix4x2fv := dglGetProcAddress('glProgramUniformMatrix4x2fv'); + glProgramUniformMatrix3x4fv := dglGetProcAddress('glProgramUniformMatrix3x4fv'); + glProgramUniformMatrix4x3fv := dglGetProcAddress('glProgramUniformMatrix4x3fv'); + glProgramUniformMatrix2x3dv := dglGetProcAddress('glProgramUniformMatrix2x3dv'); + glProgramUniformMatrix3x2dv := dglGetProcAddress('glProgramUniformMatrix3x2dv'); + glProgramUniformMatrix2x4dv := dglGetProcAddress('glProgramUniformMatrix2x4dv'); + glProgramUniformMatrix4x2dv := dglGetProcAddress('glProgramUniformMatrix4x2dv'); + glProgramUniformMatrix3x4dv := dglGetProcAddress('glProgramUniformMatrix3x4dv'); + glProgramUniformMatrix4x3dv := dglGetProcAddress('glProgramUniformMatrix4x3dv'); + glValidateProgramPipeline := dglGetProcAddress('glValidateProgramPipeline'); + glGetProgramPipelineInfoLog := dglGetProcAddress('glGetProgramPipelineInfoLog'); +end; + +procedure Read_GL_ARB_vertex_attrib_64bit; +begin + glVertexAttribL1d := dglGetProcAddress('glVertexAttribL1d'); + glVertexAttribL2d := dglGetProcAddress('glVertexAttribL2d'); + glVertexAttribL3d := dglGetProcAddress('glVertexAttribL3d'); + glVertexAttribL4d := dglGetProcAddress('glVertexAttribL4d'); + glVertexAttribL1dv := dglGetProcAddress('glVertexAttribL1dv'); + glVertexAttribL2dv := dglGetProcAddress('glVertexAttribL2dv'); + glVertexAttribL3dv := dglGetProcAddress('glVertexAttribL3dv'); + glVertexAttribL4dv := dglGetProcAddress('glVertexAttribL4dv'); + glVertexAttribLPointer := dglGetProcAddress('glVertexAttribLPointer'); + glGetVertexAttribLdv := dglGetProcAddress('glGetVertexAttribLdv'); +end; + +procedure Read_GL_ARB_viewport_array; +begin + glViewportArrayv := dglGetProcAddress('glViewportArrayv'); + glViewportIndexedf := dglGetProcAddress('glViewportIndexedf'); + glViewportIndexedfv := dglGetProcAddress('glViewportIndexedfv'); + glScissorArrayv := dglGetProcAddress('glScissorArrayv'); + glScissorIndexed := dglGetProcAddress('glScissorIndexed'); + glScissorIndexedv := dglGetProcAddress('glScissorIndexedv'); + glDepthRangeArrayv := dglGetProcAddress('glDepthRangeArrayv'); + glDepthRangeIndexed := dglGetProcAddress('glDepthRangeIndexed'); + glGetFloati_v := dglGetProcAddress('glGetFloati_v'); + glGetDoublei_v := dglGetProcAddress('glGetDoublei_v'); +end; + +// GL 4.2 + +procedure Read_GL_ARB_base_instance; +begin +glDrawArraysInstancedBaseInstance := dglGetProcAddress('glDrawArraysInstancedBaseInstance'); +glDrawElementsInstancedBaseInstance := dglGetProcAddress('glDrawElementsInstancedBaseInstance'); +glDrawElementsInstancedBaseVertexBaseInstance := dglGetProcAddress('glDrawElementsInstancedBaseVertexBaseInstance'); +end; + +procedure Read_GL_ARB_transform_feedback_instanced; +begin +glDrawTransformFeedbackInstanced := dglGetProcAddress('glDrawTransformFeedbackInstanced'); +glDrawTransformFeedbackStreamInstanced := dglGetProcAddress('glDrawTransformFeedbackStreamInstanced'); +end; + +procedure Read_GL_ARB_internalformat_query; +begin +glGetInternalformativ := dglGetProcAddress('glGetInternalformativ'); +end; + +procedure Read_GL_ARB_shader_atomic_counters; +begin +glGetActiveAtomicCounterBufferiv := dglGetProcAddress('glGetActiveAtomicCounterBufferiv'); +end; + +procedure Read_GL_ARB_shader_image_load_store; +begin +glBindImageTexture := dglGetProcAddress('glBindImageTexture'); +glMemoryBarrier := dglGetProcAddress('glMemoryBarrier'); +end; + +procedure Read_GL_ARB_texture_storage; +begin +glTexStorage1D := dglGetProcAddress('glTexStorage1D'); +glTexStorage2D := dglGetProcAddress('glTexStorage2D'); +glTexStorage3D := dglGetProcAddress('glTexStorage3D'); +glTextureStorage1DEXT := dglGetProcAddress('glTextureStorage1DEXT'); +glTextureStorage2DEXT := dglGetProcAddress('glTextureStorage2DEXT'); +glTextureStorage3DEXT := dglGetProcAddress('glTextureStorage3DEXT'); +end; + + +// GL 4.3 +procedure Read_GL_KHR_debug; +begin + glDebugMessageControl := dglGetProcAddress('glDebugMessageControl'); + glDebugMessageInsert := dglGetProcAddress('glDebugMessageInsert'); + glDebugMessageCallback := dglGetProcAddress('glDebugMessageCallback'); + glGetDebugMessageLog := dglGetProcAddress('glGetDebugMessageLog'); + glPushDebugGroup := dglGetProcAddress('glPushDebugGroup'); + glPopDebugGroup := dglGetProcAddress('glPopDebugGroup'); + glObjectLabel := dglGetProcAddress('glObjectLabel'); + glGetObjectLabel := dglGetProcAddress('glGetObjectLabel'); + glObjectPtrLabel := dglGetProcAddress('glObjectPtrLabel'); + glGetObjectPtrLabel := dglGetProcAddress('glGetObjectPtrLabel'); +end; + +procedure Read_GL_ARB_clear_buffer_object; +begin + glClearBufferData := dglGetProcAddress('glClearBufferData'); + glClearBufferSubData := dglGetProcAddress('glClearBufferSubData'); + glClearNamedBufferDataEXT := dglGetProcAddress('glClearNamedBufferDataEXT'); + glClearNamedBufferSubDataEXT := dglGetProcAddress('glClearNamedBufferSubDataEXT'); +end; + +procedure Read_GL_ARB_compute_shader; +begin + glDispatchCompute := dglGetProcAddress('glDispatchCompute'); + glDispatchComputeIndirect := dglGetProcAddress('glDispatchComputeIndirect'); +end; + +procedure Read_GL_ARB_copy_image; +begin + glCopyImageSubData := dglGetProcAddress('glCopyImageSubData'); +end; + +procedure Read_GL_ARB_framebuffer_no_attachments; +begin + glFramebufferParameteri := dglGetProcAddress('glFramebufferParameteri'); + glGetFramebufferParameteriv := dglGetProcAddress('glGetFramebufferParameteriv'); + glNamedFramebufferParameteriEXT := dglGetProcAddress('glNamedFramebufferParameteriEXT'); + glGetNamedFramebufferParameterivEXT := dglGetProcAddress('glGetNamedFramebufferParameterivEXT'); +end; + +procedure Read_GL_ARB_internalformat_query2; +begin + glGetInternalformati64v := dglGetProcAddress('glGetInternalformati64v');; +end; + +procedure Read_GL_ARB_invalidate_subdata; +begin + glInvalidateTexSubImage := dglGetProcAddress('glInvalidateTexSubImage'); + glInvalidateTexImage := dglGetProcAddress('glInvalidateTexImage'); + glInvalidateBufferSubData := dglGetProcAddress('glInvalidateBufferSubData'); + glInvalidateBufferData := dglGetProcAddress('glInvalidateBufferData'); + glInvalidateFramebuffer := dglGetProcAddress('glInvalidateFramebuffer'); + glInvalidateSubFramebuffer := dglGetProcAddress('glInvalidateSubFramebuffer'); +end; + +procedure Read_GL_ARB_multi_draw_indirect; +begin + glMultiDrawArraysIndirect := dglGetProcAddress('glMultiDrawArraysIndirect'); + glMultiDrawElementsIndirect := dglGetProcAddress('glMultiDrawElementsIndirect'); +end; + +procedure Read_GL_ARB_program_interface_query; +begin + glGetProgramInterfaceiv := dglGetProcAddress('glGetProgramInterfaceiv'); + glGetProgramResourceIndex := dglGetProcAddress('glGetProgramResourceIndex'); + glGetProgramResourceName := dglGetProcAddress('glGetProgramResourceName'); + glGetProgramResourceiv := dglGetProcAddress('glGetProgramResourceiv'); + glGetProgramResourceLocation := dglGetProcAddress('glGetProgramResourceLocation'); + glGetProgramResourceLocationIndex := dglGetProcAddress('glGetProgramResourceLocationIndex'); +end; + +procedure Read_GL_ARB_shader_storage_buffer_object; +begin + glShaderStorageBlockBinding := dglGetProcAddress('glShaderStorageBlockBinding'); +end; + +procedure Read_GL_ARB_texture_buffer_range; +begin + glTexBufferRange := dglGetProcAddress('glTexBufferRange'); + glTextureBufferRangeEXT := dglGetProcAddress('glTextureBufferRangeEXT'); +end; + +procedure Read_GL_ARB_texture_storage_multisample; +begin + glTexStorage2DMultisample := dglGetProcAddress('glTexStorage2DMultisample'); + glTexStorage3DMultisample := dglGetProcAddress('glTexStorage3DMultisample'); + glTextureStorage2DMultisampleEXT := dglGetProcAddress('glTextureStorage2DMultisampleEXT'); + glTextureStorage3DMultisampleEXT := dglGetProcAddress('glTextureStorage3DMultisampleEXT'); +end; + +procedure Read_GL_ARB_texture_view; +begin + glTextureView := dglGetProcAddress('glTextureView'); +end; + +procedure Read_GL_ARB_vertex_attrib_binding; +begin + glBindVertexBuffer := dglGetProcAddress('glBindVertexBuffer'); + glVertexAttribFormat := dglGetProcAddress('glVertexAttribFormat'); + glVertexAttribIFormat := dglGetProcAddress('glVertexAttribIFormat'); + glVertexAttribLFormat := dglGetProcAddress('glVertexAttribLFormat'); + glVertexAttribBinding := dglGetProcAddress('glVertexAttribBinding'); + glVertexBindingDivisor := dglGetProcAddress('glVertexBindingDivisor'); + glVertexArrayBindVertexBufferEXT := dglGetProcAddress('glVertexArrayBindVertexBufferEXT'); + glVertexArrayVertexAttribFormatEXT := dglGetProcAddress('glVertexArrayVertexAttribFormatEXT'); + glVertexArrayVertexAttribIFormatEXT := dglGetProcAddress('glVertexArrayVertexAttribIFormatEXT'); + glVertexArrayVertexAttribLFormatEXT := dglGetProcAddress('glVertexArrayVertexAttribLFormatEXT'); + glVertexArrayVertexAttribBindingEXT := dglGetProcAddress('glVertexArrayVertexAttribBindingEXT'); + glVertexArrayVertexBindingDivisorEXT := dglGetProcAddress('glVertexArrayVertexBindingDivisorEXT'); +end; + +procedure Read_GL_4_4; +begin + glBufferStorage := dglGetProcAddress('glBufferStorage'); + glClearTexImage := dglGetProcAddress('glClearTexImage'); + glClearTexSubImage := dglGetProcAddress('glClearTexSubImage'); + glBindBuffersBase := dglGetProcAddress('glBindBuffersBase'); + glBindBuffersRange := dglGetProcAddress('glBindBuffersRange'); + glBindTextures := dglGetProcAddress('glBindTextures'); + glBindSamplers := dglGetProcAddress('glBindSamplers'); + glBindImageTextures := dglGetProcAddress('glBindImageTextures'); + glBindVertexBuffers := dglGetProcAddress('glBindVertexBuffers'); +end; + + +procedure Read_GL_NV_path_rendering; +begin + glGenPathsNV := dglGetProcAddress('glGenPathsNV'); + glDeletePathsNV := dglGetProcAddress('glDeletePathsNV'); + glIsPathNV := dglGetProcAddress('glIsPathNV'); + glPathCommandsNV := dglGetProcAddress('glPathCommandsNV'); + glPathCoordsNV := dglGetProcAddress('glPathCoordsNV'); + glPathSubCommandsNV := dglGetProcAddress('glPathSubCommandsNV'); + glPathSubCoordsNV := dglGetProcAddress('glPathSubCoordsNV'); + glPathStringNV := dglGetProcAddress('glPathStringNV'); + glPathGlyphsNV := dglGetProcAddress('glPathGlyphsNV'); + glPathGlyphRangeNV := dglGetProcAddress('glPathGlyphRangeNV'); + glWeightPathsNV := dglGetProcAddress('glWeightPathsNV'); + glCopyPathNV := dglGetProcAddress('glCopyPathNV'); + glInterpolatePathsNV := dglGetProcAddress('glInterpolatePathsNV'); + glTransformPathNV := dglGetProcAddress('glTransformPathNV'); + glPathParameterivNV := dglGetProcAddress('glPathParameterivNV'); + glPathParameteriNV := dglGetProcAddress('glPathParameteriNV'); + glPathParameterfvNV := dglGetProcAddress('glPathParameterfvNV'); + glPathParameterfNV := dglGetProcAddress('glPathParameterfNV'); + glPathDashArrayNV := dglGetProcAddress('glPathDashArrayNV'); + glPathStencilFuncNV := dglGetProcAddress('glPathStencilFuncNV'); + glPathStencilDepthOffsetNV := dglGetProcAddress('glPathStencilDepthOffsetNV'); + glStencilFillPathNV := dglGetProcAddress('glStencilFillPathNV'); + glStencilStrokePathNV := dglGetProcAddress('glStencilStrokePathNV'); + glStencilFillPathInstancedNV := dglGetProcAddress('glStencilFillPathInstancedNV'); + glStencilStrokePathInstancedNV := dglGetProcAddress('glStencilStrokePathInstancedNV'); + glPathCoverDepthFuncNV := dglGetProcAddress('glPathCoverDepthFuncNV'); + glPathColorGenNV := dglGetProcAddress('glPathColorGenNV'); + glPathTexGenNV := dglGetProcAddress('glPathTexGenNV'); + glPathFogGenNV := dglGetProcAddress('glPathFogGenNV'); + glCoverFillPathNV := dglGetProcAddress('glCoverFillPathNV'); + glCoverStrokePathNV := dglGetProcAddress('glCoverStrokePathNV'); + glCoverFillPathInstancedNV := dglGetProcAddress('glCoverFillPathInstancedNV'); + glCoverStrokePathInstancedNV := dglGetProcAddress('glCoverStrokePathInstancedNV'); + glGetPathParameterivNV := dglGetProcAddress('glGetPathParameterivNV'); + glGetPathParameterfvNV := dglGetProcAddress('glGetPathParameterfvNV'); + glGetPathCommandsNV := dglGetProcAddress('glGetPathCommandsNV'); + glGetPathCoordsNV := dglGetProcAddress('glGetPathCoordsNV'); + glGetPathDashArrayNV := dglGetProcAddress('glGetPathDashArrayNV'); + glGetPathMetricsNV := dglGetProcAddress('glGetPathMetricsNV'); + glGetPathMetricRangeNV := dglGetProcAddress('glGetPathMetricRangeNV'); + glGetPathSpacingNV := dglGetProcAddress('glGetPathSpacingNV'); + glGetPathColorGenivNV := dglGetProcAddress('glGetPathColorGenivNV'); + glGetPathColorGenfvNV := dglGetProcAddress('glGetPathColorGenfvNV'); + glGetPathTexGenivNV := dglGetProcAddress('glGetPathTexGenivNV'); + glGetPathTexGenfvNV := dglGetProcAddress('glGetPathTexGenfvNV'); + glIsPointInFillPathNV := dglGetProcAddress('glIsPointInFillPathNV'); + glIsPointInStrokePathNV := dglGetProcAddress('glIsPointInStrokePathNV'); + glGetPathLengthNV := dglGetProcAddress('glGetPathLengthNV'); + glPointAlongPathNV := dglGetProcAddress('glPointAlongPathNV'); +end; + +procedure Read_GL_AMD_stencil_operation_extended; +begin + glStencilOpValueAMD := dglGetProcAddress('glStencilOpValueAMD'); +end; + +procedure Read_GL_NV_bindless_texture; +begin + glGetTextureHandleNV := dglGetProcAddress('glGetTextureHandleNV'); + glGetTextureSamplerHandleNV := dglGetProcAddress('glGetTextureSamplerHandleNV'); + glMakeTextureHandleResidentNV := dglGetProcAddress('glMakeTextureHandleResidentNV'); + glMakeTextureHandleNonResidentNV := dglGetProcAddress('glMakeTextureHandleNonResidentNV'); + glGetImageHandleNV := dglGetProcAddress('glGetImageHandleNV'); + glMakeImageHandleResidentNV := dglGetProcAddress('glMakeImageHandleResidentNV'); + glMakeImageHandleNonResidentNV := dglGetProcAddress('glMakeImageHandleNonResidentNV'); + glUniformHandleui64NV := dglGetProcAddress('glUniformHandleui64NV'); + glUniformHandleui64vNV := dglGetProcAddress('glUniformHandleui64vNV'); + glProgramUniformHandleui64NV := dglGetProcAddress('glProgramUniformHandleui64NV'); + glProgramUniformHandleui64vNV := dglGetProcAddress('glProgramUniformHandleui64vNV'); + glIsTextureHandleResidentNV := dglGetProcAddress('glIsTextureHandleResidentNV'); + glIsImageHandleResidentNV := dglGetProcAddress('glIsImageHandleResidentNV'); +end; + +procedure Read_GL_ARB_cl_event; +begin + glCreateSyncFromCLeventARB := dglGetProcAddress('glCreateSyncFromCLeventARB'); +end; + +procedure Read_GL_ARB_debug_output; +begin + glDebugMessageControlARB := dglGetProcAddress('glDebugMessageControlARB'); + glDebugMessageInsertARB := dglGetProcAddress('glDebugMessageInsertARB'); + glDebugMessageCallbackARB := dglGetProcAddress('glDebugMessageCallbackARB'); + glGetDebugMessageLogARB := dglGetProcAddress('glGetDebugMessageLogARB'); +end; + +procedure Read_GL_ARB_robustness; +begin + glGetGraphicsResetStatusARB := dglGetProcAddress('glGetGraphicsResetStatusARB'); + glGetnMapdvARB := dglGetProcAddress('glGetnMapdvARB'); + glGetnMapfvARB := dglGetProcAddress('glGetnMapfvARB'); + glGetnMapivARB := dglGetProcAddress('glGetnMapivARB'); + glGetnPixelMapfvARB := dglGetProcAddress('glGetnPixelMapfvARB'); + glGetnPixelMapuivARB := dglGetProcAddress('glGetnPixelMapuivARB'); + glGetnPixelMapusvARB := dglGetProcAddress('glGetnPixelMapusvARB'); + glGetnPolygonStippleARB := dglGetProcAddress('glGetnPolygonStippleARB'); + glGetnColorTableARB := dglGetProcAddress('glGetnColorTableARB'); + glGetnConvolutionFilterARB := dglGetProcAddress('glGetnConvolutionFilterARB'); + glGetnSeparableFilterARB := dglGetProcAddress('glGetnSeparableFilterARB'); + glGetnHistogramARB := dglGetProcAddress('glGetnHistogramARB'); + glGetnMinmaxARB := dglGetProcAddress('glGetnMinmaxARB'); + glGetnTexImageARB := dglGetProcAddress('glGetnTexImageARB'); + glReadnPixelsARB := dglGetProcAddress('glReadnPixelsARB'); + glGetnCompressedTexImageARB := dglGetProcAddress('glGetnCompressedTexImageARB'); + glGetnUniformfvARB := dglGetProcAddress('glGetnUniformfvARB'); + glGetnUniformivARB := dglGetProcAddress('glGetnUniformivARB'); + glGetnUniformuivARB := dglGetProcAddress('glGetnUniformuivARB'); + glGetnUniformdvARB := dglGetProcAddress('glGetnUniformdvARB'); +end; + +procedure Read_GL_ATI_draw_buffers; +begin + glDrawBuffersATI := dglGetProcAddress('glDrawBuffersATI'); +end; + +procedure Read_GL_ATI_element_array; +begin + glElementPointerATI := dglGetProcAddress('glElementPointerATI'); + glDrawElementArrayATI := dglGetProcAddress('glDrawElementArrayATI'); + glDrawRangeElementArrayATI := dglGetProcAddress('glDrawRangeElementArrayATI'); +end; + +procedure Read_GL_ATI_envmap_bumpmap; +begin + glTexBumpParameterivATI := dglGetProcAddress('glTexBumpParameterivATI'); + glTexBumpParameterfvATI := dglGetProcAddress('glTexBumpParameterfvATI'); + glGetTexBumpParameterivATI := dglGetProcAddress('glGetTexBumpParameterivATI'); + glGetTexBumpParameterfvATI := dglGetProcAddress('glGetTexBumpParameterfvATI'); +end; + +procedure Read_GL_ATI_fragment_shader; +begin + glGenFragmentShadersATI := dglGetProcAddress('glGenFragmentShadersATI'); + glBindFragmentShaderATI := dglGetProcAddress('glBindFragmentShaderATI'); + glDeleteFragmentShaderATI := dglGetProcAddress('glDeleteFragmentShaderATI'); + glBeginFragmentShaderATI := dglGetProcAddress('glBeginFragmentShaderATI'); + glEndFragmentShaderATI := dglGetProcAddress('glEndFragmentShaderATI'); + glPassTexCoordATI := dglGetProcAddress('glPassTexCoordATI'); + glSampleMapATI := dglGetProcAddress('glSampleMapATI'); + glColorFragmentOp1ATI := dglGetProcAddress('glColorFragmentOp1ATI'); + glColorFragmentOp2ATI := dglGetProcAddress('glColorFragmentOp2ATI'); + glColorFragmentOp3ATI := dglGetProcAddress('glColorFragmentOp3ATI'); + glAlphaFragmentOp1ATI := dglGetProcAddress('glAlphaFragmentOp1ATI'); + glAlphaFragmentOp2ATI := dglGetProcAddress('glAlphaFragmentOp2ATI'); + glAlphaFragmentOp3ATI := dglGetProcAddress('glAlphaFragmentOp3ATI'); + glSetFragmentShaderConstantATI := dglGetProcAddress('glSetFragmentShaderConstantATI'); +end; + +procedure Read_GL_ATI_map_object_buffer; +begin + glMapObjectBufferATI := dglGetProcAddress('glMapObjectBufferATI'); + glUnmapObjectBufferATI := dglGetProcAddress('glUnmapObjectBufferATI'); +end; + +procedure Read_GL_ATI_pn_triangles; +begin + glPNTrianglesiATI := dglGetProcAddress('glPNTrianglesiATI'); + glPNTrianglesfATI := dglGetProcAddress('glPNTrianglesfATI'); +end; + +procedure Read_GL_ATI_separate_stencil; +begin + glStencilOpSeparateATI := dglGetProcAddress('glStencilOpSeparateATI'); + glStencilFuncSeparateATI := dglGetProcAddress('glStencilFuncSeparateATI'); +end; + +procedure Read_GL_ATI_vertex_array_object; +begin + glNewObjectBufferATI := dglGetProcAddress('glNewObjectBufferATI'); + glIsObjectBufferATI := dglGetProcAddress('glIsObjectBufferATI'); + glUpdateObjectBufferATI := dglGetProcAddress('glUpdateObjectBufferATI'); + glGetObjectBufferfvATI := dglGetProcAddress('glGetObjectBufferfvATI'); + glGetObjectBufferivATI := dglGetProcAddress('glGetObjectBufferivATI'); + glFreeObjectBufferATI := dglGetProcAddress('glFreeObjectBufferATI'); + glArrayObjectATI := dglGetProcAddress('glArrayObjectATI'); + glGetArrayObjectfvATI := dglGetProcAddress('glGetArrayObjectfvATI'); + glGetArrayObjectivATI := dglGetProcAddress('glGetArrayObjectivATI'); + glVariantArrayObjectATI := dglGetProcAddress('glVariantArrayObjectATI'); + glGetVariantArrayObjectfvATI := dglGetProcAddress('glGetVariantArrayObjectfvATI'); + glGetVariantArrayObjectivATI := dglGetProcAddress('glGetVariantArrayObjectivATI'); + +end; + +procedure Read_GL_ATI_vertex_attrib_array_object; +begin + glVertexAttribArrayObjectATI := dglGetProcAddress('glVertexAttribArrayObjectATI'); + glGetVertexAttribArrayObjectfvATI := dglGetProcAddress('glGetVertexAttribArrayObjectfvATI'); + glGetVertexAttribArrayObjectivATI := dglGetProcAddress('glGetVertexAttribArrayObjectivATI'); +end; + +procedure Read_GL_ATI_vertex_streams; +begin + glVertexStream1sATI := dglGetProcAddress('glVertexStream1sATI'); + glVertexStream1svATI := dglGetProcAddress('glVertexStream1svATI'); + glVertexStream1iATI := dglGetProcAddress('glVertexStream1iATI'); + glVertexStream1ivATI := dglGetProcAddress('glVertexStream1ivATI'); + glVertexStream1fATI := dglGetProcAddress('glVertexStream1fATI'); + glVertexStream1fvATI := dglGetProcAddress('glVertexStream1fvATI'); + glVertexStream1dATI := dglGetProcAddress('glVertexStream1dATI'); + glVertexStream1dvATI := dglGetProcAddress('glVertexStream1dvATI'); + glVertexStream2sATI := dglGetProcAddress('glVertexStream2sATI'); + glVertexStream2svATI := dglGetProcAddress('glVertexStream2svATI'); + glVertexStream2iATI := dglGetProcAddress('glVertexStream2iATI'); + glVertexStream2ivATI := dglGetProcAddress('glVertexStream2ivATI'); + glVertexStream2fATI := dglGetProcAddress('glVertexStream2fATI'); + glVertexStream2fvATI := dglGetProcAddress('glVertexStream2fvATI'); + glVertexStream2dATI := dglGetProcAddress('glVertexStream2dATI'); + glVertexStream2dvATI := dglGetProcAddress('glVertexStream2dvATI'); + glVertexStream3sATI := dglGetProcAddress('glVertexStream3sATI'); + glVertexStream3svATI := dglGetProcAddress('glVertexStream3svATI'); + glVertexStream3iATI := dglGetProcAddress('glVertexStream3iATI'); + glVertexStream3ivATI := dglGetProcAddress('glVertexStream3ivATI'); + glVertexStream3fATI := dglGetProcAddress('glVertexStream3fATI'); + glVertexStream3fvATI := dglGetProcAddress('glVertexStream3fvATI'); + glVertexStream3dATI := dglGetProcAddress('glVertexStream3dATI'); + glVertexStream3dvATI := dglGetProcAddress('glVertexStream3dvATI'); + glVertexStream4sATI := dglGetProcAddress('glVertexStream4sATI'); + glVertexStream4svATI := dglGetProcAddress('glVertexStream4svATI'); + glVertexStream4iATI := dglGetProcAddress('glVertexStream4iATI'); + glVertexStream4ivATI := dglGetProcAddress('glVertexStream4ivATI'); + glVertexStream4fATI := dglGetProcAddress('glVertexStream4fATI'); + glVertexStream4fvATI := dglGetProcAddress('glVertexStream4fvATI'); + glVertexStream4dATI := dglGetProcAddress('glVertexStream4dATI'); + glVertexStream4dvATI := dglGetProcAddress('glVertexStream4dvATI'); + glNormalStream3bATI := dglGetProcAddress('glNormalStream3bATI'); + glNormalStream3bvATI := dglGetProcAddress('glNormalStream3bvATI'); + glNormalStream3sATI := dglGetProcAddress('glNormalStream3sATI'); + glNormalStream3svATI := dglGetProcAddress('glNormalStream3svATI'); + glNormalStream3iATI := dglGetProcAddress('glNormalStream3iATI'); + glNormalStream3ivATI := dglGetProcAddress('glNormalStream3ivATI'); + glNormalStream3fATI := dglGetProcAddress('glNormalStream3fATI'); + glNormalStream3fvATI := dglGetProcAddress('glNormalStream3fvATI'); + glNormalStream3dATI := dglGetProcAddress('glNormalStream3dATI'); + glNormalStream3dvATI := dglGetProcAddress('glNormalStream3dvATI'); + glClientActiveVertexStreamATI := dglGetProcAddress('glClientActiveVertexStreamATI'); + glVertexBlendEnviATI := dglGetProcAddress('glVertexBlendEnviATI'); + glVertexBlendEnvfATI := dglGetProcAddress('glVertexBlendEnvfATI'); +end; + +procedure Read_GL_AMD_performance_monitor; +begin + glGetPerfMonitorGroupsAMD := dglGetProcAddress('glGetPerfMonitorGroupsAMD'); + glGetPerfMonitorCountersAMD := dglGetProcAddress('glGetPerfMonitorCountersAMD'); + glGetPerfMonitorGroupStringAMD := dglGetProcAddress('glGetPerfMonitorGroupStringAMD'); + glGetPerfMonitorCounterStringAMD := dglGetProcAddress('glGetPerfMonitorCounterStringAMD'); + glGetPerfMonitorCounterInfoAMD := dglGetProcAddress('glGetPerfMonitorCounterInfoAMD'); + glGenPerfMonitorsAMD := dglGetProcAddress('glGenPerfMonitorsAMD'); + glDeletePerfMonitorsAMD := dglGetProcAddress('glDeletePerfMonitorsAMD'); + glSelectPerfMonitorCountersAMD := dglGetProcAddress('glSelectPerfMonitorCountersAMD'); + glBeginPerfMonitorAMD := dglGetProcAddress('glBeginPerfMonitorAMD'); + glEndPerfMonitorAMD := dglGetProcAddress('glEndPerfMonitorAMD'); + glGetPerfMonitorCounterDataAMD := dglGetProcAddress('glGetPerfMonitorCounterDataAMD'); +end; + +procedure Read_GL_AMD_vertex_shader_tesselator; +begin + glTessellationFactorAMD := dglGetProcAddress('glTessellationFactorAMD'); + glTessellationModeAMD := dglGetProcAddress('glTessellationModeAMD'); +end; + +procedure Read_GL_AMD_draw_buffers_blend; +begin + glBlendFuncIndexedAMD := dglGetProcAddress('glBlendFuncIndexedAMD'); + glBlendFuncSeparateIndexedAMD := dglGetProcAddress('glBlendFuncSeparateIndexedAMD'); + glBlendEquationIndexedAMD := dglGetProcAddress('glBlendEquationIndexedAMD'); + glBlendEquationSeparateIndexedAMD := dglGetProcAddress('glBlendEquationSeparateIndexedAMD'); +end; + +procedure Read_GL_AMD_name_gen_delete; +begin + glGenNamesAMD := dglGetProcAddress('glGenNamesAMD'); + glDeleteNamesAMD := dglGetProcAddress('glDeleteNamesAMD'); + glIsNameAMD := dglGetProcAddress('glIsNameAMD'); +end; + +procedure Read_GL_AMD_debug_output; +begin + glDebugMessageEnableAMD := dglGetProcAddress('glDebugMessageEnableAMD'); + glDebugMessageInsertAMD := dglGetProcAddress('glDebugMessageInsertAMD'); + glDebugMessageCallbackAMD := dglGetProcAddress('glDebugMessageCallbackAMD'); + glGetDebugMessageLogAMD := dglGetProcAddress('glGetDebugMessageLogAMD'); +end; + +procedure Read_GL_EXT_blend_color; +begin + glBlendColorEXT := dglGetProcAddress('glBlendColorEXT'); +end; + +procedure Read_GL_EXT_blend_func_separate; +begin + glBlendFuncSeparateEXT := dglGetProcAddress('glBlendFuncSeparateEXT'); +end; + +procedure Read_GL_EXT_blend_minmax; +begin + glBlendEquationEXT := dglGetProcAddress('glBlendEquationEXT'); +end; + +procedure Read_GL_EXT_color_subtable; +begin + glColorSubTableEXT := dglGetProcAddress('glColorSubTableEXT'); + glCopyColorSubTableEXT := dglGetProcAddress('glCopyColorSubTableEXT'); +end; + +procedure Read_GL_EXT_compiled_vertex_array; +begin + glLockArraysEXT := dglGetProcAddress('glLockArraysEXT'); + glUnlockArraysEXT := dglGetProcAddress('glUnlockArraysEXT'); +end; + +procedure Read_GL_EXT_convolution; +begin + glConvolutionFilter1DEXT := dglGetProcAddress('glConvolutionFilter1DEXT'); + glConvolutionFilter2DEXT := dglGetProcAddress('glConvolutionFilter2DEXT'); + glConvolutionParameterfEXT := dglGetProcAddress('glConvolutionParameterfEXT'); + glConvolutionParameterfvEXT := dglGetProcAddress('glConvolutionParameterfvEXT'); + glConvolutionParameteriEXT := dglGetProcAddress('glConvolutionParameteriEXT'); + glConvolutionParameterivEXT := dglGetProcAddress('glConvolutionParameterivEXT'); + glCopyConvolutionFilter1DEXT := dglGetProcAddress('glCopyConvolutionFilter1DEXT'); + glCopyConvolutionFilter2DEXT := dglGetProcAddress('glCopyConvolutionFilter2DEXT'); + glGetConvolutionFilterEXT := dglGetProcAddress('glGetConvolutionFilterEXT'); + glGetConvolutionParameterfvEXT := dglGetProcAddress('glGetConvolutionParameterfvEXT'); + glGetConvolutionParameterivEXT := dglGetProcAddress('glGetConvolutionParameterivEXT'); + glGetSeparableFilterEXT := dglGetProcAddress('glGetSeparableFilterEXT'); + glSeparableFilter2DEXT := dglGetProcAddress('glSeparableFilter2DEXT'); +end; + +procedure Read_GL_EXT_coordinate_frame; +begin + glTangent3bEXT := dglGetProcAddress('glTangent3bEXT'); + glTangent3bvEXT := dglGetProcAddress('glTangent3bvEXT'); + glTangent3dEXT := dglGetProcAddress('glTangent3dEXT'); + glTangent3dvEXT := dglGetProcAddress('glTangent3dvEXT'); + glTangent3fEXT := dglGetProcAddress('glTangent3fEXT'); + glTangent3fvEXT := dglGetProcAddress('glTangent3fvEXT'); + glTangent3iEXT := dglGetProcAddress('glTangent3iEXT'); + glTangent3ivEXT := dglGetProcAddress('glTangent3ivEXT'); + glTangent3sEXT := dglGetProcAddress('glTangent3sEXT'); + glTangent3svEXT := dglGetProcAddress('glTangent3svEXT'); + glBinormal3bEXT := dglGetProcAddress('glBinormal3bEXT'); + glBinormal3bvEXT := dglGetProcAddress('glBinormal3bvEXT'); + glBinormal3dEXT := dglGetProcAddress('glBinormal3dEXT'); + glBinormal3dvEXT := dglGetProcAddress('glBinormal3dvEXT'); + glBinormal3fEXT := dglGetProcAddress('glBinormal3fEXT'); + glBinormal3fvEXT := dglGetProcAddress('glBinormal3fvEXT'); + glBinormal3iEXT := dglGetProcAddress('glBinormal3iEXT'); + glBinormal3ivEXT := dglGetProcAddress('glBinormal3ivEXT'); + glBinormal3sEXT := dglGetProcAddress('glBinormal3sEXT'); + glBinormal3svEXT := dglGetProcAddress('glBinormal3svEXT'); + glTangentPointerEXT := dglGetProcAddress('glTangentPointerEXT'); + glBinormalPointerEXT := dglGetProcAddress('glBinormalPointerEXT'); +end; + +procedure Read_GL_EXT_copy_texture; +begin + glCopyTexImage1DEXT := dglGetProcAddress('glCopyTexImage1DEXT'); + glCopyTexImage2DEXT := dglGetProcAddress('glCopyTexImage2DEXT'); + glCopyTexSubImage1DEXT := dglGetProcAddress('glCopyTexSubImage1DEXT'); + glCopyTexSubImage2DEXT := dglGetProcAddress('glCopyTexSubImage2DEXT'); + glCopyTexSubImage3DEXT := dglGetProcAddress('glCopyTexSubImage3DEXT'); +end; + +procedure Read_GL_EXT_cull_vertex; +begin + glCullParameterdvEXT := dglGetProcAddress('glCullParameterdvEXT'); + glCullParameterfvEXT := dglGetProcAddress('glCullParameterfvEXT'); +end; + +procedure Read_GL_EXT_draw_range_elements; +begin + glDrawRangeElementsEXT := dglGetProcAddress('glDrawRangeElementsEXT'); +end; + +procedure Read_GL_EXT_fog_coord; +begin + glFogCoordfEXT := dglGetProcAddress('glFogCoordfEXT'); + glFogCoordfvEXT := dglGetProcAddress('glFogCoordfvEXT'); + glFogCoorddEXT := dglGetProcAddress('glFogCoorddEXT'); + glFogCoorddvEXT := dglGetProcAddress('glFogCoorddvEXT'); + glFogCoordPointerEXT := dglGetProcAddress('glFogCoordPointerEXT'); +end; + +procedure Read_GL_EXT_framebuffer_object; +begin + glIsRenderbufferEXT := dglGetProcAddress('glIsRenderbufferEXT'); + glBindRenderbufferEXT := dglGetProcAddress('glBindRenderbufferEXT'); + glDeleteRenderbuffersEXT := dglGetProcAddress('glDeleteRenderbuffersEXT'); + glGenRenderbuffersEXT := dglGetProcAddress('glGenRenderbuffersEXT'); + glRenderbufferStorageEXT := dglGetProcAddress('glRenderbufferStorageEXT'); + glGetRenderbufferParameterivEXT := dglGetProcAddress('glGetRenderbufferParameterivEXT'); + glIsFramebufferEXT := dglGetProcAddress('glIsFramebufferEXT'); + glBindFramebufferEXT := dglGetProcAddress('glBindFramebufferEXT'); + glDeleteFramebuffersEXT := dglGetProcAddress('glDeleteFramebuffersEXT'); + glGenFramebuffersEXT := dglGetProcAddress('glGenFramebuffersEXT'); + glCheckFramebufferStatusEXT := dglGetProcAddress('glCheckFramebufferStatusEXT'); + glFramebufferTexture1DEXT := dglGetProcAddress('glFramebufferTexture1DEXT'); + glFramebufferTexture2DEXT := dglGetProcAddress('glFramebufferTexture2DEXT'); + glFramebufferTexture3DEXT := dglGetProcAddress('glFramebufferTexture3DEXT'); + glFramebufferRenderbufferEXT := dglGetProcAddress('glFramebufferRenderbufferEXT'); + glGetFramebufferAttachmentParameterivEXT := dglGetProcAddress('glGetFramebufferAttachmentParameterivEXT'); + glGenerateMipmapEXT := dglGetProcAddress('glGenerateMipmapEXT'); +end; + +procedure Read_GL_EXT_histogram; +begin + glGetHistogramEXT := dglGetProcAddress('glGetHistogramEXT'); + glGetHistogramParameterfvEXT := dglGetProcAddress('glGetHistogramParameterfvEXT'); + glGetHistogramParameterivEXT := dglGetProcAddress('glGetHistogramParameterivEXT'); + glGetMinmaxEXT := dglGetProcAddress('glGetMinmaxEXT'); + glGetMinmaxParameterfvEXT := dglGetProcAddress('glGetMinmaxParameterfvEXT'); + glGetMinmaxParameterivEXT := dglGetProcAddress('glGetMinmaxParameterivEXT'); + glHistogramEXT := dglGetProcAddress('glHistogramEXT'); + glMinmaxEXT := dglGetProcAddress('glMinmaxEXT'); + glResetHistogramEXT := dglGetProcAddress('glResetHistogramEXT'); + glResetMinmaxEXT := dglGetProcAddress('glResetMinmaxEXT'); +end; + +procedure Read_GL_EXT_index_func; +begin + glIndexFuncEXT := dglGetProcAddress('glIndexFuncEXT'); +end; + +procedure Read_GL_EXT_index_material; +begin + glIndexMaterialEXT := dglGetProcAddress('glIndexMaterialEXT'); +end; + +procedure Read_GL_EXT_light_texture; +begin + glApplyTextureEXT := dglGetProcAddress('glApplyTextureEXT'); + glTextureLightEXT := dglGetProcAddress('glTextureLightEXT'); + glTextureMaterialEXT := dglGetProcAddress('glTextureMaterialEXT'); +end; + +procedure Read_GL_EXT_multi_draw_arrays; +begin + glMultiDrawArraysEXT := dglGetProcAddress('glMultiDrawArraysEXT'); + glMultiDrawElementsEXT := dglGetProcAddress('glMultiDrawElementsEXT'); +end; + +procedure Read_GL_EXT_multisample; +begin + glSampleMaskEXT := dglGetProcAddress('glSampleMaskEXT'); + glSamplePatternEXT := dglGetProcAddress('glSamplePatternEXT'); +end; + +procedure Read_GL_EXT_paletted_texture; +begin + glColorTableEXT := dglGetProcAddress('glColorTableEXT'); + glGetColorTableEXT := dglGetProcAddress('glGetColorTableEXT'); + glGetColorTableParameterivEXT := dglGetProcAddress('glGetColorTableParameterivEXT'); + glGetColorTableParameterfvEXT := dglGetProcAddress('glGetColorTableParameterfvEXT'); +end; + +procedure Read_GL_EXT_pixel_transform; +begin + glPixelTransformParameteriEXT := dglGetProcAddress('glPixelTransformParameteriEXT'); + glPixelTransformParameterfEXT := dglGetProcAddress('glPixelTransformParameterfEXT'); + glPixelTransformParameterivEXT := dglGetProcAddress('glPixelTransformParameterivEXT'); + glPixelTransformParameterfvEXT := dglGetProcAddress('glPixelTransformParameterfvEXT'); +end; + +procedure Read_GL_EXT_point_parameters; +begin + glPointParameterfEXT := dglGetProcAddress('glPointParameterfEXT'); + glPointParameterfvEXT := dglGetProcAddress('glPointParameterfvEXT'); +end; + +procedure Read_GL_EXT_polygon_offset; +begin + glPolygonOffsetEXT := dglGetProcAddress('glPolygonOffsetEXT'); +end; + +procedure Read_GL_EXT_secondary_color; +begin + glSecondaryColor3bEXT := dglGetProcAddress('glSecondaryColor3bEXT'); + glSecondaryColor3bvEXT := dglGetProcAddress('glSecondaryColor3bvEXT'); + glSecondaryColor3dEXT := dglGetProcAddress('glSecondaryColor3dEXT'); + glSecondaryColor3dvEXT := dglGetProcAddress('glSecondaryColor3dvEXT'); + glSecondaryColor3fEXT := dglGetProcAddress('glSecondaryColor3fEXT'); + glSecondaryColor3fvEXT := dglGetProcAddress('glSecondaryColor3fvEXT'); + glSecondaryColor3iEXT := dglGetProcAddress('glSecondaryColor3iEXT'); + glSecondaryColor3ivEXT := dglGetProcAddress('glSecondaryColor3ivEXT'); + glSecondaryColor3sEXT := dglGetProcAddress('glSecondaryColor3sEXT'); + glSecondaryColor3svEXT := dglGetProcAddress('glSecondaryColor3svEXT'); + glSecondaryColor3ubEXT := dglGetProcAddress('glSecondaryColor3ubEXT'); + glSecondaryColor3ubvEXT := dglGetProcAddress('glSecondaryColor3ubvEXT'); + glSecondaryColor3uiEXT := dglGetProcAddress('glSecondaryColor3uiEXT'); + glSecondaryColor3uivEXT := dglGetProcAddress('glSecondaryColor3uivEXT'); + glSecondaryColor3usEXT := dglGetProcAddress('glSecondaryColor3usEXT'); + glSecondaryColor3usvEXT := dglGetProcAddress('glSecondaryColor3usvEXT'); + glSecondaryColorPointerEXT := dglGetProcAddress('glSecondaryColorPointerEXT'); +end; + +procedure Read_GL_EXT_stencil_two_side; +begin + glActiveStencilFaceEXT := dglGetProcAddress('glActiveStencilFaceEXT'); +end; + +procedure Read_GL_EXT_subtexture; +begin + glTexSubImage1DEXT := dglGetProcAddress('glTexSubImage1DEXT'); + glTexSubImage2DEXT := dglGetProcAddress('glTexSubImage2DEXT'); +end; + +procedure Read_GL_EXT_texture3D; +begin + glTexImage3DEXT := dglGetProcAddress('glTexImage3DEXT'); + glTexSubImage3DEXT := dglGetProcAddress('glTexSubImage3DEXT'); +end; + +procedure Read_GL_EXT_texture_object; +begin + glAreTexturesResidentEXT := dglGetProcAddress('glAreTexturesResidentEXT'); + glBindTextureEXT := dglGetProcAddress('glBindTextureEXT'); + glDeleteTexturesEXT := dglGetProcAddress('glDeleteTexturesEXT'); + glGenTexturesEXT := dglGetProcAddress('glGenTexturesEXT'); + glIsTextureEXT := dglGetProcAddress('glIsTextureEXT'); + glPrioritizeTexturesEXT := dglGetProcAddress('glPrioritizeTexturesEXT'); +end; + +procedure Read_GL_EXT_texture_perturb_normal; +begin + glTextureNormalEXT := dglGetProcAddress('glTextureNormalEXT'); +end; + +procedure Read_GL_EXT_vertex_array; +begin + glArrayElementEXT := dglGetProcAddress('glArrayElementEXT'); + glColorPointerEXT := dglGetProcAddress('glColorPointerEXT'); + glDrawArraysEXT := dglGetProcAddress('glDrawArraysEXT'); + glEdgeFlagPointerEXT := dglGetProcAddress('glEdgeFlagPointerEXT'); + glGetPointervEXT := dglGetProcAddress('glGetPointervEXT'); + glIndexPointerEXT := dglGetProcAddress('glIndexPointerEXT'); + glNormalPointerEXT := dglGetProcAddress('glNormalPointerEXT'); + glTexCoordPointerEXT := dglGetProcAddress('glTexCoordPointerEXT'); + glVertexPointerEXT := dglGetProcAddress('glVertexPointerEXT'); +end; + +procedure Read_GL_EXT_vertex_shader; +begin + glBeginVertexShaderEXT := dglGetProcAddress('glBeginVertexShaderEXT'); + glEndVertexShaderEXT := dglGetProcAddress('glEndVertexShaderEXT'); + glBindVertexShaderEXT := dglGetProcAddress('glBindVertexShaderEXT'); + glGenVertexShadersEXT := dglGetProcAddress('glGenVertexShadersEXT'); + glDeleteVertexShaderEXT := dglGetProcAddress('glDeleteVertexShaderEXT'); + glShaderOp1EXT := dglGetProcAddress('glShaderOp1EXT'); + glShaderOp2EXT := dglGetProcAddress('glShaderOp2EXT'); + glShaderOp3EXT := dglGetProcAddress('glShaderOp3EXT'); + glSwizzleEXT := dglGetProcAddress('glSwizzleEXT'); + glWriteMaskEXT := dglGetProcAddress('glWriteMaskEXT'); + glInsertComponentEXT := dglGetProcAddress('glInsertComponentEXT'); + glExtractComponentEXT := dglGetProcAddress('glExtractComponentEXT'); + glGenSymbolsEXT := dglGetProcAddress('glGenSymbolsEXT'); + glSetInvariantEXT := dglGetProcAddress('glSetInvariantEXT'); + glSetLocalConstantEXT := dglGetProcAddress('glSetLocalConstantEXT'); + glVariantbvEXT := dglGetProcAddress('glVariantbvEXT'); + glVariantsvEXT := dglGetProcAddress('glVariantsvEXT'); + glVariantivEXT := dglGetProcAddress('glVariantivEXT'); + glVariantfvEXT := dglGetProcAddress('glVariantfvEXT'); + glVariantdvEXT := dglGetProcAddress('glVariantdvEXT'); + glVariantubvEXT := dglGetProcAddress('glVariantubvEXT'); + glVariantusvEXT := dglGetProcAddress('glVariantusvEXT'); + glVariantuivEXT := dglGetProcAddress('glVariantuivEXT'); + glVariantPointerEXT := dglGetProcAddress('glVariantPointerEXT'); + glEnableVariantClientStateEXT := dglGetProcAddress('glEnableVariantClientStateEXT'); + glDisableVariantClientStateEXT := dglGetProcAddress('glDisableVariantClientStateEXT'); + glBindLightParameterEXT := dglGetProcAddress('glBindLightParameterEXT'); + glBindMaterialParameterEXT := dglGetProcAddress('glBindMaterialParameterEXT'); + glBindTexGenParameterEXT := dglGetProcAddress('glBindTexGenParameterEXT'); + glBindTextureUnitParameterEXT := dglGetProcAddress('glBindTextureUnitParameterEXT'); + glBindParameterEXT := dglGetProcAddress('glBindParameterEXT'); + glIsVariantEnabledEXT := dglGetProcAddress('glIsVariantEnabledEXT'); + glGetVariantBooleanvEXT := dglGetProcAddress('glGetVariantBooleanvEXT'); + glGetVariantIntegervEXT := dglGetProcAddress('glGetVariantIntegervEXT'); + glGetVariantFloatvEXT := dglGetProcAddress('glGetVariantFloatvEXT'); + glGetVariantPointervEXT := dglGetProcAddress('glGetVariantPointervEXT'); + glGetInvariantBooleanvEXT := dglGetProcAddress('glGetInvariantBooleanvEXT'); + glGetInvariantIntegervEXT := dglGetProcAddress('glGetInvariantIntegervEXT'); + glGetInvariantFloatvEXT := dglGetProcAddress('glGetInvariantFloatvEXT'); + glGetLocalConstantBooleanvEXT := dglGetProcAddress('glGetLocalConstantBooleanvEXT'); + glGetLocalConstantIntegervEXT := dglGetProcAddress('glGetLocalConstantIntegervEXT'); + glGetLocalConstantFloatvEXT := dglGetProcAddress('glGetLocalConstantFloatvEXT'); +end; + +procedure Read_GL_EXT_vertex_weighting; +begin + glVertexWeightfEXT := dglGetProcAddress('glVertexWeightfEXT'); + glVertexWeightfvEXT := dglGetProcAddress('glVertexWeightfvEXT'); + glVertexWeightPointerEXT := dglGetProcAddress('glVertexWeightPointerEXT'); +end; + +procedure Read_GL_EXT_depth_bounds_test; +begin + glImageTransformParameteriHP := dglGetProcAddress('glImageTransformParameteriHP'); + glDepthBoundsEXT := dglGetProcAddress('glDepthBoundsEXT'); +end; + +procedure Read_GL_EXT_blend_equation_separate; +begin + glBlendEquationSeparateEXT := dglGetProcAddress('glBlendEquationSeparateEXT'); +end; + +procedure Read_GL_EXT_stencil_clear_tag; +begin + glStencilClearTagEXT := dglGetProcAddress('glStencilClearTagEXT'); +end; + +procedure Read_GL_EXT_framebuffer_blit; +begin + glBlitFramebufferEXT := dglGetProcAddress('glBlitFramebufferEXT'); +end; + +procedure Read_GL_EXT_framebuffer_multisample; +begin + glRenderbufferStorageMultisampleEXT := dglGetProcAddress('glRenderbufferStorageMultisampleEXT'); +end; + +procedure Read_GL_EXT_timer_query; +begin + glGetQueryObjecti64vEXT := dglGetProcAddress('glGetQueryObjecti64vEXT'); + glGetQueryObjectui64vEXT := dglGetProcAddress('glGetQueryObjectui64vEXT'); +end; + +procedure Read_GL_EXT_gpu_program_parameters; +begin + glProgramEnvParameters4fvEXT := dglGetProcAddress('glProgramEnvParameters4fvEXT'); + glProgramLocalParameters4fvEXT := dglGetProcAddress('glProgramLocalParameters4fvEXT'); +end; + +procedure Read_GL_EXT_bindable_uniform; +begin + glUniformBufferEXT := dglGetProcAddress('glUniformBufferEXT'); + glGetUniformBufferSizeEXT := dglGetProcAddress('glGetUniformBufferSizeEXT'); + glGetUniformOffsetEXT := dglGetProcAddress('glGetUniformOffsetEXT'); +end; + +procedure Read_GL_EXT_draw_buffers2; +begin + glColorMaskIndexedEXT := dglGetProcAddress('glColorMaskIndexedEXT'); + glGetBooleanIndexedvEXT := dglGetProcAddress('glGetBooleanIndexedvEXT'); + glGetIntegerIndexedvEXT := dglGetProcAddress('glGetIntegerIndexedvEXT'); + glEnableIndexedEXT := dglGetProcAddress('glEnableIndexedEXT'); + glDisableIndexedEXT := dglGetProcAddress('glDisableIndexedEXT'); + glIsEnabledIndexedEXT := dglGetProcAddress('glIsEnabledIndexedEXT'); +end; + +procedure Read_GL_EXT_draw_instanced; +begin + glDrawArraysInstancedEXT := dglGetProcAddress('glDrawArraysInstancedEXT'); + glDrawElementsInstancedEXT := dglGetProcAddress('glDrawElementsInstancedEXT'); +end; + +procedure Read_GL_EXT_geometry_shader4; +begin + glProgramParameteriEXT := dglGetProcAddress('glProgramParameteriEXT'); + glFramebufferTextureEXT := dglGetProcAddress('glFramebufferTextureEXT'); +// glFramebufferTextureLayerEXT := dglGetProcAddress('glFramebufferTextureLayerEXT'); + glFramebufferTextureFaceEXT := dglGetProcAddress('glFramebufferTextureFaceEXT'); +end; + +procedure Read_GL_EXT_gpu_shader4; +begin + glVertexAttribI1iEXT := dglGetProcAddress('glVertexAttribI1iEXT'); + glVertexAttribI2iEXT := dglGetProcAddress('glVertexAttribI2iEXT'); + glVertexAttribI3iEXT := dglGetProcAddress('glVertexAttribI3iEXT'); + glVertexAttribI4iEXT := dglGetProcAddress('glVertexAttribI4iEXT'); + glVertexAttribI1uiEXT := dglGetProcAddress('glVertexAttribI1uiEXT'); + glVertexAttribI2uiEXT := dglGetProcAddress('glVertexAttribI2uiEXT'); + glVertexAttribI3uiEXT := dglGetProcAddress('glVertexAttribI3uiEXT'); + glVertexAttribI4uiEXT := dglGetProcAddress('glVertexAttribI4uiEXT'); + glVertexAttribI1ivEXT := dglGetProcAddress('glVertexAttribI1ivEXT'); + glVertexAttribI2ivEXT := dglGetProcAddress('glVertexAttribI2ivEXT'); + glVertexAttribI3ivEXT := dglGetProcAddress('glVertexAttribI3ivEXT'); + glVertexAttribI4ivEXT := dglGetProcAddress('glVertexAttribI4ivEXT'); + glVertexAttribI1uivEXT := dglGetProcAddress('glVertexAttribI1uivEXT'); + glVertexAttribI2uivEXT := dglGetProcAddress('glVertexAttribI2uivEXT'); + glVertexAttribI3uivEXT := dglGetProcAddress('glVertexAttribI3uivEXT'); + glVertexAttribI4uivEXT := dglGetProcAddress('glVertexAttribI4uivEXT'); + glVertexAttribI4bvEXT := dglGetProcAddress('glVertexAttribI4bvEXT'); + glVertexAttribI4svEXT := dglGetProcAddress('glVertexAttribI4svEXT'); + glVertexAttribI4ubvEXT := dglGetProcAddress('glVertexAttribI4ubvEXT'); + glVertexAttribI4usvEXT := dglGetProcAddress('glVertexAttribI4usvEXT'); + glVertexAttribIPointerEXT := dglGetProcAddress('glVertexAttribIPointerEXT'); + glGetVertexAttribIivEXT := dglGetProcAddress('glGetVertexAttribIivEXT'); + glGetVertexAttribIuivEXT := dglGetProcAddress('glGetVertexAttribIuivEXT'); + glUniform1uiEXT := dglGetProcAddress('glUniform1uiEXT'); + glUniform2uiEXT := dglGetProcAddress('glUniform2uiEXT'); + glUniform3uiEXT := dglGetProcAddress('glUniform3uiEXT'); + glUniform4uiEXT := dglGetProcAddress('glUniform4uiEXT'); + glUniform1uivEXT := dglGetProcAddress('glUniform1uivEXT'); + glUniform2uivEXT := dglGetProcAddress('glUniform2uivEXT'); + glUniform3uivEXT := dglGetProcAddress('glUniform3uivEXT'); + glUniform4uivEXT := dglGetProcAddress('glUniform4uivEXT'); + glGetUniformuivEXT := dglGetProcAddress('glGetUniformuivEXT'); + glBindFragDataLocationEXT := dglGetProcAddress('glBindFragDataLocationEXT'); + glGetFragDataLocationEXT := dglGetProcAddress('glGetFragDataLocationEXT'); +end; + +procedure Read_GL_EXT_texture_array; +begin + glFramebufferTextureLayerEXT := dglGetProcAddress('glFramebufferTextureLayerEXT'); +end; + +procedure Read_GL_EXT_texture_buffer_object; +begin + glTexBufferEXT := dglGetProcAddress('glTexBufferEXT'); +end; + +procedure Read_GL_EXT_texture_integer; +begin + glClearColorIiEXT := dglGetProcAddress('glClearColorIiEXT'); + glClearColorIuiEXT := dglGetProcAddress('glClearColorIuiEXT'); + glTexParameterIivEXT := dglGetProcAddress('glTexParameterIivEXT'); + glTexParameterIuivEXT := dglGetProcAddress('glTexParameterIuivEXT'); + glGetTexParameterIivEXT := dglGetProcAddress('glGetTexParameterIivEXT'); + glGetTexParameterIiuvEXT := dglGetProcAddress('glGetTexParameterIiuvEXT'); +end; + +procedure Read_GL_EXT_transform_feedback; +begin + glBeginTransformFeedbackEXT := dglGetProcAddress('lBeginTransformFeedbackEXT'); + glEndTransformFeedbackEXT := dglGetProcAddress('glEndTransformFeedbackEXT'); + glBindBufferRangeEXT := dglGetProcAddress('glBindBufferRangeEXT'); + glBindBufferOffsetEXT := dglGetProcAddress('glBindBufferOffsetEXT'); + glBindBufferBaseEXT := dglGetProcAddress('glBindBufferBaseEXT'); + glTransformFeedbackVaryingsEXT := dglGetProcAddress('glTransformFeedbackVaryingsEXT'); + glGetTransformFeedbackVaryingEXT := dglGetProcAddress('glGetTransformFeedbackVaryingEXT'); +end; + +procedure Read_GL_EXT_direct_state_access; +begin + glClientAttribDefaultEXT := dglGetProcAddress('glClientAttribDefaultEXT'); + glPushClientAttribDefaultEXT := dglGetProcAddress('glPushClientAttribDefaultEXT'); + glMatrixLoadfEXT := dglGetProcAddress('glMatrixLoadfEXT'); + glMatrixLoaddEXT := dglGetProcAddress('glMatrixLoaddEXT'); + glMatrixMultfEXT := dglGetProcAddress('glMatrixMultfEXT'); + glMatrixMultdEXT := dglGetProcAddress('glMatrixMultdEXT'); + glMatrixLoadIdentityEXT := dglGetProcAddress('glMatrixLoadIdentityEXT'); + glMatrixRotatefEXT := dglGetProcAddress('glMatrixRotatefEXT'); + glMatrixRotatedEXT := dglGetProcAddress('glMatrixRotatedEXT'); + glMatrixScalefEXT := dglGetProcAddress('glMatrixScalefEXT'); + glMatrixScaledEXT := dglGetProcAddress('glMatrixScaledEXT'); + glMatrixTranslatefEXT := dglGetProcAddress('glMatrixTranslatefEXT'); + glMatrixTranslatedEXT := dglGetProcAddress('glMatrixTranslatedEXT'); + glMatrixFrustumEXT := dglGetProcAddress('glMatrixFrustumEXT'); + glMatrixOrthoEXT := dglGetProcAddress('glMatrixOrthoEXT'); + glMatrixPopEXT := dglGetProcAddress('glMatrixPopEXT'); + glMatrixPushEXT := dglGetProcAddress('glMatrixPushEXT'); + glMatrixLoadTransposefEXT := dglGetProcAddress('glMatrixLoadTransposefEXT'); + glMatrixLoadTransposedEXT := dglGetProcAddress('glMatrixLoadTransposedEXT'); + glMatrixMultTransposefEXT := dglGetProcAddress('glMatrixMultTransposefEXT'); + glMatrixMultTransposedEXT := dglGetProcAddress('glMatrixMultTransposedEXT'); + glTextureParameterfEXT := dglGetProcAddress('glTextureParameterfEXT'); + glTextureParameterfvEXT := dglGetProcAddress('glTextureParameterfvEXT'); + glTextureParameteriEXT := dglGetProcAddress('glTextureParameteriEXT'); + glTextureParameterivEXT := dglGetProcAddress('glTextureParameterivEXT'); + glTextureImage1DEXT := dglGetProcAddress('glTextureImage1DEXT'); + glTextureImage2DEXT := dglGetProcAddress('glTextureImage2DEXT'); + glTextureSubImage1DEXT := dglGetProcAddress('glTextureSubImage1DEXT'); + glTextureSubImage2DEXT := dglGetProcAddress('glTextureSubImage2DEXT'); + glCopyTextureImage1DEXT := dglGetProcAddress('glCopyTextureImage1DEXT'); + glCopyTextureImage2DEXT := dglGetProcAddress('glCopyTextureImage2DEXT'); + glCopyTextureSubImage1DEXT := dglGetProcAddress('glCopyTextureSubImage1DEXT'); + glCopyTextureSubImage2DEXT := dglGetProcAddress('glCopyTextureSubImage2DEXT'); + glGetTextureImageEXT := dglGetProcAddress('glGetTextureImageEXT'); + glGetTextureParameterfvEXT := dglGetProcAddress('glGetTextureParameterfvEXT'); + glGetTextureParameterivEXT := dglGetProcAddress('glGetTextureParameterivEXT'); + glGetTextureLevelParameterfvEXT := dglGetProcAddress('glGetTextureLevelParameterfvEXT'); + glGetTextureLevelParameterivEXT := dglGetProcAddress('glGetTextureLevelParameterivEXT'); + glTextureImage3DEXT := dglGetProcAddress('glTextureImage3DEXT'); + glTextureSubImage3DEXT := dglGetProcAddress('glTextureSubImage3DEXT'); + glCopyTextureSubImage3DEXT := dglGetProcAddress('glCopyTextureSubImage3DEXT'); + glMultiTexParameterfEXT := dglGetProcAddress('glMultiTexParameterfEXT'); + glMultiTexParameterfvEXT := dglGetProcAddress('glMultiTexParameterfvEXT'); + glMultiTexParameteriEXT := dglGetProcAddress('glMultiTexParameteriEXT'); + glMultiTexParameterivEXT := dglGetProcAddress('glMultiTexParameterivEXT'); + glMultiTexImage1DEXT := dglGetProcAddress('glMultiTexImage1DEXT'); + glMultiTexImage2DEXT := dglGetProcAddress('glMultiTexImage2DEXT'); + glMultiTexSubImage1DEXT := dglGetProcAddress('glMultiTexSubImage1DEXT'); + glMultiTexSubImage2DEXT := dglGetProcAddress('glMultiTexSubImage2DEXT'); + glCopyMultiTexImage1DEXT := dglGetProcAddress('glCopyMultiTexImage1DEXT'); + glCopyMultiTexImage2DEXT := dglGetProcAddress('glCopyMultiTexImage2DEXT'); + glCopyMultiTexSubImage1DEXT := dglGetProcAddress('glCopyMultiTexSubImage1DEXT'); + glCopyMultiTexSubImage2DEXT := dglGetProcAddress('glCopyMultiTexSubImage2DEXT'); + glGetMultiTexImageEXT := dglGetProcAddress('glGetMultiTexImageEXT'); + glGetMultiTexParameterfvEXT := dglGetProcAddress('glGetMultiTexParameterfvEXT'); + glGetMultiTexParameterivEXT := dglGetProcAddress('glGetMultiTexParameterivEXT'); + glGetMultiTexLevelParameterfvEXT := dglGetProcAddress('glGetMultiTexLevelParameterfvEXT'); + glGetMultiTexLevelParameterivEXT := dglGetProcAddress('glGetMultiTexLevelParameterivEXT'); + glMultiTexImage3DEXT := dglGetProcAddress('glMultiTexImage3DEXT'); + glMultiTexSubImage3DEXT := dglGetProcAddress('glMultiTexSubImage3DEXT'); + glCopyMultiTexSubImage3DEXT := dglGetProcAddress('glCopyMultiTexSubImage3DEXT'); + glBindMultiTextureEXT := dglGetProcAddress('glBindMultiTextureEXT'); + glEnableClientStateIndexedEXT := dglGetProcAddress('glEnableClientStateIndexedEXT'); + glDisableClientStateIndexedEXT := dglGetProcAddress('glDisableClientStateIndexedEXT'); + glMultiTexCoordPointerEXT := dglGetProcAddress('glMultiTexCoordPointerEXT'); + glMultiTexEnvfEXT := dglGetProcAddress('glMultiTexEnvfEXT'); + glMultiTexEnvfvEXT := dglGetProcAddress('glMultiTexEnvfvEXT'); + glMultiTexEnviEXT := dglGetProcAddress('glMultiTexEnviEXT'); + glMultiTexEnvivEXT := dglGetProcAddress('glMultiTexEnvivEXT'); + glMultiTexGendEXT := dglGetProcAddress('glMultiTexGendEXT'); + glMultiTexGendvEXT := dglGetProcAddress('glMultiTexGendvEXT'); + glMultiTexGenfEXT := dglGetProcAddress('glMultiTexGenfEXT'); + glMultiTexGenfvEXT := dglGetProcAddress('glMultiTexGenfvEXT'); + glMultiTexGeniEXT := dglGetProcAddress('glMultiTexGeniEXT'); + glMultiTexGenivEXT := dglGetProcAddress('glMultiTexGenivEXT'); + glGetMultiTexEnvfvEXT := dglGetProcAddress('glGetMultiTexEnvfvEXT'); + glGetMultiTexEnvivEXT := dglGetProcAddress('glGetMultiTexEnvivEXT'); + glGetMultiTexGendvEXT := dglGetProcAddress('glGetMultiTexGendvEXT'); + glGetMultiTexGenfvEXT := dglGetProcAddress('glGetMultiTexGenfvEXT'); + glGetMultiTexGenivEXT := dglGetProcAddress('glGetMultiTexGenivEXT'); + glGetFloatIndexedvEXT := dglGetProcAddress('glGetFloatIndexedvEXT'); + glGetDoubleIndexedvEXT := dglGetProcAddress('glGetDoubleIndexedvEXT'); + glGetPointerIndexedvEXT := dglGetProcAddress('glGetPointerIndexedvEXT'); + glCompressedTextureImage3DEXT := dglGetProcAddress('glCompressedTextureImage3DEXT'); + glCompressedTextureImage2DEXT := dglGetProcAddress('glCompressedTextureImage2DEXT'); + glCompressedTextureImage1DEXT := dglGetProcAddress('glCompressedTextureImage1DEXT'); + glCompressedTextureSubImage3DEXT := dglGetProcAddress('glCompressedTextureSubImage3DEXT'); + glCompressedTextureSubImage2DEXT := dglGetProcAddress('glCompressedTextureSubImage2DEXT'); + glCompressedTextureSubImage1DEXT := dglGetProcAddress('glCompressedTextureSubImage1DEXT'); + glGetCompressedTextureImageEXT := dglGetProcAddress('glGetCompressedTextureImageEXT'); + glCompressedMultiTexImage3DEXT := dglGetProcAddress('glCompressedMultiTexImage3DEXT'); + glCompressedMultiTexImage2DEXT := dglGetProcAddress('glCompressedMultiTexImage2DEXT'); + glCompressedMultiTexImage1DEXT := dglGetProcAddress('glCompressedMultiTexImage1DEXT'); + glCompressedMultiTexSubImage3DEXT := dglGetProcAddress('glCompressedMultiTexSubImage3DEXT'); + glCompressedMultiTexSubImage2DEXT := dglGetProcAddress('glCompressedMultiTexSubImage2DEXT'); + glCompressedMultiTexSubImage1DEXT := dglGetProcAddress('glCompressedMultiTexSubImage1DEXT'); + glGetCompressedMultiTexImageEXT := dglGetProcAddress('glGetCompressedMultiTexImageEXT'); + glNamedProgramStringEXT := dglGetProcAddress('glNamedProgramStringEXT'); + glNamedProgramLocalParameter4dEXT := dglGetProcAddress('glNamedProgramLocalParameter4dEXT'); + glNamedProgramLocalParameter4dvEXT := dglGetProcAddress('glNamedProgramLocalParameter4dvEXT'); + glNamedProgramLocalParameter4fEXT := dglGetProcAddress('glNamedProgramLocalParameter4fEXT'); + glNamedProgramLocalParameter4fvEXT := dglGetProcAddress('glNamedProgramLocalParameter4fvEXT'); + glGetNamedProgramLocalParameterdvEXT := dglGetProcAddress('glGetNamedProgramLocalParameterdvEXT'); + glGetNamedProgramLocalParameterfvEXT := dglGetProcAddress('glGetNamedProgramLocalParameterfvEXT'); + glGetNamedProgramivEXT := dglGetProcAddress('glGetNamedProgramivEXT'); + glGetNamedProgramStringEXT := dglGetProcAddress('glGetNamedProgramStringEXT'); + glNamedProgramLocalParameters4fvEXT := dglGetProcAddress('glNamedProgramLocalParameters4fvEXT'); + glNamedProgramLocalParameterI4iEXT := dglGetProcAddress('glNamedProgramLocalParameterI4iEXT'); + glNamedProgramLocalParameterI4ivEXT := dglGetProcAddress('glNamedProgramLocalParameterI4ivEXT'); + glNamedProgramLocalParametersI4ivEXT := dglGetProcAddress('glNamedProgramLocalParametersI4ivEXT'); + glNamedProgramLocalParameterI4uiEXT := dglGetProcAddress('glNamedProgramLocalParameterI4uiEXT'); + glNamedProgramLocalParameterI4uivEXT := dglGetProcAddress('glNamedProgramLocalParameterI4uivEXT'); + glNamedProgramLocalParametersI4uivEXT := dglGetProcAddress('glNamedProgramLocalParametersI4uivEXT'); + glGetNamedProgramLocalParameterIivEXT := dglGetProcAddress('glGetNamedProgramLocalParameterIivEXT'); + glGetNamedProgramLocalParameterIuivEXT := dglGetProcAddress('glGetNamedProgramLocalParameterIuivEXT'); + glTextureParameterIivEXT := dglGetProcAddress('glTextureParameterIivEXT'); + glTextureParameterIuivEXT := dglGetProcAddress('glTextureParameterIuivEXT'); + glGetTextureParameterIivEXT := dglGetProcAddress('glGetTextureParameterIivEXT'); + glGetTextureParameterIuivEXT := dglGetProcAddress('glGetTextureParameterIuivEXT'); + glMultiTexParameterIivEXT := dglGetProcAddress('glMultiTexParameterIivEXT'); + glMultiTexParameterIuivEXT := dglGetProcAddress('glMultiTexParameterIuivEXT'); + glGetMultiTexParameterIivEXT := dglGetProcAddress('glGetMultiTexParameterIivEXT'); + glGetMultiTexParameterIuivEXT := dglGetProcAddress('glGetMultiTexParameterIuivEXT'); + glProgramUniform1fEXT := dglGetProcAddress('glProgramUniform1fEXT'); + glProgramUniform2fEXT := dglGetProcAddress('glProgramUniform2fEXT'); + glProgramUniform3fEXT := dglGetProcAddress('glProgramUniform3fEXT'); + glProgramUniform4fEXT := dglGetProcAddress('glProgramUniform4fEXT'); + glProgramUniform1iEXT := dglGetProcAddress('glProgramUniform1iEXT'); + glProgramUniform2iEXT := dglGetProcAddress('glProgramUniform2iEXT'); + glProgramUniform3iEXT := dglGetProcAddress('glProgramUniform3iEXT'); + glProgramUniform4iEXT := dglGetProcAddress('glProgramUniform4iEXT'); + glProgramUniform1fvEXT := dglGetProcAddress('glProgramUniform1fvEXT'); + glProgramUniform2fvEXT := dglGetProcAddress('glProgramUniform2fvEXT'); + glProgramUniform3fvEXT := dglGetProcAddress('glProgramUniform3fvEXT'); + glProgramUniform4fvEXT := dglGetProcAddress('glProgramUniform4fvEXT'); + glProgramUniform1ivEXT := dglGetProcAddress('glProgramUniform1ivEXT'); + glProgramUniform2ivEXT := dglGetProcAddress('glProgramUniform2ivEXT'); + glProgramUniform3ivEXT := dglGetProcAddress('glProgramUniform3ivEXT'); + glProgramUniform4ivEXT := dglGetProcAddress('glProgramUniform4ivEXT'); + glProgramUniformMatrix2fvEXT := dglGetProcAddress('glProgramUniformMatrix2fvEXT'); + glProgramUniformMatrix3fvEXT := dglGetProcAddress('glProgramUniformMatrix3fvEXT'); + glProgramUniformMatrix4fvEXT := dglGetProcAddress('glProgramUniformMatrix4fvEXT'); + glProgramUniformMatrix2x3fvEXT := dglGetProcAddress('glProgramUniformMatrix2x3fvEXT'); + glProgramUniformMatrix3x2fvEXT := dglGetProcAddress('glProgramUniformMatrix3x2fvEXT'); + glProgramUniformMatrix2x4fvEXT := dglGetProcAddress('glProgramUniformMatrix2x4fvEXT'); + glProgramUniformMatrix4x2fvEXT := dglGetProcAddress('glProgramUniformMatrix4x2fvEXT'); + glProgramUniformMatrix3x4fvEXT := dglGetProcAddress('glProgramUniformMatrix3x4fvEXT'); + glProgramUniformMatrix4x3fvEXT := dglGetProcAddress('glProgramUniformMatrix4x3fvEXT'); + glProgramUniform1uiEXT := dglGetProcAddress('glProgramUniform1uiEXT'); + glProgramUniform2uiEXT := dglGetProcAddress('glProgramUniform2uiEXT'); + glProgramUniform3uiEXT := dglGetProcAddress('glProgramUniform3uiEXT'); + glProgramUniform4uiEXT := dglGetProcAddress('glProgramUniform4uiEXT'); + glProgramUniform1uivEXT := dglGetProcAddress('glProgramUniform1uivEXT'); + glProgramUniform2uivEXT := dglGetProcAddress('glProgramUniform2uivEXT'); + glProgramUniform3uivEXT := dglGetProcAddress('glProgramUniform3uivEXT'); + glProgramUniform4uivEXT := dglGetProcAddress('glProgramUniform4uivEXT'); + glNamedBufferDataEXT := dglGetProcAddress('glNamedBufferDataEXT'); + glNamedBufferSubDataEXT := dglGetProcAddress('glNamedBufferSubDataEXT'); + glMapNamedBufferEXT := dglGetProcAddress('glMapNamedBufferEXT'); + glUnmapNamedBufferEXT := dglGetProcAddress('glUnmapNamedBufferEXT'); + glMapNamedBufferRangeEXT := dglGetProcAddress('glMapNamedBufferRangeEXT'); + glFlushMappedNamedBufferRangeEXT := dglGetProcAddress('glFlushMappedNamedBufferRangeEXT'); + glNamedCopyBufferSubDataEXT := dglGetProcAddress('glNamedCopyBufferSubDataEXT'); + glGetNamedBufferParameterivEXT := dglGetProcAddress('glGetNamedBufferParameterivEXT'); + glGetNamedBufferPointervEXT := dglGetProcAddress('glGetNamedBufferPointervEXT'); + glGetNamedBufferSubDataEXT := dglGetProcAddress('glGetNamedBufferSubDataEXT'); + glTextureBufferEXT := dglGetProcAddress('glTextureBufferEXT'); + glMultiTexBufferEXT := dglGetProcAddress('glMultiTexBufferEXT'); + glNamedRenderbufferStorageEXT := dglGetProcAddress('glNamedRenderbufferStorageEXT'); + glGetNamedRenderbufferParameterivEXT := dglGetProcAddress('glGetNamedRenderbufferParameterivEXT'); + glCheckNamedFramebufferStatusEXT := dglGetProcAddress('glCheckNamedFramebufferStatusEXT'); + glNamedFramebufferTexture1DEXT := dglGetProcAddress('glNamedFramebufferTexture1DEXT'); + glNamedFramebufferTexture2DEXT := dglGetProcAddress('glNamedFramebufferTexture2DEXT'); + glNamedFramebufferTexture3DEXT := dglGetProcAddress('glNamedFramebufferTexture3DEXT'); + glNamedFramebufferRenderbufferEXT := dglGetProcAddress('glNamedFramebufferRenderbufferEXT'); + glGetNamedFramebufferAttachmentParameterivEXT := dglGetProcAddress('glGetNamedFramebufferAttachmentParameterivEXT'); + glGenerateTextureMipmapEXT := dglGetProcAddress('glGenerateTextureMipmapEXT'); + glGenerateMultiTexMipmapEXT := dglGetProcAddress('glGenerateMultiTexMipmapEXT'); + glFramebufferDrawBufferEXT := dglGetProcAddress('glFramebufferDrawBufferEXT'); + glFramebufferDrawBuffersEXT := dglGetProcAddress('glFramebufferDrawBuffersEXT'); + glFramebufferReadBufferEXT := dglGetProcAddress('glFramebufferReadBufferEXT'); + glGetFramebufferParameterivEXT := dglGetProcAddress('glGetFramebufferParameterivEXT'); + glNamedRenderbufferStorageMultisampleEXT := dglGetProcAddress('glNamedRenderbufferStorageMultisampleEXT'); + glNamedRenderbufferStorageMultisampleCoverageEXT := dglGetProcAddress('glNamedRenderbufferStorageMultisampleCoverageEXT'); + glNamedFramebufferTextureEXT := dglGetProcAddress('glNamedFramebufferTextureEXT'); + glNamedFramebufferTextureLayerEXT := dglGetProcAddress('glNamedFramebufferTextureLayerEXT'); + glNamedFramebufferTextureFaceEXT := dglGetProcAddress('glNamedFramebufferTextureFaceEXT'); + glTextureRenderbufferEXT := dglGetProcAddress('glTextureRenderbufferEXT'); + glMultiTexRenderbufferEXT := dglGetProcAddress('glMultiTexRenderbufferEXT'); + glProgramUniform1dEXT := dglGetProcAddress('glProgramUniform1dEXT'); + glProgramUniform2dEXT := dglGetProcAddress('glProgramUniform2dEXT'); + glProgramUniform3dEXT := dglGetProcAddress('glProgramUniform3dEXT'); + glProgramUniform4dEXT := dglGetProcAddress('glProgramUniform4dEXT'); + glProgramUniform1dvEXT := dglGetProcAddress('glProgramUniform1dvEXT'); + glProgramUniform2dvEXT := dglGetProcAddress('glProgramUniform2dvEXT'); + glProgramUniform3dvEXT := dglGetProcAddress('glProgramUniform3dvEXT'); + glProgramUniform4dvEXT := dglGetProcAddress('glProgramUniform4dvEXT'); + glProgramUniformMatrix2dvEXT := dglGetProcAddress('glProgramUniformMatrix2dvEXT'); + glProgramUniformMatrix3dvEXT := dglGetProcAddress('glProgramUniformMatrix3dvEXT'); + glProgramUniformMatrix4dvEXT := dglGetProcAddress('glProgramUniformMatrix4dvEXT'); + glProgramUniformMatrix2x3dvEXT := dglGetProcAddress('glProgramUniformMatrix2x3dvEXT'); + glProgramUniformMatrix2x4dvEXT := dglGetProcAddress('glProgramUniformMatrix2x4dvEXT'); + glProgramUniformMatrix3x2dvEXT := dglGetProcAddress('glProgramUniformMatrix3x2dvEXT'); + glProgramUniformMatrix3x4dvEXT := dglGetProcAddress('glProgramUniformMatrix3x4dvEXT'); + glProgramUniformMatrix4x2dvEXT := dglGetProcAddress('glProgramUniformMatrix4x2dvEXT'); + glProgramUniformMatrix4x3dvEXT := dglGetProcAddress('glProgramUniformMatrix4x3dvEXT'); +end; + +procedure Read_GL_EXT_separate_shader_objects; +begin + glUseShaderProgramEXT := dglGetProcAddress('glUseShaderProgramEXT'); + glActiveProgramEXT := dglGetProcAddress('glActiveProgramEXT'); + glCreateShaderProgramEXT := dglGetProcAddress('glCreateShaderProgramEXT'); +end; + +procedure Read_GL_EXT_shader_image_load_store; +begin + glBindImageTextureEXT := dglGetProcAddress('glBindImageTextureEXT'); + glMemoryBarrierEXT := dglGetProcAddress('glMemoryBarrierEXT'); +end; + +procedure Read_GL_EXT_vertex_attrib_64bit; +begin + glVertexAttribL1dEXT := dglGetProcAddress('glVertexAttribL1dEXT'); + glVertexAttribL2dEXT := dglGetProcAddress('glVertexAttribL2dEXT'); + glVertexAttribL3dEXT := dglGetProcAddress('glVertexAttribL3dEXT'); + glVertexAttribL4dEXT := dglGetProcAddress('glVertexAttribL4dEXT'); + glVertexAttribL1dvEXT := dglGetProcAddress('glVertexAttribL1dvEXT'); + glVertexAttribL2dvEXT := dglGetProcAddress('glVertexAttribL2dvEXT'); + glVertexAttribL3dvEXT := dglGetProcAddress('glVertexAttribL3dvEXT'); + glVertexAttribL4dvEXT := dglGetProcAddress('glVertexAttribL4dvEXT'); + glVertexAttribLPointerEXT := dglGetProcAddress('glVertexAttribLPointerEXT'); + glGetVertexAttribLdvEXT := dglGetProcAddress('glGetVertexAttribLdvEXT'); + glVertexArrayVertexAttribLOffsetEXT := dglGetProcAddress('glVertexArrayVertexAttribLOffsetEXT'); +end; + +procedure Read_GL_HP_image_transform; +begin + glImageTransformParameteriHP := dglGetProcAddress('glImageTransformParameteriHP'); + glImageTransformParameterfHP := dglGetProcAddress('glImageTransformParameterfHP'); + glImageTransformParameterivHP := dglGetProcAddress('glImageTransformParameterivHP'); + glImageTransformParameterfvHP := dglGetProcAddress('glImageTransformParameterfvHP'); + glGetImageTransformParameterivHP := dglGetProcAddress('glGetImageTransformParameterivHP'); + glGetImageTransformParameterfvHP := dglGetProcAddress('glGetImageTransformParameterfvHP'); +end; + +procedure Read_GL_IBM_multimode_draw_arrays; +begin + glMultiModeDrawArraysIBM := dglGetProcAddress('glMultiModeDrawArraysIBM'); + glMultiModeDrawElementsIBM := dglGetProcAddress('glMultiModeDrawElementsIBM'); +end; + +procedure Read_GL_IBM_vertex_array_lists; +begin + glColorPointerListIBM := dglGetProcAddress('glColorPointerListIBM'); + glSecondaryColorPointerListIBM := dglGetProcAddress('glSecondaryColorPointerListIBM'); + glEdgeFlagPointerListIBM := dglGetProcAddress('glEdgeFlagPointerListIBM'); + glFogCoordPointerListIBM := dglGetProcAddress('glFogCoordPointerListIBM'); + glIndexPointerListIBM := dglGetProcAddress('glIndexPointerListIBM'); + glNormalPointerListIBM := dglGetProcAddress('glNormalPointerListIBM'); + glTexCoordPointerListIBM := dglGetProcAddress('glTexCoordPointerListIBM'); + glVertexPointerListIBM := dglGetProcAddress('glVertexPointerListIBM'); +end; + +procedure Read_GL_INGR_blend_func_separate; +begin + glBlendFuncSeparateINGR := dglGetProcAddress('glBlendFuncSeparateINGR'); +end; + +procedure Read_GL_INTEL_parallel_arrays; +begin + glVertexPointervINTEL := dglGetProcAddress('glVertexPointervINTEL'); + glNormalPointervINTEL := dglGetProcAddress('glNormalPointervINTEL'); + glColorPointervINTEL := dglGetProcAddress('glColorPointervINTEL'); + glTexCoordPointervINTEL := dglGetProcAddress('glTexCoordPointervINTEL'); +end; + +procedure Read_GL_MESA_resize_buffers; +begin + glResizeBuffersMESA := dglGetProcAddress('glResizeBuffersMESA'); +end; + +procedure Read_GL_MESA_window_pos; +begin + glWindowPos2dMESA := dglGetProcAddress('glWindowPos2dMESA'); + glWindowPos2dvMESA := dglGetProcAddress('glWindowPos2dvMESA'); + glWindowPos2fMESA := dglGetProcAddress('glWindowPos2fMESA'); + glWindowPos2fvMESA := dglGetProcAddress('glWindowPos2fvMESA'); + glWindowPos2iMESA := dglGetProcAddress('glWindowPos2iMESA'); + glWindowPos2ivMESA := dglGetProcAddress('glWindowPos2ivMESA'); + glWindowPos2sMESA := dglGetProcAddress('glWindowPos2sMESA'); + glWindowPos2svMESA := dglGetProcAddress('glWindowPos2svMESA'); + glWindowPos3dMESA := dglGetProcAddress('glWindowPos3dMESA'); + glWindowPos3dvMESA := dglGetProcAddress('glWindowPos3dvMESA'); + glWindowPos3fMESA := dglGetProcAddress('glWindowPos3fMESA'); + glWindowPos3fvMESA := dglGetProcAddress('glWindowPos3fvMESA'); + glWindowPos3iMESA := dglGetProcAddress('glWindowPos3iMESA'); + glWindowPos3ivMESA := dglGetProcAddress('glWindowPos3ivMESA'); + glWindowPos3sMESA := dglGetProcAddress('glWindowPos3sMESA'); + glWindowPos3svMESA := dglGetProcAddress('glWindowPos3svMESA'); + glWindowPos4dMESA := dglGetProcAddress('glWindowPos4dMESA'); + glWindowPos4dvMESA := dglGetProcAddress('glWindowPos4dvMESA'); + glWindowPos4fMESA := dglGetProcAddress('glWindowPos4fMESA'); + glWindowPos4fvMESA := dglGetProcAddress('glWindowPos4fvMESA'); + glWindowPos4iMESA := dglGetProcAddress('glWindowPos4iMESA'); + glWindowPos4ivMESA := dglGetProcAddress('glWindowPos4ivMESA'); + glWindowPos4sMESA := dglGetProcAddress('glWindowPos4sMESA'); + glWindowPos4svMESA := dglGetProcAddress('glWindowPos4svMESA'); +end; + +procedure Read_GL_NV_evaluators; +begin + glMapControlPointsNV := dglGetProcAddress('glMapControlPointsNV'); + glMapParameterivNV := dglGetProcAddress('glMapParameterivNV'); + glMapParameterfvNV := dglGetProcAddress('glMapParameterfvNV'); + glGetMapControlPointsNV := dglGetProcAddress('glGetMapControlPointsNV'); + glGetMapParameterivNV := dglGetProcAddress('glGetMapParameterivNV'); + glGetMapParameterfvNV := dglGetProcAddress('glGetMapParameterfvNV'); + glGetMapAttribParameterivNV := dglGetProcAddress('glGetMapAttribParameterivNV'); + glGetMapAttribParameterfvNV := dglGetProcAddress('glGetMapAttribParameterfvNV'); + glEvalMapsNV := dglGetProcAddress('glEvalMapsNV'); +end; + +procedure Read_GL_NV_fence; +begin + glDeleteFencesNV := dglGetProcAddress('glDeleteFencesNV'); + glGenFencesNV := dglGetProcAddress('glGenFencesNV'); + glIsFenceNV := dglGetProcAddress('glIsFenceNV'); + glTestFenceNV := dglGetProcAddress('glTestFenceNV'); + glGetFenceivNV := dglGetProcAddress('glGetFenceivNV'); + glFinishFenceNV := dglGetProcAddress('glFinishFenceNV'); + glSetFenceNV := dglGetProcAddress('glSetFenceNV'); +end; + +procedure Read_GL_NV_fragment_program; +begin + glProgramNamedParameter4fNV := dglGetProcAddress('glProgramNamedParameter4fNV'); + glProgramNamedParameter4dNV := dglGetProcAddress('glProgramNamedParameter4dNV'); + glProgramNamedParameter4fvNV := dglGetProcAddress('glProgramNamedParameter4fvNV'); + glProgramNamedParameter4dvNV := dglGetProcAddress('glProgramNamedParameter4dvNV'); + glGetProgramNamedParameterfvNV := dglGetProcAddress('glGetProgramNamedParameterfvNV'); + glGetProgramNamedParameterdvNV := dglGetProcAddress('glGetProgramNamedParameterdvNV'); +end; + +procedure Read_GL_NV_half_float; +begin + glVertex2hNV := dglGetProcAddress('glVertex2hNV'); + glVertex2hvNV := dglGetProcAddress('glVertex2hvNV'); + glVertex3hNV := dglGetProcAddress('glVertex3hNV'); + glVertex3hvNV := dglGetProcAddress('glVertex3hvNV'); + glVertex4hNV := dglGetProcAddress('glVertex4hNV'); + glVertex4hvNV := dglGetProcAddress('glVertex4hvNV'); + glNormal3hNV := dglGetProcAddress('glNormal3hNV'); + glNormal3hvNV := dglGetProcAddress('glNormal3hvNV'); + glColor3hNV := dglGetProcAddress('glColor3hNV'); + glColor3hvNV := dglGetProcAddress('glColor3hvNV'); + glColor4hNV := dglGetProcAddress('glColor4hNV'); + glColor4hvNV := dglGetProcAddress('glColor4hvNV'); + glTexCoord1hNV := dglGetProcAddress('glTexCoord1hNV'); + glTexCoord1hvNV := dglGetProcAddress('glTexCoord1hvNV'); + glTexCoord2hNV := dglGetProcAddress('glTexCoord2hNV'); + glTexCoord2hvNV := dglGetProcAddress('glTexCoord2hvNV'); + glTexCoord3hNV := dglGetProcAddress('glTexCoord3hNV'); + glTexCoord3hvNV := dglGetProcAddress('glTexCoord3hvNV'); + glTexCoord4hNV := dglGetProcAddress('glTexCoord4hNV'); + glTexCoord4hvNV := dglGetProcAddress('glTexCoord4hvNV'); + glMultiTexCoord1hNV := dglGetProcAddress('glMultiTexCoord1hNV'); + glMultiTexCoord1hvNV := dglGetProcAddress('glMultiTexCoord1hvNV'); + glMultiTexCoord2hNV := dglGetProcAddress('glMultiTexCoord2hNV'); + glMultiTexCoord2hvNV := dglGetProcAddress('glMultiTexCoord2hvNV'); + glMultiTexCoord3hNV := dglGetProcAddress('glMultiTexCoord3hNV'); + glMultiTexCoord3hvNV := dglGetProcAddress('glMultiTexCoord3hvNV'); + glMultiTexCoord4hNV := dglGetProcAddress('glMultiTexCoord4hNV'); + glMultiTexCoord4hvNV := dglGetProcAddress('glMultiTexCoord4hvNV'); + glFogCoordhNV := dglGetProcAddress('glFogCoordhNV'); + glFogCoordhvNV := dglGetProcAddress('glFogCoordhvNV'); + glSecondaryColor3hNV := dglGetProcAddress('glSecondaryColor3hNV'); + glSecondaryColor3hvNV := dglGetProcAddress('glSecondaryColor3hvNV'); + glVertexWeighthNV := dglGetProcAddress('glVertexWeighthNV'); + glVertexWeighthvNV := dglGetProcAddress('glVertexWeighthvNV'); + glVertexAttrib1hNV := dglGetProcAddress('glVertexAttrib1hNV'); + glVertexAttrib1hvNV := dglGetProcAddress('glVertexAttrib1hvNV'); + glVertexAttrib2hNV := dglGetProcAddress('glVertexAttrib2hNV'); + glVertexAttrib2hvNV := dglGetProcAddress('glVertexAttrib2hvNV'); + glVertexAttrib3hNV := dglGetProcAddress('glVertexAttrib3hNV'); + glVertexAttrib3hvNV := dglGetProcAddress('glVertexAttrib3hvNV'); + glVertexAttrib4hNV := dglGetProcAddress('glVertexAttrib4hNV'); + glVertexAttrib4hvNV := dglGetProcAddress('glVertexAttrib4hvNV'); + glVertexAttribs1hvNV := dglGetProcAddress('glVertexAttribs1hvNV'); + glVertexAttribs2hvNV := dglGetProcAddress('glVertexAttribs2hvNV'); + glVertexAttribs3hvNV := dglGetProcAddress('glVertexAttribs3hvNV'); + glVertexAttribs4hvNV := dglGetProcAddress('glVertexAttribs4hvNV'); +end; + +procedure Read_GL_NV_occlusion_query; +begin + glGenOcclusionQueriesNV := dglGetProcAddress('glGenOcclusionQueriesNV'); + glDeleteOcclusionQueriesNV := dglGetProcAddress('glDeleteOcclusionQueriesNV'); + glIsOcclusionQueryNV := dglGetProcAddress('glIsOcclusionQueryNV'); + glBeginOcclusionQueryNV := dglGetProcAddress('glBeginOcclusionQueryNV'); + glEndOcclusionQueryNV := dglGetProcAddress('glEndOcclusionQueryNV'); + glGetOcclusionQueryivNV := dglGetProcAddress('glGetOcclusionQueryivNV'); + glGetOcclusionQueryuivNV := dglGetProcAddress('glGetOcclusionQueryuivNV'); +end; + +procedure Read_GL_NV_pixel_data_range; +begin + glPixelDataRangeNV := dglGetProcAddress('glPixelDataRangeNV'); + glFlushPixelDataRangeNV := dglGetProcAddress('glFlushPixelDataRangeNV'); +end; + +procedure Read_GL_NV_point_sprite; +begin + glPointParameteriNV := dglGetProcAddress('glPointParameteriNV'); + glPointParameterivNV := dglGetProcAddress('glPointParameterivNV'); +end; + +procedure Read_GL_NV_primitive_restart; +begin + glPrimitiveRestartNV := dglGetProcAddress('glPrimitiveRestartNV'); + glPrimitiveRestartIndexNV := dglGetProcAddress('glPrimitiveRestartIndexNV'); +end; + +procedure Read_GL_NV_register_combiners; +begin + glCombinerParameterfvNV := dglGetProcAddress('glCombinerParameterfvNV'); + glCombinerParameterfNV := dglGetProcAddress('glCombinerParameterfNV'); + glCombinerParameterivNV := dglGetProcAddress('glCombinerParameterivNV'); + glCombinerParameteriNV := dglGetProcAddress('glCombinerParameteriNV'); + glCombinerInputNV := dglGetProcAddress('glCombinerInputNV'); + glCombinerOutputNV := dglGetProcAddress('glCombinerOutputNV'); + glFinalCombinerInputNV := dglGetProcAddress('glFinalCombinerInputNV'); + glGetCombinerInputParameterfvNV := dglGetProcAddress('glGetCombinerInputParameterfvNV'); + glGetCombinerInputParameterivNV := dglGetProcAddress('glGetCombinerInputParameterivNV'); + glGetCombinerOutputParameterfvNV := dglGetProcAddress('glGetCombinerOutputParameterfvNV'); + glGetCombinerOutputParameterivNV := dglGetProcAddress('glGetCombinerOutputParameterivNV'); + glGetFinalCombinerInputParameterfvNV := dglGetProcAddress('glGetFinalCombinerInputParameterfvNV'); + glGetFinalCombinerInputParameterivNV := dglGetProcAddress('glGetFinalCombinerInputParameterivNV'); +end; + +procedure Read_GL_NV_register_combiners2; +begin + glCombinerStageParameterfvNV := dglGetProcAddress('glCombinerStageParameterfvNV'); + glGetCombinerStageParameterfvNV := dglGetProcAddress('glGetCombinerStageParameterfvNV'); +end; + +procedure Read_GL_NV_vertex_array_range; +begin + glFlushVertexArrayRangeNV := dglGetProcAddress('glFlushVertexArrayRangeNV'); + glVertexArrayRangeNV := dglGetProcAddress('glVertexArrayRangeNV'); +end; + +procedure Read_GL_NV_vertex_program; +begin + glAreProgramsResidentNV := dglGetProcAddress('glAreProgramsResidentNV'); + glBindProgramNV := dglGetProcAddress('glBindProgramNV'); + glDeleteProgramsNV := dglGetProcAddress('glDeleteProgramsNV'); + glExecuteProgramNV := dglGetProcAddress('glExecuteProgramNV'); + glGenProgramsNV := dglGetProcAddress('glGenProgramsNV'); + glGetProgramParameterdvNV := dglGetProcAddress('glGetProgramParameterdvNV'); + glGetProgramParameterfvNV := dglGetProcAddress('glGetProgramParameterfvNV'); + glGetProgramivNV := dglGetProcAddress('glGetProgramivNV'); + glGetProgramStringNV := dglGetProcAddress('glGetProgramStringNV'); + glGetTrackMatrixivNV := dglGetProcAddress('glGetTrackMatrixivNV'); + glGetVertexAttribdvNV := dglGetProcAddress('glGetVertexAttribdvNV'); + glGetVertexAttribfvNV := dglGetProcAddress('glGetVertexAttribfvNV'); + glGetVertexAttribivNV := dglGetProcAddress('glGetVertexAttribivNV'); + glGetVertexAttribPointervNV := dglGetProcAddress('glGetVertexAttribPointervNV'); + glIsProgramNV := dglGetProcAddress('glIsProgramNV'); + glLoadProgramNV := dglGetProcAddress('glLoadProgramNV'); + glProgramParameter4dNV := dglGetProcAddress('glProgramParameter4dNV'); + glProgramParameter4dvNV := dglGetProcAddress('glProgramParameter4dvNV'); + glProgramParameter4fNV := dglGetProcAddress('glProgramParameter4fNV'); + glProgramParameter4fvNV := dglGetProcAddress('glProgramParameter4fvNV'); + glProgramParameters4dvNV := dglGetProcAddress('glProgramParameters4dvNV'); + glProgramParameters4fvNV := dglGetProcAddress('glProgramParameters4fvNV'); + glRequestResidentProgramsNV := dglGetProcAddress('glRequestResidentProgramsNV'); + glTrackMatrixNV := dglGetProcAddress('glTrackMatrixNV'); + glVertexAttribPointerNV := dglGetProcAddress('glVertexAttribPointerNV'); + glVertexAttrib1dNV := dglGetProcAddress('glVertexAttrib1dNV'); + glVertexAttrib1dvNV := dglGetProcAddress('glVertexAttrib1dvNV'); + glVertexAttrib1fNV := dglGetProcAddress('glVertexAttrib1fNV'); + glVertexAttrib1fvNV := dglGetProcAddress('glVertexAttrib1fvNV'); + glVertexAttrib1sNV := dglGetProcAddress('glVertexAttrib1sNV'); + glVertexAttrib1svNV := dglGetProcAddress('glVertexAttrib1svNV'); + glVertexAttrib2dNV := dglGetProcAddress('glVertexAttrib2dNV'); + glVertexAttrib2dvNV := dglGetProcAddress('glVertexAttrib2dvNV'); + glVertexAttrib2fNV := dglGetProcAddress('glVertexAttrib2fNV'); + glVertexAttrib2fvNV := dglGetProcAddress('glVertexAttrib2fvNV'); + glVertexAttrib2sNV := dglGetProcAddress('glVertexAttrib2sNV'); + glVertexAttrib2svNV := dglGetProcAddress('glVertexAttrib2svNV'); + glVertexAttrib3dNV := dglGetProcAddress('glVertexAttrib3dNV'); + glVertexAttrib3dvNV := dglGetProcAddress('glVertexAttrib3dvNV'); + glVertexAttrib3fNV := dglGetProcAddress('glVertexAttrib3fNV'); + glVertexAttrib3fvNV := dglGetProcAddress('glVertexAttrib3fvNV'); + glVertexAttrib3sNV := dglGetProcAddress('glVertexAttrib3sNV'); + glVertexAttrib3svNV := dglGetProcAddress('glVertexAttrib3svNV'); + glVertexAttrib4dNV := dglGetProcAddress('glVertexAttrib4dNV'); + glVertexAttrib4dvNV := dglGetProcAddress('glVertexAttrib4dvNV'); + glVertexAttrib4fNV := dglGetProcAddress('glVertexAttrib4fNV'); + glVertexAttrib4fvNV := dglGetProcAddress('glVertexAttrib4fvNV'); + glVertexAttrib4sNV := dglGetProcAddress('glVertexAttrib4sNV'); + glVertexAttrib4svNV := dglGetProcAddress('glVertexAttrib4svNV'); + glVertexAttrib4ubNV := dglGetProcAddress('glVertexAttrib4ubNV'); + glVertexAttrib4ubvNV := dglGetProcAddress('glVertexAttrib4ubvNV'); + glVertexAttribs1dvNV := dglGetProcAddress('glVertexAttribs1dvNV'); + glVertexAttribs1fvNV := dglGetProcAddress('glVertexAttribs1fvNV'); + glVertexAttribs1svNV := dglGetProcAddress('glVertexAttribs1svNV'); + glVertexAttribs2dvNV := dglGetProcAddress('glVertexAttribs2dvNV'); + glVertexAttribs2fvNV := dglGetProcAddress('glVertexAttribs2fvNV'); + glVertexAttribs2svNV := dglGetProcAddress('glVertexAttribs2svNV'); + glVertexAttribs3dvNV := dglGetProcAddress('glVertexAttribs3dvNV'); + glVertexAttribs3fvNV := dglGetProcAddress('glVertexAttribs3fvNV'); + glVertexAttribs3svNV := dglGetProcAddress('glVertexAttribs3svNV'); + glVertexAttribs4dvNV := dglGetProcAddress('glVertexAttribs4dvNV'); + glVertexAttribs4fvNV := dglGetProcAddress('glVertexAttribs4fvNV'); + glVertexAttribs4svNV := dglGetProcAddress('glVertexAttribs4svNV'); + glVertexAttribs4ubvNV := dglGetProcAddress('glVertexAttribs4ubvNV'); +end; + +procedure Read_GL_NV_depth_buffer_float; +begin + glDepthRangedNV := dglGetProcAddress('glDepthRangedNV'); + glClearDepthdNV := dglGetProcAddress('glClearDepthdNV'); + glDepthBoundsdNV := dglGetProcAddress('glDepthBoundsdNV'); +end; + +procedure Read_GL_NV_framebuffer_multisample_coverage; +begin + glRenderbufferStorageMultsampleCoverageNV := dglGetProcAddress('glRenderbufferStorageMultsampleCoverageNV'); +end; + +procedure Read_GL_NV_geometry_program4; +begin + glProgramVertexLimitNV := dglGetProcAddress('glProgramVertexLimitNV'); +end; + +procedure Read_GL_NV_gpu_program4; +begin + glProgramLocalParameterI4iNV := dglGetProcAddress('glProgramLocalParameterI4iNV'); + glProgramLocalParameterI4ivNV := dglGetProcAddress('glProgramLocalParameterI4ivNV'); + glProgramLocalParametersI4ivNV := dglGetProcAddress('glProgramLocalParametersI4ivNV'); + glProgramLocalParameterI4uiNV := dglGetProcAddress('glProgramLocalParameterI4uiNV'); + glProgramLocalParameterI4uivNV := dglGetProcAddress('glProgramLocalParameterI4uivNV'); + glProgramLocalParametersI4uivNV := dglGetProcAddress('glProgramLocalParametersI4uivNV'); + glProgramEnvParameterI4iNV := dglGetProcAddress('glProgramEnvParameterI4iNV'); + glProgramEnvParameterI4ivNV := dglGetProcAddress('glProgramEnvParameterI4ivNV'); + glProgramEnvParametersI4ivNV := dglGetProcAddress('glProgramEnvParametersI4ivNV'); + glProgramEnvParameterI4uiNV := dglGetProcAddress('glProgramEnvParameterI4uiNV'); + glProgramEnvParameterI4uivNV := dglGetProcAddress('glProgramEnvParameterI4uivNV'); + glProgramEnvParametersI4uivNV := dglGetProcAddress('glProgramEnvParametersI4uivNV'); + glGetProgramLocalParameterIivNV := dglGetProcAddress('glGetProgramLocalParameterIivNV'); + glGetProgramLocalParameterIuivNV := dglGetProcAddress('glGetProgramLocalParameterIuivNV'); + glGetProgramEnvParameterIivNV := dglGetProcAddress('glGetProgramEnvParameterIivNV'); + glGetProgramEnvParameterIuivNV := dglGetProcAddress('glGetProgramEnvParameterIuivNV'); +end; + +procedure Read_GL_NV_parameter_buffer_object; +begin + glProgramBufferParametersfvNV := dglGetProcAddress('glProgramBufferParametersfvNV'); + glProgramBufferParametersIivNV := dglGetProcAddress('glProgramBufferParametersIivNV'); + glProgramBufferParametersIuivNV := dglGetProcAddress('glProgramBufferParametersIuivNV'); +end; + +procedure Read_GL_NV_transform_feedback; +begin + glBeginTransformFeedbackNV := dglGetProcAddress('glBeginTransformFeedbackNV'); + glEndTransformFeedbackNV := dglGetProcAddress('glEndTransformFeedbackNV'); + glTransformFeedbackAttribsNV := dglGetProcAddress('glTransformFeedbackAttribsNV'); + glBindBufferRangeNV := dglGetProcAddress('glBindBufferRangeNV'); + glBindBufferOffsetNV := dglGetProcAddress('glBindBufferOffsetNV'); + glBindBufferBaseNV := dglGetProcAddress('glBindBufferBaseNV'); + glTransformFeedbackVaryingsNV := dglGetProcAddress('glTransformFeedbackVaryingsNV'); + glActiveVaryingNV := dglGetProcAddress('glActiveVaryingNV'); + glGetVaryingLocationNV := dglGetProcAddress('glGetVaryingLocationNV'); + glGetActiveVaryingNV := dglGetProcAddress('glGetActiveVaryingNV'); + glGetTransformFeedbackVaryingNV := dglGetProcAddress('glGetTransformFeedbackVaryingNV'); + glTransformFeedbackStreamAttribsNV := dglGetProcAddress('glTransformFeedbackStreamAttribsNV'); +end; + +procedure Read_GL_NV_conditional_render; +begin + glBeginConditionalRenderNV := dglGetProcAddress('glBeginConditionalRenderNV'); + glEndConditionalRenderNV := dglGetProcAddress('glEndConditionalRenderNV'); +end; + +procedure Read_GL_NV_present_video; +begin + glPresentFrameKeyedNV := dglGetProcAddress('glPresentFrameKeyedNV'); + glPresentFrameDualFillNV := dglGetProcAddress('glPresentFrameDualFillNV'); + glGetVideoivNV := dglGetProcAddress('glGetVideoivNV'); + glGetVideouivNV := dglGetProcAddress('glGetVideouivNV'); + glGetVideoi64vNV := dglGetProcAddress('glGetVideoi64vNV'); + glGetVideoui64vNV := dglGetProcAddress('glGetVideoui64vNV'); +// glVideoParameterivNV := dglGetProcAddress('glVideoParameterivNV'); +end; + +procedure Read_GL_NV_explicit_multisample; +begin + glGetMultisamplefvNV := dglGetProcAddress('glGetMultisamplefvNV'); + glSampleMaskIndexedNV := dglGetProcAddress('glSampleMaskIndexedNV'); + glTexRenderbufferNV := dglGetProcAddress('glTexRenderbufferNV'); +end; + +procedure Read_GL_NV_transform_feedback2; +begin + glBindTransformFeedbackNV := dglGetProcAddress('glBindTransformFeedbackNV'); + glDeleteTransformFeedbacksNV := dglGetProcAddress('glDeleteTransformFeedbacksNV'); + glGenTransformFeedbacksNV := dglGetProcAddress('glGenTransformFeedbacksNV'); + glIsTransformFeedbackNV := dglGetProcAddress('glIsTransformFeedbackNV'); + glPauseTransformFeedbackNV := dglGetProcAddress('glPauseTransformFeedbackNV'); + glResumeTransformFeedbackNV := dglGetProcAddress('glResumeTransformFeedbackNV'); + glDrawTransformFeedbackNV := dglGetProcAddress('glDrawTransformFeedbackNV'); +end; + +procedure Read_GL_NV_video_capture; +begin + glBeginVideoCaptureNV := dglGetProcAddress('glBeginVideoCaptureNV'); + glBindVideoCaptureStreamBufferNV := dglGetProcAddress('glBindVideoCaptureStreamBufferNV'); + glBindVideoCaptureStreamTextureNV := dglGetProcAddress('glBindVideoCaptureStreamTextureNV'); + glEndVideoCaptureNV := dglGetProcAddress('glEndVideoCaptureNV'); + glGetVideoCaptureivNV := dglGetProcAddress('glGetVideoCaptureivNV'); + glGetVideoCaptureStreamivNV := dglGetProcAddress('glGetVideoCaptureStreamivNV'); + glGetVideoCaptureStreamfvNV := dglGetProcAddress('glGetVideoCaptureStreamfvNV'); + glGetVideoCaptureStreamdvNV := dglGetProcAddress('glGetVideoCaptureStreamdvNV'); + glVideoCaptureNV := dglGetProcAddress('glVideoCaptureNV'); + glVideoCaptureStreamParameterivNV := dglGetProcAddress('glVideoCaptureStreamParameterivNV'); + glVideoCaptureStreamParameterfvNV := dglGetProcAddress('glVideoCaptureStreamParameterfvNV'); + glVideoCaptureStreamParameterdvNV := dglGetProcAddress('glVideoCaptureStreamParameterdvNV'); +end; + +procedure Read_GL_NV_copy_image; +begin + glCopyImageSubDataNV := dglGetProcAddress('glCopyImageSubDataNV'); +end; + +procedure Read_GL_NV_shader_buffer_load; +begin + glMakeBufferResidentNV := dglGetProcAddress('glMakeBufferResidentNV'); + glMakeBufferNonResidentNV := dglGetProcAddress('glMakeBufferNonResidentNV'); + glIsBufferResidentNV := dglGetProcAddress('glIsBufferResidentNV'); + glMakeNamedBufferResidentNV := dglGetProcAddress('glMakeNamedBufferResidentNV'); + glMakeNamedBufferNonResidentNV := dglGetProcAddress('glMakeNamedBufferNonResidentNV'); + glIsNamedBufferResidentNV := dglGetProcAddress('glIsNamedBufferResidentNV'); + glGetBufferParameterui64vNV := dglGetProcAddress('glGetBufferParameterui64vNV'); + glGetNamedBufferParameterui64vNV := dglGetProcAddress('glGetNamedBufferParameterui64vNV'); + glGetIntegerui64vNV := dglGetProcAddress('glGetIntegerui64vNV'); + glUniformui64NV := dglGetProcAddress('glUniformui64NV'); + glUniformui64vNV := dglGetProcAddress('glUniformui64vNV'); + glGetUniformui64vNV := dglGetProcAddress('glGetUniformui64vNV'); + glProgramUniformui64NV := dglGetProcAddress('glProgramUniformui64NV'); + glProgramUniformui64vNV := dglGetProcAddress('glProgramUniformui64vNV'); +end; + +procedure Read_GL_NV_vertex_buffer_unified_memory; +begin + glBufferAddressRangeNV := dglGetProcAddress('glBufferAddressRangeNV'); + glVertexFormatNV := dglGetProcAddress('glVertexFormatNV'); + glNormalFormatNV := dglGetProcAddress('glNormalFormatNV'); + glColorFormatNV := dglGetProcAddress('glColorFormatNV'); + glIndexFormatNV := dglGetProcAddress('glIndexFormatNV'); + glTexCoordFormatNV := dglGetProcAddress('glTexCoordFormatNV'); + glEdgeFlagFormatNV := dglGetProcAddress('glEdgeFlagFormatNV'); + glSecondaryColorFormatNV := dglGetProcAddress('glSecondaryColorFormatNV'); + glFogCoordFormatNV := dglGetProcAddress('glFogCoordFormatNV'); + glVertexAttribFormatNV := dglGetProcAddress('glVertexAttribFormatNV'); + glVertexAttribIFormatNV := dglGetProcAddress('glVertexAttribIFormatNV'); + glGetIntegerui64i_vNV := dglGetProcAddress('glGetIntegerui64i_vNV'); +end; + +procedure Read_GL_NV_gpu_program5; +begin + glProgramSubroutineParametersuivNV := dglGetProcAddress('glProgramSubroutineParametersuivNV'); + glGetProgramSubroutineParameteruivNV := dglGetProcAddress('glGetProgramSubroutineParameteruivNV'); +end; + +procedure Read_GL_NV_gpu_shader5; +begin + glUniform1i64NV := dglGetProcAddress('glUniform1i64NV'); + glUniform2i64NV := dglGetProcAddress('glUniform2i64NV'); + glUniform3i64NV := dglGetProcAddress('glUniform3i64NV'); + glUniform4i64NV := dglGetProcAddress('glUniform4i64NV'); + glUniform1i64vNV := dglGetProcAddress('glUniform1i64vNV'); + glUniform2i64vNV := dglGetProcAddress('glUniform2i64vNV'); + glUniform3i64vNV := dglGetProcAddress('glUniform3i64vNV'); + glUniform4i64vNV := dglGetProcAddress('glUniform4i64vNV'); + glUniform1ui64NV := dglGetProcAddress('glUniform1ui64NV'); + glUniform2ui64NV := dglGetProcAddress('glUniform2ui64NV'); + glUniform3ui64NV := dglGetProcAddress('glUniform3ui64NV'); + glUniform4ui64NV := dglGetProcAddress('glUniform4ui64NV'); + glUniform1ui64vNV := dglGetProcAddress('glUniform1ui64vNV'); + glUniform2ui64vNV := dglGetProcAddress('glUniform2ui64vNV'); + glUniform3ui64vNV := dglGetProcAddress('glUniform3ui64vNV'); + glUniform4ui64vNV := dglGetProcAddress('glUniform4ui64vNV'); + glGetUniformi64vNV := dglGetProcAddress('glGetUniformi64vNV'); + glProgramUniform1i64NV := dglGetProcAddress('glProgramUniform1i64NV'); + glProgramUniform2i64NV := dglGetProcAddress('glProgramUniform2i64NV'); + glProgramUniform3i64NV := dglGetProcAddress('glProgramUniform3i64NV'); + glProgramUniform4i64NV := dglGetProcAddress('glProgramUniform4i64NV'); + glProgramUniform1i64vNV := dglGetProcAddress('glProgramUniform1i64vNV'); + glProgramUniform2i64vNV := dglGetProcAddress('glProgramUniform2i64vNV'); + glProgramUniform3i64vNV := dglGetProcAddress('glProgramUniform3i64vNV'); + glProgramUniform4i64vNV := dglGetProcAddress('glProgramUniform4i64vNV'); + glProgramUniform1ui64NV := dglGetProcAddress('glProgramUniform1ui64NV'); + glProgramUniform2ui64NV := dglGetProcAddress('glProgramUniform2ui64NV'); + glProgramUniform3ui64NV := dglGetProcAddress('glProgramUniform3ui64NV'); + glProgramUniform4ui64NV := dglGetProcAddress('glProgramUniform4ui64NV'); + glProgramUniform1ui64vNV := dglGetProcAddress('glProgramUniform1ui64vNV'); + glProgramUniform2ui64vNV := dglGetProcAddress('glProgramUniform2ui64vNV'); + glProgramUniform3ui64vNV := dglGetProcAddress('glProgramUniform3ui64vNV'); + glProgramUniform4ui64vNV := dglGetProcAddress('glProgramUniform4ui64vNV'); +end; + +procedure Read_GL_NV_vertex_attrib_integer_64bit; +begin + glVertexAttribL1i64NV := dglGetProcAddress('glVertexAttribL1i64NV'); + glVertexAttribL2i64NV := dglGetProcAddress('glVertexAttribL2i64NV'); + glVertexAttribL3i64NV := dglGetProcAddress('glVertexAttribL3i64NV'); + glVertexAttribL4i64NV := dglGetProcAddress('glVertexAttribL4i64NV'); + glVertexAttribL1i64vNV := dglGetProcAddress('glVertexAttribL1i64vNV'); + glVertexAttribL2i64vNV := dglGetProcAddress('glVertexAttribL2i64vNV'); + glVertexAttribL3i64vNV := dglGetProcAddress('glVertexAttribL3i64vNV'); + glVertexAttribL4i64vNV := dglGetProcAddress('glVertexAttribL4i64vNV'); + glVertexAttribL1ui64NV := dglGetProcAddress('glVertexAttribL1ui64NV'); + glVertexAttribL2ui64NV := dglGetProcAddress('glVertexAttribL2ui64NV'); + glVertexAttribL3ui64NV := dglGetProcAddress('glVertexAttribL3ui64NV'); + glVertexAttribL4ui64NV := dglGetProcAddress('glVertexAttribL4ui64NV'); + glVertexAttribL1ui64vNV := dglGetProcAddress('glVertexAttribL1ui64vNV'); + glVertexAttribL2ui64vNV := dglGetProcAddress('glVertexAttribL2ui64vNV'); + glVertexAttribL3ui64vNV := dglGetProcAddress('glVertexAttribL3ui64vNV'); + glVertexAttribL4ui64vNV := dglGetProcAddress('glVertexAttribL4ui64vNV'); + glGetVertexAttribLi64vNV := dglGetProcAddress('glGetVertexAttribLi64vNV'); + glGetVertexAttribLui64vNV := dglGetProcAddress('glGetVertexAttribLui64vNV'); + glVertexAttribLFormatNV := dglGetProcAddress('glVertexAttribLFormatNV'); +end; + +procedure Read_GL_NV_vdpau_interop; +begin + glVDPAUInitNV := dglGetProcAddress('glVDPAUInitNV'); + glVDPAUFiniNV := dglGetProcAddress('glVDPAUFiniNV'); + glVDPAURegisterVideoSurfaceNV := dglGetProcAddress('glVDPAURegisterVideoSurfaceNV'); + glVDPAURegisterOutputSurfaceNV := dglGetProcAddress('glVDPAURegisterOutputSurfaceNV'); + glVDPAUIsSurfaceNV := dglGetProcAddress('glVDPAUIsSurfaceNV'); + glVDPAUUnregisterSurfaceNV := dglGetProcAddress('glVDPAUUnregisterSurfaceNV'); + glVDPAUGetSurfaceivNV := dglGetProcAddress('glVDPAUGetSurfaceivNV'); + glVDPAUSurfaceAccessNV := dglGetProcAddress('glVDPAUSurfaceAccessNV'); + glVDPAUMapSurfacesNV := dglGetProcAddress('glVDPAUMapSurfacesNV'); + glVDPAUUnmapSurfacesNV := dglGetProcAddress('glVDPAUUnmapSurfacesNV'); +end; + +procedure Read_GL_NV_texture_barrier; +begin + glTextureBarrierNV := dglGetProcAddress('glTextureBarrierNV'); +end; + +procedure Read_GL_PGI_misc_hints; +begin + glHintPGI := dglGetProcAddress('glHintPGI'); +end; + +procedure Read_GL_SGIS_detail_texture; +begin + glDetailTexFuncSGIS := dglGetProcAddress('glDetailTexFuncSGIS'); + glGetDetailTexFuncSGIS := dglGetProcAddress('glGetDetailTexFuncSGIS'); +end; + +procedure Read_GL_SGIS_fog_function; +begin + glFogFuncSGIS := dglGetProcAddress('glFogFuncSGIS'); + glGetFogFuncSGIS := dglGetProcAddress('glGetFogFuncSGIS'); +end; + +procedure Read_GL_SGIS_multisample; +begin + glSampleMaskSGIS := dglGetProcAddress('glSampleMaskSGIS'); + glSamplePatternSGIS := dglGetProcAddress('glSamplePatternSGIS'); +end; + +procedure Read_GL_SGIS_pixel_texture; +begin + glPixelTexGenParameteriSGIS := dglGetProcAddress('glPixelTexGenParameteriSGIS'); + glPixelTexGenParameterivSGIS := dglGetProcAddress('glPixelTexGenParameterivSGIS'); + glPixelTexGenParameterfSGIS := dglGetProcAddress('glPixelTexGenParameterfSGIS'); + glPixelTexGenParameterfvSGIS := dglGetProcAddress('glPixelTexGenParameterfvSGIS'); + glGetPixelTexGenParameterivSGIS := dglGetProcAddress('glGetPixelTexGenParameterivSGIS'); + glGetPixelTexGenParameterfvSGIS := dglGetProcAddress('glGetPixelTexGenParameterfvSGIS'); +end; + +procedure Read_GL_SGIS_point_parameters; +begin + glPointParameterfSGIS := dglGetProcAddress('glPointParameterfSGIS'); + glPointParameterfvSGIS := dglGetProcAddress('glPointParameterfvSGIS'); +end; + +procedure Read_GL_SGIS_sharpen_texture; +begin + glSharpenTexFuncSGIS := dglGetProcAddress('glSharpenTexFuncSGIS'); + glGetSharpenTexFuncSGIS := dglGetProcAddress('glGetSharpenTexFuncSGIS'); +end; + +procedure Read_GL_SGIS_texture4D; +begin + glTexImage4DSGIS := dglGetProcAddress('glTexImage4DSGIS'); + glTexSubImage4DSGIS := dglGetProcAddress('glTexSubImage4DSGIS'); +end; + +procedure Read_GL_SGIS_texture_color_mask; +begin + glTextureColorMaskSGIS := dglGetProcAddress('glTextureColorMaskSGIS'); +end; + +procedure Read_GL_SGIS_texture_filter4; +begin + glGetTexFilterFuncSGIS := dglGetProcAddress('glGetTexFilterFuncSGIS'); + glTexFilterFuncSGIS := dglGetProcAddress('glTexFilterFuncSGIS'); +end; + +procedure Read_GL_SGIX_async; +begin + glAsyncMarkerSGIX := dglGetProcAddress('glAsyncMarkerSGIX'); + glFinishAsyncSGIX := dglGetProcAddress('glFinishAsyncSGIX'); + glPollAsyncSGIX := dglGetProcAddress('glPollAsyncSGIX'); + glGenAsyncMarkersSGIX := dglGetProcAddress('glGenAsyncMarkersSGIX'); + glDeleteAsyncMarkersSGIX := dglGetProcAddress('glDeleteAsyncMarkersSGIX'); + glIsAsyncMarkerSGIX := dglGetProcAddress('glIsAsyncMarkerSGIX'); +end; + +procedure Read_GL_SGIX_flush_raster; +begin + glFlushRasterSGIX := dglGetProcAddress('glFlushRasterSGIX'); +end; + +procedure Read_GL_SGIX_fragment_lighting; +begin + glFragmentColorMaterialSGIX := dglGetProcAddress('glFragmentColorMaterialSGIX'); + glFragmentLightfSGIX := dglGetProcAddress('glFragmentLightfSGIX'); + glFragmentLightfvSGIX := dglGetProcAddress('glFragmentLightfvSGIX'); + glFragmentLightiSGIX := dglGetProcAddress('glFragmentLightiSGIX'); + glFragmentLightivSGIX := dglGetProcAddress('glFragmentLightivSGIX'); + glFragmentLightModelfSGIX := dglGetProcAddress('glFragmentLightModelfSGIX'); + glFragmentLightModelfvSGIX := dglGetProcAddress('glFragmentLightModelfvSGIX'); + glFragmentLightModeliSGIX := dglGetProcAddress('glFragmentLightModeliSGIX'); + glFragmentLightModelivSGIX := dglGetProcAddress('glFragmentLightModelivSGIX'); + glFragmentMaterialfSGIX := dglGetProcAddress('glFragmentMaterialfSGIX'); + glFragmentMaterialfvSGIX := dglGetProcAddress('glFragmentMaterialfvSGIX'); + glFragmentMaterialiSGIX := dglGetProcAddress('glFragmentMaterialiSGIX'); + glFragmentMaterialivSGIX := dglGetProcAddress('glFragmentMaterialivSGIX'); + glGetFragmentLightfvSGIX := dglGetProcAddress('glGetFragmentLightfvSGIX'); + glGetFragmentLightivSGIX := dglGetProcAddress('glGetFragmentLightivSGIX'); + glGetFragmentMaterialfvSGIX := dglGetProcAddress('glGetFragmentMaterialfvSGIX'); + glGetFragmentMaterialivSGIX := dglGetProcAddress('glGetFragmentMaterialivSGIX'); + glLightEnviSGIX := dglGetProcAddress('glLightEnviSGIX'); +end; + +procedure Read_GL_SGIX_framezoom; +begin + glFrameZoomSGIX := dglGetProcAddress('glFrameZoomSGIX'); +end; + +procedure Read_GL_SGIX_igloo_interface; +begin + glIglooInterfaceSGIX := dglGetProcAddress('glIglooInterfaceSGIX'); +end; + +procedure Read_GL_SGIX_instruments; +begin + glGetInstrumentsSGIX := dglGetProcAddress('glGetInstrumentsSGIX'); + glInstrumentsBufferSGIX := dglGetProcAddress('glInstrumentsBufferSGIX'); + glPollInstrumentsSGIX := dglGetProcAddress('glPollInstrumentsSGIX'); + glReadInstrumentsSGIX := dglGetProcAddress('glReadInstrumentsSGIX'); + glStartInstrumentsSGIX := dglGetProcAddress('glStartInstrumentsSGIX'); + glStopInstrumentsSGIX := dglGetProcAddress('glStopInstrumentsSGIX'); +end; + +procedure Read_GL_SGIX_list_priority; +begin + glGetListParameterfvSGIX := dglGetProcAddress('glGetListParameterfvSGIX'); + glGetListParameterivSGIX := dglGetProcAddress('glGetListParameterivSGIX'); + glListParameterfSGIX := dglGetProcAddress('glListParameterfSGIX'); + glListParameterfvSGIX := dglGetProcAddress('glListParameterfvSGIX'); + glListParameteriSGIX := dglGetProcAddress('glListParameteriSGIX'); + glListParameterivSGIX := dglGetProcAddress('glListParameterivSGIX'); +end; + +procedure Read_GL_SGIX_pixel_texture; +begin + glPixelTexGenSGIX := dglGetProcAddress('glPixelTexGenSGIX'); +end; + +procedure Read_GL_SGIX_polynomial_ffd; +begin + glDeformationMap3dSGIX := dglGetProcAddress('glDeformationMap3dSGIX'); + glDeformationMap3fSGIX := dglGetProcAddress('glDeformationMap3fSGIX'); + glDeformSGIX := dglGetProcAddress('glDeformSGIX'); + glLoadIdentityDeformationMapSGIX := dglGetProcAddress('glLoadIdentityDeformationMapSGIX'); +end; + +procedure Read_GL_SGIX_reference_plane; +begin + glReferencePlaneSGIX := dglGetProcAddress('glReferencePlaneSGIX'); +end; + +procedure Read_GL_SGIX_sprite; +begin + glSpriteParameterfSGIX := dglGetProcAddress('glSpriteParameterfSGIX'); + glSpriteParameterfvSGIX := dglGetProcAddress('glSpriteParameterfvSGIX'); + glSpriteParameteriSGIX := dglGetProcAddress('glSpriteParameteriSGIX'); + glSpriteParameterivSGIX := dglGetProcAddress('glSpriteParameterivSGIX'); +end; + +procedure Read_GL_SGIX_tag_sample_buffer; +begin + glTagSampleBufferSGIX := dglGetProcAddress('glTagSampleBufferSGIX'); +end; + +procedure Read_GL_SGI_color_table; +begin + glColorTableSGI := dglGetProcAddress('glColorTableSGI'); + glColorTableParameterfvSGI := dglGetProcAddress('glColorTableParameterfvSGI'); + glColorTableParameterivSGI := dglGetProcAddress('glColorTableParameterivSGI'); + glCopyColorTableSGI := dglGetProcAddress('glCopyColorTableSGI'); + glGetColorTableSGI := dglGetProcAddress('glGetColorTableSGI'); + glGetColorTableParameterfvSGI := dglGetProcAddress('glGetColorTableParameterfvSGI'); + glGetColorTableParameterivSGI := dglGetProcAddress('glGetColorTableParameterivSGI'); +end; + +procedure Read_GL_SUNX_constant_data; +begin + glFinishTextureSUNX := dglGetProcAddress('glFinishTextureSUNX'); +end; + +procedure Read_GL_SUN_global_alpha; +begin + glGlobalAlphaFactorbSUN := dglGetProcAddress('glGlobalAlphaFactorbSUN'); + glGlobalAlphaFactorsSUN := dglGetProcAddress('glGlobalAlphaFactorsSUN'); + glGlobalAlphaFactoriSUN := dglGetProcAddress('glGlobalAlphaFactoriSUN'); + glGlobalAlphaFactorfSUN := dglGetProcAddress('glGlobalAlphaFactorfSUN'); + glGlobalAlphaFactordSUN := dglGetProcAddress('glGlobalAlphaFactordSUN'); + glGlobalAlphaFactorubSUN := dglGetProcAddress('glGlobalAlphaFactorubSUN'); + glGlobalAlphaFactorusSUN := dglGetProcAddress('glGlobalAlphaFactorusSUN'); + glGlobalAlphaFactoruiSUN := dglGetProcAddress('glGlobalAlphaFactoruiSUN'); +end; + +procedure Read_GL_SUN_mesh_array; +begin + glDrawMeshArraysSUN := dglGetProcAddress('glDrawMeshArraysSUN'); +end; + +procedure Read_GL_SUN_triangle_list; +begin + glReplacementCodeuiSUN := dglGetProcAddress('glReplacementCodeuiSUN'); + glReplacementCodeusSUN := dglGetProcAddress('glReplacementCodeusSUN'); + glReplacementCodeubSUN := dglGetProcAddress('glReplacementCodeubSUN'); + glReplacementCodeuivSUN := dglGetProcAddress('glReplacementCodeuivSUN'); + glReplacementCodeusvSUN := dglGetProcAddress('glReplacementCodeusvSUN'); + glReplacementCodeubvSUN := dglGetProcAddress('glReplacementCodeubvSUN'); + glReplacementCodePointerSUN := dglGetProcAddress('glReplacementCodePointerSUN'); +end; + +procedure Read_GL_SUN_vertex; +begin + glColor4ubVertex2fSUN := dglGetProcAddress('glColor4ubVertex2fSUN'); + glColor4ubVertex2fvSUN := dglGetProcAddress('glColor4ubVertex2fvSUN'); + glColor4ubVertex3fSUN := dglGetProcAddress('glColor4ubVertex3fSUN'); + glColor4ubVertex3fvSUN := dglGetProcAddress('glColor4ubVertex3fvSUN'); + glColor3fVertex3fSUN := dglGetProcAddress('glColor3fVertex3fSUN'); + glColor3fVertex3fvSUN := dglGetProcAddress('glColor3fVertex3fvSUN'); + glNormal3fVertex3fSUN := dglGetProcAddress('glNormal3fVertex3fSUN'); + glNormal3fVertex3fvSUN := dglGetProcAddress('glNormal3fVertex3fvSUN'); + glColor4fNormal3fVertex3fSUN := dglGetProcAddress('glColor4fNormal3fVertex3fSUN'); + glColor4fNormal3fVertex3fvSUN := dglGetProcAddress('glColor4fNormal3fVertex3fvSUN'); + glTexCoord2fVertex3fSUN := dglGetProcAddress('glTexCoord2fVertex3fSUN'); + glTexCoord2fVertex3fvSUN := dglGetProcAddress('glTexCoord2fVertex3fvSUN'); + glTexCoord4fVertex4fSUN := dglGetProcAddress('glTexCoord4fVertex4fSUN'); + glTexCoord4fVertex4fvSUN := dglGetProcAddress('glTexCoord4fVertex4fvSUN'); + glTexCoord2fColor4ubVertex3fSUN := dglGetProcAddress('glTexCoord2fColor4ubVertex3fSUN'); + glTexCoord2fColor4ubVertex3fvSUN := dglGetProcAddress('glTexCoord2fColor4ubVertex3fvSUN'); + glTexCoord2fColor3fVertex3fSUN := dglGetProcAddress('glTexCoord2fColor3fVertex3fSUN'); + glTexCoord2fColor3fVertex3fvSUN := dglGetProcAddress('glTexCoord2fColor3fVertex3fvSUN'); + glTexCoord2fNormal3fVertex3fSUN := dglGetProcAddress('glTexCoord2fNormal3fVertex3fSUN'); + glTexCoord2fNormal3fVertex3fvSUN := dglGetProcAddress('glTexCoord2fNormal3fVertex3fvSUN'); + glTexCoord2fColor4fNormal3fVertex3fSUN := dglGetProcAddress('glTexCoord2fColor4fNormal3fVertex3fSUN'); + glTexCoord2fColor4fNormal3fVertex3fvSUN := dglGetProcAddress('glTexCoord2fColor4fNormal3fVertex3fvSUN'); + glTexCoord4fColor4fNormal3fVertex4fSUN := dglGetProcAddress('glTexCoord4fColor4fNormal3fVertex4fSUN'); + glTexCoord4fColor4fNormal3fVertex4fvSUN := dglGetProcAddress('glTexCoord4fColor4fNormal3fVertex4fvSUN'); + glReplacementCodeuiVertex3fSUN := dglGetProcAddress('glReplacementCodeuiVertex3fSUN'); + glReplacementCodeuiVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiVertex3fvSUN'); + glReplacementCodeuiColor4ubVertex3fSUN := dglGetProcAddress('glReplacementCodeuiColor4ubVertex3fSUN'); + glReplacementCodeuiColor4ubVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiColor4ubVertex3fvSUN'); + glReplacementCodeuiColor3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiColor3fVertex3fSUN'); + glReplacementCodeuiColor3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiColor3fVertex3fvSUN'); + glReplacementCodeuiNormal3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiNormal3fVertex3fSUN'); + glReplacementCodeuiNormal3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiNormal3fVertex3fvSUN'); + glReplacementCodeuiColor4fNormal3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiColor4fNormal3fVertex3fSUN'); + glReplacementCodeuiColor4fNormal3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiColor4fNormal3fVertex3fvSUN'); + glReplacementCodeuiTexCoord2fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fVertex3fSUN'); + glReplacementCodeuiTexCoord2fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fVertex3fvSUN'); + glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN'); + glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN'); + glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN'); + glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN := dglGetProcAddress('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN'); +end; + +{$IFDEF DGL_WIN} +procedure Read_WGL_ARB_buffer_region; +begin + wglCreateBufferRegionARB := dglGetProcAddress('wglCreateBufferRegionARB'); + wglDeleteBufferRegionARB := dglGetProcAddress('wglDeleteBufferRegionARB'); + wglSaveBufferRegionARB := dglGetProcAddress('wglSaveBufferRegionARB'); + wglRestoreBufferRegionARB := dglGetProcAddress('wglRestoreBufferRegionARB'); +end; + +procedure Read_WGL_ARB_extensions_string; +begin + wglGetExtensionsStringARB := dglGetProcAddress('wglGetExtensionsStringARB'); +end; + +procedure Read_WGL_ARB_make_current_read; +begin + wglMakeContextCurrentARB := dglGetProcAddress('wglMakeContextCurrentARB'); + wglGetCurrentReadDCARB := dglGetProcAddress('wglGetCurrentReadDCARB'); +end; + +procedure Read_WGL_ARB_pbuffer; +begin + wglCreatePbufferARB := dglGetProcAddress('wglCreatePbufferARB'); + wglGetPbufferDCARB := dglGetProcAddress('wglGetPbufferDCARB'); + wglReleasePbufferDCARB := dglGetProcAddress('wglReleasePbufferDCARB'); + wglDestroyPbufferARB := dglGetProcAddress('wglDestroyPbufferARB'); + wglQueryPbufferARB := dglGetProcAddress('wglQueryPbufferARB'); +end; + +procedure Read_WGL_ARB_pixel_format; +begin + wglGetPixelFormatAttribivARB := dglGetProcAddress('wglGetPixelFormatAttribivARB'); + wglGetPixelFormatAttribfvARB := dglGetProcAddress('wglGetPixelFormatAttribfvARB'); + wglChoosePixelFormatARB := dglGetProcAddress('wglChoosePixelFormatARB'); +end; + +procedure Read_WGL_ARB_pixel_format_float; +begin + wglClampColorARB := dglGetProcAddress('wglClampColorARB'); +end; + +procedure Read_WGL_ARB_render_texture; +begin + wglBindTexImageARB := dglGetProcAddress('wglBindTexImageARB'); + wglReleaseTexImageARB := dglGetProcAddress('wglReleaseTexImageARB'); + wglSetPbufferAttribARB := dglGetProcAddress('wglSetPbufferAttribARB'); +end; + +procedure Read_WGL_ARB_create_context; +begin + wglCreateContextAttribsARB := dglGetProcAddress('wglCreateContextAttribsARB'); +end; + +procedure Read_WGL_AMD_gpu_association; +begin + wglGetGPUIDsAMD := dglGetProcAddress('wglGetGPUIDsAMD'); + wglGetGPUInfoAMD := dglGetProcAddress('wglGetGPUInfoAMD'); + wglGetContextGPUIDAMD := dglGetProcAddress('wglGetContextGPUIDAMD'); + wglCreateAssociatedContextAMD := dglGetProcAddress('wglCreateAssociatedContextAMD'); + wglCreateAssociatedContextAttribsAMD := dglGetProcAddress('wglCreateAssociatedContextAttribsAMD'); + wglDeleteAssociatedContextAMD := dglGetProcAddress('wglDeleteAssociatedContextAMD'); + wglMakeAssociatedContextCurrentAMD := dglGetProcAddress('wglMakeAssociatedContextCurrentAMD'); + wglGetCurrentAssociatedContextAMD := dglGetProcAddress('wglGetCurrentAssociatedContextAMD'); + wglBlitContextFramebufferAMD := dglGetProcAddress('wglBlitContextFramebufferAMD'); +end; + +procedure Read_WGL_EXT_display_color_table; +begin + wglCreateDisplayColorTableEXT := dglGetProcAddress('wglCreateDisplayColorTableEXT'); + wglLoadDisplayColorTableEXT := dglGetProcAddress('wglLoadDisplayColorTableEXT'); + wglBindDisplayColorTableEXT := dglGetProcAddress('wglBindDisplayColorTableEXT'); + wglDestroyDisplayColorTableEXT := dglGetProcAddress('wglDestroyDisplayColorTableEXT'); +end; + +procedure Read_WGL_EXT_extensions_string; +begin + wglGetExtensionsStringEXT := dglGetProcAddress('wglGetExtensionsStringEXT'); +end; + +procedure Read_WGL_EXT_make_current_read; +begin + wglMakeContextCurrentEXT := dglGetProcAddress('wglMakeContextCurrentEXT'); + wglGetCurrentReadDCEXT := dglGetProcAddress('wglGetCurrentReadDCEXT'); +end; + +procedure Read_WGL_EXT_pbuffer; +begin + wglCreatePbufferEXT := dglGetProcAddress('wglCreatePbufferEXT'); + wglGetPbufferDCEXT := dglGetProcAddress('wglGetPbufferDCEXT'); + wglReleasePbufferDCEXT := dglGetProcAddress('wglReleasePbufferDCEXT'); + wglDestroyPbufferEXT := dglGetProcAddress('wglDestroyPbufferEXT'); + wglQueryPbufferEXT := dglGetProcAddress('wglQueryPbufferEXT'); +end; + +procedure Read_WGL_EXT_pixel_format; +begin + wglGetPixelFormatAttribivEXT := dglGetProcAddress('wglGetPixelFormatAttribivEXT'); + wglGetPixelFormatAttribfvEXT := dglGetProcAddress('wglGetPixelFormatAttribfvEXT'); + wglChoosePixelFormatEXT := dglGetProcAddress('wglChoosePixelFormatEXT'); +end; + +procedure Read_WGL_EXT_swap_control; +begin + wglSwapIntervalEXT := dglGetProcAddress('wglSwapIntervalEXT'); + wglGetSwapIntervalEXT := dglGetProcAddress('wglGetSwapIntervalEXT'); +end; + +procedure Read_WGL_I3D_digital_video_control; +begin + wglGetDigitalVideoParametersI3D := dglGetProcAddress('wglGetDigitalVideoParametersI3D'); + wglSetDigitalVideoParametersI3D := dglGetProcAddress('wglSetDigitalVideoParametersI3D'); +end; + +procedure Read_WGL_I3D_gamma; +begin + wglGetGammaTableParametersI3D := dglGetProcAddress('wglGetGammaTableParametersI3D'); + wglSetGammaTableParametersI3D := dglGetProcAddress('wglSetGammaTableParametersI3D'); + wglGetGammaTableI3D := dglGetProcAddress('wglGetGammaTableI3D'); + wglSetGammaTableI3D := dglGetProcAddress('wglSetGammaTableI3D'); +end; + +procedure Read_WGL_I3D_genlock; +begin + wglEnableGenlockI3D := dglGetProcAddress('wglEnableGenlockI3D'); + wglDisableGenlockI3D := dglGetProcAddress('wglDisableGenlockI3D'); + wglIsEnabledGenlockI3D := dglGetProcAddress('wglIsEnabledGenlockI3D'); + wglGenlockSourceI3D := dglGetProcAddress('wglGenlockSourceI3D'); + wglGetGenlockSourceI3D := dglGetProcAddress('wglGetGenlockSourceI3D'); + wglGenlockSourceEdgeI3D := dglGetProcAddress('wglGenlockSourceEdgeI3D'); + wglGetGenlockSourceEdgeI3D := dglGetProcAddress('wglGetGenlockSourceEdgeI3D'); + wglGenlockSampleRateI3D := dglGetProcAddress('wglGenlockSampleRateI3D'); + wglGetGenlockSampleRateI3D := dglGetProcAddress('wglGetGenlockSampleRateI3D'); + wglGenlockSourceDelayI3D := dglGetProcAddress('wglGenlockSourceDelayI3D'); + wglGetGenlockSourceDelayI3D := dglGetProcAddress('wglGetGenlockSourceDelayI3D'); + wglQueryGenlockMaxSourceDelayI3D := dglGetProcAddress('wglQueryGenlockMaxSourceDelayI3D'); +end; + +procedure Read_WGL_I3D_image_buffer; +begin + wglCreateImageBufferI3D := dglGetProcAddress('wglCreateImageBufferI3D'); + wglDestroyImageBufferI3D := dglGetProcAddress('wglDestroyImageBufferI3D'); + wglAssociateImageBufferEventsI3D := dglGetProcAddress('wglAssociateImageBufferEventsI3D'); + wglReleaseImageBufferEventsI3D := dglGetProcAddress('wglReleaseImageBufferEventsI3D'); +end; + +procedure Read_WGL_I3D_swap_frame_lock; +begin + wglEnableFrameLockI3D := dglGetProcAddress('wglEnableFrameLockI3D'); + wglDisableFrameLockI3D := dglGetProcAddress('wglDisableFrameLockI3D'); + wglIsEnabledFrameLockI3D := dglGetProcAddress('wglIsEnabledFrameLockI3D'); + wglQueryFrameLockMasterI3D := dglGetProcAddress('wglQueryFrameLockMasterI3D'); +end; + +procedure Read_WGL_I3D_swap_frame_usage; +begin + wglGetFrameUsageI3D := dglGetProcAddress('wglGetFrameUsageI3D'); + wglBeginFrameTrackingI3D := dglGetProcAddress('wglBeginFrameTrackingI3D'); + wglEndFrameTrackingI3D := dglGetProcAddress('wglEndFrameTrackingI3D'); + wglQueryFrameTrackingI3D := dglGetProcAddress('wglQueryFrameTrackingI3D'); +end; + +procedure Read_WGL_NV_vertex_array_range; +begin + wglAllocateMemoryNV := dglGetProcAddress('wglAllocateMemoryNV'); + wglFreeMemoryNV := dglGetProcAddress('wglFreeMemoryNV'); +end; + +procedure Read_WGL_NV_present_video; +begin + wglEnumerateVideoDevicesNV := dglGetProcAddress('wglEnumerateVideoDevicesNV'); + wglBindVideoDeviceNV := dglGetProcAddress('wglBindVideoDeviceNV'); + wglQueryCurrentContextNV := dglGetProcAddress('wglQueryCurrentContextNV'); +end; + +procedure Read_WGL_NV_video_output; +begin + wglGetVideoDeviceNV := dglGetProcAddress('wglGetVideoDeviceNV'); + wglReleaseVideoDeviceNV := dglGetProcAddress('wglReleaseVideoDeviceNV'); + wglBindVideoImageNV := dglGetProcAddress('wglBindVideoImageNV'); + wglReleaseVideoImageNV := dglGetProcAddress('wglReleaseVideoImageNV'); + wglSendPbufferToVideoNV := dglGetProcAddress('wglSendPbufferToVideoNV'); + wglGetVideoInfoNV := dglGetProcAddress('wglGetVideoInfoNV'); +end; + +procedure Read_WGL_NV_swap_group; +begin + wglJoinSwapGroupNV := dglGetProcAddress('wglJoinSwapGroupNV'); + wglBindSwapBarrierNV := dglGetProcAddress('wglBindSwapBarrierNV'); + wglQuerySwapGroupNV := dglGetProcAddress('wglQuerySwapGroupNV'); + wglQueryMaxSwapGroupsNV := dglGetProcAddress('wglQueryMaxSwapGroupsNV'); + wglQueryFrameCountNV := dglGetProcAddress('wglQueryFrameCountNV'); + wglResetFrameCountNV := dglGetProcAddress('wglResetFrameCountNV'); +end; + +procedure Read_WGL_NV_gpu_affinity; +begin + wglEnumGpusNV := dglGetProcAddress('wglEnumGpusNV'); + wglEnumGpuDevicesNV := dglGetProcAddress('wglEnumGpuDevicesNV'); + wglCreateAffinityDCNV := dglGetProcAddress('wglCreateAffinityDCNV'); + wglEnumGpusFromAffinityDCNV := dglGetProcAddress('wglEnumGpusFromAffinityDCNV'); + wglDeleteDCNV := dglGetProcAddress('wglDeleteDCNV'); +end; + +procedure Read_WGL_NV_video_capture; +begin + wglBindVideoCaptureDeviceNV := dglGetProcAddress('wglBindVideoCaptureDeviceNV'); + wglEnumerateVideoCaptureDevicesNV := dglGetProcAddress('wglEnumerateVideoCaptureDevicesNV'); + wglLockVideoCaptureDeviceNV := dglGetProcAddress('wglLockVideoCaptureDeviceNV'); + wglQueryVideoCaptureDeviceNV := dglGetProcAddress('wglQueryVideoCaptureDeviceNV'); + wglReleaseVideoCaptureDeviceNV := dglGetProcAddress('wglReleaseVideoCaptureDeviceNV'); +end; + +procedure Read_WGL_NV_copy_image; +begin + wglCopyImageSubDataNV := dglGetProcAddress('wglCopyImageSubDataNV'); +end; + +procedure Read_WGL_NV_DX_interop; +begin + wglDXSetResourceShareHandleNV := dglGetProcAddress('wglDXSetResourceShareHandleNV'); + wglDXOpenDeviceNV := dglGetProcAddress('wglDXOpenDeviceNV'); + wglDXCloseDeviceNV := dglGetProcAddress('wglDXCloseDeviceNV'); + wglDXRegisterObjectNV := dglGetProcAddress('wglDXRegisterObjectNV'); + wglDXUnregisterObjectNV := dglGetProcAddress('wglDXUnregisterObjectNV'); + wglDXObjectAccessNV := dglGetProcAddress('wglDXObjectAccessNV'); + wglDXLockObjectsNV := dglGetProcAddress('wglDXLockObjectsNV'); + wglDXUnlockObjectsNV := dglGetProcAddress('wglDXUnlockObjectsNV'); +end; + + +procedure Read_WGL_OML_sync_control; +begin + wglGetSyncValuesOML := dglGetProcAddress('wglGetSyncValuesOML'); + wglGetMscRateOML := dglGetProcAddress('wglGetMscRateOML'); + wglSwapBuffersMscOML := dglGetProcAddress('wglSwapBuffersMscOML'); + wglSwapLayerBuffersMscOML := dglGetProcAddress('wglSwapLayerBuffersMscOML'); + wglWaitForMscOML := dglGetProcAddress('wglWaitForMscOML'); + wglWaitForSbcOML := dglGetProcAddress('wglWaitForSbcOML'); +end; + +procedure Read_WGL_3DL_stereo_control; +begin + wglSetStereoEmitterState3DL := dglGetProcAddress('wglSetStereoEmitterState3DL'); +end; + +procedure Read_WIN_draw_range_elements; +begin + glDrawRangeElementsWIN := dglGetProcAddress('glDrawRangeElementsWIN'); +end; + +procedure Read_WIN_swap_hint; +begin + glAddSwapHintRectWIN := dglGetProcAddress('glAddSwapHintRectWIN'); +end; +{$ENDIF} + + +procedure ReadExtensions; +begin + ReadOpenGLCore; + + Read_GL_3DFX_tbuffer; + Read_GL_APPLE_element_array; + Read_GL_APPLE_fence; + Read_GL_APPLE_vertex_array_object; + Read_GL_APPLE_vertex_array_range; + Read_GL_APPLE_texture_range; + Read_GL_APPLE_vertex_program_evaluators; + Read_GL_APPLE_object_purgeable; + Read_GL_ARB_matrix_palette; + Read_GL_ARB_multitexture; + Read_GL_ARB_point_parameters; + Read_GL_ARB_texture_compression; + Read_GL_ARB_transpose_matrix; + Read_GL_ARB_vertex_blend; + Read_GL_ARB_vertex_buffer_object; + Read_GL_ARB_vertex_program; + Read_GL_ARB_window_pos; + Read_GL_ARB_color_buffer_float; + Read_GL_ARB_Shader_Objects; + Read_GL_ARB_occlusion_query; + Read_GL_ARB_draw_instanced; + Read_GL_ARB_framebuffer_object; + Read_GL_ARB_geometry_shader4; + Read_GL_ARB_instanced_arrays; + Read_GL_ARB_map_buffer_range; + Read_GL_ARB_texture_buffer_object; + Read_GL_ARB_vertex_array_object; + Read_GL_ARB_uniform_buffer_object; + Read_GL_ARB_copy_buffer; + Read_GL_ARB_draw_elements_base_vertex; + Read_GL_ARB_provoking_vertex; + Read_GL_ARB_sync; + Read_GL_ARB_texture_multisample; + Read_GL_ARB_draw_buffers_blend; + Read_GL_ARB_sample_shading; + Read_GL_ARB_shading_language_include; + Read_GL_ARB_blend_func_extended; + Read_GL_ARB_sampler_objects; + Read_GL_ARB_timer_query; + Read_GL_ARB_vertex_type_2_10_10_10_rev; + Read_GL_ARB_draw_indirect; + Read_GL_ARB_gpu_shader_fp64; + Read_GL_ARB_shader_subroutine; + Read_GL_ARB_tessellation_shader; + Read_GL_ARB_transform_feedback2; + Read_GL_ARB_transform_feedback3; + Read_GL_ARB_ES2_compatibility; + Read_GL_ARB_get_program_binary; + Read_GL_ARB_separate_shader_objects; + Read_GL_ARB_vertex_attrib_64bit; + Read_GL_ARB_viewport_array; + Read_GL_ARB_cl_event; + Read_GL_ARB_debug_output; + Read_GL_ARB_robustness; + // + Read_GL_ATI_draw_buffers; + Read_GL_ATI_element_array; + Read_GL_ATI_envmap_bumpmap; + Read_GL_ATI_fragment_shader; + Read_GL_ATI_map_object_buffer; + Read_GL_ATI_pn_triangles; + Read_GL_ATI_separate_stencil; + Read_GL_ATI_vertex_array_object; + Read_GL_ATI_vertex_attrib_array_object; + Read_GL_ATI_vertex_streams; + Read_GL_AMD_performance_monitor; + Read_GL_AMD_vertex_shader_tesselator; + Read_GL_AMD_draw_buffers_blend; + Read_GL_AMD_name_gen_delete; + Read_GL_AMD_debug_output; + Read_GL_AMD_stencil_operation_extended; + Read_GL_EXT_blend_color; + Read_GL_EXT_blend_func_separate; + Read_GL_EXT_blend_minmax; + Read_GL_EXT_color_subtable; + Read_GL_EXT_compiled_vertex_array; + Read_GL_EXT_convolution; + Read_GL_EXT_coordinate_frame; + Read_GL_EXT_copy_texture; + Read_GL_EXT_cull_vertex; + Read_GL_EXT_draw_range_elements; + Read_GL_EXT_fog_coord; + Read_GL_EXT_framebuffer_object; + Read_GL_EXT_histogram; + Read_GL_EXT_index_func; + Read_GL_EXT_index_material; + Read_GL_EXT_multi_draw_arrays; + Read_GL_EXT_multisample; + Read_GL_EXT_paletted_texture; + Read_GL_EXT_pixel_transform; + Read_GL_EXT_point_parameters; + Read_GL_EXT_polygon_offset; + Read_GL_EXT_secondary_color; + Read_GL_EXT_stencil_two_side; + Read_GL_EXT_subtexture; + Read_GL_EXT_texture3D; + Read_GL_EXT_texture_object; + Read_GL_EXT_texture_perturb_normal; + Read_GL_EXT_vertex_array; + Read_GL_EXT_vertex_shader; + Read_GL_EXT_vertex_weighting; + Read_GL_EXT_depth_bounds_test; + Read_GL_EXT_blend_equation_separate; + Read_GL_EXT_stencil_clear_tag; + Read_GL_EXT_framebuffer_blit; + Read_GL_EXT_framebuffer_multisample; + Read_GL_EXT_timer_query; + Read_GL_EXT_gpu_program_parameters; + Read_GL_EXT_bindable_uniform; + Read_GL_EXT_draw_buffers2; + Read_GL_EXT_draw_instanced; + Read_GL_EXT_geometry_shader4; + Read_GL_EXT_gpu_shader4; + Read_GL_EXT_texture_array; + Read_GL_EXT_texture_buffer_object; + Read_GL_EXT_texture_integer; + Read_GL_EXT_transform_feedback; + Read_GL_EXT_direct_state_access; + Read_GL_EXT_separate_shader_objects; + Read_GL_EXT_shader_image_load_store; + Read_GL_EXT_vertex_attrib_64bit; + Read_GL_HP_image_transform; + Read_GL_IBM_multimode_draw_arrays; + Read_GL_IBM_vertex_array_lists; + Read_GL_INGR_blend_func_separate; + Read_GL_INTEL_parallel_arrays; + Read_GL_MESA_resize_buffers; + Read_GL_MESA_window_pos; + Read_GL_NV_evaluators; + Read_GL_NV_fence; + Read_GL_NV_fragment_program; + Read_GL_NV_half_float; + Read_GL_NV_occlusion_query; + Read_GL_NV_pixel_data_range; + Read_GL_NV_point_sprite; + Read_GL_NV_primitive_restart; + Read_GL_NV_register_combiners; + Read_GL_NV_register_combiners2; + Read_GL_NV_vertex_array_range; + Read_GL_NV_vertex_program; + Read_GL_NV_depth_buffer_float; + Read_GL_NV_framebuffer_multisample_coverage; + Read_GL_NV_geometry_program4; + Read_GL_NV_gpu_program4; + Read_GL_NV_parameter_buffer_object; + Read_GL_NV_transform_feedback; + Read_GL_NV_conditional_render; + Read_GL_NV_present_video; + Read_GL_NV_explicit_multisample; + Read_GL_NV_transform_feedback2; + Read_GL_NV_video_capture; + Read_GL_NV_copy_image; + Read_GL_NV_shader_buffer_load; + Read_GL_NV_vertex_buffer_unified_memory; + Read_GL_NV_gpu_program5; + Read_GL_NV_gpu_shader5; + Read_GL_NV_vertex_attrib_integer_64bit; + Read_GL_NV_vdpau_interop; + Read_GL_NV_texture_barrier; + Read_GL_NV_path_rendering; + Read_GL_NV_bindless_texture; + Read_GL_PGI_misc_hints; + Read_GL_SGIS_detail_texture; + Read_GL_SGIS_fog_function; + Read_GL_SGIS_multisample; + Read_GL_SGIS_pixel_texture; + Read_GL_SGIS_point_parameters; + Read_GL_SGIS_sharpen_texture; + Read_GL_SGIS_texture4D; + Read_GL_SGIS_texture_color_mask; + Read_GL_SGIS_texture_filter4; + Read_GL_SGIX_async; + Read_GL_SGIX_flush_raster; + Read_GL_SGIX_fragment_lighting; + Read_GL_SGIX_framezoom; + Read_GL_SGIX_igloo_interface; + Read_GL_SGIX_instruments; + Read_GL_SGIX_list_priority; + Read_GL_SGIX_pixel_texture; + Read_GL_SGIX_polynomial_ffd; + Read_GL_SGIX_reference_plane; + Read_GL_SGIX_sprite; + Read_GL_SGIX_tag_sample_buffer; + Read_GL_SGI_color_table; + Read_GL_SUNX_constant_data; + Read_GL_SUN_global_alpha; + Read_GL_SUN_mesh_array; + Read_GL_SUN_triangle_list; + Read_GL_SUN_vertex; + +{$IFDEF DGL_WIN} + Read_WGL_ARB_buffer_region; + Read_WGL_ARB_extensions_string; + Read_WGL_ARB_make_current_read; + Read_WGL_ARB_pbuffer; + Read_WGL_ARB_pixel_format; + Read_WGL_ARB_pixel_format_float; + Read_WGL_ARB_render_texture; + Read_WGL_ARB_create_context; + Read_WGL_AMD_gpu_association; + Read_WGL_EXT_display_color_table; + Read_WGL_EXT_extensions_string; + Read_WGL_EXT_make_current_read; + Read_WGL_EXT_pbuffer; + Read_WGL_EXT_pixel_format; + Read_WGL_EXT_swap_control; + Read_WGL_I3D_digital_video_control; + Read_WGL_I3D_gamma; + Read_WGL_I3D_genlock; + Read_WGL_I3D_image_buffer; + Read_WGL_I3D_swap_frame_lock; + Read_WGL_I3D_swap_frame_usage; + Read_WGL_NV_vertex_array_range; + Read_WGL_NV_present_video; + Read_WGL_NV_video_output; + Read_WGL_NV_swap_group; + Read_WGL_NV_gpu_affinity; + Read_WGL_NV_video_capture; + Read_WGL_NV_copy_image; + Read_WGL_NV_DX_interop; + Read_WGL_OML_sync_control; + Read_WGL_3DL_stereo_control; + + Read_WIN_draw_range_elements; + Read_WIN_swap_hint; +{$ENDIF} + + ExtensionsRead := True; +end; + +// ============================================================================= +// ReadCoreVersion +// ============================================================================= + +procedure ReadCoreVersion; +var + AnsiBuffer: AnsiString; + Buffer: String; + MajorVersion, MinorVersion: Integer; + + procedure TrimAndSplitVersionString(Buffer: String; out Max, Min: Integer); + // Peels out the X.Y form from the given Buffer which must contain a version string like "text Minor.Major.Build text" + // at least however "Major.Minor". + var + Separator: Integer; + begin + try + // There must be at least one dot to separate major and minor version number. + Separator := Pos('.', Buffer); + // At least one number must be before and one after the dot. + if (Separator > 1) and (Separator < Length(Buffer)) and (AnsiChar(Buffer[Separator - 1]) in ['0'..'9']) and + (AnsiChar(Buffer[Separator + 1]) in ['0'..'9']) then + begin + // OK, it's a valid version string. Now remove unnecessary parts. + Dec(Separator); + // Find last non-numeric character before version number. + while (Separator > 0) and (AnsiChar(Buffer[Separator]) in ['0'..'9']) do + Dec(Separator); + // Delete leading characters which do not belong to the version string. + Delete(Buffer, 1, Separator); + Separator := Pos('.', Buffer) + 1; + // Find first non-numeric character after version number + while (Separator <= Length(Buffer)) and (AnsiChar(Buffer[Separator]) in ['0'..'9']) do + Inc(Separator); + // delete trailing characters not belonging to the version string + Delete(Buffer, Separator, 255); + // Now translate the numbers. + Separator := Pos('.', Buffer); // This is necessary because the buffer length might have changed. + Max := StrToInt(Copy(Buffer, 1, Separator - 1)); + Min := StrToInt(Copy(Buffer, Separator + 1, 1)); + end + else + Abort; + except + Min := 0; + Max := 0; + end; + end; + + +begin + // determine version of implementation + // GL + if not Assigned(@glGetString) then + glGetString := dglGetProcAddress('glGetString'); + + AnsiBuffer := glGetString(GL_VERSION); + Buffer := String(AnsiBuffer); + + TrimAndSplitVersionString(Buffer, MajorVersion, MinorVersion); + + GL_VERSION_1_0 := True; + GL_VERSION_1_1 := False; + GL_VERSION_1_2 := False; + GL_VERSION_1_3 := False; + GL_VERSION_1_4 := False; + GL_VERSION_1_5 := False; + GL_VERSION_2_0 := False; + GL_VERSION_2_1 := False; + GL_VERSION_3_0 := False; + GL_VERSION_3_1 := False; + GL_VERSION_3_2 := False; + GL_VERSION_3_3 := False; + GL_VERSION_4_0 := False; + GL_VERSION_4_1 := False; + GL_VERSION_4_2 := False; + GL_VERSION_4_3 := False; + GL_VERSION_4_4 := False; + + if MajorVersion = 1 then + begin + if MinorVersion >= 1 then + GL_VERSION_1_1 := True; + if MinorVersion >= 2 then + GL_VERSION_1_2 := True; + if MinorVersion >= 3 then + GL_VERSION_1_3 := True; + if MinorVersion >= 4 then + GL_VERSION_1_4 := True; + if MinorVersion >= 5 then + GL_VERSION_1_5 := True; + end; + + if MajorVersion >= 2 then + begin + GL_VERSION_1_1 := True; + GL_VERSION_1_2 := True; + GL_VERSION_1_3 := True; + GL_VERSION_1_4 := True; + GL_VERSION_1_5 := True; + GL_VERSION_2_0 := True; + + if MinorVersion >= 1 then + GL_VERSION_2_1 := True; + end; + + if MajorVersion >= 3 then + begin + GL_VERSION_2_1 := True; + GL_VERSION_3_0 := True; + + if MinorVersion >= 1 then + GL_VERSION_3_1 := True; + if MinorVersion >= 2 then + GL_VERSION_3_2 := True; + if MinorVersion >= 3 then + GL_VERSION_3_3 := True; + end; + + if MajorVersion >= 4 then + begin + GL_VERSION_3_1 := True; + GL_VERSION_3_2 := True; + GL_VERSION_3_3 := True; + GL_VERSION_4_0 := True; + + if MinorVersion >= 1 then + GL_VERSION_4_1 := True; + if MinorVersion >= 2 then + GL_VERSION_4_2 := True; + if MinorVersion >= 3 then + GL_VERSION_4_3 := True; + if MinorVersion >= 4 then + GL_VERSION_4_4 := True; + end; + + // GLU + GLU_VERSION_1_1 := False; + GLU_VERSION_1_2 := False; + GLU_VERSION_1_3 := False; + + if Assigned(gluGetString) then begin + AnsiBuffer := gluGetString(GLU_VERSION); + Buffer := String(AnsiBuffer); + + TrimAndSplitVersionString(Buffer, Majorversion, MinorVersion); + + GLU_VERSION_1_1 := True; + + if MinorVersion >= 2 then + GLU_VERSION_1_2 := True; + + if MinorVersion >= 3 then + GLU_VERSION_1_3 := True; + end; +end; + + +// ============================================================================= +// ReadImplementationProperties +// ============================================================================= + +procedure ReadImplementationProperties; +var + Buffer: Ansistring; +begin + ReadCoreVersion; + + // Check all extensions + Buffer := Int_GetExtensionString; + + // === 3DFX ==================================================================== + GL_3DFX_multisample := Int_CheckExtension(Buffer, 'GL_3DFX_multisample'); + GL_3DFX_tbuffer := Int_CheckExtension(Buffer, 'GL_3DFX_tbuffer'); + GL_3DFX_texture_compression_FXT1 := Int_CheckExtension(Buffer, 'GL_3DFX_texture_compression_FXT1'); + + // === APPLE =================================================================== + GL_APPLE_client_storage := Int_CheckExtension(Buffer, 'GL_APPLE_client_storage'); + GL_APPLE_element_array := Int_CheckExtension(Buffer, 'GL_APPLE_element_array'); + GL_APPLE_fence := Int_CheckExtension(Buffer, 'GL_APPLE_fence'); + GL_APPLE_specular_vector := Int_CheckExtension(Buffer, 'GL_APPLE_specular_vector'); + GL_APPLE_transform_hint := Int_CheckExtension(Buffer, 'GL_APPLE_transform_hint'); + GL_APPLE_vertex_array_object := Int_CheckExtension(Buffer, 'GL_APPLE_vertex_array_object'); + GL_APPLE_vertex_array_range := Int_CheckExtension(Buffer, 'GL_APPLE_vertex_array_range'); + GL_APPLE_ycbcr_422 := Int_CheckExtension(Buffer, 'GL_APPLE_ycbcr_422'); + GL_APPLE_texture_range := Int_CheckExtension(Buffer, 'GL_APPLE_texture_range'); + GL_APPLE_float_pixels := Int_CheckExtension(Buffer, 'GL_APPLE_float_pixels'); + GL_APPLE_vertex_program_evaluators := Int_CheckExtension(Buffer, 'GL_APPLE_vertex_program_evaluators'); + GL_APPLE_aux_depth_stencil := Int_CheckExtension(Buffer, 'GL_APPLE_aux_depth_stencil'); + GL_APPLE_object_purgeable := Int_CheckExtension(Buffer, 'GL_APPLE_object_purgeable'); + GL_APPLE_row_bytes := Int_CheckExtension(Buffer, 'GL_APPLE_row_bytes'); + GL_APPLE_rgb_422 := Int_CheckExtension(Buffer, 'GL_APPLE_rgb_422'); + + // === ARB ===================================================================== + GL_ARB_depth_texture := Int_CheckExtension(Buffer, 'GL_ARB_depth_texture'); + GL_ARB_fragment_program := Int_CheckExtension(Buffer, 'GL_ARB_fragment_program'); + GL_ARB_imaging := Int_CheckExtension(Buffer, 'GL_ARB_imaging'); + GL_ARB_matrix_palette := Int_CheckExtension(Buffer, 'GL_ARB_matrix_palette'); + GL_ARB_multisample := Int_CheckExtension(Buffer, 'GL_ARB_multisample'); + GL_ARB_multitexture := Int_CheckExtension(Buffer, 'GL_ARB_multitexture'); + GL_ARB_point_parameters := Int_CheckExtension(Buffer, 'GL_ARB_point_parameters'); + GL_ARB_shadow := Int_CheckExtension(Buffer, 'GL_ARB_shadow'); + GL_ARB_shadow_ambient := Int_CheckExtension(Buffer, 'GL_ARB_shadow_ambient'); + GL_ARB_texture_border_clamp := Int_CheckExtension(Buffer, 'GL_ARB_texture_border_clamp'); + GL_ARB_texture_compression := Int_CheckExtension(Buffer, 'GL_ARB_texture_compression'); + GL_ARB_texture_cube_map := Int_CheckExtension(Buffer, 'GL_ARB_texture_cube_map'); + GL_ARB_texture_env_add := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_add'); + GL_ARB_texture_env_combine := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_combine'); + GL_ARB_texture_env_crossbar := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_crossbar'); + GL_ARB_texture_env_dot3 := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_dot3'); + GL_ARB_texture_mirrored_repeat := Int_CheckExtension(Buffer, 'GL_ARB_texture_mirrored_repeat'); + GL_ARB_transpose_matrix := Int_CheckExtension(Buffer, 'GL_ARB_transpose_matrix'); + GL_ARB_vertex_blend := Int_CheckExtension(Buffer, 'GL_ARB_vertex_blend'); + GL_ARB_vertex_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_vertex_buffer_object'); + GL_ARB_vertex_program := Int_CheckExtension(Buffer, 'GL_ARB_vertex_program'); + GL_ARB_window_pos := Int_CheckExtension(Buffer, 'GL_ARB_window_pos'); + GL_ARB_shader_objects := Int_CheckExtension(Buffer, 'GL_ARB_shader_objects'); + GL_ARB_vertex_shader := Int_CheckExtension(Buffer, 'GL_ARB_vertex_shader'); + GL_ARB_fragment_shader := Int_CheckExtension(Buffer, 'GL_ARB_fragment_shader'); + GL_ARB_occlusion_query := Int_CheckExtension(Buffer, 'GL_ARB_occlusion_query'); + GL_ARB_shading_language_100 := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_100'); + GL_ARB_point_sprite := Int_CheckExtension(Buffer, 'GL_ARB_point_sprite'); + GL_ARB_texture_non_power_of_two := Int_CheckExtension(Buffer, 'GL_ARB_texture_non_power_of_two'); + GL_ARB_fragment_program_shadow := Int_CheckExtension(Buffer, 'GL_ARB_fragment_program_shadow'); + GL_ARB_draw_buffers := Int_CheckExtension(Buffer, 'GL_ARB_draw_buffers'); + GL_ARB_texture_rectangle := Int_CheckExtension(Buffer, 'GL_ARB_texture_rectangle'); + GL_ARB_color_buffer_float := Int_CheckExtension(Buffer, 'GL_ARB_color_buffer_float'); + GL_ARB_half_float_pixel := Int_CheckExtension(Buffer, 'GL_ARB_half_float_pixel'); + GL_ARB_texture_float := Int_CheckExtension(Buffer, 'GL_ARB_texture_float'); + GL_ARB_pixel_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_pixel_buffer_object'); + GL_ARB_depth_buffer_float := Int_CheckExtension(Buffer, 'GL_ARB_depth_buffer_float'); + GL_ARB_draw_instanced := Int_CheckExtension(Buffer, 'GL_ARB_draw_instanced'); + GL_ARB_framebuffer_object := Int_CheckExtension(Buffer, 'GL_ARB_framebuffer_object'); + GL_ARB_framebuffer_sRGB := Int_CheckExtension(Buffer, 'GL_ARB_framebuffer_sRGB'); + GL_ARB_geometry_shader4 := Int_CheckExtension(Buffer, 'GL_ARB_geometry_shader4'); + GL_ARB_half_float_vertex := Int_CheckExtension(Buffer, 'GL_ARB_half_float_vertex'); + GL_ARB_instanced_arrays := Int_CheckExtension(Buffer, 'GL_ARB_instanced_arrays'); + GL_ARB_map_buffer_range := Int_CheckExtension(Buffer, 'GL_ARB_map_buffer_range'); + GL_ARB_texture_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_texture_buffer_object'); + GL_ARB_texture_compression_rgtc := Int_CheckExtension(Buffer, 'GL_ARB_texture_compression_rgtc'); + GL_ARB_texture_rg := Int_CheckExtension(Buffer, 'GL_ARB_texture_rg'); + GL_ARB_vertex_array_object := Int_CheckExtension(Buffer, 'GL_ARB_vertex_array_object'); + GL_ARB_uniform_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_uniform_buffer_object'); + GL_ARB_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_compatibility'); + GL_ARB_copy_buffer := Int_CheckExtension(Buffer, 'GL_ARB_copy_buffer'); + GL_ARB_shader_texture_lod := Int_CheckExtension(Buffer, 'GL_ARB_shader_texture_lod'); + GL_ARB_depth_clamp := Int_CheckExtension(Buffer, 'GL_ARB_depth_clamp'); + GL_ARB_draw_elements_base_vertex := Int_CheckExtension(Buffer, 'GL_ARB_draw_elements_base_vertex'); + GL_ARB_fragment_coord_conventions := Int_CheckExtension(Buffer, 'GL_ARB_fragment_coord_conventions'); + GL_ARB_provoking_vertex := Int_CheckExtension(Buffer, 'GL_ARB_provoking_vertex'); + GL_ARB_seamless_cube_map := Int_CheckExtension(Buffer, 'GL_ARB_seamless_cube_map'); + GL_ARB_sync := Int_CheckExtension(Buffer, 'GL_ARB_sync'); + GL_ARB_texture_multisample := Int_CheckExtension(Buffer, 'GL_ARB_texture_multisample'); + GL_ARB_vertex_array_bgra := Int_CheckExtension(Buffer, 'GL_ARB_vertex_array_bgra'); + GL_ARB_draw_buffers_blend := Int_CheckExtension(Buffer, 'GL_ARB_draw_buffers_blend'); + GL_ARB_sample_shading := Int_CheckExtension(Buffer, 'GL_ARB_sample_shading'); + GL_ARB_texture_cube_map_array := Int_CheckExtension(Buffer, 'GL_ARB_texture_cube_map_array'); + GL_ARB_texture_gather := Int_CheckExtension(Buffer, 'GL_ARB_texture_gather'); + GL_ARB_texture_query_lod := Int_CheckExtension(Buffer, 'GL_ARB_texture_query_lod'); + GL_ARB_shading_language_include := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_include'); + GL_ARB_texture_compression_bptc := Int_CheckExtension(Buffer, 'GL_ARB_texture_compression_bptc'); + GL_ARB_blend_func_extended := Int_CheckExtension(Buffer, 'GL_ARB_blend_func_extended'); + GL_ARB_explicit_attrib_location := Int_CheckExtension(Buffer, 'GL_ARB_explicit_attrib_location'); + GL_ARB_occlusion_query2 := Int_CheckExtension(Buffer, 'GL_ARB_occlusion_query2'); + GL_ARB_sampler_objects := Int_CheckExtension(Buffer, 'GL_ARB_sampler_objects'); + GL_ARB_shader_bit_encoding := Int_CheckExtension(Buffer, 'GL_ARB_shader_bit_encoding'); + GL_ARB_texture_rgb10_a2ui := Int_CheckExtension(Buffer, 'GL_ARB_texture_rgb10_a2ui'); + GL_ARB_texture_swizzle := Int_CheckExtension(Buffer, 'GL_ARB_texture_swizzle'); + GL_ARB_timer_query := Int_CheckExtension(Buffer, 'GL_ARB_timer_query'); + GL_ARB_vertex_type_2_10_10_10_rev := Int_CheckExtension(Buffer, 'GL_ARB_vertex_type_2_10_10_10_rev'); + GL_ARB_draw_indirect := Int_CheckExtension(Buffer, 'GL_ARB_draw_indirect'); + GL_ARB_gpu_shader5 := Int_CheckExtension(Buffer, 'GL_ARB_gpu_shader5'); + GL_ARB_gpu_shader_fp64 := Int_CheckExtension(Buffer, 'GL_ARB_gpu_shader_fp64'); + GL_ARB_shader_subroutine := Int_CheckExtension(Buffer, 'GL_ARB_shader_subroutine'); + GL_ARB_tessellation_shader := Int_CheckExtension(Buffer, 'GL_ARB_tessellation_shader'); + GL_ARB_texture_buffer_object_rgb32 := Int_CheckExtension(Buffer, 'GL_ARB_texture_buffer_object_rgb32'); + GL_ARB_transform_feedback2 := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback2'); + GL_ARB_transform_feedback3 := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback3'); + GL_ARB_ES2_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_ES2_compatibility'); + GL_ARB_get_program_binary := Int_CheckExtension(Buffer, 'GL_ARB_get_program_binary'); + GL_ARB_separate_shader_objects := Int_CheckExtension(Buffer, 'GL_ARB_separate_shader_objects'); + GL_ARB_shader_precision := Int_CheckExtension(Buffer, 'GL_ARB_shader_precision'); + GL_ARB_vertex_attrib_64bit := Int_CheckExtension(Buffer, 'GL_ARB_vertex_attrib_64bit'); + GL_ARB_viewport_array := Int_CheckExtension(Buffer, 'GL_ARB_viewport_array'); + + // GL 4.2 + GL_ARB_base_instance := Int_CheckExtension(Buffer, 'GL_ARB_base_instance'); + GL_ARB_shading_language_420pack := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_420pack'); + GL_ARB_transform_feedback_instanced := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback_instanced'); + GL_ARB_compressed_texture_pixel_storage := Int_CheckExtension(Buffer, 'GL_ARB_compressed_texture_pixel_storage'); + GL_ARB_conservative_depth := Int_CheckExtension(Buffer, 'GL_ARB_conservative_depth'); + GL_ARB_internalformat_query := Int_CheckExtension(Buffer, 'GL_ARB_internalformat_query'); + GL_ARB_map_buffer_alignment := Int_CheckExtension(Buffer, 'GL_ARB_map_buffer_alignment'); + GL_ARB_shader_atomic_counters := Int_CheckExtension(Buffer, 'GL_ARB_shader_atomic_counters'); + GL_ARB_shader_image_load_store := Int_CheckExtension(Buffer, 'GL_ARB_shader_image_load_store'); + GL_ARB_shading_language_packing := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_packing'); + GL_ARB_texture_storage := Int_CheckExtension(Buffer, 'GL_ARB_texture_storage'); + // END GL 4.2 + + // GL 4.3 + GL_ARB_arrays_of_arrays := Int_CheckExtension(Buffer, 'GL_ARB_arrays_of_arrays'); + GL_ARB_fragment_layer_viewport := Int_CheckExtension(Buffer, 'GL_ARB_fragment_layer_viewport'); + GL_ARB_shader_image_size := Int_CheckExtension(Buffer, 'GL_ARB_shader_image_size'); + GL_ARB_ES3_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_ES3_compatibility'); + GL_ARB_clear_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_clear_buffer_object'); + GL_ARB_compute_shader := Int_CheckExtension(Buffer, 'GL_ARB_compute_shader'); + GL_ARB_copy_image := Int_CheckExtension(Buffer, 'GL_ARB_copy_image'); + GL_KHR_debug := Int_CheckExtension(Buffer, 'GL_KHR_debug'); + GL_ARB_explicit_uniform_location := Int_CheckExtension(Buffer, 'GL_ARB_explicit_uniform_location'); + GL_ARB_framebuffer_no_attachments := Int_CheckExtension(Buffer, 'GL_ARB_framebuffer_no_attachments'); + GL_ARB_internalformat_query2 := Int_CheckExtension(Buffer, 'GL_ARB_internalformat_query2'); + GL_ARB_invalidate_subdata := Int_CheckExtension(Buffer, 'GL_ARB_invalidate_subdata'); + GL_ARB_multi_draw_indirect := Int_CheckExtension(Buffer, 'GL_ARB_multi_draw_indirect'); + GL_ARB_program_interface_query := Int_CheckExtension(Buffer, 'GL_ARB_program_interface_query'); + GL_ARB_robust_buffer_access_behavior := Int_CheckExtension(Buffer, 'GL_ARB_robust_buffer_access_behavior'); + GL_ARB_shader_storage_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_shader_storage_buffer_object'); + GL_ARB_stencil_texturing := Int_CheckExtension(Buffer, 'GL_ARB_stencil_texturing'); + GL_ARB_texture_buffer_range := Int_CheckExtension(Buffer, 'GL_ARB_texture_buffer_range'); + GL_ARB_texture_query_levels := Int_CheckExtension(Buffer, 'GL_ARB_texture_query_levels'); + GL_ARB_texture_storage_multisample := Int_CheckExtension(Buffer, 'GL_ARB_texture_storage_multisample'); + GL_ARB_texture_view := Int_CheckExtension(Buffer, 'GL_ARB_texture_view'); + GL_ARB_vertex_attrib_binding := Int_CheckExtension(Buffer, 'GL_ARB_vertex_attrib_binding'); + GL_ARB_cl_event := Int_CheckExtension(Buffer, 'GL_ARB_cl_event'); + GL_ARB_debug_output := Int_CheckExtension(Buffer, 'GL_ARB_debug_output'); + GL_ARB_robustness := Int_CheckExtension(Buffer, 'GL_ARB_robustness'); + GL_ARB_shader_stencil_export := Int_CheckExtension(Buffer, 'GL_ARB_shader_stencil_export'); + // END GL 4.3 + + // GL 4.4 + GL_ARB_buffer_storage := Int_CheckExtension(Buffer, 'GL_ARB_buffer_storage'); + GL_ARB_clear_texture := Int_CheckExtension(Buffer, 'GL_ARB_clear_texture'); + GL_ARB_enhanced_layouts := Int_CheckExtension(Buffer, 'GL_ARB_enhanced_layouts'); + GL_ARB_multi_bind := Int_CheckExtension(Buffer, 'GL_ARB_multi_bind'); + GL_ARB_query_buffer_object := Int_CheckExtension(Buffer, 'GL_ARB_query_buffer_object'); + GL_ARB_texture_mirror_clamp_to_edge := Int_CheckExtension(Buffer, 'GL_ARB_texture_mirror_clamp_to_edge'); + GL_ARB_texture_stencil8 := Int_CheckExtension(Buffer, 'GL_ARB_texture_stencil8'); + GL_ARB_vertex_type_10f_11f_11f_rev := Int_CheckExtension(Buffer, 'GL_ARB_vertex_type_10f_11f_11f_rev'); + // END GL 4.4 + + // === ATI/AMD ================================================================ + GL_ATI_draw_buffers := Int_CheckExtension(Buffer, 'GL_ATI_draw_buffers'); + GL_ATI_element_array := Int_CheckExtension(Buffer, 'GL_ATI_element_array'); + GL_ATI_envmap_bumpmap := Int_CheckExtension(Buffer, 'GL_ATI_envmap_bumpmap'); + GL_ATI_fragment_shader := Int_CheckExtension(Buffer, 'GL_ATI_fragment_shader'); + GL_ATI_map_object_buffer := Int_CheckExtension(Buffer, 'GL_ATI_map_object_buffer'); + GL_ATI_pn_triangles := Int_CheckExtension(Buffer, 'GL_ATI_pn_triangles'); + GL_ATI_separate_stencil := Int_CheckExtension(Buffer, 'GL_ATI_separate_stencil'); + GL_ATI_text_fragment_shader := Int_CheckExtension(Buffer, 'GL_ATI_text_fragment_shader'); + GL_ATI_texture_env_combine3 := Int_CheckExtension(Buffer, 'GL_ATI_texture_env_combine3'); + GL_ATI_texture_float := Int_CheckExtension(Buffer, 'GL_ATI_texture_float'); + GL_ATI_texture_mirror_once := Int_CheckExtension(Buffer, 'GL_ATI_texture_mirror_once'); + GL_ATI_vertex_array_object := Int_CheckExtension(Buffer, 'GL_ATI_vertex_array_object'); + GL_ATI_vertex_attrib_array_object := Int_CheckExtension(Buffer, 'GL_ATI_vertex_attrib_array_object'); + GL_ATI_vertex_streams := Int_CheckExtension(Buffer, 'GL_ATI_vertex_streams'); + GL_ATI_meminfo := Int_CheckExtension(Buffer, 'GL_ATI_meminfo'); + GL_AMD_performance_monitor := Int_CheckExtension(Buffer, 'GL_AMD_performance_monitor'); + GL_AMD_texture_texture4 := Int_CheckExtension(Buffer, 'GL_AMD_texture_texture4'); + GL_AMD_vertex_shader_tesselator := Int_CheckExtension(Buffer, 'GL_AMD_vertex_shader_tesselator'); + GL_AMD_draw_buffers_blend := Int_CheckExtension(Buffer, 'GL_AMD_draw_buffers_blend'); + GL_AMD_shader_stencil_export := Int_CheckExtension(Buffer, 'GL_AMD_shader_stencil_export'); + GL_AMD_seamless_cubemap_per_texture := Int_CheckExtension(Buffer, 'GL_AMD_seamless_cubemap_per_texture'); + GL_AMD_conservative_depth := Int_CheckExtension(Buffer, 'GL_AMD_conservative_depth'); + GL_AMD_name_gen_delete := Int_CheckExtension(Buffer, 'GL_AMD_name_gen_delete'); + GL_AMD_debug_output := Int_CheckExtension(Buffer, 'GL_AMD_debug_output'); + GL_AMD_transform_feedback3_lines_triangles := Int_CheckExtension(Buffer, 'GL_AMD_transform_feedback3_lines_triangles'); + GL_AMD_depth_clamp_separate := Int_CheckExtension(Buffer, 'GL_AMD_depth_clamp_separate'); + // 4.3 + GL_AMD_pinned_memory := Int_CheckExtension(Buffer, 'GL_AMD_pinned_memory'); + GL_AMD_stencil_operation_extended := Int_CheckExtension(Buffer, 'GL_AMD_stencil_operation_extended'); + GL_AMD_vertex_shader_viewport_index := Int_CheckExtension(Buffer, 'GL_AMD_vertex_shader_viewport_index'); + GL_AMD_vertex_shader_layer := Int_CheckExtension(Buffer, 'GL_AMD_vertex_shader_layer'); + GL_AMD_query_buffer_object := Int_CheckExtension(Buffer, 'GL_AMD_query_buffer_object'); + + // === EXT ===================================================================== + GL_EXT_422_pixels := Int_CheckExtension(Buffer, 'GL_EXT_422_pixels'); + GL_EXT_abgr := Int_CheckExtension(Buffer, 'GL_EXT_abgr'); + GL_EXT_bgra := Int_CheckExtension(Buffer, 'GL_EXT_bgra'); + GL_EXT_blend_color := Int_CheckExtension(Buffer, 'GL_EXT_blend_color'); + GL_EXT_blend_func_separate := Int_CheckExtension(Buffer, 'GL_EXT_blend_func_separate'); + GL_EXT_blend_logic_op := Int_CheckExtension(Buffer, 'GL_EXT_blend_logic_op'); + GL_EXT_blend_minmax := Int_CheckExtension(Buffer, 'GL_EXT_blend_minmax'); + GL_EXT_blend_subtract := Int_CheckExtension(Buffer, 'GL_EXT_blend_subtract'); + GL_EXT_clip_volume_hint := Int_CheckExtension(Buffer, 'GL_EXT_clip_volume_hint'); + GL_EXT_cmyka := Int_CheckExtension(Buffer, 'GL_EXT_cmyka'); + GL_EXT_color_matrix := Int_CheckExtension(Buffer, 'GL_EXT_color_matrix'); + GL_EXT_color_subtable := Int_CheckExtension(Buffer, 'GL_EXT_color_subtable'); + GL_EXT_compiled_vertex_array := Int_CheckExtension(Buffer, 'GL_EXT_compiled_vertex_array'); + GL_EXT_convolution := Int_CheckExtension(Buffer, 'GL_EXT_convolution'); + GL_EXT_coordinate_frame := Int_CheckExtension(Buffer, 'GL_EXT_coordinate_frame'); + GL_EXT_copy_texture := Int_CheckExtension(Buffer, 'GL_EXT_copy_texture'); + GL_EXT_cull_vertex := Int_CheckExtension(Buffer, 'GL_EXT_cull_vertex'); + GL_EXT_draw_range_elements := Int_CheckExtension(Buffer, 'GL_EXT_draw_range_elements'); + GL_EXT_fog_coord := Int_CheckExtension(Buffer, 'GL_EXT_fog_coord'); + GL_EXT_framebuffer_object := Int_CheckExtension(Buffer, 'GL_EXT_framebuffer_object'); + GL_EXT_histogram := Int_CheckExtension(Buffer, 'GL_EXT_histogram'); + GL_EXT_index_array_formats := Int_CheckExtension(Buffer, 'GL_EXT_index_array_formats'); + GL_EXT_index_func := Int_CheckExtension(Buffer, 'GL_EXT_index_func'); + GL_EXT_index_material := Int_CheckExtension(Buffer, 'GL_EXT_index_material'); + GL_EXT_index_texture := Int_CheckExtension(Buffer, 'GL_EXT_index_texture'); + GL_EXT_light_texture := Int_CheckExtension(Buffer, 'GL_EXT_light_texture'); + GL_EXT_misc_attribute := Int_CheckExtension(Buffer, 'GL_EXT_misc_attribute'); + GL_EXT_multi_draw_arrays := Int_CheckExtension(Buffer, 'GL_EXT_multi_draw_arrays'); + GL_EXT_multisample := Int_CheckExtension(Buffer, 'GL_EXT_multisample'); + GL_EXT_packed_pixels := Int_CheckExtension(Buffer, 'GL_EXT_packed_pixels'); + GL_EXT_paletted_texture := Int_CheckExtension(Buffer, 'GL_EXT_paletted_texture'); + GL_EXT_pixel_transform := Int_CheckExtension(Buffer, 'GL_EXT_pixel_transform'); + GL_EXT_pixel_transform_color_table := Int_CheckExtension(Buffer, 'GL_EXT_pixel_transform_color_table'); + GL_EXT_point_parameters := Int_CheckExtension(Buffer, 'GL_EXT_point_parameters'); + GL_EXT_polygon_offset := Int_CheckExtension(Buffer, 'GL_EXT_polygon_offset'); + GL_EXT_rescale_normal := Int_CheckExtension(Buffer, 'GL_EXT_rescale_normal'); + GL_EXT_secondary_color := Int_CheckExtension(Buffer, 'GL_EXT_secondary_color'); + GL_EXT_separate_specular_color := Int_CheckExtension(Buffer, 'GL_EXT_separate_specular_color'); + GL_EXT_shadow_funcs := Int_CheckExtension(Buffer, 'GL_EXT_shadow_funcs'); + GL_EXT_shared_texture_palette := Int_CheckExtension(Buffer, 'GL_EXT_shared_texture_palette'); + GL_EXT_stencil_two_side := Int_CheckExtension(Buffer, 'GL_EXT_stencil_two_side'); + GL_EXT_stencil_wrap := Int_CheckExtension(Buffer, 'GL_EXT_stencil_wrap'); + GL_EXT_subtexture := Int_CheckExtension(Buffer, 'GL_EXT_subtexture'); + GL_EXT_texture := Int_CheckExtension(Buffer, 'GL_EXT_texture'); + GL_EXT_texture3D := Int_CheckExtension(Buffer, 'GL_EXT_texture3D'); + GL_EXT_texture_compression_s3tc := Int_CheckExtension(Buffer, 'GL_EXT_texture_compression_s3tc'); + GL_EXT_texture_cube_map := Int_CheckExtension(Buffer, 'GL_EXT_texture_cube_map'); + GL_EXT_texture_edge_clamp := Int_CheckExtension(Buffer, 'GL_EXT_texture_edge_clamp'); + GL_EXT_texture_env_add := Int_CheckExtension(Buffer, 'GL_EXT_texture_env_add'); + GL_EXT_texture_env_combine := Int_CheckExtension(Buffer, 'GL_EXT_texture_env_combine'); + GL_EXT_texture_env_dot3 := Int_CheckExtension(Buffer, 'GL_EXT_texture_env_dot3'); + GL_EXT_texture_filter_anisotropic := Int_CheckExtension(Buffer, 'GL_EXT_texture_filter_anisotropic'); + GL_EXT_texture_lod_bias := Int_CheckExtension(Buffer, 'GL_EXT_texture_lod_bias'); + GL_EXT_texture_object := Int_CheckExtension(Buffer, 'GL_EXT_texture_object'); + GL_EXT_texture_perturb_normal := Int_CheckExtension(Buffer, 'GL_EXT_texture_perturb_normal'); + GL_EXT_texture_rectangle := Int_CheckExtension(Buffer, 'GL_EXT_texture_rectangle'); + GL_EXT_vertex_array := Int_CheckExtension(Buffer, 'GL_EXT_vertex_array'); + GL_EXT_vertex_shader := Int_CheckExtension(Buffer, 'GL_EXT_vertex_shader'); + GL_EXT_vertex_weighting := Int_CheckExtension(Buffer, 'GL_EXT_vertex_weighting'); + GL_EXT_depth_bounds_test := Int_CheckExtension(Buffer, 'GL_EXT_depth_bounds_test'); + GL_EXT_texture_mirror_clamp := Int_CheckExtension(Buffer, 'GL_EXT_texture_mirror_clamp'); + GL_EXT_blend_equation_separate := Int_CheckExtension(Buffer, 'GL_EXT_blend_equation_separate'); + GL_EXT_pixel_buffer_object := Int_CheckExtension(Buffer, 'GL_EXT_pixel_buffer_object'); + GL_EXT_texture_compression_dxt1 := Int_CheckExtension(Buffer, 'GL_EXT_texture_compression_dxt1'); + GL_EXT_stencil_clear_tag := Int_CheckExtension(Buffer, 'GL_EXT_stencil_clear_tag'); + GL_EXT_packed_depth_stencil := Int_CheckExtension(Buffer, 'GL_EXT_packed_depth_stencil'); + GL_EXT_texture_sRGB := Int_CheckExtension(Buffer, 'GL_EXT_texture_sRGB'); + GL_EXT_framebuffer_blit := Int_CheckExtension(Buffer, 'GL_EXT_framebuffer_blit'); + GL_EXT_framebuffer_multisample := Int_CheckExtension(Buffer, 'GL_EXT_framebuffer_multisample'); + GL_EXT_timer_query := Int_CheckExtension(Buffer, 'GL_EXT_timer_query'); + GL_EXT_gpu_program_parameters := Int_CheckExtension(Buffer, 'GL_EXT_gpu_program_parameters'); + GL_EXT_bindable_uniform := Int_CheckExtension(Buffer, 'GL_EXT_bindable_uniform'); + GL_EXT_draw_buffers2 := Int_CheckExtension(Buffer, 'GL_EXT_draw_buffers2'); + GL_EXT_draw_instanced := Int_CheckExtension(Buffer, 'GL_EXT_draw_instanced'); + GL_EXT_framebuffer_sRGB := Int_CheckExtension(Buffer, 'GL_EXT_framebuffer_sRGB'); + GL_EXT_geometry_shader4 := Int_CheckExtension(Buffer, 'GL_EXT_geometry_shader4'); + GL_EXT_gpu_shader4 := Int_CheckExtension(Buffer, 'GL_EXT_gpu_shader4'); + GL_EXT_packed_float := Int_CheckExtension(Buffer, 'GL_EXT_packed_float'); + GL_EXT_texture_array := Int_CheckExtension(Buffer, 'GL_EXT_texture_array'); + GL_EXT_texture_buffer_object := Int_CheckExtension(Buffer, 'GL_EXT_texture_buffer_object'); + GL_EXT_texture_compression_latc := Int_CheckExtension(Buffer, 'GL_EXT_texture_compression_latc'); + GL_EXT_texture_compression_rgtc := Int_CheckExtension(Buffer, 'GL_EXT_texture_compression_rgtc'); + GL_EXT_texture_integer := Int_CheckExtension(Buffer, 'GL_EXT_texture_integer'); + GL_EXT_texture_shared_exponent := Int_CheckExtension(Buffer, 'GL_EXT_texture_shared_exponent'); + GL_EXT_transform_feedback := Int_CheckExtension(Buffer, 'GL_EXT_transform_feedback'); + GL_EXT_direct_state_access := Int_CheckExtension(Buffer, 'GL_EXT_direct_state_access'); + GL_EXT_vertex_array_bgra := Int_CheckExtension(Buffer, 'GL_EXT_vertex_array_bgra'); + GL_EXT_texture_swizzle := Int_CheckExtension(Buffer, 'GL_EXT_texture_swizzle'); + GL_EXT_provoking_vertex := Int_CheckExtension(Buffer, 'GL_EXT_provoking_vertex'); + GL_EXT_texture_snorm := Int_CheckExtension(Buffer, 'GL_EXT_texture_snorm'); + GL_EXT_separate_shader_objects := Int_CheckExtension(Buffer, 'GL_EXT_separate_shader_objects'); + GL_EXT_shader_image_load_store := Int_CheckExtension(Buffer, 'GL_EXT_shader_image_load_store'); + GL_EXT_vertex_attrib_64bit := Int_CheckExtension(Buffer, 'GL_EXT_vertex_attrib_64bit'); + GL_EXT_texture_sRGB_decode := Int_CheckExtension(Buffer, 'GL_EXT_texture_sRGB_decode'); + + // === HP ====================================================================== + GL_HP_convolution_border_modes := Int_CheckExtension(Buffer, 'GL_HP_convolution_border_modes'); + GL_HP_image_transform := Int_CheckExtension(Buffer, 'GL_HP_image_transform'); + GL_HP_occlusion_test := Int_CheckExtension(Buffer, 'GL_HP_occlusion_test'); + GL_HP_texture_lighting := Int_CheckExtension(Buffer, 'GL_HP_texture_lighting'); + + // === IBM ===================================================================== + GL_IBM_cull_vertex := Int_CheckExtension(Buffer, 'GL_IBM_cull_vertex'); + GL_IBM_multimode_draw_arrays := Int_CheckExtension(Buffer, 'GL_IBM_multimode_draw_arrays'); + GL_IBM_rasterpos_clip := Int_CheckExtension(Buffer, 'GL_IBM_rasterpos_clip'); + GL_IBM_texture_mirrored_repeat := Int_CheckExtension(Buffer, 'GL_IBM_texture_mirrored_repeat'); + GL_IBM_vertex_array_lists := Int_CheckExtension(Buffer, 'GL_IBM_vertex_array_lists'); + + // === INGR ==================================================================== + GL_INGR_blend_func_separate := Int_CheckExtension(Buffer, 'GL_INGR_blend_func_separate'); + GL_INGR_color_clamp := Int_CheckExtension(Buffer, 'GL_INGR_color_clamp'); + GL_INGR_interlace_read := Int_CheckExtension(Buffer, 'GL_INGR_interlace_read'); + GL_INGR_palette_buffer := Int_CheckExtension(Buffer, 'GL_INGR_palette_buffer'); + + // === INTEL =================================================================== + GL_INTEL_parallel_arrays := Int_CheckExtension(Buffer, 'GL_INTEL_parallel_arrays'); + GL_INTEL_texture_scissor := Int_CheckExtension(Buffer, 'GL_INTEL_texture_scissor'); + + // === MESA ==================================================================== + GL_MESA_resize_buffers := Int_CheckExtension(Buffer, 'GL_MESA_resize_buffers'); + GL_MESA_window_pos := Int_CheckExtension(Buffer, 'GL_MESA_window_pos'); + + // === NVIDIA ================================================================== + GL_NV_blend_square := Int_CheckExtension(Buffer, 'GL_NV_blend_square'); + GL_NV_copy_depth_to_color := Int_CheckExtension(Buffer, 'GL_NV_copy_depth_to_color'); + GL_NV_depth_clamp := Int_CheckExtension(Buffer, 'GL_NV_depth_clamp'); + GL_NV_evaluators := Int_CheckExtension(Buffer, 'GL_NV_evaluators'); + GL_NV_fence := Int_CheckExtension(Buffer, 'GL_NV_fence'); + GL_NV_float_buffer := Int_CheckExtension(Buffer, 'GL_NV_float_buffer'); + GL_NV_fog_distance := Int_CheckExtension(Buffer, 'GL_NV_fog_distance'); + GL_NV_fragment_program := Int_CheckExtension(Buffer, 'GL_NV_fragment_program'); + GL_NV_half_float := Int_CheckExtension(Buffer, 'GL_NV_half_float'); + GL_NV_light_max_exponent := Int_CheckExtension(Buffer, 'GL_NV_light_max_exponent'); + GL_NV_multisample_filter_hint := Int_CheckExtension(Buffer, 'GL_NV_multisample_filter_hint'); + GL_NV_occlusion_query := Int_CheckExtension(Buffer, 'GL_NV_occlusion_query'); + GL_NV_packed_depth_stencil := Int_CheckExtension(Buffer, 'GL_NV_packed_depth_stencil'); + GL_NV_pixel_data_range := Int_CheckExtension(Buffer, 'GL_NV_pixel_data_range'); + GL_NV_point_sprite := Int_CheckExtension(Buffer, 'GL_NV_point_sprite'); + GL_NV_primitive_restart := Int_CheckExtension(Buffer, 'GL_NV_primitive_restart'); + GL_NV_register_combiners := Int_CheckExtension(Buffer, 'GL_NV_register_combiners'); + GL_NV_register_combiners2 := Int_CheckExtension(Buffer, 'GL_NV_register_combiners2'); + GL_NV_texgen_emboss := Int_CheckExtension(Buffer, 'GL_NV_texgen_emboss'); + GL_NV_texgen_reflection := Int_CheckExtension(Buffer, 'GL_NV_texgen_reflection'); + GL_NV_texture_compression_vtc := Int_CheckExtension(Buffer, 'GL_NV_texture_compression_vtc'); + GL_NV_texture_env_combine4 := Int_CheckExtension(Buffer, 'GL_NV_texture_env_combine4'); + GL_NV_texture_expand_normal := Int_CheckExtension(Buffer, 'GL_NV_texture_expand_normal'); + GL_NV_texture_rectangle := Int_CheckExtension(Buffer, 'GL_NV_texture_rectangle'); + GL_NV_texture_shader := Int_CheckExtension(Buffer, 'GL_NV_texture_shader'); + GL_NV_texture_shader2 := Int_CheckExtension(Buffer, 'GL_NV_texture_shader2'); + GL_NV_texture_shader3 := Int_CheckExtension(Buffer, 'GL_NV_texture_shader3'); + GL_NV_vertex_array_range := Int_CheckExtension(Buffer, 'GL_NV_vertex_array_range'); + GL_NV_vertex_array_range2 := Int_CheckExtension(Buffer, 'GL_NV_vertex_array_range2'); + GL_NV_vertex_program := Int_CheckExtension(Buffer, 'GL_NV_vertex_program'); + GL_NV_vertex_program1_1 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program1_1'); + GL_NV_vertex_program2 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program2'); + GL_NV_fragment_program_option := Int_CheckExtension(Buffer, 'GL_NV_fragment_program_option'); + GL_NV_fragment_program2 := Int_CheckExtension(Buffer, 'GL_NV_fragment_program2'); + GL_NV_vertex_program2_option := Int_CheckExtension(Buffer, 'GL_NV_vertex_program2_option'); + GL_NV_vertex_program3 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program3'); + GL_NV_depth_buffer_float := Int_CheckExtension(Buffer, 'GL_NV_depth_buffer_float'); + GL_NV_fragment_program4 := Int_CheckExtension(Buffer, 'GL_NV_fragment_program4'); + GL_NV_framebuffer_multisample_coverage := Int_CheckExtension(Buffer, 'GL_NV_framebuffer_multisample_coverage'); + GL_NV_geometry_program4 := Int_CheckExtension(Buffer, 'GL_NV_geometry_program4'); + GL_NV_gpu_program4 := Int_CheckExtension(Buffer, 'GL_NV_gpu_program4'); + GL_NV_parameter_buffer_object := Int_CheckExtension(Buffer, 'GL_NV_parameter_buffer_object'); + GL_NV_transform_feedback := Int_CheckExtension(Buffer, 'GL_NV_transform_feedback'); + GL_NV_vertex_program4 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program4'); + GL_NV_conditional_render := Int_CheckExtension(Buffer, 'GL_NV_conditional_render'); + GL_NV_present_video := Int_CheckExtension(Buffer, 'GL_NV_present_video'); + GL_NV_explicit_multisample := Int_CheckExtension(Buffer, 'GL_NV_explicit_multisample'); + GL_NV_transform_feedback2 := Int_CheckExtension(Buffer, 'GL_NV_transform_feedback2'); + GL_NV_video_capture := Int_CheckExtension(Buffer, 'GL_NV_video_capture'); + GL_NV_copy_image := Int_CheckExtension(Buffer, 'GL_NV_copy_image'); + GL_NV_parameter_buffer_object2 := Int_CheckExtension(Buffer, 'GL_NV_parameter_buffer_object2'); + GL_NV_shader_buffer_load := Int_CheckExtension(Buffer, 'GL_NV_shader_buffer_load'); + GL_NV_vertex_buffer_unified_memory := Int_CheckExtension(Buffer, 'GL_NV_vertex_buffer_unified_memory'); + GL_NV_gpu_program5 := Int_CheckExtension(Buffer, 'GL_NV_gpu_program5'); + GL_NV_gpu_shader5 := Int_CheckExtension(Buffer, 'GL_NV_gpu_shader5'); + GL_NV_shader_buffer_store := Int_CheckExtension(Buffer, 'GL_NV_shader_buffer_store'); + GL_NV_tessellation_program5 := Int_CheckExtension(Buffer, 'GL_NV_tessellation_program5'); + GL_NV_vertex_attrib_integer_64bit := Int_CheckExtension(Buffer, 'GL_NV_vertex_attrib_integer_64bit'); + GL_NV_multisample_coverage := Int_CheckExtension(Buffer, 'GL_NV_multisample_coverage'); + GL_NV_vdpau_interop := Int_CheckExtension(Buffer, 'GL_NV_vdpau_interop'); + GL_NV_texture_barrier := Int_CheckExtension(Buffer, 'GL_NV_texture_barrier'); + // 4.3 + GL_NV_path_rendering := Int_CheckExtension(Buffer, 'GL_NV_path_rendering'); + GL_NV_bindless_texture := Int_CheckExtension(Buffer, 'GL_NV_bindless_texture'); + GL_NV_shader_atomic_float := Int_CheckExtension(Buffer, 'GL_NV_shader_atomic_float'); + + // === OML ===================================================================== + GL_OML_interlace := Int_CheckExtension(Buffer, 'GL_OML_interlace'); + GL_OML_resample := Int_CheckExtension(Buffer, 'GL_OML_resample'); + GL_OML_subsample := Int_CheckExtension(Buffer, 'GL_OML_subsample'); + + // === PGI ===================================================================== + GL_PGI_misc_hints := Int_CheckExtension(Buffer, 'GL_PGI_misc_hints'); + GL_PGI_vertex_hints := Int_CheckExtension(Buffer, 'GL_PGI_vertex_hints'); + + // === REND ==================================================================== + GL_REND_screen_coordinates := Int_CheckExtension(Buffer, 'GL_REND_screen_coordinates'); + + // === S3 ====================================================================== + GL_S3_s3tc := Int_CheckExtension(Buffer, 'GL_S3_s3tc'); + + // === SGIS ==================================================================== + GL_SGIS_detail_texture := Int_CheckExtension(Buffer, 'GL_SGIS_detail_texture'); + GL_SGIS_fog_function := Int_CheckExtension(Buffer, 'GL_SGIS_fog_function'); + GL_SGIS_generate_mipmap := Int_CheckExtension(Buffer, 'GL_SGIS_generate_mipmap'); + GL_SGIS_multisample := Int_CheckExtension(Buffer, 'GL_SGIS_multisample'); + GL_SGIS_pixel_texture := Int_CheckExtension(Buffer, 'GL_SGIS_pixel_texture'); + GL_SGIS_point_line_texgen := Int_CheckExtension(Buffer, 'GL_SGIS_point_line_texgen'); + GL_SGIS_point_parameters := Int_CheckExtension(Buffer, 'GL_SGIS_point_parameters'); + GL_SGIS_sharpen_texture := Int_CheckExtension(Buffer, 'GL_SGIS_sharpen_texture'); + GL_SGIS_texture4D := Int_CheckExtension(Buffer, 'GL_SGIS_texture4D'); + GL_SGIS_texture_border_clamp := Int_CheckExtension(Buffer, 'GL_SGIS_texture_border_clamp'); + GL_SGIS_texture_color_mask := Int_CheckExtension(Buffer, 'GL_SGIS_texture_color_mask'); + GL_SGIS_texture_edge_clamp := Int_CheckExtension(Buffer, 'GL_SGIS_texture_edge_clamp'); + GL_SGIS_texture_filter4 := Int_CheckExtension(Buffer, 'GL_SGIS_texture_filter4'); + GL_SGIS_texture_lod := Int_CheckExtension(Buffer, 'GL_SGIS_texture_lod'); + GL_SGIS_texture_select := Int_CheckExtension(Buffer, 'GL_SGIS_texture_select'); + + // === SGIX ==================================================================== + GL_FfdMaskSGIX := Int_CheckExtension(Buffer, 'GL_FfdMaskSGIX'); + GL_SGIX_async := Int_CheckExtension(Buffer, 'GL_SGIX_async'); + GL_SGIX_async_histogram := Int_CheckExtension(Buffer, 'GL_SGIX_async_histogram'); + GL_SGIX_async_pixel := Int_CheckExtension(Buffer, 'GL_SGIX_async_pixel'); + GL_SGIX_blend_alpha_minmax := Int_CheckExtension(Buffer, 'GL_SGIX_blend_alpha_minmax'); + GL_SGIX_calligraphic_fragment := Int_CheckExtension(Buffer, 'GL_SGIX_calligraphic_fragment'); + GL_SGIX_clipmap := Int_CheckExtension(Buffer, 'GL_SGIX_clipmap'); + GL_SGIX_convolution_accuracy := Int_CheckExtension(Buffer, 'GL_SGIX_convolution_accuracy'); + GL_SGIX_depth_pass_instrument := Int_CheckExtension(Buffer, 'GL_SGIX_depth_pass_instrument'); + GL_SGIX_depth_texture := Int_CheckExtension(Buffer, 'GL_SGIX_depth_texture'); + GL_SGIX_flush_raster := Int_CheckExtension(Buffer, 'GL_SGIX_flush_raster'); + GL_SGIX_fog_offset := Int_CheckExtension(Buffer, 'GL_SGIX_fog_offset'); + GL_SGIX_fog_scale := Int_CheckExtension(Buffer, 'GL_SGIX_fog_scale'); + GL_SGIX_fragment_lighting := Int_CheckExtension(Buffer, 'GL_SGIX_fragment_lighting'); + GL_SGIX_framezoom := Int_CheckExtension(Buffer, 'GL_SGIX_framezoom'); + GL_SGIX_igloo_interface := Int_CheckExtension(Buffer, 'GL_SGIX_igloo_interface'); + GL_SGIX_impact_pixel_texture := Int_CheckExtension(Buffer, 'GL_SGIX_impact_pixel_texture'); + GL_SGIX_instruments := Int_CheckExtension(Buffer, 'GL_SGIX_instruments'); + GL_SGIX_interlace := Int_CheckExtension(Buffer, 'GL_SGIX_interlace'); + GL_SGIX_ir_instrument1 := Int_CheckExtension(Buffer, 'GL_SGIX_ir_instrument1'); + GL_SGIX_list_priority := Int_CheckExtension(Buffer, 'GL_SGIX_list_priority'); + GL_SGIX_pixel_texture := Int_CheckExtension(Buffer, 'GL_SGIX_pixel_texture'); + GL_SGIX_pixel_tiles := Int_CheckExtension(Buffer, 'GL_SGIX_pixel_tiles'); + GL_SGIX_polynomial_ffd := Int_CheckExtension(Buffer, 'GL_SGIX_polynomial_ffd'); + GL_SGIX_reference_plane := Int_CheckExtension(Buffer, 'GL_SGIX_reference_plane'); + GL_SGIX_resample := Int_CheckExtension(Buffer, 'GL_SGIX_resample'); + GL_SGIX_scalebias_hint := Int_CheckExtension(Buffer, 'GL_SGIX_scalebias_hint'); + GL_SGIX_shadow := Int_CheckExtension(Buffer, 'GL_SGIX_shadow'); + GL_SGIX_shadow_ambient := Int_CheckExtension(Buffer, 'GL_SGIX_shadow_ambient'); + GL_SGIX_sprite := Int_CheckExtension(Buffer, 'GL_SGIX_sprite'); + GL_SGIX_subsample := Int_CheckExtension(Buffer, 'GL_SGIX_subsample'); + GL_SGIX_tag_sample_buffer := Int_CheckExtension(Buffer, 'GL_SGIX_tag_sample_buffer'); + GL_SGIX_texture_add_env := Int_CheckExtension(Buffer, 'GL_SGIX_texture_add_env'); + GL_SGIX_texture_coordinate_clamp := Int_CheckExtension(Buffer, 'GL_SGIX_texture_coordinate_clamp'); + GL_SGIX_texture_lod_bias := Int_CheckExtension(Buffer, 'GL_SGIX_texture_lod_bias'); + GL_SGIX_texture_multi_buffer := Int_CheckExtension(Buffer, 'GL_SGIX_texture_multi_buffer'); + GL_SGIX_texture_scale_bias := Int_CheckExtension(Buffer, 'GL_SGIX_texture_scale_bias'); + GL_SGIX_texture_select := Int_CheckExtension(Buffer, 'GL_SGIX_texture_select'); + GL_SGIX_vertex_preclip := Int_CheckExtension(Buffer, 'GL_SGIX_vertex_preclip'); + GL_SGIX_ycrcb := Int_CheckExtension(Buffer, 'GL_SGIX_ycrcb'); + GL_SGIX_ycrcb_subsample := Int_CheckExtension(Buffer, 'GL_SGIX_ycrcb_subsample'); + GL_SGIX_ycrcba := Int_CheckExtension(Buffer, 'GL_SGIX_ycrcba'); + + // === SGI ===================================================================== + GL_SGI_color_matrix := Int_CheckExtension(Buffer, 'GL_SGI_color_matrix'); + GL_SGI_color_table := Int_CheckExtension(Buffer, 'GL_SGI_color_table'); + GL_SGI_depth_pass_instrument := Int_CheckExtension(Buffer, 'GL_SGI_depth_pass_instrument'); + GL_SGI_texture_color_table := Int_CheckExtension(Buffer, 'GL_SGI_texture_color_table'); + + // === SUN ===================================================================== + GL_SUNX_constant_data := Int_CheckExtension(Buffer, 'GL_SUNX_constant_data'); + GL_SUN_convolution_border_modes := Int_CheckExtension(Buffer, 'GL_SUN_convolution_border_modes'); + GL_SUN_global_alpha := Int_CheckExtension(Buffer, 'GL_SUN_global_alpha'); + GL_SUN_mesh_array := Int_CheckExtension(Buffer, 'GL_SUN_mesh_array'); + GL_SUN_slice_accum := Int_CheckExtension(Buffer, 'GL_SUN_slice_accum'); + GL_SUN_triangle_list := Int_CheckExtension(Buffer, 'GL_SUN_triangle_list'); + GL_SUN_vertex := Int_CheckExtension(Buffer, 'GL_SUN_vertex'); + + // === WIN ===================================================================== + GL_WIN_phong_shading := Int_CheckExtension(Buffer, 'GL_WIN_phong_shading'); + GL_WIN_specular_fog := Int_CheckExtension(Buffer, 'GL_WIN_specular_fog'); + + {$IFDEF DGL_WIN} + // === WGL ===================================================================== + WGL_3DFX_multisample := Int_CheckExtension(Buffer, 'WGL_3DFX_multisample'); + WGL_ARB_buffer_region := Int_CheckExtension(Buffer, 'WGL_ARB_buffer_region'); + WGL_ARB_extensions_string := Int_CheckExtension(Buffer, 'WGL_ARB_extensions_string'); + WGL_ARB_make_current_read := Int_CheckExtension(Buffer, 'WGL_ARB_make_current_read'); + WGL_ARB_multisample := Int_CheckExtension(Buffer, 'WGL_ARB_multisample'); + WGL_ARB_pbuffer := Int_CheckExtension(Buffer, 'WGL_ARB_pbuffer'); + WGL_ARB_pixel_format := Int_CheckExtension(Buffer, 'WGL_ARB_pixel_format'); + WGL_ARB_pixel_format_float := Int_CheckExtension(Buffer, 'WGL_ARB_pixel_format_float'); + WGL_ARB_render_texture := Int_CheckExtension(Buffer, 'WGL_ARB_render_texture'); + WGL_ARB_create_context := Int_CheckExtension(Buffer, 'WGL_ARB_create_context'); + WGL_ARB_create_context_profile := Int_CheckExtension(Buffer, 'WGL_ARB_create_context_profile'); + WGL_ARB_framebuffer_sRGB := Int_CheckExtension(Buffer, 'WGL_ARB_framebuffer_sRGB'); + WGL_ARB_create_context_robustness := Int_CheckExtension(Buffer, 'WGL_ARB_create_context_robustness'); + WGL_ATI_pixel_format_float := Int_CheckExtension(Buffer, 'WGL_ATI_pixel_format_float'); + WGL_AMD_gpu_association := Int_CheckExtension(Buffer, 'WGL_AMD_gpu_association'); + WGL_EXT_depth_float := Int_CheckExtension(Buffer, 'WGL_EXT_depth_float'); + WGL_EXT_display_color_table := Int_CheckExtension(Buffer, 'WGL_EXT_display_color_table'); + WGL_EXT_extensions_string := Int_CheckExtension(Buffer, 'WGL_EXT_extensions_string'); + WGL_EXT_make_current_read := Int_CheckExtension(Buffer, 'WGL_EXT_make_current_read'); + WGL_EXT_multisample := Int_CheckExtension(Buffer, 'WGL_EXT_multisample'); + WGL_EXT_pbuffer := Int_CheckExtension(Buffer, 'WGL_EXT_pbuffer'); + WGL_EXT_pixel_format := Int_CheckExtension(Buffer, 'WGL_EXT_pixel_format'); + WGL_EXT_swap_control := Int_CheckExtension(Buffer, 'WGL_EXT_swap_control'); + WGL_EXT_create_context_es2_profile := Int_CheckExtension(Buffer, 'WGL_EXT_create_context_es2_profile'); + WGL_I3D_digital_video_control := Int_CheckExtension(Buffer, 'WGL_I3D_digital_video_control'); + WGL_I3D_gamma := Int_CheckExtension(Buffer, 'WGL_I3D_gamma'); + WGL_I3D_genlock := Int_CheckExtension(Buffer, 'WGL_I3D_genlock'); + WGL_I3D_image_buffer := Int_CheckExtension(Buffer, 'WGL_I3D_image_buffer'); + WGL_I3D_swap_frame_lock := Int_CheckExtension(Buffer, 'WGL_I3D_swap_frame_lock'); + WGL_I3D_swap_frame_usage := Int_CheckExtension(Buffer, 'WGL_I3D_swap_frame_usage'); + WGL_NV_float_buffer := Int_CheckExtension(Buffer, 'WGL_NV_float_buffer'); + WGL_NV_render_depth_texture := Int_CheckExtension(Buffer, 'WGL_NV_render_depth_texture'); + WGL_NV_render_texture_rectangle := Int_CheckExtension(Buffer, 'WGL_NV_render_texture_rectangle'); + WGL_NV_vertex_array_range := Int_CheckExtension(Buffer, 'WGL_NV_vertex_array_range'); + WGL_NV_present_video := Int_CheckExtension(Buffer, 'WGL_NV_present_video'); + WGL_NV_video_output := Int_CheckExtension(Buffer, 'WGL_NV_video_output'); + WGL_NV_swap_group := Int_CheckExtension(Buffer, 'WGL_NV_swap_group'); + WGL_NV_gpu_affinity := Int_CheckExtension(Buffer, 'WGL_NV_gpu_affinity'); + WGL_NV_video_capture := Int_CheckExtension(Buffer, 'WGL_NV_video_capture'); + WGL_NV_copy_image := Int_CheckExtension(Buffer, 'WGL_NV_copy_image'); + WGL_NV_multisample_coverage := Int_CheckExtension(Buffer, 'WGL_NV_multisample_coverage'); + WGL_NV_DX_interop := Int_CheckExtension(Buffer, 'WGL_NV_multisample_coverage'); + WGL_OML_sync_control := Int_CheckExtension(Buffer, 'WGL_OML_sync_control'); + WGL_3DL_stereo_control := Int_CheckExtension(Buffer, 'WGL_3DL_stereo_control'); + + WIN_draw_range_elements := Int_CheckExtension(Buffer, 'WIN_draw_range_elements'); + WIN_swap_hint := Int_CheckExtension(Buffer, 'WIN_swap_hint'); + {$ENDIF} + + {$IFDEF DGL_LINUX} + // === GLX ===================================================================== + GLX_ARB_multisample := Int_CheckExtension(Buffer, 'GLX_ARB_multisample'); + GLX_ARB_fbconfig_float := Int_CheckExtension(Buffer, 'GLX_ARB_fbconfig_float'); + GLX_ARB_get_proc_address := Int_CheckExtension(Buffer, 'GLX_ARB_get_proc_address'); + GLX_ARB_create_context := Int_CheckExtension(Buffer, 'GLX_ARB_create_context'); + GLX_ARB_create_context_profile := Int_CheckExtension(Buffer, 'GLX_ARB_create_context_profile'); + GLX_ARB_vertex_buffer_object := Int_CheckExtension(Buffer, 'GLX_ARB_vertex_buffer_object'); + GLX_ARB_framebuffer_sRGB := Int_CheckExtension(Buffer, 'GLX_ARB_framebuffer_sRGB'); + GLX_ARB_create_context_robustness := Int_CheckExtension(Buffer, 'GLX_ARB_create_context_robustness'); + GLX_EXT_visual_info := Int_CheckExtension(Buffer, 'GLX_EXT_visual_info'); + GLX_EXT_visual_rating := Int_CheckExtension(Buffer, 'GLX_EXT_visual_rating'); + GLX_EXT_import_context := Int_CheckExtension(Buffer, 'GLX_EXT_import_context'); + GLX_EXT_fbconfig_packed_float := Int_CheckExtension(Buffer, 'GLX_EXT_fbconfig_packed_float'); + GLX_EXT_framebuffer_sRGB := Int_CheckExtension(Buffer, 'GLX_EXT_framebuffer_sRGB'); + GLX_EXT_texture_from_pixmap := Int_CheckExtension(Buffer, 'GLX_EXT_texture_from_pixmap'); + GLX_EXT_swap_control := Int_CheckExtension(Buffer, 'GLX_EXT_swap_control'); + GLX_EXT_create_context_es2_profile := Int_CheckExtension(Buffer, 'GLX_EXT_create_context_es2_profile'); + {$ENDIF} + ImplementationRead := True; +end; + +{$IFDEF DGL_WIN} +// ============================================================================= +// RaiseLastOSError +// ============================================================================= +// Needed for compatibility with older Delphiversions +// ============================================================================= + +procedure RaiseLastOSError; +begin +{$IFDEF FPC} + raise Exception.Create('RaiseLastOSError!'); // To-Do: find a better solution +{$ELSE} + {$IFDEF DELPHI6_AND_DOWN} // If Delphi 6 or later + SysUtils.RaiseLastWin32Error; + {$ELSE} + SysUtils.RaiseLastOSError; + {$ENDIF} +{$ENDIF} +end; + +// ============================================================================= +// CreateRenderingContext +// ============================================================================= + +function CreateRenderingContext(DC: HDC; Options: TRCOptions; ColorBits, ZBits, StencilBits, AccumBits, AuxBuffers: Integer; Layer: Integer): HGLRC; +const + OBJ_MEMDC = 10; + OBJ_ENHMETADC = 12; + OBJ_METADC = 4; + PFD_DOUBLEBUFFER = $00000001; + PFD_STEREO = $00000002; + PFD_DRAW_TO_WINDOW = $00000004; + PFD_DRAW_TO_BITMAP = $00000008; + PFD_SUPPORT_GDI = $00000010; + PFD_SUPPORT_OPENGL = $00000020; + PFD_TYPE_RGBA = 0; + PFD_MAIN_PLANE = 0; + PFD_OVERLAY_PLANE = 1; + PFD_UNDERLAY_PLANE = LongWord(-1); + MemoryDCs = [OBJ_MEMDC, OBJ_METADC, OBJ_ENHMETADC]; +var + PFDescriptor: TPixelFormatDescriptor; + PixelFormat: Integer; + AType: DWORD; +begin + if GL_LibHandle = nil then + InitOpenGL; + + FillChar(PFDescriptor{%H-}, SizeOf(PFDescriptor), 0); + + with PFDescriptor do + begin + nSize := SizeOf(PFDescriptor); + nVersion := 1; + dwFlags := PFD_SUPPORT_OPENGL; + + AType := GetObjectType(DC); + + if AType = 0 then + RaiseLastOSError; + + if AType in MemoryDCs then + dwFlags := dwFlags or PFD_DRAW_TO_BITMAP + else + dwFlags := dwFlags or PFD_DRAW_TO_WINDOW; + + if opDoubleBuffered in Options then + dwFlags := dwFlags or PFD_DOUBLEBUFFER; + + if opGDI in Options then + dwFlags := dwFlags or PFD_SUPPORT_GDI; + + if opStereo in Options then + dwFlags := dwFlags or PFD_STEREO; + + iPixelType := PFD_TYPE_RGBA; + cColorBits := ColorBits; + cDepthBits := zBits; + cStencilBits := StencilBits; + cAccumBits := AccumBits; + cAuxBuffers := AuxBuffers; + + if Layer = 0 then + iLayerType := PFD_MAIN_PLANE + else + if Layer > 0 then + iLayerType := PFD_OVERLAY_PLANE + else + iLayerType := Byte(PFD_UNDERLAY_PLANE); + end; + + PixelFormat := ChoosePixelFormat(DC, @PFDescriptor); + + if PixelFormat = 0 then + RaiseLastOSError; + + if GetPixelFormat(DC) <> PixelFormat then + if not SetPixelFormat(DC, PixelFormat, @PFDescriptor) then + RaiseLastOSError; + + DescribePixelFormat(DC, PixelFormat, SizeOf(PFDescriptor), PFDescriptor); + + Result := wglCreateContext(DC); + + if Result = 0 then + RaiseLastOSError + else + LastPixelFormat := 0; +end; + +// ============================================================================= +// CreateRenderingContextVersion +// ============================================================================= +// Creates a context for the more recent OpenGL versions (3.0) and up +// For that we first need to get a normal GL context for getting the +// function pointer to wglCreateContextAttribsARB first +// ============================================================================= +function CreateRenderingContextVersion(DC: HDC; Options: TRCOptions; MajorVersion, MinorVersion : Integer; ForwardCompatible : Boolean; ColorBits, ZBits, StencilBits, AccumBits, AuxBuffers: Integer; Layer: Integer): HGLRC; +const + OBJ_MEMDC = 10; + OBJ_ENHMETADC = 12; + OBJ_METADC = 4; + PFD_DOUBLEBUFFER = $00000001; + PFD_STEREO = $00000002; + PFD_DRAW_TO_WINDOW = $00000004; + PFD_DRAW_TO_BITMAP = $00000008; + PFD_SUPPORT_GDI = $00000010; + PFD_SUPPORT_OPENGL = $00000020; + PFD_TYPE_RGBA = 0; + PFD_MAIN_PLANE = 0; + PFD_OVERLAY_PLANE = 1; + PFD_UNDERLAY_PLANE = LongWord(-1); + MemoryDCs = [OBJ_MEMDC, OBJ_METADC, OBJ_ENHMETADC]; +var + PFDescriptor : TPixelFormatDescriptor; + PixelFormat : Integer; + AType : DWORD; + LegacyRC : HGLRC; + Attribs : array of Integer; +begin + if GL_LibHandle = nil then + InitOpenGL; + + if not Assigned(GL_LibHandle) then + raise Exception.Create('GL_LibHandle is NIL. Could not load OpenGL library!'); + + FillChar(PFDescriptor{%H-}, SizeOf(PFDescriptor), 0); + + with PFDescriptor do + begin + nSize := SizeOf(PFDescriptor); + nVersion := 1; + dwFlags := PFD_SUPPORT_OPENGL; + AType := GetObjectType(DC); + + if AType = 0 then + RaiseLastOSError; + + if AType in MemoryDCs then + dwFlags := dwFlags or PFD_DRAW_TO_BITMAP + else + dwFlags := dwFlags or PFD_DRAW_TO_WINDOW; + + if opDoubleBuffered in Options then + dwFlags := dwFlags or PFD_DOUBLEBUFFER; + + if opGDI in Options then + dwFlags := dwFlags or PFD_SUPPORT_GDI; + + if opStereo in Options then + dwFlags := dwFlags or PFD_STEREO; + + iPixelType := PFD_TYPE_RGBA; + cColorBits := ColorBits; + cDepthBits := zBits; + cStencilBits := StencilBits; + cAccumBits := AccumBits; + cAuxBuffers := AuxBuffers; + + if Layer = 0 then + iLayerType := PFD_MAIN_PLANE + else + if Layer > 0 then + iLayerType := PFD_OVERLAY_PLANE + else + iLayerType := Byte(PFD_UNDERLAY_PLANE); + end; + + PixelFormat := ChoosePixelFormat(DC, @PFDescriptor); + + if PixelFormat = 0 then + RaiseLastOSError; + + if GetPixelFormat(DC) <> PixelFormat then + if not SetPixelFormat(DC, PixelFormat, @PFDescriptor) then + RaiseLastOSError; + + DescribePixelFormat(DC, PixelFormat, SizeOf(PFDescriptor), PFDescriptor); + + // Create legacy render context first for we need function pointers to + // create new OpenGL render contexts + LegacyRC := wglCreateContext(DC); + wglMakeCurrent(DC, LegacyRC); + + // Set attributes to describe our requested context + SetLength(Attribs, 5); + Attribs[0] := WGL_CONTEXT_MAJOR_VERSION_ARB; + Attribs[1] := MajorVersion; + Attribs[2] := WGL_CONTEXT_MINOR_VERSION_ARB; + Attribs[3] := MinorVersion; + + // Add context flag for forward compatible context + // Forward compatible means no more support for legacy functions like + // immediate mode (glvertex, glrotate, gltranslate, etc.) + if ForwardCompatible then + begin + SetLength(Attribs, Length(Attribs)+2); + Attribs[4] := WGL_CONTEXT_FLAGS_ARB; + Attribs[5] := WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB; + end; + + // Attribute flags must be finalized with a zero + Attribs[High(Attribs)] := 0; + + // Get function pointer for new context creation function + wglCreateContextAttribsARB := wglGetProcAddress('wglCreateContextAttribsARB'); + + if not Assigned(wglCreateContextAttribsARB) then + begin + raise Exception.Create('Could not get function pointer adress for wglCreateContextAttribsARB - OpenGL 3.x and above not supported!'); + wglDeleteContext(LegacyRC); + exit; + end; + + // Create context + Result := wglCreateContextAttribsARB(DC, 0, @Attribs[0]); + + if Result = 0 then + begin + raise Exception.Create('Could not create the desired OpenGL rendering context!'); + wglDeleteContext(LegacyRC); + exit; + end; + + wglDeleteContext(LegacyRC); + + if Result = 0 then + RaiseLastOSError + else + LastPixelFormat := 0; +end; + +// ============================================================================= +// DestroyRenderingContext +// ============================================================================= + +procedure DestroyRenderingContext(RC: HGLRC); +begin + wglDeleteContext(RC); +end; + + +// ============================================================================= +// ActivateRenderingContext +// ============================================================================= + +procedure ActivateRenderingContext(DC: HDC; RC: HGLRC; loadext: boolean = true); +begin + Assert((DC <> 0), 'DC must not be 0'); + Assert((RC <> 0), 'RC must not be 0'); + + wglMakeCurrent(DC, RC); + + {$ifdef DGL_TINY_HEADER} + ReadCoreVersion; + {$else} + ReadImplementationProperties; + + if (loadext) then + ReadExtensions; + {$endif} +end; + +// ============================================================================= +// DeactivateRenderingContext +// ============================================================================= + +procedure DeactivateRenderingContext; +begin + wglMakeCurrent(0, 0); +end; +{$ENDIF} + + +initialization + +{$IFDEF CPU386} + Set8087CW($133F); +{$ENDIF} + +finalization + +end. diff --git a/examples/textures/BMP_24_RGB8.bmp b/examples/textures/BMP_24_RGB8.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e1318e8ff0c09d65a546f61b4e133708a3a3f6a6 GIT binary patch literal 3145784 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 z.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	<G;ece;%BF&3{V&KLz&N1ql70um7JG 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	k_}{Nb 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%0Ds!i9aKe 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�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�<6sGxH7lnirkLNb337Bxt*5g;uS!r#VC&^z=AxU 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≪C~cO;75^=zfcta0RE%ehDEibqT7W>wF^bj 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%0DL_?Uk2v0Plg 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�{-*p1h_xXay@rnp5<EhKVAXc4gBX@ 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%0DA&} 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%0AF=<V!bZ7`xc^6p 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%0ANS|4+2<e?sg1@B9BNp~dv{|Ioe_ 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∹+?5uoyamk-6S^$#Lg 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	PqOWBT((4`I%MlGw4RxyNwa1lNR8K2|eJu2`u<j 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�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­U*XT> zhqC|E0=)m`zXjS3Vkry2BKV#8p0ni7z=s7m^KAsvYoC&z*z5Q={Cow-koN-qEA4~) z%=szpmGeP9AlJYAG2TJ`R>C{pJzf6EJd)hA#d|#IE#iHi>HvO{g1u6`-t!1KGJIF0 z8|eyjFO}i7IKwN<$+^Kc((}nMpMRk#*aGxN{V()=`@dRzS?T}idNq~*+Gz@_*$Dt^ z=%Qbwu2$oEC6DlwQ{3Pq3_`kHaiLAD#@$N&AB)W5*(%Gw7M}qBtXK+4=mjrVYzMZ6 zSF5QSlrOwl$rM)O?TXfbNx>9S?^i4ZA9B(c+z3{!7pzzf=mjadz)GcHrAFWh7g&WC zlnY=X|EstH!UFOHparaS0_YI<T`rLMPyScw0)T&|^6x1xAp9%!f6Q9qqk+F4D=nB_ zO#Vvzd&gX*1=tAqQ!aqH@{)C6l?%GSO6A`Z7O-k|P>o>qZ9r8AR$m8Hjexbkl%~-8 zzkLCwuu>!7RR8aF0Ht7+ivIs*tW*kC+5cCshXqr>!Y-gXfbvhN1*~2U3VRwvH3F0Z zXr*3IC%_8TK+T`a?O5GW;S@Jxg)gcGFbmXyRVxK6l>$$ef-L{5t3lzX`u}WMkCm<f zOpC@Lk67h`pRvmtR`{6?;(fJs(&G!L-WI67T#Y^pY$tyd0Z_dQZ?jFj1$Om+fE|Qq z1$e$v_^Set@CJEY_$GXnoa+R5E!r#mEBOg|svyVW=5N#ud2sIX55fhxPk_&>IqEv~ znfY6sJNdt_=CN<uSJR#UGxx}RG2dzbz2ezFqg~hs@a^Eom*5<bTNCyR&h-;)@0Nfs z><f6%ZaM8iyTzYLdtkqd_P{<5{=h!_Kd~>`KaW)cA4|3XFi*}s9|k^9_rb450NSan z19ABqbzt9s2j^tow7(duIq>AXH1Gd_pOBk#0AJMrcnf%PUa034Fg1S|K?5G&3Hc?F zHuEuoGz8SW<W8O!f-it}#r4JZqPWI?1;S&d1x(C~bN>YJo0aZ-EScmFkw5i+UjZ5H z5$|;ZXhFg|)xm#V{`dm^%{)S$*{(?U@xS07sowAZ2zdm%vfa&p>i;W-Jfj|q;=Q{- zoB&GxssHEw4=<>w=c1@*<}ZxEX`h)NUV#3ecCbu-yTHN=Q~}ICEFjb}pQfM|aNk|P zdlrFk1RDWNA(s1i|GVf*+QAB$FVP)-&+^}azli-h0hs@p{5zijoc0X)Qu4oQ{I44S zL|yQ6D(8LtSJbcCQy-#!XUJF7JKJ~Ao~QmS-jj1MU-3Q#yEu2MJIpK6o#&P62=gh= zMR<gH%kyAc0ZzO#(z!RP$-IANj1z1DO#Zd_%VPRZ7a#ri@kdtutfl^_FX;T+f;B9J zj?jh953wL<K{c@G6lnWR>;)DIzxux?Jt75bh^GO2M9vrR2nqea#Qra#8c=u(ur;JX zOyysWKvO8m2yg{JADdVTBsPK+n}3RpAWs06e+m4<3+Mt8%YTYRz;g3P5hwwEw1AYE z|6?P-1nRp))VmBnzuZ5lizI*57g@ln&nyCE2h{~?u@RsSP^tr%lhpj(|D*QH5x9S8 zf)O;K{G$$p<O?tbN+&?f_XCbFDa*gD0nI<;I?zgin?DZ$)q$9<{WVbsB-jLcLCO8! zHo=J^(1b=1Hlb1go0x=Kpi53+zp!OYPLcf|rNDw^#6B<o><h4uha}p!2?x?EwEZo% z7gXb?sb(F}Az-8nY~S{OXIq4C<IM`7<Y)P>3b2K@FZ>`JwO=Q|4DvbW(~+OC&&)5# zwGeX0{sWxz)bFVK)Hmlj3w0m-J5dMoop$UK>Ir$#?uE2B;9&v5d@X4KGv<T;hk>UT zbkq^}`1w0xe`3A??-QUnkHwt#*=fhFe+B5k8~ewBFWO0dwt!;Zmp`%J1w1eRMmydD z;{?zZK+a1G;9dUJ|5^T%`J$bR8bM5<&hl@Wc1>X4QRfw)6M)R4|7((Vlme4)$P;y+ z00sQCs3w5(NuVA1UlWUW(T+dbE%k+M=J6%4mm_%ZVeZ{YjsVBcj(uf&Pjxqce5rT` z>e#ol{fYb|=gGgG`YPeEM96DF=f_W{eT2N;`P}@Y|2G$K&Oeg&?Eg)b_E_)=fGZ$k z-_5_pei(tmKQiBsf87hTcQ3#`GlDDvf97^TFX%?#eF}VJ{zCV=E5OCv3t$cI{|_30 z9{grr@Q?*;1wP2f6)@w!MSYzBw15`%#XS1|ZtTT8uK>OO7xOsycL1L+e7^ae?VP&# zIXmZzU@yWu<ay^$sh;IOQhitdpTO3&KT&PM4fA3?gtWeI$GiD|=sW&&y{2k;WZ&R# z!XVa^7tG7`q=jExt%r5J9*|w*W<4M~1$X#@rkA_5tYJN{z#yKjCDeg6MT5YCQjpWH zgD=)m{%sAf)?<?U|9ZTJYz;7i^`v*$QU2HYD6k&y*W-ib^1qJ$|4GZT|F6dv2<6`s zcCePz3%;!fh0ed0wES2P3jKdQenK_^?Z4Jz5-eaX<??5(E`XW3Uk?f{FrQ;B>@oYY zz8}y^@={;cbN=I}n*aLu=t2uvH^Bnd`5b6FSpOIh%0K6K&UJ4D-^Mxx3*c@qX#Icv zWmxcnwXLDb|EIB*FRVWf2nOM0?L$D;uzo+RdjEGFSic<*e8J1Q)q(ZvQ9}P;qZho) zsS{w0pXvo`c?2e<LxA(Sc1+22V2x5Br@+GfcC6(Wm}}JmI|cUjO(>iq8^Kxy!H2;5 zYFM@m?w2#!JMfYDpIUE5sR*|t^q-sc4C#U#Y#ZqSJ9#$M5&n(s%KyT<vyI(&GyDa1 z5U$(4@SfOSlk-ma%k`j?{~#O-Id6o&5#*Rien8G?+KcewJi~vM{6^iJuLppiPJMIU zP!G;QyHR)M7w223lXjqP=Cudvz5;-Ha$eZ~LE0Dd+Jp1#{Du86=SX`qA3q!Lz<%At zpUM2RYypq_2kp`Py)@c`{G{F3lYC$=@$Aq12kOjxFyB?EV-e~BJjfU7(=61n)Y+e1 zpqO938=*P@fPFs!z(3T02kiu2le<voRR0gulXg@C08g2AH-GF&JK!hqCchp0fSeX! z>GCJ`MqLYbPz?*<OxnqF--~${1pEZypuJ`T9vBn#_27cpv{@5ue2M8rPXPEMM*3>h z!p^Vso~8mEE&$G>|0~s<?NR=b<O*|qH2IG7YW}tWKI|#m9qhdP8}@|X*)H1o!k7Gq z3&;W@+nw;hJ{38iE)XHFgh$9vuK+#m@dS{8kA)UcF0j@KkU7u5H~f8O^N(jg*nz{p z>>!{0_!dx(pncZ==gA+pfW5#cK>9*i09$~I0J=cgLG^$8f?c4`^}QNF^8(lbmCt?- z|FQtv0V_aDe(uc$ocs)bD+520Kg&OjAo<4<X|Jd^_U```_0ww~5<ZWAlAp{Y=dss2 zpVQvuAHZ|TgTE5Kg54*8Y3H3^oIBp<!R|;m=auS(H-ddfs+(%yZQ&>A?Q9F_Db*Xv zq!)j>P6=J}>=-BKDSyZGm&MQRzgB<Yugm3zrm!vgMbp(LYCjD^yZb-p&4!0S*n}2( zL=!zC73E(|f$jib*rYqyBVY|ps0Ob#EC^NpUvEZ8{eS5Tx&mkl5*;BG{U1gEZ8XaZ zw0wpaq-+FVHrf2u|D*YD#y1Equ!$4k$42GfCqQ+9P4t4P{BN@Sx8)C*pX*+zZ_feR zH-mGj`>{@Ka^aUhV`J<WGt2)bmn#1oT>+djg4z5rHtPQ@|E&%@WCzs<HgiWn7qB*} z1D>#k4XVMs4!{mJsi_MzYuLae)c>dHBCu5lHmC;G1$rG&Bd|ei)c-llCR_(<x&_ok z=kKZ_pk;%3Gd$xKD4Vz*8@Nf?#MRiSAn=R2z$TY44!Oq0y`VXWYr=XxwSdiLK>h-- zx7jw*fO*EYkT%u*wx0-Zc;9Zu-6rtHVz8gJ<@qKqd@LqBI8VG8{;4Sc$bWG@K`ypg z0V?)4tN?Z7zuN@i6X%=p0YdD1n)95I`I`v;CFhQPL0%_7(B3%r!QW~BnUL2B5VUXN z=Ko!&EBq(aHxu^v27WW{q1plYZrZ_rhkUUwQ1{Q@V?uq4dBeX+;A82ioBT?CEt{?U zFW`IrZ*&3_^HcNpApqb({zvHp`3La8p5*7jA6?-6AniMWe>*mBq~8A@0baL&X(#zb zd-eYX@XyC4`+orcY;5ktwwcH7pP;&{fQJzj;SGCR0KwkYf^+=5oY*$uv$+|Yb(09M zFF`wUThR?)Am_?$1Mi>6aJT@c)FT}s-y@xSG7lH%sqVd#kDWJv>V@*$bH;y#yc2%Q z0^V#U{%r)6^RR=;c`Oz6SeW*yZ~>(KW{P@vL8N^yWdUBw2$=bE#j{@}f7t<+w1CS0 z-|qkONk?d2fS>mdi;iGZ=yQEPHt7Pj@Z+`@6#TVh;O|cUxeL@20GH0cj(_I-*ReD0 z8S;7jGv{|jy|JHiKKuWY`CSSB*LdGJ=O047B7MQRUiH9sUHCJ+fx462oNs}>pgK~0 zGj=5TdaP5M4Dk9=%l04jFSTP?2>%NY{b_ZC-WOaDXcqDjF0uxj1w4X6DS%m|U<dFE zPb{nkCA58bM2fv273F`!E5HT;U*K~9JR*huPpKeO`G*&TPztIVpcFK{hbc&G1X&H( z{8MlN%60%pkkI){U$LVU;0lmf`_=q0S^iUO1U><@L>I6Hzy+FE2j-gihYLveE&}s8 zO#Y4u&Kvx*UHu;}un>-a)B!gFFM!`d7l`HOKoKap^Dp}UrW(PwfgO#&rGQgL057o6 z2v`IpEU<$vmw)&I<t|WD{ojWGtO2E9(mOQ*^?y`@4O)PNhrp-<dJ&{GNLZ*>6dnk? zz!xkOf$INt0&LU>Vxk2!`I!K{fYreH-zNM5&3`6T0Ld=}+~FN61zuv}7MP2%FRej! z?$d&gskI>YPwWQURL>^<Na1g`vAg*P)neOJgK&t+KNrA8{?~N*|0~`A8-x>Ysqn@U zglj3nqx_=_-~>SOH%*Y^wm0Nh-24;uy6~~=<Q%k<b7a1jf*ecd+`tFw3jd(p%nNc} z0iAaLgP*XE{%_`y{0X^H58x5_ro9&ZB=hURxzPHa%tKx<z3}4}?fjy&57cW<)C+#o z?wg-`JNUVSa5w+#{~dU6?*3oQlk-vsUit49P{6bK>z@Fk1ql0&I^oYo0M32z6L>(b z$pz#Cb<LnXfe+dNe*(`%%oFcg(ER@y_(JIl2<EdO5O~x9O)MZh;Ln>MU<dqa2Ydo3 z33zgjrr;f@qxpM!!LFYh7k&U=&EN2E_+`?1tRZ|^OS<_NwBs*d$qqQJ>i<sioE7F= zKz_lW3$A^T&*m=`^X&W?>2dZu(%VF;gMV6pmGMsg75H`m@}E&Zg?xkGMle}GhCKL( z7u4~O=8rw19{s;uK#QaPGhX{_0dD?VMnEsXKlMKz`)LI5g)#z`|1LPfJobOf3nn}8 z6`(`lewP>c<5(C${JfvMU~@m#5*B-bUjeamDfrtm@efDPD*)jyr3;h=*a+waIsxng zoZ0_r0TuOm|2yy<^%3}b?Q`He;c@&^8S-fU4E9t#@)`RIc{1;8-=f|B;1|pr@<cr# z7w3kYR3qUP=`pkalljbZBCXx!-+0Gvs`Jz*=YZBo=UjtTpsqQ^IKBX2HGj-5fA^QZ z_rFtn{e?^X-);Xp{@FibuaDf*IIgr~y8L5a=UxTj=5j#z+5O`7lD<$1gSZ^eE@>8Y z2kc(bDgL<}&<jj70xVe#u)MsaUSYZvVE3cI<#=Pc|6{i`Tt-3I;R`T@OL>7OOyM$o zfxX~ze7<Bsz@&TvT#hf7<EvHW|58TaiROPfmi_;7xEgd9pb=aWe(G{W`S*f(IamQO zt=|7H$2|lu&>WW|v>Bu1kDL2(c~1-Q(sy8gxo8Ag{^13expUc72QGgO3wD477H}y$ z@U#(Jsuy7Aq7&fq+koH#m)ZaA2vZ%<32<4Zz|H^DxYWY=aa{TY_@D)|%LegoT&fgY zV#)r0=_}yPz;cNqAYq~G5$gZky}TNiDg~D>2NaE9+asDyTx!33KCE(zOO*mo_ys)T zQqyK}3CpM=a5M1p5))r!8PkHF=@ggRFYyyhYGPSx6P$OpLH>eg{3O!JwvooP40GYV z0DEWuC(;7jOW_U3>$b;YuzB0h2`An?|H1ZU3Sf(H6anVH2!F8uBm6J(1ZbR-@PwSn z55f!byz`m-;(XTs!F-+ig}U$j1fGxs^~>>7z!&Z0yrJ%W0$#LFf!_{+;5<?1PcskB zL3pP<_N3j+8+-1FdNJ>%IG-_}z+e6v5c#jnH}*gsi-2eN1Ad`C%|<(!Pujg)R{8%j z3Ux1-lz<QB1w5HY{(GNy0ha=Do(j~#dG>$M9?S#p1fF;|5%Ll^7xtG0{ELB|0_6X2 zQabw!crMSxHt@#cJ==k4C;V1tKHGtr$28$yNO)JFent2x(2I|oCVg>w(<6+%I5+K% zal*e)BOiE^d_;QXxsn{F5Rop<BiPNnlAH;zcn9YU_99<-ZulMV$aC^<&B=GjBj?Hg z;{G@PvVea4zr7qi<lmWpWjnlpQE&Lm0z|&~kB5M=fa1Rgep&#_KP(_!0Lzs5;@>X7 zDMz3Yz!cgQFxf%g0<;4gfh$0BfhqzsJ8%W?MbIliB>$j0&?DpsNPY;r7w+i@UT6o( z{Bi^=0e{*-M13WH=O4Rr{vius&O7!6KP;dW4}O{O5%P+9o&d^u@b8=t+7<5xei8DF zcO`seyKa6byt5tHJJ?NlaIS<W?VwuIkhAuKYN1Zr>jVJdsUGGP=}vW{UQ|y@<2g`Q zj62LtHMk|Z$@Y@)O`~1A|H9(0`9H5es-I6>CbMYXQSG1>*Zw|f5KXXyE;vGoy`ag> zzxqGRzvSBQ2~#Ld?ZD+fC%m8pBPg*Hr0fVYQ;;=8DRAx28I53J2X=urX#}as1=I*= z0jX#N?gfQ?Tc+k;CxF9$K1ujr)R-^$xv2jyr<y;>?@|kJ7no+cKpg_812d%^z!4}l z|7pq#PzOTI4(JPR0X4G@uoq+<h^3c*?C+aY{_PH&_Ju8XaQ}xjOp-y^COBOLvJONG zXmudEKsJJ99dHrIIsmhnsp>#2D*rwKrm02%r<keof3c)%JOcSnu<@~wuBB5Q$=|>> z<ehCN|G&i>kUxcR&>ly=mLi<V-&BNG>@UOLwLfQE`2P#k!Ti%{2mDji=l(?CQ33u> zfrkrp)V)6i_yz4c0Rr{^r@&_sh_nCy5%90Z)lT3IdCffaC+0it>i;v^0e^8`O96j7 zu4-SP?w<?J>*xOh_@^*$3+Q?NSM1Gy4|ePiW%~mDYW@!ShY}t}(D{F&1uW9OqTWk4 zf`<YhkAG4AbE&}h(v1LnWxkh1^84pg>>!T+dH(;O+QCzdU=jOs7r5#!@JQhIw6Bo& z@|39W%ww;de`3P-cz-0@3vw(A&L4-o!1hu|_hlRJf_bq#f$c|fe(^_FR|E1#FWW!+ z7wj~Mt4ZY-H~5IBfh!8j?bS?oS7Rm={;LoQ!t*N%9^nP^pAy>sRg=sA)p&U|USXp7 z=X{MXcpA7GZzNU&EbawY<E`}WYEY;KSL3}FOz1<?$Ey)S9k`nG`D&EDT;+?PmakWX z0{>TYq4{5>&<L(1ErkDS@&aOil|lu$n&}UIR_(tU_zB%Z1;2k@jRBz%)by9x_xo{` zLhZ-ydG%*N=>J~4qYGTg1w361uwSVWVAfK#|4NR43HZssruQoq0Zhx~|LWU-Q2V)H zmShT7U&f@*<Ejbe|4RKIGZuA$tB>RA1BFK5<?8*INd|G%PJpYo1M&mG)tfQt^|<On z3uwY2z*6vn(+h6_*~FEWt8|KKc|NX6&&E{>r2spt0Wu$ZF8m4CxZ#`@7)SaA3c{r8 zaV6ospqAK^a{|1z<4YlJybE&kT$6;SCc<&d3vaZ5fc$TGGyF}s@aE$merf`2=D!Fx z-XPox!Ug#PZ-##o&g3`eMjhvUhuklJ1$iSpXh-cY)N$S$b<B=>(O#Jk&VA<_@;1qN zN8Oxv;EQ&bf75Qx8}<agu&;eVxZ$6DOvq=n`(vYh;y+`boR{(hF!P+nxhp_R{#ooN z^SA}bxo9`)+>3Ty{vCCk{iYqqKk?Qy=REbnJUAEXZvFv0@*mg>cpU#+vJQ~&cj8>M z19Ch87<G^j&VBGd2)wER!4~aYKt2S>J^#_JiI3o%H33u?@K^vm*iP)Zi*_?l!X?ul z)3lp&VBZ%+H-L9RNcc&<Bi*Q1Ur6%Je=v_{yaqpAK=BU9u@n2YkbI}QECBo?y89IX z_>tk9smk+O3VVEsV3!y0RnN>P`Lp|9769g%@GayW^_Ya;{omwkw+k5lumC;vMcTs% z>;ib?vkSDqpDZBBC;yV8-kHz9w*_SKN8ooaSR{Y*0{B8CzwJPC3jZtu4t!47LFPXz zfb+kb0=@wL$0|Sue#CxtfeioY39#VT!Y;7O1#AS)|H%2C{F(O5d`Eq`K!;yBPv))6 zdA{%|-iv%=PskVW`w9Tzg+1_A$XC2`(ZBow^&mgv9S?gw+owENygS%QdnJ71e2R1t zK81O*9aKBjmE>mI?|BYzlAK}A9jJrYq`Jqr@ixY&?)_(dTzv08-S+(jfB#y3;s4OH zf9X5_a_Z)K+VS!BTGpWHvM{xSJOo?~o?S;rm^|W|eo+R2<)3Q_27#q)BA2KJaD?mV z1!xDaui5-d^o8s3_L?U^^n&a0&XPgAzm8JC@_#+`|Bu&M{^1DMD*v8t1lQxsHQT}D z1=ni+n%}PH<sXgUI?I2n1HJ;H6sQ{fy3XdGCjc$rdO89AT+gt#1w<FP&QbsuxE=#? z_}9|A0Cxd@eLtW&1h{N<0e`v1_qh?^=e3&u)CE)ruF?6sehhrMp7(z@|7)8<c7f|$ zdL6iiJCq&FO(Cv;^aWT0bX|==zHqI%qyNJoq-#|JTf;Q7{9nHrkh_4FYdFQ0N4WW8 zUZWJq9i~O4;QGaYPzSEn2xd<4d|bN`v^sG8Y(P;5U>|7~*V;YHCcIqZ@7#=Q34Vd4 zX4!{1U%>2-!F+;k!i_i6K9R;^MFkMmclfwC?2-K9x$rKwLA4<#-gVv!@_ykj@lMFe zc7uFMesJC(#~!f{!Y!5m;5<?1g%8w4`|QXE-Xh%jPtL)-W8bKw`GfOq)bq~&A?D-M zzmA)KqWzk;08f20pX5)OpSM8I`5Exye7Xgecqjjp3(Ps6u>Uu}&rmP;JMDS!_X<#_ zek{d#Ev*6&{s#PYR)C$flX(y>1?nHibwBt&3=%F~C-WfxTBU&Vt@Z>Sb)bNsPJjmd zHFh`uSE4<EH})~B6f9^5|3+QRlW;6R9aIZ=E+sR6Hwbo$R71DIJ8J@Y2KMd<wt(yl zw1BO`Z`5M~?2_RZ>iA!Cfa6cWcI+|&1o$G=9qDiZK<?SGhY>`o3;5@A>}>%^_?OUD zw%Y~j@~`{fE>Q40<jH?`fwX{S|4;bqwQrX8^$^hbhZg|;9{BhfuYF$Z1<etr2R~<i zTEKSf(-gq}+z4O|J^Aem%lxm*uf->Telq_Z{)-BLpZwD7puB*~E<3nZ@_V`ka4-H9 z`?Jj7c7d(_?<>Gh01o`WM1AHw6JFR8c+f6I!h?1xfOobR_M$yPei!h}cE!6xzEF<^ z87|r*+XcB(-FLoI9SIM}&3P@Ly61TWcv2mB7ti>f`;H73+uIr5seb5B`}f+hSWyA+ zzYinGkA11{(F@WzU@>7L*%YcKzz(7vXyKy(Y@!Kvuu#-~*n|XY2+1926B25FxC5#I z8bL{&AC3^RDaaS1`J?~C8mbqxcEA%rb$~AdT3G&D|7R(XFR%`{5#)k8K;i!HUVs*0 z=?Xw8m?Z2$KDDrbsskwhbI}6kLfdBxz${hf2kOlT{Do8e*Tgc@pMk<(f+=uE;ZGy* zj{aXKK<udcssq!^{*M#DR{)pq6zV`M--gRSrUgfU9aydd*Ix#No%8c>FTkW!`|S(d z(-g`YYzpiJ?^y>dwg4FfdcjO;1gHj7)`4CM>I8r<SZw~@bppU3LaO~P|D4(XeFc<L z*e0gwF3>0JBbz^#5L$qoq9zvi|6cxQ`!1?Mc#vNh3+#z%{Vb%hpbpHacK>fw7w1o9 zTaXvqop7G_jc_0NW*aTQ3u8YuLB1edY@2Z79gqw4;9Rr^<O|fdIFJ5cwCm+BXm|NH z?Z|&E#rZ_LV?UEWP<QeR`vvOG|0V5-eFQ$UUBGwv4g5~pQ3Oc7V&A~W!7ti_^W2g7 z9eDrbdEbO0z@MUhnu$7rSM3kZi~OWLuus|zd~j~s8}mH)TMG#Cvjq@u_5Wf%mI6Mn zfS^5rH};%r1kC@}B-}GlUjUEu9@zW%FYE=pIrs4&jllh1<)6*J`hPKBkoU#4U)U4% zQl9+<|FjhFdPMADUi;MlGtVo`v2^UQJI|--v%isF*-rA6_F(~d+sjCg%fEvC0r-pj zS-kuBuXxwn9$X-rzp@>Bxj-EME#&c~az2j#9`%{_-321;Z2`{tO#4~pXZUv)z&>R@ zcG*G1{zKtE&-|(YVF!5mZxvvQ{WOC5!k+)2=7AqBp#EPj;Ds~!pDpVDj(yII{mBc` z0{9lt_($ir1$dzm2>vPa1-}EIvtyrWUpN1h_J#d6^M2|x_C4MgzytCw5gyrIk?y4k z&sRNXd(6VyOHo}*r@Hp!na8~MhrkxqRo9E;>gV;v%l7xhmmB;a0{l0j`p^B{KNo+; z9&wBR1RkM@<?e>EWq5&8JiDQ4nGE7)Jh$KrSZccV-(>&4884-HBe)r_@Dq(d%WKTm z4txbf^Or}wy&2FuOTO?PJM7?w`XJE}yu1J3u>60zk-VS_+^G3$ez{TkPdk7+e7#Ab z4&1~E@cl;RAJdDC;AZ@=0RK%&M!+Wk=tk2Pa5H{G*foj$%?y70B<+}8`Z8`t$QIzA z*s&n+ZzOmA+GF`MZsxKP+{gtyVFa<L5rF@jCRo6YT7YNOfg3r3r<=d$jY<KG;6|$D z=Iem$4&3Dn)BHSc(i*Vbe4?uV-_#ZGVPL;0cgX&K<K^Apf+<Z!z&4@&fAe<SXzA{7 z^Ljw&0-i1fH?RyD#7#{(1%BSB|9ehmv2cp#<3^=`kAly*Q`qGZUZ$V;n3i#q`whN; z#y0&EUnmi7)C>5&6v-WI?8_D)p4|cpZxWsY*xnuf#(S3k*#%zQ@Vp1%o<zMa{A4=_ zznPAF5-zZr{8+O5_v8=AlkI?9KR<$SL2k}DEihlG1Mg0IBb>A=|B1S#E1)=M<~Pox z|C@GWU#OdQ&Eh<muaF1xRwcZ#ub)~b;7PbSPYVFp3+DSz(;kqEeC+)AFz}|`*mDZ_ zVxENKOXfco60V8GV(d4~I8W543h*URH}Iw%s2g~bPsqi5(4NeL{6PJEEI=KH04JEA z*8!q#y%F=h4gh#}eoXE7Nda}uU>=-<b^(9m{{Ldc;-|rX1UWd*g-BZoJiZX=xk&Y$ z*siI?V6*cl<gqK3ncl*_;vGTFkNF*JJIwJHrd@S_d9HZxi-8B;<Uctt@?$}Im-2;g z$HSgz_w$}Zo~fSCd&VAL5c1RWp5FNYKlx7=nDMWu2kppw%$X4KN_ft)05Q))pap&} z|K20>?E)_U=>o8W$b98I-v6flj~zzP?10T5Mo?4BEcxvPj(sP8?&ShI`oHtPIl>hF zRRm_f(E7h)KjzNl*9kDQgO>L20{8!kf9HSW-*0|FezSlGe1*I%fH{w!c>*x)d&sN* z2k<)ni+MltRnBt}@DcAB@<{lKdcyBuch1k5U&gy5Jy9p^z5;-;vYkA80mj%(yOGv( zq!V?4U3ng~E6jnt!<>s^oG`aYU&Q#LmK*HK`T7~aC;9akygX&zW_`e4W+T`o+C=Kv zZS3I}x&pjM?a%&SPVwS4T!W>c$<{C#gqnZ#f4V~|eBn0Qfy@8Y|7{Iw{=NT4`L`qF zjQ(#^KoMx77o?`<UtJ&<)`6y}5vUqO`M-@5fVF=vwt%^U|EdGk`ETd_zXQK}&;CCn zzki&&K%4{W{BVJ#=3c;Rkab|TApe_g=XKx~rjY%ATI2<G1WvSo)U6r;i$LkqxXmko z2BA7In<xSw#;tmRO98CmHa)_oFwH6gtq$M{fNnM2|EK9L(5G8KO|*c8<Pmm?m}wTb z_@mtE4m%~MuwP8m6=3IFw18bdcT$aycM0<X@4vDQ)C+Gffc)j{gLngS2L5fF_YwYc zybU??f37(4{|0#^|1Qou<k$;xES>WR{Nx<r-#KUC&o$lob?_JJx8oNy=e)3g5cnd$ zmfNcO4=o+<t^M}tz;DxT;D3$V1@?{hAU~78u7C-3!~X#Aq}?joJL)<FW~du}UH-Si zzJLewp}hHn`33NAlk=Ul_x^9@i}P9*wCf6((Qf{W^ICS&u8Uyeyx`x7x<BqBd=d2z z0q^fc`(g>~Z~1_?Gt!;#LB41Y_*<&e2+;q9dL=wl{g!$DNW3rkzs=`8k#84Zyx+zn zU%m5H&Oc%Si2cb0Ze;<UX$SusBY-b#d%+_1pY8>AhuO<t*}?AE@7Azo0XzHu^bq*8 z*nivt7McG<_(^`leiriEIiIu#_C>pw&U^>nkk{1PUSxZZbnJz<mj@ufE!su(-}Ah9 z?#rC*Tl`Ui-P`yA>Fu9?{mb|Z+hWhh|G6{~?=js7Pzod$1W(j{%a*}CJtCX}u7RE} zl}*44EZ77W*#xX1BvXJdlw1%np*NCG0PcPoxE*gTb%b~F2si>C1>g&}<Aas|1VBf) zl~DL^XZnnvFoj$C!k3(^2DjrY<Z7TL-U4s=9Ps^Cr2td<aXUh&2JZZrmQ2AdfL?Gr ze)mS8pZJ1O@aI-?|3~My%zW*+@cu_BD3v3`m-}&>0{OLj0rqGFrRnGIaodDLAbw^k zxJ3)d{%<d+3HY~#BEaVFsS0rWZIsaYxnp*H8K?u*|6vCu)PB3eEf!fr%#Ty;w=ZCZ z(jagMgya#o?}mjpg4>k)f1CiXSr8~Jssmm)Wf_=UWD~cTFGfu)Fo+ULLF`zv`A^I9 zahs|`;8t}2bE&%lo3K-OsR{4s3>$BJvHTM}8{>z-E~>E<*x(sErd4cXS@eHHK7nn* zg?F6yz4;4oLf-qoZ~MX<NSDNR<iEo|D?rh{fIQy(%)B87;ey<>19D#h<UDEr2Eqlo zfj8lG0+4g}|6Is<CBF-Q*8T#XgbQ+(|6B-s$3EF6`M|#a+{t-a02e`S)N2O$D*vY4 zfnVfz+G{8F=3LV|IPb#c&$LhGYnf;V^X=fTy`w(6_Q5<_fZ<miAlruDv}2<7Yv%&y zTNmJN)Iols?j=hBfzMJv=Bo}Q=O#Zm2ir#7vw8ur@6`aPTL2r(dwLP=U^`BI{LH<8 zk42mV{u%Ar6iBsY__60gwh`cuOda<4YrgQgDE7_2X~zz{V^{LC_9yKV_Obv3xKkb9 zqyPH}z^Sgz&v>tFum10N&*sl7pvV{V74;1E7V^P=EB_JlvICM|A@798%;Vn+pZb*f zU>*zkPYa+6Sa}Q31#AR%fi}Yeocwwe2rsY^RN%LTv9GkZ5itDCzwN+NU&0Hv?Z7V3 zr>tT6=RjD)%m`cx=9%9sK(~M?`B4Wl?R)G8{4MrLz8(TNlmE#J@(G|G{7gRQJnfBo z0H4@9>U+-nsn0o2=JmXXIVF6N54;oj%J%x#K9X<F+a%$c?f%!kO7&VC?2+x6>W*~I zjCAL@c_zsj>0GwL+;_fXob;;sZzs9SIU!e3_u{?cy_Wjkztn&7ua;+b0}79TJG7tl z1^mRv6pi36tAQ5$bVsPkUT_yDK(_`rg;#e|^Y;nx`cCd3k9czzCx8zDy2D+Te^i4z z7KHbAlA3?-{~zyo2w=Jwe7YN<b^?SQfd4yo{w^B99qr)Tof-kAmhX2_`=c6w|2y@6 z&&L1HJ6-|d0&R&p0RHbJH-FE&JOse}oz&si$Eo(;jR93V@WL;1{+B=hjJwwVvBytY zz+D;v7OPy~ZdW6?t7_2fAZ`IQe|SNtmH#{MYW{cC|Gy0Gm?_=@?F6{P?h2rJ_h~@1 zgHksCJ1^M<?s9=OaL@kl@_(ml5WA{Dl>hAiQ~7^A?j#!o=A9Zrw1AiS^ToJpSHPVb zfz6`NJC%Z&S;#M31n$}%)gb$SnT3}-I1Y%#pCaMs6F)<00S3F{ZO$j26K`-{;op~{ zx)#^|nxGm;_bZ^NX6&17P@Rwm*q~ad6K_y0$c=ZM0KqnB7wS>_ML0QcS{(UP>?`~U zd86HsNAkD8_aRV_&rbb9U4-)l$c41uiFwb8dZ2FL!8ste8uL;3!TbVv{oDn);1B)< z{9R&?rFOz!gbVu_{7HM|KbPd(z;hPlwQSRlFNON|ap%1;j~3ATf9wwbJ{$0aAB2Av z=Sluu(#{2(e;h%(m?z#J1i6_n)V18@wQt%n?^+|MgP*{^A?jRo>SH1503KlX>HZJG z0e=<*AN<4{M&OC1mjdtq=%e}q8QzwGe<rH2*Wz8>0RR*Jn(7M`_!Z;JB{?thYXSLS zJ7z5k@M0bzU%=NgF|SCc5p0RIUz~Gs!s~?(cF=>}7Et8ZV)Fk#=FCO8uAIl!@Bg63 zj-AApIC1X14hWDCC9S>VbkDg|saO!D?aW^_9|*0^%JCj9zzIKDfJS|r^NR&w?5{4M z<j;X0Gha)SADJIBUu*y7hxyNyAN<M)&L_WIpo{?XKR^390+cVD4}Z>o98GqxY>@)Q z|6~DW4X}gGe|`%%bpg!(G6Fe*jo@_V|F4bzuz<#Y%zTe}&H2|D_?Y&Z`F+%D&c}Gy zTA1&1{)zmz2|vbr8|;BPSD)<xzaTf~qP?cN#(NI=!W$Nlr~}}d?ZG+cxu?3s$ruO5 zoY)@Y*t+A1ErvDE&GVHej`qv`YnOz6)lVJxC3;o(k7&?V1pYZJggYz?Ujz^ew5TKY zw*^zkbbwsIbfAC``M>1?c|_!b77#N3^A!Lu=qtj%@;~c%0{pMz^SmMv)IuVFJ47zv zir8P_KSM#Yg9!h9DGR^_Xatc390y8g>{s|_9f`ovK;i$aM&`e=I{!9;E))k8`{f1F znEZSAk0-#-v-RVU3!o11{eTNhizxs`FxJ-tM&Kn!&=VlMfU7?N!X20hBK#u=XfgRK z|LX~WEa2s@1Ca~p4hRK(*&vYob1@glAhI$Sz#zOL0_=-U0fW$r6u{&k9^r-I-xh2l zwy3rA1jy}egaW&UbX0o8USs&nKHB8(Jd1E=e)Eh(VBL9^MjQyi=e-Db?QA0v_-zlo zkp)mY*wPXE8{wilzWEjE0e0hDgu9AxJ@p6Pn*1VshaAJ7DPZDU$zS20Y%iSWYoD}Z z;Dh!t`31RN`=vAXi}nt@P&eUz>UY{5{)_pX`IngY^Zo>W2L2AYhJRM(e*-@R$9_KY z>$QIcc)S8cdjOAVkL^M`wuQRh0=aF#2l>T$Vqf#$K_DSF?acp4JAwe<XB;r_A&~jK z>Iu-94{h2d6bC97nDZe_J0Nd5Y4=0GoLe;72l=2KvA>v~Xx9^<$WP`k01vkH5a^Ik zT5kcq{7v|&NbL17ZyV|36~GCf*wYcfc?@~NKL$Gq-}w*t`B5M<e=$G7PcM)QpaS)% zTw}cZ3tu1d&i`cueaOd$fO*ct4#51#|25>}{a<<=_@4G9#=tK-@cTc%1$gG`b3kp! z<S$2v$?q=$7IcKk4l4P(c{Ku@*+II)WiOBspehK+2$1}z`9E7g*a1HTbRz)yc7YI= z;SVF|@HgNCa$+BXE8h9F;)TC3&o}=Be4}0AKc4jbycZMx!eEcLJy5TCK7`q}VDeY~ zPskUx^&H@5yfMbLy~H;9{$jU@p4F`(wE7QydUJDl;R1BOcG`(1yZ}FBg^-Rdi~!r_ z6w#48+#Gi|L*L&VT5t`C_vrWu0H?T_VuAv~#~XeiEQ5Hs$$$VMYj~tUO>4NxkN?jW zw1!VNM=qEGG_B#~rV_!;@foXp;mgettHM7-7{Lt}BEU_Be?0-p0-OuJ-yE^(2@pnr zb;AYhZ<zm4wVVhbZn$dr=M&&2KMnqK!;k-{S}hc;<lnUC0JIipznNXY+YrqKZhjwH z(d;RJ`bM3f$4walM6TuqFoGL;L00F2*$Zx(9o&39uoMSEv`_$3z`AKmiQt9?fg0ka zDg>9^;ijws;^sM)ec{Fr0lEXW(UC@F7Pu*4kGPRvd^m3SQ4lpnbBY_BzR%_4j}G(= z*9Zbi2k(v>z5-PJ7O+#?-~tyqA?7DQ-v-qL`xNiwpYRLjrHXTa-PzXGY{#@O!W9HS zbtZyFwFnQkL2@lT0RnHc4XPX1NC78!cf!r~%>m9w{;w2}k9?$k5bg!M%{d8=$#2vP z@8H~HU#Q<4-?Vnr3vvK&!b1pn(_SJ82j>m@-y$5f3(*e9EoPlmC))&G*t=uAHRrwE zX&3xpegQsF7xo3bu+Lh+2jsP&Z%BLA0v@P)^#~yBZ%8|8uKEvtB0p#c{G{FF2lfmC zuEBX*K|6uZhXB9^`~+T{M<wch^XF6l@kqiM5TFBZLN3(7wqE|hvleJC;L!>4oeK*1 zz`i{Mpn)-5U<eVe*e}9c2ZRUDs1kx)l^t*k?5C<}U%>%K_zM`(QJ2Np4yw_QDnSbf z@;T=PJRpxP`Hx91fm#Ah5FS;lzyD<cgkQ|(oX3RcB-azbu^&c&!5+z<%xBeq-Y5A_ z;-5yK!45|V{%goXO!>cm0x<kCf*SbdUt)xR*uicDn)YqrYx1WHX!sZZIs9uIcA&8@ zJK+2uE}$S_UuXkAGQWI*S)eAoM}67B<OntYWdx{wdH$yhaPm+5|2kq@E+7#upgB+Y zgM0{&db<EEAV$4b%m145VF4r`Ge3-=P5VxJ=nDUu@Ik&HuR7lRHRJ`nUi+cJcC8%m zz<bXBG3PnkgLa{A&f7@WFwfZzi~)S%E$vAjgmbpXR0pf9lbDCOzv>0>SR~d#J(@=P z@+q!q>9V(fEAaExESh&@E~v1eZ8`-5f^;~=ywV+P6O|4e6T%?cicrv2Wd62b1bsy= zpk+ve9kew<ff7NhnFwSJ3I(l3_-`w7K?Q_N{_+ARf>~tjcm7xApKDmawlek;`0)hj z{A==GtTXT({?L{APXx&a{91Ssq;~A@f)*en81;K30x!6LgMb9$K&F5$DhtRI!XR4y zPtD}7{GYXj|J@xN2lNVv%D}%?8U)<IP7x8Hubu_06#@7J2-hg5h%C@oj{{vR2rO0e zzg$E4U*SJez?D_-U!nbtRCmIm!Lx?HAz#2AlfSXu^Zy?S*At-QE!_!^$v-a<j^}_x zha5V?e+h9uo&W&ekNifsX}^ei&Hv2*jrO;ojtH=$uFeVY1%C{DeDlAEI*vBl_5L6I zHvm6S7xSHS>o))&<ZsMh0Y0Aq9eCw`J^{=*;((q2&H^DS2n@jozff2HS0b30uS9SW zc))MYC5rZl{a&4O>khf~!nw9Z`{3LiJ_-_e%zOs^d<#%doa-TQ!2<pT_L2G9Fuy|n z8{zMRUAoV9>0qAU0#4z-#Q&u^f5`&+z|W6-mj{04{~Gu(g)#F>??!;m|2Z#!O~4DH z{$Xv7uy_HU0PFCt4}N3#8~ZMH3*fZJL%=it3jZ<QEB~L6kGH@)<l{TvvKHnIyu?1? z7ux$^uZO^(-E3PJ>@Ey8Ujg~l2fdwh!%U(4|L0*|7$b*IkXQe2o42<I7JelmeY#aM zDrWv|u2sVqa5UHZ+x$8Rr;tW{f6I>o76|;evHTEFF8FwRU_pm3+#V0uQbWKO9&c+& z*Aw9B_P~1PN^5}DcY)jElNO%<FSq$o@bm2vs}cdkms>81*V`i(?cgi6&IPvzw%_LU z{q`7(Uhw1g7z-9~%Qbt!uiGORo&eDP1aMoqfFiQM?fIIpzda5t7=eUqbc%ln>8Vrj z-~K+d>;>3@|64`?REg|#7ofiVdEEZUh5Qel_4{$#>>xA~!EIHD&|i<+dIE%aJ#On2 zp!^@(_6oTDa>V)^3t1q=3%96!eL8Mw6R5eKk6Ri9YKW((w=#>z5V7bKs9Jgg+&&zA zElzQZbkLmQ7W)0+dJ7HLD6^2h#kOo>(rD5tZYfZ`(7)wEB7pEiKst^Hxj6^J1Ln#L zafe_l5rFW)HsA9A+iY8aWUbQ_Ajl&HkZs|el{^R7B;0t5aN(Vk-;hIe!uiM_kdt<> z4bGEraE=dtsuX$!oN%reegVJJ4#KsPbIg1I&l;R-+M9XDelsu5#XReTx*z<&yQAK= z1Ne&lc7eoO1OE!}MqQ)60}s3x)Pr*_qwcZq4)E50>I=@Li*REfVnLnoqbb@!zG#n1 z+EG(9+JQRQ4htagiFyHV+5vgQ0l-h%N9;H4U|Y<SbJ3oh3vx0as5jvAwJ-9w@DIp? zb5>~(9+0z!2ISHNUf2iQSm@ku3xuO-!hv+x+KPG5Tky*QqAppW;1}V7KWmL~Ol+J+ zm0(}M18nqR2eED1<cHwEN6p2l4(4MS{w81n06wbWukjA%W6t~Ap5PbunChJKs4?ML z#edfJ2_P)MANe%oYt+LL`kaRyMC^C<sF%RN2mDpz69BjR7SQcr417BRj6fD3N1)E| zf5{6p_8A1?<u5ys5j1N^J8%%NDKHo0*!Sd@@HRYxW8aP-FVNOTAR%iAFW|J_2fpC9 z7w9`*=U=g3F5oKu(*giI;TQHf_6dJr@8wYsygBEEz4L#c@FG8kykdXRu6Mq%&%s{f zJ+Q|-uL+OAu6ZtzoP*>-J!X5&a|y8>^tQnsoCDw*>_eF9Ci)E50M|SZO*jMNme_mK zN5XsA`lf{HyOs`gf2sQghyPuqWymaAoy?*lLmEVx1?*s7;RWyL2&#MnL^|La`JXnS z*dNLN9TyXU4I&)j-G~N}{ITA#!V%sv|LYZ?ATZYv3Mvak?0+}sf_eo^Uf>iki=Xf6 z6`(}$uEM`x0mgn4BM!W44}o{bf#sZkD)K_(Ke7Mkc;{w|1Ga;AYL*MUD*;EqiY-&X zQs1>FfKA~YLqS+TUo8l{qmIffFsi-4LJ@%VUBv+<|Ec!y5AE1*L4$br>A*^NVE&&B zf{9?bL&brf|KGtr${i-*EKuSd#QQ@v6M@pf9tYHE9x<YUn_CKaha)xn{BL>z8{3^{ zcisZ_`*-;kSisgcrv1Ald<aJX3ZOpNephdMvCXXsmk73jdgFW~f6zV?9%FxoJSKmw z*LR^&JLfU^waodu3s3!b<H0}P`5O4*9JK*I@_(Zp%^3L0dKaC4X3huyhWroYo9z;V zc6Ji)-v@+s!at*)w9mi?=UVmPH|-GbigSsvHRpnVru`kZ;{5CJjv^``e?1cQ4u3uP z6Z=cRzmRZ44&W;q=)oVrKOgT}BKSAJ7vy>f^a|kL^;ZBafMFqO7xza1>@{x(+aUbz z2$Gj&&Pnw&(&vr|pTs++eGhPgJuE<+zvDN&8s?htm&lL7&H?TTAITrI6L`G>Ouof5 z-rq6v^TVE9;E(*L1;_}>4&wbkuW$kKFFRN)V0VF-{PS7{{`Ys4{4L}Kiv54(1>m0+ z(0!rvKWV#wg$-g7ms|k-ZTJs6n2i84Ut@p3UltG(zOUk613&o}^Hu*m?HlcIfv|wL zF&`t{!0)sR^~<yU9p=0~^0mRPIsXow9rZTVlXkJaRI^<oEC4WLyTIJH2Aje&ybJ3I z`}v1D!p&v%zBPpZro<f#f(x$E#XYQ{Em#J&sE7ti2NJ4qgmuvr;0s<3|KSu|j|c*E z4GGkzN(vBINCf!=U^<A*-xo8#VnT#}Bmyr61Q<c&0@wjpB!afSG9aLO;R!G;`U3b5 zM?j_c0T*a1f`AtsfjSa_o&cy?3IgI^7C;?Yz{~$3fSt(yoqTQG99yP+L;$4#*U_O1 zC<}=Hq3Ht3|FVFg$v^Bsjt~{YpGM#c5&C<C0<W=cb|6PUMG)vK=KsFv2r`ANpO1Gm zh^QF**rGBQNJM4eUuw+%w)6x*B3Res0c)7n!;!u~0X?1rv<dk|y2fG?$OViBNC#d> z1Q8Z!9B_v;2-!r{=+ia2akvwrAQ#4+WF5H=lFhRTPeGD9+tva*=RY||r-O}9klTj0 zo&%;@La+S=Z=?W$Z6V0>k>8&BgL8#{;%&$?|BH6ce?uOE4}k@BLmmQP8+B<DF3w3f zuus(W+UNX_|JrBZjdwww<co7KZ{SO0_}3Fa<Tvb-`N1|Vpl@UHH{b{4P63x`59}N8 z3jfC5lV8kdCE>}rH0Qr#zi5w2+JkT}ehZvv7yJc$!p|%K&Zkwh3w3=COw=*|3IAXo zK|t^`5$F{V*jN776Cjw!{AZm|7y0HKK|q=r0ffiH-jyQoR`_@Az=P*TzG%;?fI$8` z?Lo50Uj#<ILw>;@sH?9|-9djvofBJqLk_%gEvxgtp8$n@<bOW$y8!$EJL<d^_+!hj zeID!~@c8Fcmjy(n9U%Fq=<okF=Y@S#$9@j>G3{%@8-9p<|JT4z{_zQ*2L7-Bc>#?e z=X{&_VFBj9PyQwU+X5`~IRNC#2zs?0=yQN0K=%cYdN6NoFHke;W(QLQsILH;{CE+B zXyJeGk7iAKiEaUU0>}uWa^R0qPyS85KJs<)p+);T@bwVDJa4anU|w^+I1jwrr@k@d zIoqcpU$Y%geGT~#TtW4Wy1(i<{0Hsz5J<>{x@u8<I?MxLgI$wc`Cl_UNcMPV4iA!R zd33uYaoTs&;*RM+wf_Zlw9xda#r@rZb>bTE1st{f|DIb^1^%V>jPUVp7{tRJKMkl> z?1wu%-nGS7fSh7jgYy4fegB6Y+|A)1c5ug4(ctslk&C(D%Uw(U)R_qG@)Zz9a94|_ z5RP!iMMp?4xMT8X{c%@`01<#1wZ{SI4E(eBeRq}x?ppZonszX<z}<0RiTp)J^NfEq z@3`W$S-`6K?7w5}Mga1oNjvEE4xN?=pzpX~2Y2lWkXr|VZ^xbV9RBa-I4~XpOBTSE zj&N5(q2R7w0m=n;+Y{i9Uj%#pS16D#+&v$6GK)uws*6V``J>*!KIjfZX#4TFV<=D^ zu0gZ7>$yOk_s1Q?eO6mWHp@8d6cBf8qKeyIchuD}(hJ_&0&MXtG1vyWBwRJ-KVj~8 z$M7f5JpzF9nE9&2TZtg42JHp82!Fog^Imvgg&Yro;Jibw*pHbHs<mqVzk=<;8?-0h zHSjh0JK>4|-$giPexV+mH`M*$Pt+UpzwS2R*@@&Y=4bN9YroI@(i8JwyVIVNf2Msv z-uib}fXC4<vRzf!2iT`;raj@GQCAj-+JKi1>}Td<TlxR4#FYF6KY<tasEIm6C4yvL zvH#@=)N283=%^r^uK)ob+XDV1|AT)&0jx>5uphN2f~EsttPcm64{br<gW+uj$y#C? z+CrL<0Wb&En&hXNO*5Z@vpvQ*M>m=fKssv^Im`(^@b+vU*b{hoL1#WRfrl{v;9TU# zkk<n0q#fHa-pM?+)61XRnDc$qd&pzF+XY|&-1-TS?|;Id;UCGLb^z?d3;M#4=Qanv zzXjCef4l-@1g<^*>ni}fpxePb_9F{`f3J%DjswFEmif<Z*nua%`1e*KYA4?_znb;} zi;Ms@^ELcO1i<89jNpwHu)*KSf8(gvghvhFiG3gPfZsztfhXkCgs=RcLmpdZ{vclh z6~i2aOVm?eQ{A&Y=;c%&^ISZ$g7bh}vwfcAV~k&(<iWg%EwPMoY#q`2(cWLKVSBpt zM|8PgNO#~9;6yY3N9M2aue=bUpjKuC#)QZP^9o;>my&<DLp=fD4swdH3HSn+V*<A6 z2r>n3mHaarFda<c-?^ZrgNz0=h!Ojd|6v5IBNx;YAmTtJ0*TB8Wd}jN;FrMU*CO`T z$-feT;{XW%(;D!Db1l1ow}=2v`_}4={_g|)pDx7#@NXkX-CO{UAXA8{z~8E$0E+#1 z2<R=4qQXD2fEIiKcA%v!5Sm$FRHlG1f?8n*^aVJA7g9jz@&yTbgbV_8EXIL|{k0a4 zfI)Pd7#_hm0BcwmlRs?2%dR1JIH}44Th((Q5`J4#@>idD+Xc+CI+ws!95CJ?nEwTK zub^5y52`n?GyjwGg>7t2wS}l&>d5~EJRnCF=&0xOUi05?`zA*IC+8wOhQFQwJL-Jx zC+Ca+&<Xif&Xxa@_742adA<ca?Inyo$-l<@!nT=*P!I@F5BmjmZy{olc8q$DeRq2P z7wS;~wkokV?GUm2&My%ia=uokfaDy&Bki*q_!O1=0sORz_89x5J;Q%vegIGGlljiM zbmf239^$Dj%ztbh3YZAQeAG@mf&jKvO?wKY09b(1fnz_m(x@BlILg&%519M50pGzs z(e*T#2v_W%>p)%MpMzb^nCCPF5B3cI^E~%>#{iG;uciEN__-DT3-;P-!uQ&-x7M>C z+kF2k|2O_I^M?iK695DM81>wqOnXiExeg<c7w~gHkgsWPQKLS-1z7K6zjelk09yl1 z;lvB@A)tkVocW#qZVE#;Q%L?>M=l^EunUCX%s;7Z+9&@t_H6{_UypygK+s+ffgJc8 z^?l|~z>9xlPXXo~{&UoK)TJBn@vz6Xruq<_cIg>%ebt*#C+8+y^W2<Yn&&yaO|`@h zvp?hgiEYPq)7~fislLBIuzcS_O`Y}&*{4Cg$8Sqa8m4d`;U5cP(&)e%?qf+rt@VID ztl>Tk;;~f)gs1zA2@<I33-`w}H7eF8RHg$vf`y~O=lgI6ROSCK6sWNPe^m&X!dD8^ zScn6vGJ<=4`B&|^;Qsib1tWl<9sIl}{HPK%f?xMXF2E1%YV7aFw}5}{k655xwTrTV z;QxMJOD8PgpW~iOqHl-(ecW>adkNRh|9v?^3Jw3C$2}Lk03z#;<GyDBZNDG)ODOop zP9^_)il|=?)cbk`K!kp+N>jK;r5)UVIkcSru}xq2eB5(6`AgixBWMs3_n!`|;S0?v z?w3%&L~#FfU?BylDiqvTD6k0Q_;}nu#FDt?6d#WJ$_N<#&{{nU+`~9%4Ho@55X2Vb z3(44O0ec;xieyxa0eOLKq#X@{bF!_Pco*2BdT{OtP{Og_LU;@8G5?G0BpkH2cm4~g zCfHdS0mciT5kQ2;{5RwT-lzk3;|<im5p~qe{}kWvng3C>NH~H(KrYl5;5G1xeG;xY zFY-I^KwY$V=6A^D0%ZXS{21)@?C&lR7Qpc??4=DqL}JhI56(67O@0cZeggcjguK%p z{F8Q6i<tS?7V{EOi}sxVjdO+n#J(l}KppT`4ZO*`YVyw~z(hO9e~FdMgK%t#{b?Kk z>Onhefb9ja0lcFDHMX$;wgosx&L{1`yq^6M0vi=}AZ>xI;(&nf89^xk6?Sl{MYTTZ zUDr6}webWX_MkdDHO7;34s#H`V$XRFyaRsDaHBp1=XuO_j`4f~kbg5Df|DE~nCCo? zsouWu1^FEEo&3;-AJ}uA_i3M_p3G1Azup2F{x$Gxy!U|*{=*LX>Mo$kPwc}8AZ8<g zHH_F_Dd5uBM?XLQSs)9P9uYvkP%hvnK<0nJ-%Y`t^o2_M_64~>_W}=m3r&7mK(8Wy zjQTe71NgE4WquF*Gy)EM&v}jdnD!j?3;6;*o&%sA{1^5D9uqz~ZM*~iKHd|4&Gwq` zG3pEQK{)4mALbhAQ9*bu0q=RPVXoO8VAmrb!Wu6EkMSVC@YVoF)$$l0eE=`8+r;(^ z*BJLCm(cxw$J5^Tb^2FT0pU`OIB>R<{HMz2fPA4>7=f1F0^tj1E8JmTFoI=eE|5XM z8n%_mAMU^vS)eZ^0+>QukqG(%|BeGC(goxNtP%USl`h~{07cNgELngj{{=C^e+>NV ztDXQ(1Seuo{=I{-zbzYq^8ZxJ2xJGNG7gL^pe;;cTQUVW!m<<u!Va1*WCW;(Ky2v? zYh@geFN{iS&=X)(rGTn2|0@^3Cf210uv7<uMbI7O5o;~8kY%{W{FirNjF)Ac3#EWR zRoTHQ(uf1<?^GiTs5w!sL{Pb)gDq{mEf%~Z0?c5W^9Apm{Drq@KZQIde?bnBkURf3 zyp6gb*F(U-57Z0$9d&dD>KOjD1?>m|`N(g~ue1w(GM@wg67YY3yj#HE1Ai(1ckGb} zVp|XXNzA}I2&|}I20kocp&f*yL)1rYDPYO}G5;6rF947H-%*ckp*{(s9`G;As5}3o z!<e9SFx9^T9s$8Fu%oWGfcrb=hzxtPbxxV@%^iDpBKCLMmH*k<vA+a=CjWWD8~8=M zh5rcuf12~d0_+8g1=Qp>`CTCAV>`Tn`VU4>E+9KNo%|90ude*~cfk%|7CH9+`}{Zj z4*wDf{5JU~@@)sR1?0?s<G?TS$Jk%6Xa4VVUits}gr7J!^H)#@#zx(ccd-m}Z7&gS zk{4lsDT3I!6Wa#uf7A~D@82I-_-jk`Ru{DOKMHsFfFD+sS)h{({6n{zTfG0@=l6f- zg;Se&e1Bj)p~4hY=?>5D53Gm=6tIR*?{jtif+imV5Sa+xAD^|FFML4<iQs*#SFXtv z-XCAlgeg!&D0qK-({lL77UaLD5va-t-q%+EB!B9k@0kKny)ggZ^P9h_w$xz(@5=}v ztbzUeTCxCa%L|V81wUK>T3ZV@vr}>4Jq4--9s=6FXWDm#kcJURzyEb$Vg6ev3q+F^ z@c!q4Wexsgi@LAx$9ww1sLcQGza3tP1F2~Z@4p^>IS#z1FHH5z@t*nL^?ikc5HAO6 zEJuS+p>xqA-lM~XEC8`2g7>hGrvvpps?6dsb#}1jQVM{E$O<tpJOQ!;0Ux1LSYQhs z3;o$6(9uHQS^$f1!`ykch7i@AXF+bTHTgT<;@mt#2y#>{!3@qJmIwg0bCGjs<DK~* zoq7l)>hlXf2{+zdkZrvM0`eaI1w1A{3D;X7IIjo*&Y_cbLayPTsLzu>2yehA;q$b| z%um|8fHvxeT%xvtcY}P{=Cof>7vY`!$OUJd3w75J1-Vhz*cazL`HOk=JLF<sozO(x zul?A9bJYq0(V1WS;5<7(9oSbE$makE2mFi!s1gwbr~!F!jw;AY<Q9;3)WtcFo`Kg# z!Q@=<`?XKbBNUVf<{1+LX;^^M0kQzF?*XB<!85Q|Opss=s+T3&34Blu=3NW;?8^=u z6FA!eaM*#Dwygr-AYUK<7r`yy2k^1<RnLN3^g(r03+I21?ws(Y^UcpOKE3}n(g}P{ z_#!_nKyzO3bE?OLhtTr-pCf$_{}}$sKY^DH>}>?~3P=m!%m?#1^F8oOWb((%_t>`! zNO0iChX76fZU-Lw5VMX^U*r#6j*!EDaRem-HgoKof6aW?aDko+nj_@Eua1qtF3^R^ zw<%<&&HQu(=6^7+ncpY>@)f`qAo8Pva1MNb0tgoX;i^Ji@EdqyA9!=xhp6$cZ+jZ) ze&@%)ufe`db&d3#>fl_cgI=PZz>{+ia|sRhU>?NQV3&@{r5Wx?9)e5rJS?COaL@Sy zJ1l_EifX5K<#RW^weSynNB94#W*lH%IMwMFHjWYw1&dHd==JGCMFVF9icJ1x7S8`& zq$$`PdMGHZ*zcM~AUj~q*st(kbtHm%3k3i3$~aIipzVnL&i{h{tS0&Lf>uZP_bZ@@ z6@I(Gxp2t8E*$lDQL(?<fsMc^;6&`<pK$;daI&2FyO@*zcm*_5P%el{cbF=DAp-xh z903;5Ji-rwaD;s^|10xPmEj)-v9AwI1a^u^lwZg-)>^J1@3>e!`J4EF-?pvwDa^fj z3GAHzN&$22RChhXe<OUsJI8)K@(uZ02#=Y+t$)oq$X__e_U)*H{}}aseaLOl{()n^ zp)L!!4m?i(hWYE9`*i30_whl^E5PH3PyO?H3j8JJJLlH_5qLfUR@wpo!nwAmw4*87 zKOG-B_J0rjApG(8Pys>B5C0wbGpddEspxoL(tp7I1K;*D_L%UU_O4IK*W>?R^AAVJ zFMP9jiv_?G-Z<?~T;RjG3;c_*FLzjnf3t@FyLND91o}E~GVo;$mn`6v|Nk=W_c{N@ zA-@BEN_!_<`pukQo9BArpF;k}VgC1EpVHo&NC8@ETK9C&o7Nvc99r;;Q~mJa@QP@F z`>YU;Tx<SE+MgHv0-fi21xTREAU=IKup%8$puTX$7XfLw07R>Dhc6$(CQxHhynZ-x zDg1vpzM|tN0Jq;h9Jvttp&9<ae>lccI)E4S)dE7~{|{Ued<FbM1gI2X9a%ukOO*cS z!*Oxp6~NPo10QO2y)@&910VHNOnn*wB7jmrW&v$~9UodKfbI)f;6q#5MnEV#`0(Sv z!Zzyns2|D{Bv7^RA>c!;_$cr-woz+IEAyk7f;REt^}s^@|4=L50-wkBgI@vV4(NQK zM%8lc|A6^l3yA<)6`>$<!BbR=*w#Ywhwe3;g5lqm0WsD?qysG_e{Ul-z(hbVYZub! zkE4QI^qOsp4*x>6;=n?<!R}N?v(0}&J}R?-2zL<ZDImZm>VbD5-BB0V%Ku3?NG`%5 zVv+WhaM2E)34DM};03v>=0Dhu4}K!NIQN@B@;{g->fk)`zlOh<FWQrH&~DVlxlzX} zpmh@X1^YsJVqUL(pkAjd?PA{KLwI%0ca86VYHGrZ_7modc46OX4^7(r1i)50`o+9x zH}+!Q*z5ftY;&3UA@~po!a=@LfGmKJ3-wV6yk7nZxhw#9_f^>AIS|+bX$Vyc10MpA zi+^%1+5>EF34DNE<fjFQc4dB73q1tDGniKu{MHbpT5Jcs*s7{u9W<w<;Lw}sv~A$6 zFL@F*+l_sMf8rfgLf`Xhi)NrM{v}w^)Mva9eh#Qf;6Zq}Kxva7Q=MP<1bmKnPJ55{ z_ykbc>vO=c06hUT;q?iCBOTTd@XG>N!T+@M5b(6OsIPsn23vsa069O6pu0eaf1dmZ z`7ns-Lx4UC)SS=H0e#C41j)R}ml4<w$`Qg27Wg&!dsBA=yyv|6S0}t+9{BcxFbKLp zhrf3`=f%HF!4?p}*UT6E$$X9a82B~n(+EH~IyLGw-nGS?7wrjoje1Rc4|%=(C+2Iy z$0q>r+~&M!@3Vcd%?Ym$d!jlx2g4n8Y-_5IVa}%JwrdxCVgt@T#x==1(wNwN+qI4~ z()(b?ohwKF3m-ooSl(U|!y0z8VCUiE$p2v(ZH-U>BlwulfiQ@V(-YvCTjheKI`eno zP+*avKps&wlRsSGW4;11{KE)7#=>@T1a2b{Y-@!7dI<dZIOl&l!iWRP|A7A^Ex-{# z;$!rY3q~CH*tEm{$BVCk<6|X%r~PY!17Ea%Y})(}@%#8lFK{TBwsYo(DSULN!v9AK z)wBb;fV^O;-37XCjv#mVs7^BlIl@PFqS6a2Vq5wD<LmLUbToSw_<VfSwj9CMkfOpr zY~o{22cG}4_=xS(p*q<FEJLPnS}Xa(Bl`M?%MZs#W`qm^JrvA3uhpnO1$$|pf(@A6 z53nz={n%g@<bgDsO8$E_*q=TgSlWiJCxFDu$0HUW_Mc1Sw!k*+CR{?C8*+<;9LzW1 zzkPfY=OBN2=NI-n>h6rdZ|twoPV%SZFa9_9NB+NrI!wX7@CVNA0yFK#K85k#MFH=b zZ{|O~4fu~{egi&30l@xt2=bl?M&_?X5RfmN@8SPT(at!qpboraHQ<+rK!*Pr_!aUV z4X!i)cmVH!)~j!4wgY|`!QK?@B=*wuUixPHL=biKbAS`(KFmX-De^h7`*<Hyoop}s z2kk`NE&ws$C+9W-PxUU$d<f2S)x`pA1n>g$FVW$*-ba1L{+jcB@=r!kzF_Qkabg7J z2xId16ac+pe_{<45dQ24=@h2@p98)iYv>j8KeqIOKJZiT@T;>~0K6bv;BEZp2fqft z=6uxCQQv4!3+RL0dY<q(@J}cFDeVj4+WzfSH`NrH<ca!*@yUd*F}~7^-|}dg<d?23 zeQfbV{kH!FHGSl3qhC4Su94Az0l}6L)=+stBF&=0{|E>z|HBu?($|5iN(!<G<$|6O zz`p~6v^?Sq`uH3GkEj)1K+BLo&G1iQFMx<p(AM{l$FyJy>_qtQ3tqrn5Eg*I-xnVO zk@ow73t;T;i~O$^07uwX%y}<BuCedVi74{TznIrnUI6|9y!n^zH3C08g772xEBvPb z`RG*m?*iJUFhzs!M{FwvAP#87%tw<IUZ54*@`dPpofhms;U6g=bS=FCl>eiaH9*H| z`CmFa$^xuC`70nGBScJijyhJ^gc5<D0Qn-QEbtLNQcEv_NCC?ERo6~E0b~>1ETDT+ zNDpXf7QMNHy<i+97t*QmZBH}5RfPid#j_@V&VM%17t%@riMJvE!#|K-=6?q}p8yO6 zB0TZlzz)uZx&)v4hCIi<-uXhEPk<y`w3~Up`2%l3?kcuLd+8wDs9TtDKk}PM+BNNG z@(11+?0x<ldyVlOa*^NrIq=~K1$^gR@BF0QL7<)hM%_k`okCp?{*JxaPQuA~q7MBd zm*YTm0JbWzPvAv<1%ZY6+&182_+wjDv<LQ%02B$iW4{HkR~)e5R?T4B{4*c~<ifiH z&nEh@fVTyo00}veF4_a~TGHY?0LD`IZ%=?=TS<YC3-wWX1Vr&P7*$(N_;3Ml85trA z@TfB%T3_|Lpap1j;{w2*Djb2P0JdcTpuOup%!7Y<f#KI|FBiznul$edrT?(c3E$z@ zgdepg{CEX$)Cc(z#(ox)1=PR?`RJzwDF4^|kN*V72|tZ}x&S&O`PbynY0o(yuK-yC z#X9zD<`07~_VNO4{ZXJ!Bm6JqYwRzk5RL%UXGiF!Fr4DT{MXnw_QM4<^Evh>BLLxi z1!&r<2KHJt=fev;=h4)JrwgPe^L`6x=4-r%1#rk?!YBU_^U}2UNbe8+nB=wm&et&a zJ3oxTZvjy)$k8;_6hUtn<UH|)zVHMH@`Z65<HBA;JBZ~9nA_4ASH0Blr(O5^yMA~$ zu++D}cC`!{1TNRno)O#$ci7hR!x5`uLKh?R(<5FUj#%`C&n0pzcX&9yJn)NvYB|Cy z`mg}i@`6bI4`B_c`cDA8_T(?EwD0=k;XMEUe2DxXq2OT-|G@sC;CDKpSY4ncf)NJ_ z^`$eC{{t-mY+J|zRHx=Y#{&nxs+otFI=_#HasdqguAL4P_*EYm4WLt01h5@E{5-T0 z{vXGKjliND;h}_b0bC$D^#qs%t>IyN2s|(sIRB@ZePP(d=i>oKRmT&6*6@Hn0|K1l zp_V)X6`i4#3(6fb6!h)v7cz?nTzEPjaKtA7YS(H$FcFNg-?9LXwDPnJV&axC_s+t+ z0lp%h9!{PBYN95|4=dyy>8?B809#uVKIXrGFTxc8l5-JGu$LFUXTC(TJ)?dC`9qC; zOnVa!q)GKU@Qr$n`p$gJ`7_{?_J{W7Z+gP};pDZC3+IG)+7~@hU2lPo{m>0~LvHdV z%z1}DHJJzGW<G`S-o(N=wpxMxDeW8Qe*ZtzQ~yoO^T9tj_qMWtL%|SB=7$k1w8IOq z7TTW)^C|XZKES@T8suRL-gZr}7nm<@Io0uZ0Qt!<2i_#STR?P(bk_Fx*I*Cwx2di< zAG8zfjy-ge&l&znRZUNI4)AUPBl*t{0b`#6Bb`%y;Xmg5=_2sE5uoEyAA+c>v$%k_ z>&(ae2mgx&EL)FySU_`u)C>R1wi3Z#*g>X%ZTO!U#5VBl0^tiB^`}M<%`^U&$&UyS z!ymL;)WE+o=QZSGuzS58*si1g%Mo5sHHW+j=a7$ij#cA*K+f^*sjk`HIS<_l=jhHy zK6q~1eTJL!JTlJ|ClkIV`9+@Fg?+Z~9sM2mB~UHG6v|N4@2Ajk0l33bv2`ajJp#Va z7n-@HSvV~8@DDH03Xf1CfFo2ifNMlLsD&rMx)2BW1Q?Z_aD?s)G>C}(O@upCI`{@t z(8A{cqyR660wsde%CCbF1eE{F1>g?h1v~#D|3dvo%%f_7dF$!~|5ujsg2>l3<$N$N z>?OSIr(j-7S-{&#IPg<||MUf<eR_doe_8-v0eS)?{0s%d2+9${9oo_p02bh-fH1Z) z0#-Rf_XRjY288m3=s@d5AXDHIK%u~yU&&wF)N+j;`}HW${J&7)8gPe<`X%=K4{Pws z<X`Us8-&vSQW5^$5ylI^mrP`*y7MgB)e*qPTSyPE`2@(x-<|_PePz2)7tbU73vUd0 z2-XSmBHXV4p>D$U&X3{W*(T}&9(CYt&Ch<|JjT9hFA?FN^FKvlpOA}lJ@~1UbD?hL zDPpkqh53)IQUJvOUgLeCo!g{cAzxq%a-*J{*Gr)jZY|E0{M`iDKwVYB+FRi*&Q<m1 zkJu0R>ydAPI1r=0Lr%g4d`x>RbSMP8$j|%_3n24;4jA~ryECu+j}C=^54=gfX&3WZ z5dmlc#ybW+ykMz?H(~;g#&X~{^Nt4SP>cCd0du_w%z1#_u+ObSem(DvcM1$@9dUpU z+7SxWaXQ#9@Q!A+_y@)*ILrlnV$XpOu(9<F4;QHIG|Wvt!#|F|cGP`w$Or!xHQOWk zYrHohBLLwLt~u)aoYxmV4SbWY@LyYSo<^V#{v=<%F!<LK04`AC)Ce%x(eKkf9s+HR zu`e%Zju7O_4r~Fk12*$p0GMCKzPA+l32>V5{1zw|uou`bK)Z*$`1iIOfrh-Xx5$1? z`-ER(pEKX&FQQvO!e2(<Q6FAVGd~7CKLHqc#eQHf@&$ixJM#vfuK*DqR10-fXy*T% z=X?l6v)EStpSFzs@w{*1oba0S1Mki@b#hx^>$_cGUoQgbs1?WoXCL5$cCy{CEl2v{ z-c;w2E(2|`=>9|8>Aqn7H1{3*pC1n_Zy^?^`1E*a*&tpX53Ft$(SaART40-YP$Ep> zan1j)?4UXzSbTkC;4eo|ItUAR<Z?8q6!87=h=t*=S}7n*;gJDBF7QY%fVL3ukH;^p zZUNj*aRAsqa>*3VhX0iRALBU?ao~}w1CNgSy(#_3<S*2_9`O4Dv%q7$0zkfWuRRD@ zKmIzfV!OowbROOOK}{EUEH7{_h)#LI5Hy8HhJr`wZ-)iE06Mny3JB5cVAXVl$9f3J zARfygWD}~7pARf~L<l;CL>#@uf;Fg~i09*xiNHZ%+CCkR3<a<Z2rX%uh)y5j9c39^ zsE=x~K&x%gOWHf?zG;{x7NoQ3flsQ%wh0fm0epiTY<p{@7s7>iqyVk}TdO_q0k-hI z1bGs^aXuh#w4daE(w>A9Z*e|Q7vZb`I|hEkJ9Tv?&KvW=c7dIox6VJ*i8sL>sAH?u z^Z$;wnBRdn*rpw#FJI7XU+T(#O@7lZF@OjBgnV$`fEV5??PsV5<lmF+A&7TEE)BvV z-T-`X{(1!7s1jee-GN8HfEV5%KiI~ykOesT!vd_0Ivl}qpb0etS1({MErDv(0X8)8 z9!;MT>A;wH1Ju;&XnUc#Fpocu5uHuxKD`NZALiB*_MG0v9>U~@;22L)BOMk1u+suI z_+bYK`M97Jfgc^Bp5dS0{9>?g{G%CzUGQVD*LGL{n`7%~zljY0^VpBr5A3xx|5Y3I z)6B0dFucGP0MYd_{JSGaS0_IQoDO_D0>rrB@lGKl*yBLQ-jjcb<^oB+JEnaX%aG?5 zUf@wL<~{9m&U4!P72w$(E>PG*gx*IzC;UkM+-ky4wPrgA*HoVbXS>3`Mt#othO`I! z5N4Y~Gu*&yR`)S(JslC<z`l{J?b7TQtoJ+U^q*U+-%opITtftaDKPL$?Ax$|D~kbP z#Qu5$gf-AR6c9#*HP|Wm5EvPOMv%ThEo+D>Q=kZ6(4rUU36Q=3Yp7_D$-nZy;sC6{ z$v-{~VEET7AY#8)Hv&5X6G6rSIKsXh_zk}-pp0OQea(MWSc5IVREuy|rGtLzPM`eH z9{$qq<h2(5l?&htS{V}@^^1Sm0qR&Zf*uO2LzD|R8psjs3vhw+)$+d*!KkzYn}US5 zIscUcSYZ%K1Tcm3#W;|mfF2>Obf9P;Yf$*NO@u%S;F2|X8+ie9UKxSOKZZOyTwTKv zYzoq@G4|mvtl1>tCKg^`ZKT!o7Q!%R)Sn4QGcGXUYwTYlTwtHpfizJc+eWos_~Qvs zR0DEQtt!X|)idPaImW)hF0tV4?cjVyeXwoFOJLyVH$S7!v42Xq`CrC+z6C@+Ytr6P zw{FbmYhS4Q6=3qsynzSd3G)Tv3n3cbiU3QE3yp1re{Y9wk9@rXTs!b4KY_2;zEXgg zkL0g4(>^kPrGNpsQ-EBcaqie3iGWXlbJ{EaM;1`vZ~U9>$OvE<wJ*K`5^@EE;$N{p zm<O@Nxq%Piz9Iv#ck-tN1mV2{&6Ol0BNY7E(e^^$%mZoMA6uf{J14Z$5wcHTIAuPX ziv0`o-g3ML@QWx@7$aR?;Qa5YZlNcDfIq8||25ug$gf}fFx%_>FJD+)KwtaFzrOrU z`Tvi0;CDg8K7B!*N(4FKh5h0J-j<jgp&LQhu!D4j*#$iR?E(%0@&aXk>0SrzWdY+u zKzsiO@NM-WZyk{H6Tqc8kHH?mv+5(CUIAb}wiW)<0yNSa_W5CN20p;%v=1T9JLLSx zC$K%zEtaV++H;uK<3DH@#vAG}+s{@X<~zxr<oom%?WcV-Py71G6AeXr>0CPMHu3y) zXrVd89R5Gy&enN($}j&gh)L5IK0ig~cZKMg-}=i_ehXMV!jABi$^R=wh5}l{x2MVo zc7&(=`2U?k{6nXZH7Ei+G5M>qGhDzHK=JEoi~a2UR$W{`+o$*t@Xr%NzG~mPL->!U z`uGna?dl`AK-Z^P;Au7m+)*cLC4w%Vdh^#2+j0Sjr>1k;EZ~V+RdFEaKR*OK{W!2j z$Mb&{PuS8C&TE;%6Vt&{ZDA15v3;#dn|P90&<;ZHuYj_Kr!R-r$p1L1`TtbfB7*=U zz!UR=Iz!VPp7;uwvcU6!rut9NOb4o`-ht*g-BN&H-jPn`G4S#8IRcpH-beG4XA|C2 zKnFWGzpw)DGs1y4P!Gt-`D?2HKJ&l8Zk%_>yLR9YA;Q77@wVuki*{6?{&f7*nhB3) zbx!hsd-KPfC)**c(W&OO{BH~BBYmQJGlFrGY<I$;2i~RA7dqI#3HIE93k2S(<b0t$ zi~xkg1s2ZRHVFS2oKL8u$siDHUs%EO_akasf;@-+H-g=OkIat+>?P(3n8OPMe2E~u zfDg`V+nWLK>2lhCA-$^A45SqYESwJJPOz#)_;U;Geit2hkW83^ZHeA-bEbVj&T&0$ zYsiCP@t;E5)`T?x@~9H?x4nz}>zjXZ9^+k_z~^iy;eF1-4r18|N+k1byxRp93&3EP z7mNvi>H=-f$8&(dLnQX*-$IkWk)OVRnNQTC7W0!A*c3$jJnF+8mJYVC0J%W-g0AfX zquGF$5u92>*g=s$P5WvF=T}zIKIS|-9{4Nyg1=!87tj*wec+3KVc+4;IbVcp&L{t9 z?o*w^9E5A6yN=mT!ad9_dj4M~{OKfL2KzLt3uE|#2e?H~=3R#ikohhG`|9JgYj1U@ zR~_|E|Dp7BO5l|aP~jA=*|Z~6Sb!sVAt^|QM{q?nC@qi3L_ia<R_xC>V1p>vh(sVq zSSo!1`9Bttf2)xK`eH7KM9>%F0Jp#%HW5Lf;y`FH&lPqc{#_{||9im^N(cX5iUWeb ztRYbMvK@5(!LyK-INkQ6=>jdl5kM}`Grt`{N8n#8#{RtI5z%DqR~G0xf`C_<LJa?X zwK$+?kO6_FU_0o-)-W6a^S><z{*3*V|8t9hUn^{)3?iFy2i6D(OaxuP4!o2FWDshi zgN&dBkFf3{`rDFO*hiEX7I)CL*X}98wS#?yf3v+Hy;5DM?<Aumsyo}J8bT}QKdFWW z*rWCcu&}KZP*f`djNvb^83YpY>R`L$-NQe0qAtNIsz>e28*&MfA1R=yhEBpQaKs>x z1K-RS=W>BW-4ovAOEmt2c`rTePq#YK@Q(`x{HYN6(-9#z?E`Yd-;%%Zb{5!aUr<l@ z`N&VgN&aBIQb0$2)s_D{?Wt$Tg?fa4^_dQgeF(5!E-)g1GJnAz{YHCeg?|Ze3-}Is zXykv^o%X=n$zNXJz%QZ9Z@ma-d-54Buq*|BH@#K<uWWDlSHWx1#8lT{_jtFc@jk}5 z=DEl(9sKL5@5(O%p785z*W<rF0i2I_l8+<I_IL{zevbNy|1&#SM?EZHcL5K43Jv@* z?VAgP5!enE3y?>!nUDX)3)(j9pfNw`#Tvl&fV}C&8g$K0AxAjDzS%^;kF9~fA~@bP z=j8&61)NTMeBm?v)@cD}10SP4ETCq4Y-<JB&@=XdG&%*g2-k$qCfSa+J!iYgH|p^& z;0kn`=!0FHPvd=?=Vl&*-4k2mdfB3>m3>2dCid}e@_l51qpqKy4=glQ{X>Z>r*Q<@ zpJUl6mTg`D_PAEo0D<jTGKIN*#syfzGd~B~BQXD;W5FgQU=y$CR7`-5RRO``E1MY# zo+J5xdyb_}S_3=K-yvualOrhkKSxaX@yzhA%H-ek|IcUUe^og`g@Q-~&&&m??2qu@ zu>bv>kAjQ?&wK)?0(%H8X)yfUvH*178g(}<^5~!AnQI#R<R5)Bd)-~&x$Hn9>aRmJ z1eaX^+tkeb&n@|P?fL)w<M2WgI_vl9*QbFI3d##$1kX+9_A8sSK|E_)27zsKynQ{M zYuOsmv34AIZqY#cS;o<_Ky<jZP$+n2C{VRcSUmSQ0NxlARBap*qe-VYrP^$tVlS9G z)y8`fMp}3aX*ZK|f-RocP%wk-;otE#+g&8&qPhV;2yb{N<f7VaTM+D1)Pw4dI*=~r z$K)5`jrJ4BLA#a-FT9g;Z~I6$;Re2+n(AGg@~>td%~T6-ac*rdFy0^^T3a_$fNC6( z?Lqjm1?upEpShNYfWYq9PkM&@8St~C3i5+<HX+1(k`Ij05#A+o+XzQG2%c+M2g8?F z0Q}{^orGMdR}GSv_4yc0@%%!Pp)J&RZ82ftJhz`Xw|(s_9V{b#Y&o}c+h%w|&WSy= zw$<#AU(!iC$Mw*)9kZPS99s|`7NB|VsZP8x?J>-40WsLo;Q;rLm%yk`7eM|e<Ti!z z1VEpYJSs(2djU8n>Q|;c+#y_mrjWHduz<+_*B6*K_7c68Q^frD*kAPQ3;8Wzhaa8A zBYGz^?Z9)s3mw4}!WU}JFT!5nA#X7ae~=GHX#C3y!U!t=OL)kK;G7?`y^J8ppJ%(a z$^SOwHPV*~;5FD6$fsuU>>)oy;jKxIDlxD(#uR<RYo2>nLuj2szRYlMEsQie%kq)L z@)KXiskDV|?ibui!6$%ofl`BB0lhjPWGJZoA6qP^eF}8K9r~g*Wafu8Xwea51gLNa zYl-lJWyuuCKYT&2fT-4$|HBcy6a-`nWes5vwN@8U9ANe2AGtuU06qc20!|nBcgSCY zfU&nPh<R0@?rqm@Lbz`s!jtoQ4)kX5@BSPF!2kKG@GlqWUXXh80;hu^TK<O}WK5tb zXzL&Vak3Z(WC}}-nXjDRYD5F3fH*35u!w2jnmPO#0bmLd1e%Txy+gimv10ObA?i;C zQGK1-AS|5r-Lb%tDeXMFc}4hsr`H;sOIyU20H1&@$VE7jJ_nnLK;a)?kMLid3ufW1 z2oN37PM!zk{^m!*2i|?V5YFvDopB(+Hum+%SN=btz2|?u?OWzo5J=8zu*X(f{2Ta= zw=H04np+5Icg*?HpDxss-lP7M{5-|j$Nfu?_x=ogr2Tyr^B(>k^+*Q=JhFgjkBVtu z{S)9@_|HdvVXy5Ve`X#qkK{iC?`Y70*K@#-ui+o?lliG4BcSQZ$PioM?SQb*j;#^_ zg1yD5uHfKl+~JR=UIY@ZT|je-nw&EWfalTikp+!F4}MUM%lK^w)pk0KapH|%MYD!H zkj~g&Qyr(lIk(eDXS2f(o$%8RBI>)tsjkjs1RC|Miv2j1$gco3)sgT={+9)`;Xh^m zO8#o*%(n$>;@k`52o(p$M?SlN27cc*J&k?SZed@rNQ0Qe|EUo;2>26#?7&-#=oj<n z{NuE~`I-D+TfR`A_e{R*z^{NE{ve!hfdRSU2hy+xGLPzkKVAWCn1>et;HrUr&GW!s zliZ!1^Xe%4YiMhv?>ai>78U^fxV2cfLUgN`)f(4b1k7AMa%T~^@CpAekY-&@-Gs1S z?!<2|td~!RmM(--d^$d(sZap^n@&ggbbP@bVBf0j1D&*k68Qw+SAg`0Ph0-~H0<D8 z)9{FJgij;?f2T%`<=9{1$0tU8RagMTr{kx${SyE*j#?+Z;1fRqR{c$ZnnqB}XQ%qZ z0zTCT{|5Xx1=63m%(gn-?x*X8e~wR%_a)HTo9P8L_CJ*X`Ow~`rWbtrb!gcduuV<u zWBc>?G)DtFf-K-t{RHo*<p1gWfu*g4I-$!HBtB_NYk<}ozQDdF|0n2X6Q34sN1%w) z>U@$YUqC2`PT!(~ZB72J(e%~=rtoPt4x7kHzg*xF-aE;@8Nd_QURR#$PV@`uE{wN? zFuqg`^CDhJ`xF5%-pRQu#5D6kGCP5{){J^id$7Hs4ypmaU-i4_V5cVSzp7rD{445W z-l$Uq(j9ea)U6r7i{Z|;n!>(o8$pU9959RU1$ART`o;N5c<-C)O$hjKfm6sk{LBJD zb*-+WS%ja9nezpEY=dX5rrk`uzs9xDs*U-?`!!Bu747IRcn9ies!A06fh*u&Y8gQu zIUv9bpj{<=sv|T7Jh4o+yIxNFku)p*q2&C+RM#+9P1-rt0d|Lf9C6Mk_JkRB0LX_C zZ1a4wfNi8tUNDoNE>O(Jkna|tnO}7p@-_mF^vMD^>K7weU4U7jH^T)q>Ye=C<c}dQ z><j)&*3c*Xs_h8n5hMSb|Lzg11@y>Jc3|us_{IO!Z@}9Nrmq7V{22A81OH^^llkz7 zf*%6>rv()G9`d$;KIfNdAEO=^v-Sxegmd*dpZvEm?s?t?P+w?YJBGQ0#&{p*n&%$f z7e(ds(-6Kiv2{nfZ<m?x3zvlM>s0Arzu9wvbr%W|=z#pb;1PW*t>kZah}gd@1b&!8 zxrVfBWPwTt(pk$3R#PamnDRgDpq8Tks0#nAk@LM2`<VjN4F0v`1>U+zYY6hY9Y|Lv z#=e$vL7~1j6#@1N=J)1Fhx{9L3#9|W@8%FR0_FTn`|Sx3)<7eOqssqRgwnp!0qVZw z2r>dW!cs5Aepy3I{(1$37gXj~@^=lVXv@hTP3SoC<fpJH^nQ$e<^q|5oWcf?TZaFz zgL(znARw&u5P&tDF6IAzG&(c_quc52RCk_zCq%7Nl5_sIu&|TtPI6A#7ns5M=n(8a z{7tomk&e%PL_KDHrGPQ*+38zoBYlE8-}$GIN0V%;o&!(9G5>Syn{YEP)H~bICg0kS zFPz&2T7Lq&5Bw9nHy6-&A0+b?aAh0!H`-5`k2!w<__PB(0ptiR_V2()$CJOMfC+m( z_>=H@{KpoA>*xaK0X&daZNPW<MSEc17r^dY=?!?3Kg0~YAkW$#0=Ra8_NnjK@5=%n zIiE>B>h<LpLA%yz56$SYHjO=nIS-*%z&z*GM~&Fuhq<=009JDjyu%1M=Oge-6!6#r zd-d%I5CObC{+CwAMldXZuYh<0bYI{WoTE9sz<Qtgn)dqC#~?5b{M`;{6FKb{FR%qj z)aStQIiQiBO`8H;V|@Pu|JUu{Bos9MJ@aJ;%N9+4=M(>~Cw<NT8vc3(C;}+?n|W^| z?bq=4z@LCGBM|dT)sPSP3wsEK|7e2q8F-ENiTTEMjPbUW&e;x1`7zIU$7{cac^}{t z=ePh|&j=4(;R37^=eSQkHJm-7d-D&RH@tmw`8)1IywtzAG}Yfvue(D(4I_9t$^6l; zr8w~VGIGJBVFWK+<p{QhFony@7Vzz*eG~xv+=dIhlowdg8h*SSxoiX_Mi%fZ00aLe z9|a@-vpH>d_|<u-w*a>p@?VaBut2-3g!!j9UbZ3cjs&VZYes1N_Z0AQp`UktA1@X7 z<pS6)opc9UKpd49NW7@8W?>KhU#L}W2O$jqCGq`u!BGnZ(l6+<8I{&xp=~z59WPvy zBUCzgktj!qZRth4pwC2brM}?8=R<Yzh?8aw`4{};%s$jykBWRit0klthL^4HbabUb zuSJl&FN}Af%QcX0%p32C>Y}~FEdBN6z#3YFqe&4kcdfC1p-!V73@@A))j9cree3)L z)dhBnmqZ=F$8yw{P^bDAXFfP5^Mmcqxd=D*K2pCkd`ftyy=(js+gOFS1gbmdE-=&X z$-fJM-64lwo8TGE8T(FtXmJilfKYAZNAm~4M%60LhXqs+NX~g7As6amz92XGN&5o% z*8}}r3;d_Rzmo7TQ75Xg1;!WFz!<bMFQ5}bix!aE-Y?p54V3ojJ@n~OYbNsod(Qdz z7lHJ+z@(7#oB$j65aj{@KD2zHhksHHrvTeJ4akK$nFry*K5I3@5tcd68II-{@?Dd2 z*u=trANVoh83BTMlW$Q*Fb2N80F$4PuiyMOI}qoS5rF)8;P=xU{)PJa)<Hl#cSjK9 zOGn%81*yvjjQ!#W-s(a)1-+n8`x9N$zLPH_hz@vWohE#<15f*51ctxn{IzL+Va@}7 zLvC?S`$9OUI%d1ayTzFEL|Uj%z_)&keQeG1ES96>ym*c+^)3eFZ@aMH$KTYSb?su& z+TxGwDF7aUW;(@k0b8z~5unk`T2A4Bpui80kWf`9n4*CULhewxKmlQ@um*SmEdzd$ z`JbI|1TIB`FoJy%ctwK@1&Rh$GY)wELo7=(U-0j>P9qU$Y3zGz;l8Ps3tX@Eh4mVT ze}KKM!F(O{PEY=@fMxa5K|Zs9OaZlv+|mVlGzhbB9Kfh&7RdRp6yOMeZMj2;Z6OG_ znOYH`DojBh;p&+megXa+0p@KSm1W2#RN)SN8@|xufNi3?26V1w7LfvI91^ZE@Oh*f z+gdgYb+GM6))u}Xv9s-tAlEjv(Dme}SZH?;=rEh`4tdP^T8ID!KAJ83Pi%{7!hZ^O z623g_1-XX2W<EQ>8=Oy&dkdjgz1Ws^@~>u$cdep2CcK+XjQkJ08`wh|dy0I?=k(^w z-#m+O9l6=Jd7);02OeO1YslRUQBMGK4#KT1Mw1ahRG(B$d%gk!=^Fmh+6Lr2Qo@hG z&!u!A9glhSH`;??G*xw~T)-NS0x(?U<610qNO&AU2x&17ZBeu*+n}1A33YW0GXwzE zmWd$s+y{-34urG?w(h&x1;&11Z=OT+zBB{EblG=$!q+RHSDpGHP)8c(Q912L)wFm1 zry~Gn++6ub(-WRToJaUC7qA@!|Aai@U$#2xPk@^FgMZ9<1%5(~{>i8>7nm%d=6nQx zX?lUS<6FQo^UDQrVTAm~|1bp_#AF9E`6Cy!e!k~B`PQ-kZQVQ(jeJ`GgyHYa=oj{V z!pj}x0x|9R!7oR8&HTj$a<Gf=GYbeW*nw9^pY)*pZI8keULqhT*s9?LV7N0+q!VoE z8sj<b3+$Zmz||dVz5hX}@V-(BcHlRQu!h!z))LH~%;5rUjBBgT()Z0P{m--&{S&Cz zE*&2&qTdW%UT`YDv<t&5Xa|?JHi)mE4=isbh8Hw<`1bk0N^5}b9s%G#=ZgFf&8V;X zgIm?f3qI2qRLdjI?Vx;Nr2Ws8{4Hn-zdu(5u&@!d&MD`Yn)N-;ANJ0~=W1H?bP!Ei zz~`-Y^7|?Ju`MI`T*942#09#5#o`5@e;rz$|JYhD;&b^zMt~p3XGMTsTO5efwuSy& zabWU-?hD_J&)$BeuG*gf(4V<v3eu?dh)KgZu2{o%^cfw%)2duU9qE(K90bJb4tDQI zPxUI&mpI>fe*MgW4~D(=`M-4*!UcA)O~MoMnQ(zE>?gu!+LQU>xljI|4fS)*KiAj? z%my36x=sFp`WfLd^9%SBus_%PA9KEI=YP=KNxq~z<g2ckFRDA|7d03L_A~0<N_ZRm zYwZ6HuuXf{*=+Owgmaw&;GYMukJTaXdM3OB58B@Xe0l*>zykTnwo*W%4i}g^xi!_V zaUsy{YwiSrT3_O3tlqI+1cL*Z%qh)zyG-miZSh0kN@7n4KRv1@eud$@^S|_$Ne)v0 z%u6%j7wVkk?f~!5+jtlDz4i$|Gzcf;S6pCmgcBnm?e53SzhD851DWs(_=F$Z-k~F$ zc!4aSyMT1-L<Hy-&{4nC?{@@zH-bg?ZCnP@ZTQD_Higk?<b(E0@S`6`%?M(`7w{PJ z9{4Bl7xo(R%cxKCJ;^CF*mJyZw4)zK)$aowsB1gbHr0c9;%(7s?{mBBKFOiSk&$LN z7sHy;Z{qpt&+&KkrzCpq|4_e%zJ4O1BgOl04K5gmJJP)$S|0)&2PoXM2y5W7J7^n~ z7LZ1uEqx*LKOX|nT5IyJhd^coIRa~%0u3T;f&!sHxgaZ|zEVKdgrD0C0^JUzg}P}s z`MvLEd)vqGzqBeE1o>KW0dGZq-|pH!iNUT&UqZ~Q=_6m8`h*`AaA`#rU>wi|jeU86 z$ahVT5d1KOa)cQB<p^mLGzIl#3aEW){=4JM?<~+0LAMFJLpOr1BlDL>gb~yeU@`^t zD-NKqED-bm!h%icD1|Zt=e+E|rU0R}B>!=NV0WGctvj7wH3fXHp8uWRo#)=sO#=+E zhku_6Z?HY6ZnRHLvJKjebn5Dy5U%HaLtQ+Ba0u0y^MahUb1prqp7$oakT&@f_D0%5 z`QLcAezIL8uc$9ZP}jz&?>w7iH8tL$yBPNw{&&I`&YcTPd+=YQK4G4>I@M8B&VS)8 zwvGB|3Ua;w3-Scp{5$_kwAe4g<3j*~K(_$q0zq!(!v!$g`5cI*G+`Ff3AQ?5co(ES zm<QgjUGRcAkNI!ro&3>J-=|Ld%KQa+pbi%}-PS9>U{6Aig53+;cRHBw0MUTIf_;eI zQD4ov1M)#~R4qLOyxoLmcusiQ!~{Hzz~enKe+~1rfFeHvKaYSkghqM@f8?tsjx^8X zh^HO?%={o+i`Edjk#9Rl?CU5)zD>c;0d^4eaX)jug}(^sD**Zm{~q;)`Y;G}l=*c{ z?jXVk*aTi%Il{ufwm!<6?OQ-M1@V76^TQEHzED@-H}>8J^K^l31d9cv5p3iS3#d`A zuYCp{q5~iN7ua2g1t|8{sZq~9)4rQ&0mN9dU9msLxSF81bhrTVUI+Nx3_IuyU)6pB zh-ZyuXwPTqz4i<Gtt$Gy-24Adf1xGy-)i!|e#s|527z*ly)T>i`lbA0Gl;w(Bbe*A zFH>Z|HY`9Dv{R^t5que6{wGae_`%c32r3c${F3Rw*r)h%;Am-1LEuY$4zMH02t4*B zzR(ohtnG*ZU(S;M)*Ru#TfiIjmwGtF{fhlxO1Sf9QOW-cMXz>*AvEVN*DviTG?TxD zO<@v!?9cj3-+n)0YZtg8S|a#@Ykk|aUEs^N1It^9FZ2l15VQkVcXpvWUoQ9s`dV-k z-;v1eJj^?#(hI%bLRkA(3(0TUW(2r^bU!_r`6Rjb4R$~-o(pw#-U2x|56BB?18>OD zS&%;6{sP;^d(n;dnD)hU=mq$8^iSuxYfN}-d#CAR;`WHG)`I<VZ8^P8HC#YOaBc?$ zJg64!!n^AUcwB2#YvAvl=+`&DKZ_3briFc=i}mA3aS3>!3u{<v=iJ(3UxL^N!)@hu z1|AoJ&t>)Ik_f<g?|5s`PJw0E!Jo+g!yWwv)^pA|uJcH`bui>R+mq(R&dxl&JL;jy zb~ZQ819(hq4sF999S-xU67{Kb#(x?C=Q-SAOnBRYo9<9d1HX|!^&97_9rU9zh%x#7 z3XltUYYVX8QAB`_de>(Dv^kw}?C-SO2;dj%=>-=U<U0;*@Si>bPMQDm^T5(khz<3V z4mpPfc-n*i$pXytnFu4Od9JD6XS?+&=bq;)>KEp@9|a!f>RcJ-`;_*$KArH(Y2Rw* zt1iFQzv6#ux#^!sDB(NjdmE;}CD-sa1v3Je?@Kn39XdjoLM>Q>bqaNu4wMBl5y&aJ zJFpWepqdiuM6K{I5jkH=@Ow*BKoF2$oQDF%1aQt3p8!gyP^Z-#_+Z=1{2O=+kq@c` zwuB+?O}T?FNVqu!@fPj9E-}FtpgVcG89@&MU1whS6{#Us^95+Fo({4D3#e!yJ8*?B zSWiOm(=22Jr`2x(8AN&n;HO`>h8?J*fq%JX^4A3=|H}Wc2D^i`gtu@Fkna@}n_CHQ z<qrKwowzVBP>qi2e$<)or+J?bcmr$!n4wjBGdpKgcfwCJU-;tLgiAy<;Y<WE|L16s z5Bs7TTO%Ex{n!tr-EUbygyVG3F0hMsa}L@k)cdyH0t51z>Vx)X0TbaG?_%Cs0@Yqn z7e?CeNDJdD6-QdO23;1<9cJlXHTnC^1?i+(NY7PAK`$18?~tRZqr4ysz>v47;V-s( zK!^_TR;^HA$RqQk>F}>7fNFaMm~i7gp89$bTtXdzA4k1%Yo25NE8d@0dO<+T6(l>) zOE(vYBVSNoooaS;0b#g+tAtFU>)zS=qI%T&l81jNn%dTEAJ^FN=te)ZJ_O7|-gj^s zi#)GYGk@kEJj)J3&<JD)5%qWe*#z4<-7Nq}!xRSjasf|!n}Ryrh6O0_i}{-K!x}W_ z>(0c#OaT`xczJ@{<ahYh)bO_>usPYmCH}ip>^gr{`QPO4fnP_O`QusxK51vCYfbx; z!M@LYM*Z-Jp7~2J(>@_@qh4=;B)>QhQ_zc`YHWdP4S6vi+eUlPi-!Oo_7XbHj{2wq zm^=ri0=sRa$>r${A#I@xu6a|4R$XTGKGN0kwQdSN+MB)euk~U9Z``H}oLa-&Tr<C{ zf%W_AcoC!*bYIx?NCAiguNew{meA>NgzgTrPT=hVP5ge1q<}i&fK1_PO&56O%vUw) z7sLer4mLWk^=a_*bZuUE0vPo_h-L&C@Bi2-{uK)TTz?*~zhX^M|MUq!Q*a!(Bwlr` zjKGeth*w`|2GPypqHcE3t>L0Bvv|c1OaD=f%Vie-j^tPTi`!qg1oPL|eA}O1cstuM z_W!gD`CACboeA>G+rQwPNMB<9UjRSNeB=EF?ElRCO7#^BxB&d?h5pL_AMxHV{0aDA zTZF%nbHjfb_=LPJ446&z74cWV|1Iqc<X;bv91vnzTz3KBN)D6Tt~Zj$9bdDUFP|d) zrsnJPF)v+!BRaH28}EOFKQFv8;d`DhTlXp6$Um;V#R72W68We7^Ra(94xD(w8;n4| zx@HF${(mw5-^l#wwVm@zoj>tEB7niZEM9R`RR2Mo5q@F>S80Fs>0fc)03L(7H7}0$ znaO=JU+J7ra{Qxbe-oFza6!NA9W~wWf5c4)Cjtm-xQ4Wvi;gC};2W%==?DevsF}KA z0^)!ctYOk}fwG2(_gqR1-VRaG;5`4o9_Z(yQ~bgfUVtp%)wj}0{-9mU4*~JNxBxi! zLJF`J|JwF+;EvetcrUbj>pK<-2)eLTOn3}`FAaQcb>s{CQKW|7{4HuNJp{0gqcQ~x z(eBIZ@GrAa=2u;ke^>w)#J*$->O(6Cpn9pPtuudI`_9X#wepk};AS|;x4g4F0m3XW z!*R;h1HU`EqobJowPK`KG*Gj57QYxb<tYSsr`KS2n3txHI@JPO^e!-KYowR02EOnX z&!<#Jvn@w`HTyPD?}T#;m?Q9a&b2MJBMY?W{Xkl5Ux)w`>IL?My_*mV<jb~s0SH$* z7^n+x1K(X>As^g|VMFVVg)WG2HTz{>^M#J_Dd$0TIf5?tZTzHBEiInUfiGW(I~Da4 zYzF?`)I%T$ucNqGzytdZ{Mc@ZAb9TZ16piV?FH40KABeyM6u90tvW5p1$I;i1nH&2 zZGtW4fo{RCepEF@wW^w}599!CtTw|((?`0{tMB^`I<v;M!>?H#o!*DmRzks^^B(}? zCo#G$yj6#nm)VZ3M>@b>tYPqPFJJ`7kuG;I`I`ST|F{_zz@|h#0o3Oa`anARC4zi% z9#zAC7W&$Uqrkf$&xe4U?l%!eAm+Of*aa*!`RB_c-rE-z=4}UZfq{K}6d3LRlF^)L zmm~Bl_!lF{3!Uv6_;!S}12M0gdg0G5ATJ0P&{Ve|?S^~^v5m_hxf}u7z*~E&d)jx@ zlX>#IO!eIA2<Sq9LskosuSu@vaDf7NfKAjj($U;SkdH;Kpkqs&sF&7Jzu=n^y5F12 zWo`ebsxrdg*5tp^{`Kv!hHewoaEj$LO+hYjxrPh8VU6K0{x8=|{($@qYXkuk{x%V~ zp03>jPOn{T*0k@~|D7h@0$y3*w4Pk(bN(&5fH(Pn5T5oF@(9_%d9Cmd3wZ0ILC6mN zqS6r-gZR6x=lLe=BNl%P{DL$F{?fU$y$<u~>B8{!?HdWtng0gJW8hy}9{BCTO1Osq zW$gbo?fBt2?dt!3!u%=c7n^S(e82N{<|_p(Y+u9v?VS5&%LRV{e0u^U=NR&T>jE3< z5#aaczwKP2`Yruaw*T0?PWyiPcK$C~07L#h|1Y{ggMZwiHLPB6*#&g-zj(nP?BKdt zTs!?Q!+*~I!2V>y_d7e=S2}OU9yjMXe{E}w-y;5Mw*M{6{r<lt_OA!~*W)YxUH)?t zsO~I(%}2h83%wZ{F`l)1ggU(st)=_n3+N!me~l%ZuvlDUae*IS4=wZ|e42eWLo@&X z{CZ%87j&UqfQ|z~*KGd!%3Oe|wYb37<2Ns$#sc{kb^-TwTK#{%w$J{H)^@J|_$${= zGWu>Vcb235THdDxeEsL}a`;CFT73y`eKd7Q``6!x7feCgp#a;|zv4*me~GWO1Ju)n zn{lD}g07+Sl}%JF-SIX~XM<4ZE1Rem$o#pbJ4C-a(s~qp)u|lh+kveX;y@goxklcp zqp!GG3vocY=YMp1f4^)F#iY?yAJrX+-e0u;g8PQq44YmZ_3fnns=q+BAQ$#S%LwKd ze)3#|Pk8HXUyvJhiQJ0$UTFd1Ibwe?pQxK~15d&=^F=#!qAsLGc!8Zp;4MYaehT^W z=Jy>7;VOnr^0LJpANBi2y<hN62qO)8z1$Sr0^3z0kIZlZZ@eWs^9EkcsK8jhAfzh= zB+pB;0Uu!FbnZ-BaSkI`L_=Lic>(Z)SXJ@dwK}W`Fmy4TLh!qZt#papf_5;e+9!Y4 z{mynX;5>~9=<BFoP}4{I4}H1a#NfrBimD~;&La9L^)k0(OL|9t-g<P09d!5!_S!+y zz+03N#CW&1An;d)d>)x|3weQ!z}8UxO#b`K@9_6iyMTltx3C?k)31?Rm`Kd|iQ#SX zFL!j`O^CkouW`J03y>D)as=1z1*vELg}OQKUJyq>x7D2dHS=@48~z5l$G%W^P4dMy z?u&T<tRUcR!5<fZC95WR--__jC+erzhh-4*{0Ugawn*MJI&NC4lNG-ud!E(WhGnoX z;X46*E&ar`|HQhV_8;#0k2n1j2@QWofJOAvU9TwsF7U?%wrK=#hec#Suuae-6#Lie z*spXz@5r1l=C4;kF1A@C6d3i^-<z2Q%=W2(5%hj-2fC)Z!`$_LVd;2lVZtqhx3>^` zr=LpaRIki$Be)`D3VDI>_Y@!<{I?@FQ&j%fLm=U=w?N;<obP>Xw<SlAM=Ym#q=7%z z80@oO*f=IZBM9b8bUTpVs~!S=4#b6m|GEIo%Z1*#q~j-gpJS?DSo;M<hP<!Ie-&nj zf|&D~|GeKZHsrk-TJW<jY~yI@EZd&{lX*;aO@3qFIz~M?zeKzGbviL@o(twYUADeP zk)ytYeX0k;ZM>g0@$>9AnBPM6&iT}tX_p1q2rSMmps2ovx9%wUm!2^0NS|s9eDo^? znCh^Dz5uYc5KZThpMjsK))A;)1hyOMJKo}Xas-V1*&xJZSOAi|;J4^a9qku-|B|Lz z089K^#&~EqyXco&e~j@r7(w#C!M`)V+QAwB3+<P-fEh=^K84}$LPo%jjo@#^xfjf| z#~s)~cZ9A@eh0g2U$`#x6aO$pJpoL0X8Zc`=l&vsZQUsg=(J1s&T0XK`OoB+N9@dB z8u&TqH{inpz$78J7#2W!#V{%e3<!lZx7J<cHCzT)4O(rNX1_3W0oey~0N++W>Kb>h zZ~GsS{?_7ybno>0==Y=ja$G3vzkfThu<cb_cYMeFa0>hoBmG;fVH~uBzSV`OO86E? z?@jAe9n|C>Lb}8+Zl~I@m;QF(LaaLaT{<n`8<Rh(L=XS${PXR=(&f-%-lAIoZ^i|m zS^(*9Tw)vA9qG=zZuUF<R6kV5zxCw>Z*0F2Z`3ZN_sfeHthE0=zR@O7EpSIVFB|nu ze7n$z{?7wdqI*OhF%f**a{*ld{W$6=pmZGlh_#$%lfKZkOd;-n=dWCKv+6epaKhS! z?7*j|7xGjt1Mp^&`*y*&Z@czSEOd&k!8X$Fi08g_$0B~EMPKM7U(xH#C+dN25#BW} zYa5UYZwqgM?yLjm!q{ND6C`utNVE^Oi{wAf|75rUJVgMbZvOX92lWcT3&Xx?q<z6h z5(~o}Z()3T;hgyz{sw+Rx=v4<@qmW~bhejmKk8aM1A7R<AEGU91LIoZ6yUShjyL;> zboIq^ANZ+Z4PclCp`S!8$kPj80a&0^RotrjXlY*Bwk!~clFuaB8bYgI_NkiMF4t<C zNQ+obWBftj8vSLf&fetZAe=|%s1s&f&@k_Ja=aJqVF#o)eW7cm00R%9)o9O-k9c`7 zUsF9h9`)qhP0$W^7|dHkSbOsK4*ACq!wz=Bc{(M6-mx`Em}k%neTizFE~tC!Us>c) z%lXD0LTh3EQq%BDfOfCmnXZ9b&HoN|)Aj|3Wp&i04g5F)kR)FNJT4T~r$VUrdV)O( zcRvR*Vb%cm7}rsN+D_ffYXlD%i(3g-_kD_v7CJt4N6r0Czo|dvKiL0{k9`01)Yno7 zc+g%eCO`gnRlkdVC$7mR_(O1xt!o$oJ8EisS``gcM<SquWGIj$plVejh?&o$tUVVr zFVM9f3ZxT$xqz^@E-}bA|AJiGUb{`qmlJqlzt@hp!S2^^L0b!5^PTt$%J~$X{9QX8 z_y__`*WTC6R|Waq5v+Hiuln&T8bprw@&y?|Z-z~Pb9zL2f&GGs!1I3>F~G|smeV+@ z)%9os?7CprkcffLqY!P`4rBzUNBxd3q+j4qX;xP??Si&f-_)JHmA-Ttr#gZ#u|nEg zLGEoAr$-CVraCNu%NI2BJL<`;0XEyMGf;O^Jd5Opdhom*dD=t#0rk2NiJ&-7L57tS zR`NUQ(4xI&`*Qgl_)f2RUYg6c6Yih5nWBb&2UtA2<E`123rv0B3K!5kzks?d;Gz)# zWBrh*2i3-S7XW*2qC=Qb!x02Fb!>a`*Qq*nGwuso#sum3)t>Vk_Cc~QPzzd-pZtTU z<^lnjI~KaIY!~2_{0n|z9QCw++SG3=M}*fbi(v#zqCcqa+phZ^>o(Q(7dp(L#XKi` z=tb~C{|REeOkp(w_9ycF1fUBDb$uNG*tn@-KGjn%;5^5*m2h>G_IJ%+;U~a5-wO-& z*SC%U7M)eGZNe@39qE5}6u-SR#@k!KreH5v#SDL^-J{;kV3>1W!n3`z4Xv$*yaxW* zc7RR$+zdwmw7prVoAX2+$dUP__G@D-cdDE2Gu)%wA}j;ck?m-bDDc(?^*)?++Aj-T z-_!;D9Ub)xdtayD`F}>gf2#Luy_1}OKYn~~u3<-@z|pl+xxm}%&+iA8JYqG4n*YDP zA6Uz&I>|pSERL{u>cY7ZoEgMF--l}~gZ<xa&*Q-NO7-Bj>)j6C(!pQIKT@c#R9F9d z313(`)3$j5IFF;bvuwX_r_ni`^KWbt`0teqAgm`Z=)TZ(oAcj)9$GSjWt+`*KmDSa zf?Z=5-|@o>H`k+iTmwRLDB<mn@#)d^Uj^6==_>%o7(ctIX3ld%TLOK-+>xG!zZmYd z2#<MA$WJ+cJKO!{;9M9tn8(o>_A&PR`hLI&vSYDa=-Z|T@CMuBjWG9X{;h>hbGz|u zuy--B{SSGbe~t?~!wckndwyAL!!NEvetz2N1?_zcP5u+(<%oDsLw<+(EgfL|gG^rF zIXU0&>>d4u8Tg&*lMXo?{bk$#;Br)3&2zyI8esvzIMzJU$2Ir2J00fGBzbD?ojC=> z3}5)ywi!XrdD#K)cd92{ccx~|c{P6<{?5Of;D7Fe^X?8S_6z^Zwvit{^eOp7rzSH8 zzMx%5o_KD#;7b4e?=+Z$<TJu|Q*dXv!`T==M}5BeSJQstAN1Cc_h8>UI!aR@%%NxT zCJVUE_T^IybI<eBX*{6qlx}+Y?XuM$xzfbZzWl3xgr>F<%XS<!kB}*(U(is{>D#V# zloxc(RoK%|oDMADAkrp3Z35On!m(94(1lF?l^23@Xk+hwH9<H|gL5xIZt~Ud<X0yc z_7dKvT7>)bRMby`d@Z@aj{R~$!0U2{-`950|FTZOv*EV|nC&Z_{=;qx(_bs#yB%0V zcp)aJ9~E<(Rc`@nSpce*#(Umjc33RHTM7Njai9x0g|@xMV4wT$q^N)(&V_o{82;W$ zEU{ldanqOMhqXG2))1F8eyF46FSxJY`scnDLi}^QgInWjp=JWCjG$i?^W&&G_z4gd zz*7()(&{AJb?pT5!rNfyoz`Co7wtm5u|09F{*L-tUyw)gH^znT=;%myd~>;`tx*Jr zruURso%;TA`E<K9$3KCYFPCZ9Um{sl%L`0(Z^jP+s_Kk7`f<e7wK!KNt7E^O05*l{ zC%432%m>ffD%Hyo6!=xkBjUHbW0D;TqF(@q5b744d|g9F^L(kE|Lg~5eYq*&iaT8w z?Sn?8fW1%Nx<LTBv0Z-EkNl@}$F=$~s7XHlV6GxO`aX42LPw>8=lMdg&1O_BIzlq9 zBj2IWPizXd0}+ls7+#w)g1w4=R-oG>KyGV{kC5+~-+e*XSSQ-)6ibpHF9JKoBFX~t zPnAK8@V^^@7<ToA<heZ@_9NNBbd%vfZk7=Q#<jXubMIsyxbjy4wtimBclhlEOEda{ znL^tIcr!2TJNf-)oDy{pbBSyMwuW>LaCYPZI!$ddHxZ<@rcl=yPj_e+`sqLv<dYfC zVTmvfGARqtonZ$>srtSt;im7a<L&<mv2gxhwm=%zFo5p{@dh2f@Nd@${EhIpHzzMx zApe`~2>+({|DGu96X3UPFF8X0BPY||<Na?%AL)Oo!wCG7<^tUj{-thS(0$>*>Z1J$ zxBuq||1Tt;{`Oyk-GBJ63C9o3^A!GD-xsck|0&e{cmCfof0gjJfZZXV^xsl_{l207 zFXDe1_>tTH2jPDM@K?Oxf8^*C-T&U~4F7BWU*Pv|udw}BM**;6|KCh_V}C0CKlOr% z?W?YlH?Q;j#?${oJAV7$fhXAilbruQ!utpQhwz_<(8AVDyGB3N1>Nya&VQwMKK}Cj z;MewN^)1kc*78qu8cpT=x`58FZQ+ia)+u}>q2~bq!f#Y=C6<cqfM2?Ilo8O`n*aPb zrUfrh#{yd!goICZ!Pj`__`wG}sszG+7uLP+2g2zon!T?d?oIaraNI{F=crn?0QI%C z_8kfL$F*WUZ~o?=W%EZJ;n^>Zs-=#bdEpnYl{>^~X$Wn9u!HIqM{U_1)btjjcdSF; zh%4?ibIB&nBKr9M__}GKW<PSL3+ULo7PLaN^C>b7q_?`c^z}nGmpkg~FSy1}F7PZ? zm(xI(KXL6H>12B$yglqiwMbrS;w>*&*!GruE|5>0_o#1@PlcQOi3x{C1k7f55hh%B zdhJL2Bft!QDhIw16`8IB%k8Fq>zn;A=vV&Z-s<wQ4OZb1HPywZtBt_?_l|ybdO4aP zQ}!_vj(!|9$f3P-<ZZHz%Z6OqwH*mp-INyg`Xd3S7kSRDwCf`LlM+ES5EbMSBsMzk zTl+%qxTznq#&3yGR)+;TLIAm+E=TxDzay=t`xgHD{Z~9qwmFSgt;x*z04C$q9dCQH z{s=BlF2H^?y*QtBEsTKoJ?DqeNLQ_q9?a7kVm=dHxxlEcIp#dr7U!zo$|mXvluke4 zwR8cJ9CmOj(AV0HKpp>(TXNXOb;otVTWqW8BZ2K-b<Vq9ewFtDY8(5aU0^4}We}bJ z<w$m*-wNR9G`6i*$m`D32ZvyrD=@~LvVdsTgip4&ZCoI+X#}R1eV?WU_*6e}1rN|7 zlfW<9rvV->^p2YO6a0~m93fd|Z&*O}`;mX>3lhs^Z++VT2%28*yJOLhy4Hog6MX|u zFTgfYmo>b-Za*B@6YtY4ECYSj^@42zFxQePU<=`95MIEi*8P5`I*tPpxSw_)o{jx= z(M%!Od&@G$M%^MYF8jFh*Zh-Rj9+nXC&{Iaw|v3Xj?g>$t$q@fg!@7YvHic>F&j16 zZ5xK>{a^Y1l@z2Sh>|_C*}Jz*<NaI}1VC!WG2}@`$TQ)Fd-4Z!knDhvxv#;G<3QoR zTJw$F%&d3Jh&MU^DDX3)^!77CTeP62*{*Z&h9T5@gO3U<v#%KTIfR*D1KyGF96?R& ztDGPF<K-XH%<~l{&w%1Io_J@%TbP%qU&VWv`!V6C!)WP0{v&T5Lg83-%{1Pg4s;d2 z_#=6c^h14Hm2G0I+#UnJXPe#(wkBJcJ<mt%WaKm7^P@d;zLhh>H~Ej3d8k^~<Y#+( z?dLB7N%w(|6oo<S(YZ@I(<Uf;{Rq&n@eyod8Ida|!jyKin0H#PJ;%5vxxVcWHa9rl zeh3`G?D^+k0RXP<xE%!NBj83V`7dQ02f7s9b~^N6k1)@i56}EL08`9XzIgMKRe&OW zUzXV4moX~ysZ(Y>0)p2?ynB+H%`t`m8Pqaod$%uPZov-bKt>dUZ)<<Oa|$S><5iyr zL}Mn1bcq>&Gr~c}c)egUa&a8A)jcpfIM^cgBci-r1AslrM=}h~J65llSa&H5-{RYi zRer6(OQI~Qmw_<@FyyE;-rv9d(j`7{F&s;82}718=VIFW<J+&es-gLJzMc!wtEdA= z{>J<qOn@1F$K+Y$QNkl&o}RsLErD8(iFHG<MY%H?Ql!1Cd#%yUu`8qU+ldUR@OR~p zW+u<0%oZcT-@<U>F?2A_1rPa-bJX`XaQMGPIWYdo#1kCqdQy0)_A3uOVCl87C0(Ud z<T7s~)d14CgX0iJ1-Lhqtd^8YJtq7}D%icN#Ct8T60Ufo&XNoVP-sVVd+CM~R@D2t z1$Bm>FcWyobGPlx=o&9u`(f|t1p{hCtudtCwllI_@jc;floIRf`}u#-<>`%+;#7)^ zby0`&NGkT3t8&E<XG&?(VjFx$B2EM)Q=lCXow3ADo42^3V8)7Xzb|5JL?SZ@7{3~p zJiFRXfw#JtO#2Sjt(DKaHQv4L^&6i&Uc$KoR31rrLRzDKe2sT9GTdUEr7)!!8<lVM z;jiy}1-|v3rD2EwYmPwX`55LxUX_I(r$9d@N-|4CDII`07YY-lu5vmQ8|@R=TRp<8 zJoCc$67qOD9LSO39@mSPe5f}e@4d~FwvknUNM9wDgqPA^#o+WrNR;`pq6)|(Tajkj zvX}9Wv>zkAlDqBwUVoD_N9{i3N^++>JHuC~h8F4W7jEIqoa<<4Ck{A(OM974dP(>g z6;jW+Y*xYt&<Wzq#3SVUS&(VBD-8V?fsy@C5W@kn8(i|_6H#UISQ1NA<ymD>_fnJ9 zLL-2gOmn8kJI;}IBCv7<1Sq5!RzD!*3`S}{9U{hqNkc1Hbr3|7xd{Ib@Bn)3TYKQ( zwYmY^)fV!!wPS_kYgDf5aX_i4m$P8Dx0k$Bk+rcM4N6W*?NX9^oGuQIP_ZeN_$5hY zb+epwA^C&_x0gAIEr3$-rVJnq<2g^#uMyXo{Goc1m3&_n>0~$s1ooAm592oi!R8cz z$s@qi>rpQfHi6=7X1$POV1F|o!$|^<q4i!u>rQZSdg&hLGlApxKe6=0reVa@fnzm_ zaXv6*dLoTu)Wjl{*b)133MlzIIg`vU0!@f=jGCSy&4}`P_wcve=5Y|<xQ;I7Bv4mr zQHg(qTmd8VGjHop@l2^&;G^VMgHIEAG`kIhPhRo-FwLxBN5+DmSY-=&e4f0d?!dcR z&NKYO9Ai5+Tat~BWQN+;k=rXK&w~9FfH|s)YfEXgM?`ZK5azuto|Uu%Mq?fvB9T_W z@AKHG{`Wslfg>Qa0l-&I3^Myl3!ceDINO__gTO%zGf5tRYzwev6o)5(!rU24DT(cd zCON4j>$RN6N91a>I|)ve?4922p+>+mV-3h$%0d>klo5ku#u~t{{blP+roH7yEy5zf z?@T+Iz47bt4D<Ib*d+YZK(GC;STp=zf6X5P1n*CR@AgaNZeL5Rr}t0bk!s@oJwD7v zzR!F=^-j{x2&J7hJ=f}IrS)|9x>){}$urxZ4)DuSUy*H}`3FMI7QZv???(5{gzvWZ zGM{Pu^tB8*<@5b`7v~K2aqLZ=fBgD>qkdlcM+IJ|#>=e!X2bXSpZ7emKR(Lq-xv1v zd;3p%jVGdi68z5N;O_0cXZwBT)7k#O>2QqbZzMk-+V>~?@5MWgGruCzDtor$tF4T9 zR?Gq9bbnD(Dwq9RKm<6{<0=xh4k<I+kUS1_BKW!B<luis;2U<JlSRDa<sfJ$g}QRx z|GmHsp|*_{TQmH!RcbKv6ew8bzDCr8bTi?1vUrL_i>8&C>YWqXDUcI>j;$NWa$LeN z0d(ozF58vrPI-J~3kT&rA7$TSoEP!t*Ci+A{)<3NuJK&9E&(qKBXf|>Q<fp(eN|dA zNSa{D^iT!XMdTb5tWxdX7(CJyk3oPn0FqA@Kf|fd-@>UhPHB*0h_{zLz%gV!6uPIq zpYik`0v>M+0&Vp?FR8ZtFL_pg6<v=vNye~yPJxe{EctIUM|ei&XTS!dSZ31N1@ID5 zfKnNj)BQ(=t^m5+7C6bsuvP;}wyWoDlp@J3r5Nv$q;`f-_F(H+iA)9<k=`@Et4A{= zAkT|7HlOdnilP9eOEO?<?Y(Q4U~H7kw8X<5;m`HzlIknYAg_9n+;AkB767xHM}PBZ z-%O^;1|ncl*0m*H8Sbk*@TI)qGx-+m#KGtiUkoF$az+R{aJ~)cQZvk~l3Rd|gV8>n z@PN`HeyEwK75CsZz9ntMo+wJXUwc-qH~hLJ`7}o1DNY&Gl2}o1V79byX7()n-~wi_ z$EiW1ocJ?`;W@2Aa><i61=!Z<aes5Bxy4eTl#((AW&^_qqYFP$f_4dz>L3g5wiZ9I zZ2QVv*PXHz2?N_54YKX4%nSi&8varSf4NIL6tYpEMQ%oy3~wO(_cjcGc_<uvMMn0N z;dRa4amf&6ckVz5_X&7JQUWjsGp?EZ8LAOlXUMil@{Fe#f-g)diy>4D0EPoHvFi~a zW=40M1;KDB=ad5X<WY^rOuJ8BOPBgC<4_>6JJ1QT^Uf&V!CV3Oz3WmMC&dia$|z%3 zxw_(+b_LYvsx}hiV~ewtKB425a1U)}enb)AhJxkywHUG-1E(a$SHjl7O!CSv2Z1sf z1|@bxw3p8N5X>@o*_a4SOi<1NGxiGJFtl`?@=pRYey<F>M=e*4@YrDbzIwg;z81ng zbvvUxlj<GpEx}+rs!6tZFShY!mgH&NvHy1HYP`p6LXt26!18!0e8Yrf@fLRG7^lUc z-{%bB=Xx+m4#3{BlirRKAisC<J~xj(yuz93-CpK1t1ZAU4DPv~7Ma(@jyeTenelGr zlJg+_8tpQ7NilXCSmy%en_zU!<a?xVa75A5=$J0ZV#aU;rOQkFkilfk#@Y?z6z~Ls zk3b~SRj|u@KF@-P+}N&`Yhnp-0B|H3oS_;m!m$F79H8QqDn4)mOL(^hv!=!0uFA~5 z9$RvF8x?B-n&4e{81Cwi`0nk~0<bx_QFqCif>kbSg!9MvZ65$EzLh@*30O{$k@isU z4c;YZwv^DeA(ND0x2da`%cxQQx@wQ){O}j)Ee_|6*(G6LdqlVS-i7B#UVYTEOO(l2 zIR6Iz@$*+)(dg^no8v=r+K9S<7+;IwzKlj)H@1AB%ciXqIoI+2Oy)L_GGOzR?zq@W zx%+RJ()&(1^VV)cFGrZC8aX+UZn($y?KR|kr1yN@Fd^w`A3INqVZO<^4wU)Azsi_G zc(1-6RG;IR2{)klOSv?DJnb2|k6guH%F9uarHH8F2Poyp@WEDEG);aDd9`Y0pR5ef z5+NU{IH&HYwwz3VDaRo)4TaIn(sf@l!EHVVUSO0<+8bFjd?d%qoc2ggZ7fWS-<^Nt zv%l3#Io{H*RT=>n{@&i0$a$8LnHHNVnVM$-p^}qwNmqMm-$=Xp^URyuEw<Y{r*kvt z<w=-T78`2eRTfnf`W%urK$-^z97)syWG2r=UCI%gG&c;`!x<7PfG#oa2?^U#-M3H+ zT|S%%g)DrT5UQ@d%Owqwr%dRLgjvVI7&|jBz9napt&D()=`ZAn<#y5H<{(w3U!%sr zo>da=2AmE8)9dEIV@T$_VS!reAZVU>C@5NmRIo+LuruE19(JMS2=?K!`N|eSx?h-} zrmbZj5GDSFw4)(2rY-|P>SB0~G8<icFD-pSI|3X>ZdLlKFb9JQz$V7mMbbv&feu?b z+XV(FC#1!JS}<Hm<dB%DQG8M5aZ(H|4v^$mDO_wggLf?3T-*88OAk-noOT?{a1KU^ z6;FCGXVUC)p2j8EGOt@tL(A$MsDx{EX=^XRj)8@l@gCBWhm3?>UV3cA`>JU^bDyIL z?qMco&D=dQup@xRY*AeGl}B_tzmjs!sElmGE88-FYmB%2GjPs{r;y=}gKTM3{QBx- z>7v)W++(~Z&u4v=rW!vA+QXfz14<brfs3>Kvgi}`MmLuUDj@+HqQ)S(7|u*@!6wq< zZ3Fc+`#L-`W(2q$0h!^E(gY#}SY<#hEzT>eo@CN1vYG3Lq02T(54?jhCo;@YlJRz) za!F1<Cgxd?u^9(J04{Y&f}|{6lo)715|H6Y(&9tHNuwLm6R8-hOOqcjZQ`w9Q!2gW zR-kxPx@X!fZy5}GfrEpWB*t+t<w6y&Uaj$5raIOD`?bFY#W+7>)`FxV*idt$ku+ge zT4bP<VIL)?w5#j5`o1zSbN4fRmz?Rg5p0(dw=j#0$muoC%N!ty5<rr7M$#2e<6A)a z=XBV>jIM{l@l}xAv*Y)>-066q>5QE3`@Q!A*uv&vE(yFUbqee%qmXtcB!UgV{|->s zvA2_U93(R?FhJ7F*n~kIUm5#J;JZ6Mj(ur3c17fpw_wY*2l6JI+5ReZucPY|9B%<W zjFNxr+M}*t0q{|RCpeNf5&EeAYSha)FAdA&h*SA?I}-*Ad?wIJ$Hn%tRPSdd#DiGd z#rSHUHa}8niLzaKrfarG_@#bq)sJdTaC|j$_c-I&Cpa%0tCPF=N)6{0^21kdo*ppA zHz7RQj^xb{mpsOf-Sa^_vmFU(GZ$uwP036vYmiQ!mqXq$>>KTj=D-8qnO{5^uyF(s zHh@B2%KPMBnKOHqRWBXmDI_HTXMiNvYiDG*dP!!e+9O-$9Lu8<atA&H)yX6N*^V<w zU<Y74h4HZ=p%(169ebCnhnMi4$+qc-ozb<9`t|dduHXZ>suI#cU`kq&EE(8KJOFtp z0rc+7I})A(m?jV_pg5yEnj!I*32s;<ODP#kL*oHR@F7X{)ot`1z-d!@^ATLHoxy+< zz;PI|T#tz;yRGrUZUeh*A97^W>#J;6%+-+N)*7-8bpC4KJA4m}!q#q`J_bSh0MHQK zYSuO3F)f}R%>+2fcKMK*(=i^v67_uS#szNE7G4sDy+w>09Jeo02Nr{SLUPqHTVDb1 zeY3IHvW!&3XJB2E)+MR36~k3o%<XID2W}6O;+mUUS+G1J_b#cLfD<rz0^c5*{^&cF zp)jQkPcVga#xZ91JLV$+Ty=~AaHEE#3p3zK!XIFm2~PrRTzI9ob?LTLwMd%dT_ykR zxm<=EnS6jU!;AB(G-rFnTlgDUBe#=#<lGZj7d9{Dl!OyffD#*{92A>N1-mmarDIx( zn&lefBeRq03cg4x;ZfsRQIN`ZBK5Snv@`D1G%>u>dJ9i;>^N|MY}r<k@D2iVxvlJi z=h*9JhIor(8CdBRC?(q!weViD7cEkKa`C9d;Ql^D2~_6W?Ok|OH$V!gORJunbyeV% zy1)Unic!g-;5M9dLTm3Q0=pDaQ9%`OQhs=VJnk$*a0WOI!SCvk#IS=hTqQQ9-S8>J zUACh^UCJlw4rK6N8f9ie^0CD@6dZR?Q!(UB^UH(Nfoy8@uJnwDOn@@YO=1mz3ShDW zR0n}ovZ89Q!bj<bG9QU93~IbuwHK?vK19<rByrpdu5sHt<0V)?ElwVXgkgIYVc1tO zW|iSeCFl4%h>f(@wqqKOk~;%a0@SF|*L<MI6+BnjNW7fKb_@=fT&6iMiJ1U-C<VGX zp8N5c^Wgvopakq{NT>kWki@HO4~Md<HFp_TK6&E`Qj!=q7Y`-Q1w^hiQ(#|1#WQwK zM%R(K8B#`FmHTiuI({CJOjA3hdJ8F4B*P(T(PT4Z#weS*l+F|<UGRVlNg<5+6SS6i z5ErsNtUdfPvxXD1Y?9!YXS#3HAM}u1b=*evGXh?IR(VjzzP*bQg9Bk0%nm|zn@VTG z?4(L3W!B8HB4s=**pz@AxO&_#^~%tBOL#Czj#bYVq<9&M1W7wUPF8=v2^Xo9cmQE= zjQ=H27rg;s95a7cUvBZG27R6{-Qwl&<#8;J+Ee~t-2q+;9|W8QFCV5qX82!7&L8`- zhmG1x_`qNMll^yvoR{tYReJ4L!@J+>;%RvQx%n!mei;9*kN110{jN{-)pP!ZN5DTW z*jFDo->82h&+oK+^<($XoX@`wloRb&+|u<M!3a>wM!5qwpfWrd{RI<$#oV=(cMo0a zEfeG{E1uHpHug=x6DgLmec(lPN$TDX131o+8ms>BP_kDrt{!>FE1)4oh1@p{CnUg0 z;WE%m?<%~Pf#a_*@00A}Lm>OuHqQU?3unuk0m`G~WZ%LjOD&!l2m@eu7y(K?h6B_B zq7=g_z%D){u>J&GqTNYhB*5M-Mh2fy7)l4ivFgu<2jkO(cTx=e1o3_Kl?5o%5&yFl z$(=i?7Wg(}KEC&*cd?7NXt)?*Yz|y<%zOvMP)Z-`ShiRNTq?sc>|pN-Mt=er=!JO) zco$={F;YG1{psmUYra(dT)+vCN(s=uWo4AxAOWrlJA>^CU=ARB1l}&2m||u^sMzp` zbl%5;<u6@V1ItW?2xu=~i@!+LrTu3_^<XuBC6QcJzn&)<u!$_@;&BzpNyiujLfZe_ zgX(19_=CYyNDKl}@$A5Dfn~skx-&=uWn~VHfZ~i23E-r{++6jgk^b^Xt)&dC1?-c{ zK>X}d82s=6h6lh_FrIX@?*b@JRJE`=Pw!5;gbJy>#5;z8R12#<hHN5>(@SBsz(X># z%)w8KZzp{4_yg1@uHlivCE=Vn5WvYH_9%J@#vc<jgi+2E$=jLWBtxW@c1^|uV1hF; zyM&4a!**ie<=jd6eYj)q!s$bV)grUEtEKygl_wz8aRl@U&7-GB64PY%(p#>uM(rwd z*hN5o$gmacjbH~%P_Ij1dEDT;h`*VG`RH*{JIXJ9{|x10P`ckS2945iVb;Yz{<))0 zP^2hfgjG6LGqyQvAk6d*W%>W29!qb~SQz=Ebg&O84F2G0)J&Z4?kTu@3~xbtId<<7 z!(NmzYB%p2;qT_icI%|Kx4;W9=vW4+3mc&L;Q<%~D2riNodE|BR(rvefUpJD#f}be z?f@H-m{Pj!M#APmeqTc^L!#8BM$7;Pin%J`$DD;I&xcA#$^g2SW-DA(mx&V|B_}mU zYqTK&n1#m~Z*g4AWf~<wGwCWks(^2_GxXj72D%4)oPTI(k4u^d=pHMJgh7BZY~{}z zrNSJ|_w7u;#<XC-Oa@3*7bJdH-GhM^sn7b{f#(i9ci_1L&mDN~z;g$lJMi3r=MFq~ z;JE|O9eD1*a|fO~@Z5pt4m@|@xdYD~c<#V+2cA3d+=1r~Ja^!^1J50J?!a>go;&c| zf#(i9ci_1L&mDN~z;g$lJMi3r=MFq~;JE|O9eD1*a|fO~@Z5pt4m@|@xdYD~c<#V+ T2cA3d+=1r~{MYZmUw{1vr2QLC literal 0 HcmV?d00001 diff --git a/glBitmap.pas b/glBitmap.pas index 4986ed4..5f18496 100644 --- a/glBitmap.pas +++ b/glBitmap.pas @@ -1,237 +1,49 @@ -{*********************************************************** -glBitmap by Steffen Xonna aka Lossy eX (2003-2008) -http://www.opengl24.de/index.php?cat=header&file=glbitmap - -modified by Delphi OpenGL Community (http://delphigl.com/) (2013) - ------------------------------------------------------------- -The contents of this file are used with permission, subject to -the Mozilla Public License Version 1.1 (the "License"); you may -not use this file except in compliance with the License. You may -obtain a copy of the License at -http://www.mozilla.org/MPL/MPL-1.1.html ------------------------------------------------------------- -Version 3.0.1 ------------------------------------------------------------- -History -20-11-2013 -- refactoring of the complete library -21-03-2010 -- The define GLB_DELPHI dosn't check versions anymore. If you say you are using delphi - then it's your problem if that isn't true. This prevents the unit for incompatibility - with newer versions of Delphi. -- Problems with D2009+ resolved (Thanks noeska and all i forgot) -- GetPixel isn't set if you are loading textures inside the constructor (Thanks Wilson) -10-08-2008 -- AddAlphaFromglBitmap used the custom pointer instead the imagedatapointer (Thanks Wilson) -- Additional Datapointer for functioninterface now has the name CustomData -24-07-2008 -- AssigneAlphaToBitmap overwrites his own palette (Thanks Wilson) -- If you load an texture from an file the property Filename will be set to the name of the file -- Three new properties to attach custom data to the Texture objects - - CustomName (free for use string) - - CustomNameW (free for use widestring) - - CustomDataPointer (free for use pointer to attach other objects or complex structures) -27-05-2008 -- RLE TGAs loaded much faster -26-05-2008 -- fixed some problem with reading RLE TGAs. -21-05-2008 -- function clone now only copys data if it's assigned and now it also copies the ID -- it seems that lazarus dont like comments in comments. -01-05-2008 -- It's possible to set the id of the texture -- define GLB_NO_NATIVE_GL deactivated by default -27-04-2008 -- Now supports the following libraries - - SDL and SDL_image - - libPNG - - libJPEG -- Linux compatibillity via free pascal compatibility (delphi sources optional) -- BMPs now loaded manuel -- Large restructuring -- Property DataPtr now has the name Data -- Functions are more flexible between RGB(A) and BGR(A). RGB can be saved as Bitmap and will be saved as BGR -- Unused Depth removed -- Function FreeData to freeing image data added -24-10-2007 -- ImageID flag of TGAs was ignored. (Thanks Zwoetzen) -15-11-2006 -- Function SetBorderColor implemented (only used by opengl if wrap is set to GL_CLAMP_TO_BORDER) -- Function AddAlphaFromValue implemented to use an fixed Value as Alphachannel -- Function ReadOpenGLExtension is now only intern -29-06-2006 -- pngimage now disabled by default like all other versions. -26-06-2006 -- Setting up an anisotropic filter of 0 isnt allowed by nvidia (Thanks Ogridi) -22-06-2006 -- Fixed some Problem with Delphi 5 -- Now uses the newest version of pngimage. Makes saving pngs much easier. -22-03-2006 -- Property IsCompressed and Size removed. Not really supported by Spec (Thanks Ogridi) -09-03-2006 -- Internal Format ifDepth8 added -- function GrabScreen now supports all uncompressed formats -31-01-2006 -- AddAlphaFromglBitmap implemented -29-12-2005 -- LoadFromResource and LoadFromResourceId now needs an Instance and an ResourceType (for ID) -28-12-2005 -- Width, Height and Depth internal changed to TglBitmapPixelPosition. - property Width, Height, Depth are still existing and new property Dimension are avail -11-12-2005 -- Added native OpenGL Support. Breaking the dglOpenGL "barrier". -19-10-2005 -- Added function GrabScreen to class TglBitmap2D -18-10-2005 -- Added support to Save images -- Added function Clone to Clone Instance -11-10-2005 -- Functions now works with Cardinals for each channel. Up to 32 Bits per channel. - Usefull for Future -- Several speed optimizations -09-10-2005 -- Internal structure change. Loading of TGA, PNG and DDS improved. - Data, format and size will now set directly with SetDataPtr. -- AddFunc now works with all Types of Images and Formats -- Some Funtions moved to Baseclass TglBitmap -06-10-2005 -- Added Support to decompress DXT3 and DXT5 compressed Images. -- Added Mapping to convert data from one format into an other. -05-10-2005 -- Added method ConvertTo in Class TglBitmap2D. Method allows to convert every - supported Input format (supported by GetPixel) into any uncompresed Format -- Added Support to decompress DXT1 compressed Images. -- SwapColors replaced by ConvertTo -04-10-2005 -- Added Support for compressed DDSs -- Added new internal formats (DXT1, DXT3, DXT5) -29-09-2005 -- Parameter Components renamed to InternalFormat -23-09-2005 -- Some AllocMem replaced with GetMem (little speed change) -- better exception handling. Better protection from memory leaks. -22-09-2005 -- Added support for Direct Draw Surfaces (.DDS) (uncompressed images only) -- Added new internal formats (RGB8, RGBA8, RGBA4, RGB5A1, RGB10A2, R5G6B5) -07-09-2005 -- Added support for Grayscale textures -- Added internal formats (Alpha, Luminance, LuminanceAlpha, BGR8, BGRA8) -10-07-2005 -- Added support for GL_VERSION_2_0 -- Added support for GL_EXT_texture_filter_anisotropic -04-07-2005 -- Function FillWithColor fills the Image with one Color -- Function LoadNormalMap added -30-06-2005 -- ToNormalMap allows to Create an NormalMap from the Alphachannel -- ToNormalMap now supports Sobel (nmSobel) function. -29-06-2005 -- support for RLE Compressed RGB TGAs added -28-06-2005 -- Class TglBitmapNormalMap added to support Normalmap generation -- Added function ToNormalMap in class TglBitmap2D to genereate normal maps from textures. - 3 Filters are supported. (4 Samples, 3x3 and 5x5) -16-06-2005 -- Method LoadCubeMapClass removed -- LoadCubeMap returnvalue is now the Texture paramter. Such as LoadTextures -- virtual abstract method GenTexture in class TglBitmap now is protected -12-06-2005 -- now support DescriptionFlag in LoadTga. Allows vertical flipped images to be loaded as normal -10-06-2005 -- little enhancement for IsPowerOfTwo -- TglBitmap1D.GenTexture now tests NPOT Textures -06-06-2005 -- some little name changes. All properties or function with Texture in name are - now without texture in name. We have allways texture so we dosn't name it. -03-06-2005 -- GenTexture now tests if texture is NPOT and NPOT-Texture are supported or - TextureTarget is GL_TEXTURE_RECTANGLE. Else it raised an exception. -02-06-2005 -- added support for GL_ARB_texture_rectangle, GL_EXT_texture_rectangle and GL_NV_texture_rectangle -25-04-2005 -- Function Unbind added -- call of SetFilter or SetTextureWrap if TextureID exists results in setting properties to opengl texture. -21-04-2005 -- class TglBitmapCubeMap added (allows to Create Cubemaps) -29-03-2005 -- Added Support for PNG Images. (http://pngdelphi.sourceforge.net/) - To Enable png's use the define pngimage -22-03-2005 -- New Functioninterface added -- Function GetPixel added -27-11-2004 -- Property BuildMipMaps renamed to MipMap -21-11-2004 -- property Name removed. -- BuildMipMaps is now a set of 3 values. None, GluBuildMipmaps and SGIS_generate_mipmap -22-05-2004 -- property name added. Only used in glForms! -26-11-2003 -- property FreeDataAfterGenTexture is now available as default (default = true) -- BuildMipmaps now implemented in TglBitmap1D (i've forgotten it) -- function MoveMemory replaced with function Move (little speed change) -- several calculations stored in variables (little speed change) -29-09-2003 -- property BuildMipsMaps added (default = true) - if BuildMipMaps isn't set GenTextures uses glTexImage[12]D else it use gluBuild[12]dMipmaps -- property FreeDataAfterGenTexture added (default = true) - if FreeDataAfterGenTexture is set the texturedata were deleted after the texture was generated. -- parameter DisableOtherTextureUnits of Bind removed -- parameter FreeDataAfterGeneration of GenTextures removed -12-09-2003 -- TglBitmap dosn't delete data if class was destroyed (fixed) -09-09-2003 -- Bind now enables TextureUnits (by params) -- GenTextures can leave data (by param) -- LoadTextures now optimal -03-09-2003 -- Performance optimization in AddFunc -- procedure Bind moved to subclasses -- Added new Class TglBitmap1D to support real OpenGL 1D Textures -19-08-2003 -- Texturefilter and texturewrap now also as defaults - Minfilter = GL_LINEAR_MIPMAP_LINEAR - Magfilter = GL_LINEAR - Wrap(str) = GL_CLAMP_TO_EDGE -- Added new format tfCompressed to create a compressed texture. -- propertys IsCompressed, TextureSize and IsResident added - IsCompressed and TextureSize only contains data from level 0 -18-08-2003 -- Added function AddFunc to add PerPixelEffects to Image -- LoadFromFunc now based on AddFunc -- Invert now based on AddFunc -- SwapColors now based on AddFunc -16-08-2003 -- Added function FlipHorz -15-08-2003 -- Added function LaodFromFunc to create images with function -- Added function FlipVert -- Added internal format RGB(A) if GL_EXT_bgra or OpenGL 1.2 isn't supported -29-07-2003 -- Added Alphafunctions to calculate alpha per function -- Added Alpha from ColorKey using alphafunctions -28-07-2003 -- First full functionally Version of glBitmap -- Support for 24Bit and 32Bit TGA Pictures added -25-07-2003 -- begin of programming -***********************************************************} +{ glBitmap by Steffen Xonna aka Lossy eX (2003-2008) + http://www.opengl24.de/index.php?cat=header&file=glbitmap + + modified by Delphi OpenGL Community (http://delphigl.com/) (2013) + + The contents of this file are used with permission, subject to + the Mozilla Public License Version 1.1 (the "License"); you may + not use this file except in compliance with the License. You may + obtain a copy of the License at + http://www.mozilla.org/MPL/MPL-1.1.html + + The glBitmap is a Delphi/FPC unit that contains several wrapper classes + to manage OpenGL texture objects. Below you can find a list of the main + functionality of this classes: + - load texture data from file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) + - load texture data from several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) + - save texture data to file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) + - save texture data to several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) + - support for many texture formats (e.g. RGB8, BGR8, RGBA8, BGRA8, ...) + - manage texture properties (e.g. Filter, Clamp, Mipmap, ...) + - upload texture data to video card + - download texture data from video card + - manipulate texture data (e.g. add alpha, remove alpha, convert to other format, switch RGB, ...) } + unit glBitmap; // Please uncomment the defines below to configure the glBitmap to your preferences. // If you have configured the unit you can uncomment the warning above. -{.$MESSAGE error 'Hey. I''m the glBitmap.pas and i need to be configured. My master tell me your preferences! ;)'} +{$MESSAGE error 'Hey. I''m the glBitmap.pas and i need to be configured. My master tell me your preferences! ;)'} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Preferences /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// enable OpenGL ES support +// enable support for OpenGL ES 1.1 {.$DEFINE OPENGL_ES_1_1} + +// enable support for OpenGL ES 2.0 {.$DEFINE OPENGL_ES_2_0} + +// enable support for OpenGL ES 3.0 {.$DEFINE OPENGL_ES_3_0} + +// enable support for all OpenGL ES extensions {.$DEFINE OPENGL_ES_EXT} + // activate to enable build-in OpenGL support with statically linked methods // use dglOpenGL.pas if not enabled {.$DEFINE GLB_NATIVE_OGL_STATIC} @@ -791,14 +603,6 @@ var {$ENDIF} type -//////////////////////////////////////////////////////////////////////////////////////////////////// -// the name of formats is composed of the following constituents: -// - multiple chanals: -// - channel (e.g. R, G, B, A or Alpha, Luminance or X (reserved) -// - width of the chanel in bit (4, 8, 16, ...) -// - data type (e.g. ub, us, ui) -// - number of data types - {$IFNDEF fpc} QWord = System.UInt64; PQWord = ^QWord; @@ -807,93 +611,104 @@ type PtrUInt = DWord; {$ENDIF} + + { type that describes the format of the data stored in a texture. + the name of formats is composed of the following constituents: + - multiple channels: + - channel (e.g. R, G, B, A or Alpha, Luminance or X (reserved)) + - width of the chanel in bit (4, 8, 16, ...) + - data type (e.g. ub, us, ui) + - number of elements of data types } TglBitmapFormat = ( - tfEmpty = 0, //must be smallest value! - - tfAlpha4ub1, // 1 x unsigned byte - tfAlpha8ub1, // 1 x unsigned byte - tfAlpha16us1, // 1 x unsigned short - - tfLuminance4ub1, // 1 x unsigned byte - tfLuminance8ub1, // 1 x unsigned byte - tfLuminance16us1, // 1 x unsigned short - - tfLuminance4Alpha4ub2, // 1 x unsigned byte (lum), 1 x unsigned byte (alpha) - tfLuminance6Alpha2ub2, // 1 x unsigned byte (lum), 1 x unsigned byte (alpha) - tfLuminance8Alpha8ub2, // 1 x unsigned byte (lum), 1 x unsigned byte (alpha) - tfLuminance12Alpha4us2, // 1 x unsigned short (lum), 1 x unsigned short (alpha) - tfLuminance16Alpha16us2, // 1 x unsigned short (lum), 1 x unsigned short (alpha) - - tfR3G3B2ub1, // 1 x unsigned byte (3bit red, 3bit green, 2bit blue) - tfRGBX4us1, // 1 x unsigned short (4bit red, 4bit green, 4bit blue, 4bit reserverd) - tfXRGB4us1, // 1 x unsigned short (4bit reserved, 4bit red, 4bit green, 4bit blue) - tfR5G6B5us1, // 1 x unsigned short (5bit red, 6bit green, 5bit blue) - tfRGB5X1us1, // 1 x unsigned short (5bit red, 5bit green, 5bit blue, 1bit reserved) - tfX1RGB5us1, // 1 x unsigned short (1bit reserved, 5bit red, 5bit green, 5bit blue) - tfRGB8ub3, // 1 x unsigned byte (red), 1 x unsigned byte (green), 1 x unsigned byte (blue) - tfRGBX8ui1, // 1 x unsigned int (8bit red, 8bit green, 8bit blue, 8bit reserved) - tfXRGB8ui1, // 1 x unsigned int (8bit reserved, 8bit red, 8bit green, 8bit blue) - tfRGB10X2ui1, // 1 x unsigned int (10bit red, 10bit green, 10bit blue, 2bit reserved) - tfX2RGB10ui1, // 1 x unsigned int (2bit reserved, 10bit red, 10bit green, 10bit blue) - tfRGB16us3, // 1 x unsigned short (red), 1 x unsigned short (green), 1 x unsigned short (blue) - - tfRGBA4us1, // 1 x unsigned short (4bit red, 4bit green, 4bit blue, 4bit alpha) - tfARGB4us1, // 1 x unsigned short (4bit alpha, 4bit red, 4bit green, 4bit blue) - tfRGB5A1us1, // 1 x unsigned short (5bit red, 5bit green, 5bit blue, 1bit alpha) - tfA1RGB5us1, // 1 x unsigned short (1bit alpha, 5bit red, 5bit green, 5bit blue) - tfRGBA8ui1, // 1 x unsigned int (8bit red, 8bit green, 8bit blue, 8 bit alpha) - tfARGB8ui1, // 1 x unsigned int (8 bit alpha, 8bit red, 8bit green, 8bit blue) - tfRGBA8ub4, // 1 x unsigned byte (red), 1 x unsigned byte (green), 1 x unsigned byte (blue), 1 x unsigned byte (alpha) - tfRGB10A2ui1, // 1 x unsigned int (10bit red, 10bit green, 10bit blue, 2bit alpha) - tfA2RGB10ui1, // 1 x unsigned int (2bit alpha, 10bit red, 10bit green, 10bit blue) - tfRGBA16us4, // 1 x unsigned short (red), 1 x unsigned short (green), 1 x unsigned short (blue), 1 x unsigned short (alpha) - - tfBGRX4us1, // 1 x unsigned short (4bit blue, 4bit green, 4bit red, 4bit reserved) - tfXBGR4us1, // 1 x unsigned short (4bit reserved, 4bit blue, 4bit green, 4bit red) - tfB5G6R5us1, // 1 x unsigned short (5bit blue, 6bit green, 5bit red) - tfBGR5X1us1, // 1 x unsigned short (5bit blue, 5bit green, 5bit red, 1bit reserved) - tfX1BGR5us1, // 1 x unsigned short (1bit reserved, 5bit blue, 5bit green, 5bit red) - tfBGR8ub3, // 1 x unsigned byte (blue), 1 x unsigned byte (green), 1 x unsigned byte (red) - tfBGRX8ui1, // 1 x unsigned int (8bit blue, 8bit green, 8bit red, 8bit reserved) - tfXBGR8ui1, // 1 x unsigned int (8bit reserved, 8bit blue, 8bit green, 8bit red) - tfBGR10X2ui1, // 1 x unsigned int (10bit blue, 10bit green, 10bit red, 2bit reserved) - tfX2BGR10ui1, // 1 x unsigned int (2bit reserved, 10bit blue, 10bit green, 10bit red) - tfBGR16us3, // 1 x unsigned short (blue), 1 x unsigned short (green), 1 x unsigned short (red) - - tfBGRA4us1, // 1 x unsigned short (4bit blue, 4bit green, 4bit red, 4bit alpha) - tfABGR4us1, // 1 x unsigned short (4bit alpha, 4bit blue, 4bit green, 4bit red) - tfBGR5A1us1, // 1 x unsigned short (5bit blue, 5bit green, 5bit red, 1bit alpha) - tfA1BGR5us1, // 1 x unsigned short (1bit alpha, 5bit blue, 5bit green, 5bit red) - tfBGRA8ui1, // 1 x unsigned int (8bit blue, 8bit green, 8bit red, 8bit alpha) - tfABGR8ui1, // 1 x unsigned int (8bit alpha, 8bit blue, 8bit green, 8bit red) - tfBGRA8ub4, // 1 x unsigned byte (blue), 1 x unsigned byte (green), 1 x unsigned byte (red), 1 x unsigned byte (alpha) - tfBGR10A2ui1, // 1 x unsigned int (10bit blue, 10bit green, 10bit red, 2bit alpha) - tfA2BGR10ui1, // 1 x unsigned int (2bit alpha, 10bit blue, 10bit green, 10bit red) - tfBGRA16us4, // 1 x unsigned short (blue), 1 x unsigned short (green), 1 x unsigned short (red), 1 x unsigned short (alpha) - - tfDepth16us1, // 1 x unsigned short (depth) - tfDepth24ui1, // 1 x unsigned int (depth) - tfDepth32ui1, // 1 x unsigned int (depth) + tfEmpty = 0, + + tfAlpha4ub1, //< 1 x unsigned byte + tfAlpha8ub1, //< 1 x unsigned byte + tfAlpha16us1, //< 1 x unsigned short + + tfLuminance4ub1, //< 1 x unsigned byte + tfLuminance8ub1, //< 1 x unsigned byte + tfLuminance16us1, //< 1 x unsigned short + + tfLuminance4Alpha4ub2, //< 1 x unsigned byte (lum), 1 x unsigned byte (alpha) + tfLuminance6Alpha2ub2, //< 1 x unsigned byte (lum), 1 x unsigned byte (alpha) + tfLuminance8Alpha8ub2, //< 1 x unsigned byte (lum), 1 x unsigned byte (alpha) + tfLuminance12Alpha4us2, //< 1 x unsigned short (lum), 1 x unsigned short (alpha) + tfLuminance16Alpha16us2, //< 1 x unsigned short (lum), 1 x unsigned short (alpha) + + tfR3G3B2ub1, //< 1 x unsigned byte (3bit red, 3bit green, 2bit blue) + tfRGBX4us1, //< 1 x unsigned short (4bit red, 4bit green, 4bit blue, 4bit reserverd) + tfXRGB4us1, //< 1 x unsigned short (4bit reserved, 4bit red, 4bit green, 4bit blue) + tfR5G6B5us1, //< 1 x unsigned short (5bit red, 6bit green, 5bit blue) + tfRGB5X1us1, //< 1 x unsigned short (5bit red, 5bit green, 5bit blue, 1bit reserved) + tfX1RGB5us1, //< 1 x unsigned short (1bit reserved, 5bit red, 5bit green, 5bit blue) + tfRGB8ub3, //< 1 x unsigned byte (red), 1 x unsigned byte (green), 1 x unsigned byte (blue) + tfRGBX8ui1, //< 1 x unsigned int (8bit red, 8bit green, 8bit blue, 8bit reserved) + tfXRGB8ui1, //< 1 x unsigned int (8bit reserved, 8bit red, 8bit green, 8bit blue) + tfRGB10X2ui1, //< 1 x unsigned int (10bit red, 10bit green, 10bit blue, 2bit reserved) + tfX2RGB10ui1, //< 1 x unsigned int (2bit reserved, 10bit red, 10bit green, 10bit blue) + tfRGB16us3, //< 1 x unsigned short (red), 1 x unsigned short (green), 1 x unsigned short (blue) + + tfRGBA4us1, //< 1 x unsigned short (4bit red, 4bit green, 4bit blue, 4bit alpha) + tfARGB4us1, //< 1 x unsigned short (4bit alpha, 4bit red, 4bit green, 4bit blue) + tfRGB5A1us1, //< 1 x unsigned short (5bit red, 5bit green, 5bit blue, 1bit alpha) + tfA1RGB5us1, //< 1 x unsigned short (1bit alpha, 5bit red, 5bit green, 5bit blue) + tfRGBA8ui1, //< 1 x unsigned int (8bit red, 8bit green, 8bit blue, 8 bit alpha) + tfARGB8ui1, //< 1 x unsigned int (8 bit alpha, 8bit red, 8bit green, 8bit blue) + tfRGBA8ub4, //< 1 x unsigned byte (red), 1 x unsigned byte (green), 1 x unsigned byte (blue), 1 x unsigned byte (alpha) + tfRGB10A2ui1, //< 1 x unsigned int (10bit red, 10bit green, 10bit blue, 2bit alpha) + tfA2RGB10ui1, //< 1 x unsigned int (2bit alpha, 10bit red, 10bit green, 10bit blue) + tfRGBA16us4, //< 1 x unsigned short (red), 1 x unsigned short (green), 1 x unsigned short (blue), 1 x unsigned short (alpha) + + tfBGRX4us1, //< 1 x unsigned short (4bit blue, 4bit green, 4bit red, 4bit reserved) + tfXBGR4us1, //< 1 x unsigned short (4bit reserved, 4bit blue, 4bit green, 4bit red) + tfB5G6R5us1, //< 1 x unsigned short (5bit blue, 6bit green, 5bit red) + tfBGR5X1us1, //< 1 x unsigned short (5bit blue, 5bit green, 5bit red, 1bit reserved) + tfX1BGR5us1, //< 1 x unsigned short (1bit reserved, 5bit blue, 5bit green, 5bit red) + tfBGR8ub3, //< 1 x unsigned byte (blue), 1 x unsigned byte (green), 1 x unsigned byte (red) + tfBGRX8ui1, //< 1 x unsigned int (8bit blue, 8bit green, 8bit red, 8bit reserved) + tfXBGR8ui1, //< 1 x unsigned int (8bit reserved, 8bit blue, 8bit green, 8bit red) + tfBGR10X2ui1, //< 1 x unsigned int (10bit blue, 10bit green, 10bit red, 2bit reserved) + tfX2BGR10ui1, //< 1 x unsigned int (2bit reserved, 10bit blue, 10bit green, 10bit red) + tfBGR16us3, //< 1 x unsigned short (blue), 1 x unsigned short (green), 1 x unsigned short (red) + + tfBGRA4us1, //< 1 x unsigned short (4bit blue, 4bit green, 4bit red, 4bit alpha) + tfABGR4us1, //< 1 x unsigned short (4bit alpha, 4bit blue, 4bit green, 4bit red) + tfBGR5A1us1, //< 1 x unsigned short (5bit blue, 5bit green, 5bit red, 1bit alpha) + tfA1BGR5us1, //< 1 x unsigned short (1bit alpha, 5bit blue, 5bit green, 5bit red) + tfBGRA8ui1, //< 1 x unsigned int (8bit blue, 8bit green, 8bit red, 8bit alpha) + tfABGR8ui1, //< 1 x unsigned int (8bit alpha, 8bit blue, 8bit green, 8bit red) + tfBGRA8ub4, //< 1 x unsigned byte (blue), 1 x unsigned byte (green), 1 x unsigned byte (red), 1 x unsigned byte (alpha) + tfBGR10A2ui1, //< 1 x unsigned int (10bit blue, 10bit green, 10bit red, 2bit alpha) + tfA2BGR10ui1, //< 1 x unsigned int (2bit alpha, 10bit blue, 10bit green, 10bit red) + tfBGRA16us4, //< 1 x unsigned short (blue), 1 x unsigned short (green), 1 x unsigned short (red), 1 x unsigned short (alpha) + + tfDepth16us1, //< 1 x unsigned short (depth) + tfDepth24ui1, //< 1 x unsigned int (depth) + tfDepth32ui1, //< 1 x unsigned int (depth) tfS3tcDtx1RGBA, tfS3tcDtx3RGBA, tfS3tcDtx5RGBA ); + { type to define suitable file formats } TglBitmapFileType = ( - {$IFDEF GLB_SUPPORT_PNG_WRITE} ftPNG, {$ENDIF} - {$IFDEF GLB_SUPPORT_JPEG_WRITE}ftJPEG, {$ENDIF} - ftDDS, - ftTGA, - ftBMP, - ftRAW); + {$IFDEF GLB_SUPPORT_PNG_WRITE} ftPNG, {$ENDIF} //< Portable Network Graphic file (PNG) + {$IFDEF GLB_SUPPORT_JPEG_WRITE}ftJPEG, {$ENDIF} //< JPEG file + ftDDS, //< Direct Draw Surface file (DDS) + ftTGA, //< Targa Image File (TGA) + ftBMP, //< Windows Bitmap File (BMP) + ftRAW); //< glBitmap RAW file format TglBitmapFileTypes = set of TglBitmapFileType; - TglBitmapMipMap = ( - mmNone, - mmMipmap, - mmMipmapGlu); + { possible mipmap types } + TglBitmapMipMap = ( + mmNone, //< no mipmaps + mmMipmap, //< normal mipmaps + mmMipmapGlu); //< mipmaps generated with glu functions + { possible normal map functions } TglBitmapNormalMapFunc = ( nm4Samples, nmSobel, @@ -901,426 +716,874 @@ type nm5x5); //////////////////////////////////////////////////////////////////////////////////////////////////// - EglBitmap = class(Exception); - EglBitmapNotSupported = class(Exception); - EglBitmapSizeToLarge = class(EglBitmap); - EglBitmapNonPowerOfTwo = class(EglBitmap); - EglBitmapUnsupportedFormat = class(EglBitmap) + EglBitmap = class(Exception); //< glBitmap exception + EglBitmapNotSupported = class(Exception); //< exception for not supported functions + EglBitmapSizeToLarge = class(EglBitmap); //< exception for to large textures + EglBitmapNonPowerOfTwo = class(EglBitmap); //< exception for non power of two textures + EglBitmapUnsupportedFormat = class(EglBitmap) //< exception for unsupporetd formats public constructor Create(const aFormat: TglBitmapFormat); overload; constructor Create(const aMsg: String; const aFormat: TglBitmapFormat); overload; end; //////////////////////////////////////////////////////////////////////////////////////////////////// + { record that stores 4 unsigned integer values } TglBitmapRec4ui = packed record case Integer of 0: (r, g, b, a: Cardinal); 1: (arr: array[0..3] of Cardinal); end; + { record that stores 4 unsigned byte values } TglBitmapRec4ub = packed record case Integer of 0: (r, g, b, a: Byte); 1: (arr: array[0..3] of Byte); end; + { record that stores 4 unsigned long integer values } TglBitmapRec4ul = packed record case Integer of 0: (r, g, b, a: QWord); 1: (arr: array[0..3] of QWord); end; + { describes the properties of a given texture data format } TglBitmapFormatDescriptor = class(TObject) private // cached properties - fBytesPerPixel: Single; - fChannelCount: Integer; - fMask: TglBitmapRec4ul; - fRange: TglBitmapRec4ui; + fBytesPerPixel: Single; //< number of bytes for each pixel + fChannelCount: Integer; //< number of color channels + fMask: TglBitmapRec4ul; //< bitmask for each color channel + fRange: TglBitmapRec4ui; //< maximal value of each color channel + { @return @true if the format has a red color channel, @false otherwise } function GetHasRed: Boolean; + + { @return @true if the format has a green color channel, @false otherwise } function GetHasGreen: Boolean; + + { @return @true if the format has a blue color channel, @false otherwise } function GetHasBlue: Boolean; + + { @return @true if the format has a alpha color channel, @false otherwise } function GetHasAlpha: Boolean; + + { @return @true if the format has any color color channel, @false otherwise } function GetHasColor: Boolean; + + { @return @true if the format is a grayscale format, @false otherwise } function GetIsGrayscale: Boolean; protected - fFormat: TglBitmapFormat; - fWithAlpha: TglBitmapFormat; - fWithoutAlpha: TglBitmapFormat; - fOpenGLFormat: TglBitmapFormat; - fRGBInverted: TglBitmapFormat; - fUncompressed: TglBitmapFormat; + fFormat: TglBitmapFormat; //< format this descriptor belongs to + fWithAlpha: TglBitmapFormat; //< suitable format with alpha channel + fWithoutAlpha: TglBitmapFormat; //< suitable format without alpha channel + fOpenGLFormat: TglBitmapFormat; //< suitable format that is supported by OpenGL + fRGBInverted: TglBitmapFormat; //< suitable format with inverted RGB channels + fUncompressed: TglBitmapFormat; //< suitable format with uncompressed data - fBitsPerPixel: Integer; - fIsCompressed: Boolean; + fBitsPerPixel: Integer; //< number of bits per pixel + fIsCompressed: Boolean; //< @true if the format is compressed, @false otherwise - fPrecision: TglBitmapRec4ub; - fShift: TglBitmapRec4ub; + fPrecision: TglBitmapRec4ub; //< number of bits for each color channel + fShift: TglBitmapRec4ub; //< bit offset for each color channel - fglFormat: GLenum; - fglInternalFormat: GLenum; - fglDataFormat: GLenum; + fglFormat: GLenum; //< OpenGL format enum (e.g. GL_RGB) + fglInternalFormat: GLenum; //< OpenGL internal format enum (e.g. GL_RGB8) + fglDataFormat: GLenum; //< OpenGL data format enum (e.g. GL_UNSIGNED_BYTE) + { set values for this format descriptor } procedure SetValues; virtual; + + { calculate cached values } procedure CalcValues; public - property Format: TglBitmapFormat read fFormat; - property ChannelCount: Integer read fChannelCount; - property IsCompressed: Boolean read fIsCompressed; - property BitsPerPixel: Integer read fBitsPerPixel; - property BytesPerPixel: Single read fBytesPerPixel; - - property Precision: TglBitmapRec4ub read fPrecision; - property Shift: TglBitmapRec4ub read fShift; - property Range: TglBitmapRec4ui read fRange; - property Mask: TglBitmapRec4ul read fMask; - - property RGBInverted: TglBitmapFormat read fRGBInverted; - property WithAlpha: TglBitmapFormat read fWithAlpha; - property WithoutAlpha: TglBitmapFormat read fWithAlpha; - property OpenGLFormat: TglBitmapFormat read fOpenGLFormat; - property Uncompressed: TglBitmapFormat read fUncompressed; - - property glFormat: GLenum read fglFormat; - property glInternalFormat: GLenum read fglInternalFormat; - property glDataFormat: GLenum read fglDataFormat; - - property HasRed: Boolean read GetHasRed; - property HasGreen: Boolean read GetHasGreen; - property HasBlue: Boolean read GetHasBlue; - property HasAlpha: Boolean read GetHasAlpha; - property HasColor: Boolean read GetHasColor; - property IsGrayscale: Boolean read GetIsGrayscale; - + property Format: TglBitmapFormat read fFormat; //< format this descriptor belongs to + property ChannelCount: Integer read fChannelCount; //< number of color channels + property IsCompressed: Boolean read fIsCompressed; //< @true if the format is compressed, @false otherwise + property BitsPerPixel: Integer read fBitsPerPixel; //< number of bytes per pixel + property BytesPerPixel: Single read fBytesPerPixel; //< number of bits per pixel + + property Precision: TglBitmapRec4ub read fPrecision; //< number of bits for each color channel + property Shift: TglBitmapRec4ub read fShift; //< bit offset for each color channel + property Range: TglBitmapRec4ui read fRange; //< maximal value of each color channel + property Mask: TglBitmapRec4ul read fMask; //< bitmask for each color channel + + property RGBInverted: TglBitmapFormat read fRGBInverted; //< suitable format with inverted RGB channels + property WithAlpha: TglBitmapFormat read fWithAlpha; //< suitable format with alpha channel + property WithoutAlpha: TglBitmapFormat read fWithAlpha; //< suitable format without alpha channel + property OpenGLFormat: TglBitmapFormat read fOpenGLFormat; //< suitable format that is supported by OpenGL + property Uncompressed: TglBitmapFormat read fUncompressed; //< suitable format with uncompressed data + + property glFormat: GLenum read fglFormat; //< OpenGL format enum (e.g. GL_RGB) + property glInternalFormat: GLenum read fglInternalFormat; //< OpenGL internal format enum (e.g. GL_RGB8) + property glDataFormat: GLenum read fglDataFormat; //< OpenGL data format enum (e.g. GL_UNSIGNED_BYTE) + + property HasRed: Boolean read GetHasRed; //< @true if the format has a red color channel, @false otherwise + property HasGreen: Boolean read GetHasGreen; //< @true if the format has a green color channel, @false otherwise + property HasBlue: Boolean read GetHasBlue; //< @true if the format has a blue color channel, @false otherwise + property HasAlpha: Boolean read GetHasAlpha; //< @true if the format has a alpha color channel, @false otherwise + property HasColor: Boolean read GetHasColor; //< @true if the format has any color color channel, @false otherwise + property IsGrayscale: Boolean read GetIsGrayscale; //< @true if the format is a grayscale format, @false otherwise + + { constructor } constructor Create; public + { get the format descriptor by a given OpenGL internal format + @param aInternalFormat OpenGL internal format to get format descriptor for + @returns suitable format descriptor or tfEmpty-Descriptor } class function GetByFormat(const aInternalFormat: GLenum): TglBitmapFormatDescriptor; end; //////////////////////////////////////////////////////////////////////////////////////////////////// + { structure to store pixel data in } TglBitmapPixelData = packed record - Data: TglBitmapRec4ui; - Range: TglBitmapRec4ui; - Format: TglBitmapFormat; + Data: TglBitmapRec4ui; //< color data for each color channel + Range: TglBitmapRec4ui; //< maximal color value for each channel + Format: TglBitmapFormat; //< format of the pixel end; PglBitmapPixelData = ^TglBitmapPixelData; - TglBitmapPixelPositionFields = set of (ffX, ffY); - TglBitmapPixelPosition = record - Fields : TglBitmapPixelPositionFields; - X : Word; - Y : Word; + TglBitmapSizeFields = set of (ffX, ffY); + TglBitmapSize = packed record + Fields: TglBitmapSizeFields; + X: Word; + Y: Word; end; + TglBitmapPixelPosition = TglBitmapSize; //////////////////////////////////////////////////////////////////////////////////////////////////// TglBitmap = class; + + { structure to store data for converting in } TglBitmapFunctionRec = record - Sender: TglBitmap; - Size: TglBitmapPixelPosition; - Position: TglBitmapPixelPosition; - Source: TglBitmapPixelData; - Dest: TglBitmapPixelData; - Args: Pointer; + Sender: TglBitmap; //< texture object that stores the data to convert + Size: TglBitmapSize; //< size of the texture + Position: TglBitmapPixelPosition; //< position of the currently pixel + Source: TglBitmapPixelData; //< pixel data of the current pixel + Dest: TglBitmapPixelData; //< new data of the pixel (must be filled in) + Args: Pointer; //< user defined args that was passed to the convert function end; + + { callback to use for converting texture data } TglBitmapFunction = procedure(var FuncRec: TglBitmapFunctionRec); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + { base class for all glBitmap classes. used to manage OpenGL texture objects + and to load, save and manipulate texture data } TglBitmap = class private + { @returns format descriptor that describes the format of the stored data } function GetFormatDesc: TglBitmapFormatDescriptor; protected - fID: GLuint; - fTarget: GLuint; - fAnisotropic: Integer; - fDeleteTextureOnFree: Boolean; - fFreeDataOnDestroy: Boolean; - fFreeDataAfterGenTexture: Boolean; - fData: PByte; + fID: GLuint; //< name of the OpenGL texture object + fTarget: GLuint; //< texture target (e.g. GL_TEXTURE_2D) + fAnisotropic: Integer; //< anisotropic level + fDeleteTextureOnFree: Boolean; //< delete OpenGL texture object when this object is destroyed + fFreeDataOnDestroy: Boolean; //< free stored data when this object is destroyed + fFreeDataAfterGenTexture: Boolean; //< free stored data after data was uploaded to video card + fData: PByte; //< data of this texture {$IFNDEF OPENGL_ES} - fIsResident: GLboolean; + fIsResident: GLboolean; //< @true if OpenGL texture object has data, @false otherwise {$ENDIF} - fBorderColor: array[0..3] of Single; + fBorderColor: array[0..3] of Single; //< color of the texture border - fDimension: TglBitmapPixelPosition; - fMipMap: TglBitmapMipMap; - fFormat: TglBitmapFormat; + fDimension: TglBitmapSize; //< size of this texture + fMipMap: TglBitmapMipMap; //< mipmap type + fFormat: TglBitmapFormat; //< format the texture data is stored in // Mapping - fPixelSize: Integer; - fRowSize: Integer; + fPixelSize: Integer; //< size of one pixel (in byte) + fRowSize: Integer; //< size of one pixel row (in byte) // Filtering - fFilterMin: GLenum; - fFilterMag: GLenum; + fFilterMin: GLenum; //< min filter to apply to the texture + fFilterMag: GLenum; //< mag filter to apply to the texture // TexturWarp - fWrapS: GLenum; - fWrapT: GLenum; - fWrapR: GLenum; + fWrapS: GLenum; //< texture wrapping for x axis + fWrapT: GLenum; //< texture wrapping for y axis + fWrapR: GLenum; //< texture wrapping for z axis {$IF NOT DEFINED(OPENGL_ES) OR DEFINED(OPENGL_ES_3_0)} //Swizzle - fSwizzle: array[0..3] of GLenum; + fSwizzle: array[0..3] of GLenum; //< color channel swizzle {$IFEND} // CustomData - fFilename: String; - fCustomName: String; - fCustomNameW: WideString; - fCustomData: Pointer; + fFilename: String; //< filename the texture was load from + fCustomName: String; //< user defined name + fCustomNameW: WideString; //< user defined name + fCustomData: Pointer; //< user defined data - //Getter + protected + { @returns the actual width of the texture } function GetWidth: Integer; virtual; + + { @returns the actual height of the texture } function GetHeight: Integer; virtual; + { @returns the width of the texture or 1 if the width is zero } function GetFileWidth: Integer; virtual; + + { @returns the height of the texture or 1 if the height is zero } function GetFileHeight: Integer; virtual; - //Setter + protected + { set a new value for fCustomData } procedure SetCustomData(const aValue: Pointer); + + { set a new value for fCustomName } procedure SetCustomName(const aValue: String); + + { set a new value for fCustomNameW } procedure SetCustomNameW(const aValue: WideString); + + { set new value for fFreeDataOnDestroy } procedure SetFreeDataOnDestroy(const aValue: Boolean); + + { set new value for fDeleteTextureOnFree } procedure SetDeleteTextureOnFree(const aValue: Boolean); + + { set new value for the data format. only possible if new format has the same pixel size. + if you want to convert the texture data, see ConvertTo function } procedure SetFormat(const aValue: TglBitmapFormat); + + { set new value for fFreeDataAfterGenTexture } procedure SetFreeDataAfterGenTexture(const aValue: Boolean); + + { set name of OpenGL texture object } procedure SetID(const aValue: Cardinal); + + { set new value for fMipMap } procedure SetMipMap(const aValue: TglBitmapMipMap); + + { set new value for target } procedure SetTarget(const aValue: Cardinal); + + { set new value for fAnisotrophic } procedure SetAnisotropic(const aValue: Integer); + protected + { create OpenGL texture object (delete exisiting object if exists) } procedure CreateID; + + { setup texture parameters } procedure SetupParameters({$IFNDEF OPENGL_ES}out aBuildWithGlu: Boolean{$ENDIF}); + + { set data pointer of texture data + @param aData pointer to new texture data (be carefull, aData could be freed by this function) + @param aFormat format of the data stored at aData + @param aWidth width of the texture data + @param aHeight height of the texture data } procedure SetDataPointer(var aData: PByte; const aFormat: TglBitmapFormat; - const aWidth: Integer = -1; const aHeight: Integer = -1); virtual; //be careful, aData could be freed by this method + const aWidth: Integer = -1; const aHeight: Integer = -1); virtual; + + { generate texture (upload texture data to video card) + @param aTestTextureSize test texture size before uploading and raise exception if something is wrong } procedure GenTexture(const aTestTextureSize: Boolean = true); virtual; abstract; + { flip texture horizontal + @returns @true in success, @false otherwise } function FlipHorz: Boolean; virtual; + + { flip texture vertical + @returns @true in success, @false otherwise } function FlipVert: Boolean; virtual; - property Width: Integer read GetWidth; - property Height: Integer read GetHeight; + protected + property Width: Integer read GetWidth; //< the actual width of the texture + property Height: Integer read GetHeight; //< the actual height of the texture - property FileWidth: Integer read GetFileWidth; - property FileHeight: Integer read GetFileHeight; + property FileWidth: Integer read GetFileWidth; //< the width of the texture or 1 if the width is zero + property FileHeight: Integer read GetFileHeight; //< the height of the texture or 1 if the height is zero public - //Properties - property ID: Cardinal read fID write SetID; - property Target: Cardinal read fTarget write SetTarget; - property Format: TglBitmapFormat read fFormat write SetFormat; - property MipMap: TglBitmapMipMap read fMipMap write SetMipMap; - property Anisotropic: Integer read fAnisotropic write SetAnisotropic; - - property FormatDesc: TglBitmapFormatDescriptor read GetFormatDesc; - - property Filename: String read fFilename; - property CustomName: String read fCustomName write SetCustomName; - property CustomNameW: WideString read fCustomNameW write SetCustomNameW; - property CustomData: Pointer read fCustomData write SetCustomData; - - property DeleteTextureOnFree: Boolean read fDeleteTextureOnFree write SetDeleteTextureOnFree; - property FreeDataOnDestroy: Boolean read fFreeDataOnDestroy write SetFreeDataOnDestroy; - property FreeDataAfterGenTexture: Boolean read fFreeDataAfterGenTexture write SetFreeDataAfterGenTexture; - - property Dimension: TglBitmapPixelPosition read fDimension; - property Data: PByte read fData; + property ID: Cardinal read fID write SetID; //< name of the OpenGL texture object + property Target: Cardinal read fTarget write SetTarget; //< texture target (e.g. GL_TEXTURE_2D) + property Format: TglBitmapFormat read fFormat write SetFormat; //< format the texture data is stored in + property MipMap: TglBitmapMipMap read fMipMap write SetMipMap; //< mipmap type + property Anisotropic: Integer read fAnisotropic write SetAnisotropic; //< anisotropic level + + property FormatDesc: TglBitmapFormatDescriptor read GetFormatDesc; //< format descriptor that describes the format of the stored data + + property Filename: String read fFilename; //< filename the texture was load from + property CustomName: String read fCustomName write SetCustomName; //< user defined name (use at will) + property CustomNameW: WideString read fCustomNameW write SetCustomNameW; //< user defined name (as WideString; use at will) + property CustomData: Pointer read fCustomData write SetCustomData; //< user defined data (use at will) + + property DeleteTextureOnFree: Boolean read fDeleteTextureOnFree write SetDeleteTextureOnFree; //< delete texture object when this object is destroyed + property FreeDataOnDestroy: Boolean read fFreeDataOnDestroy write SetFreeDataOnDestroy; //< free stored data when this object is destroyed + property FreeDataAfterGenTexture: Boolean read fFreeDataAfterGenTexture write SetFreeDataAfterGenTexture; //< free stored data after it is uplaoded to video card + + property Dimension: TglBitmapSize read fDimension; //< size of the texture + property Data: PByte read fData; //< texture data (or @nil if unset) {$IFNDEF OPENGL_ES} - property IsResident: GLboolean read fIsResident; + property IsResident: GLboolean read fIsResident; //< @true if OpenGL texture object has data, @false otherwise {$ENDIF} + { this method is called after the constructor and sets the default values of this object } procedure AfterConstruction; override; + + { this method is called before the destructor and does some cleanup } procedure BeforeDestruction; override; + { splits a resource identifier into the resource and it's type + @param aResource resource identifier to split and store name in + @param aResType type of the resource } procedure PrepareResType(var aResource: String; var aResType: PChar); - //Load + public + { load a texture from a file + @param aFilename file to load texuture from } procedure LoadFromFile(const aFilename: String); + + { load a texture from a stream + @param aStream stream to load texture from } procedure LoadFromStream(const aStream: TStream); virtual; - procedure LoadFromFunc(const aSize: TglBitmapPixelPosition; const aFunc: TglBitmapFunction; + + { use a function to generate texture data + @param aSize size of the texture + @param aFunc callback to use for generation + @param aFormat format of the texture data + @param aArgs user defined paramaters (use at will) } + procedure LoadFromFunc(const aSize: TglBitmapSize; const aFunc: TglBitmapFunction; const aFormat: TglBitmapFormat; const aArgs: Pointer = nil); + + { load a texture from a resource + @param aInstance resource handle + @param aResource resource indentifier + @param aResType resource type (if known) } procedure LoadFromResource(const aInstance: Cardinal; aResource: String; aResType: PChar = nil); + + { load a texture from a resource id + @param aInstance resource handle + @param aResource resource ID + @param aResType resource type } procedure LoadFromResourceID(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar); - //Save - procedure SaveToFile(const aFileName: String; const aFileType: TglBitmapFileType); + public + { save texture data to a file + @param aFilename filename to store texture in + @param aFileType file type to store data into } + procedure SaveToFile(const aFilename: String; const aFileType: TglBitmapFileType); + + { save texture data to a stream + @param aFilename filename to store texture in + @param aFileType file type to store data into } procedure SaveToStream(const aStream: TStream; const aFileType: TglBitmapFileType); virtual; - //Convert - function AddFunc(const aFunc: TglBitmapFunction; const aCreateTemp: Boolean; const aArgs: Pointer = nil): Boolean; overload; - function AddFunc(const aSource: TglBitmap; const aFunc: TglBitmapFunction; aCreateTemp: Boolean; + public + { convert texture data using a user defined callback + @param aFunc callback to use for converting + @param aCreateTemp create a temporary buffer to use for converting + @param aArgs user defined paramters (use at will) + @returns @true if converting was successful, @false otherwise } + function Convert(const aFunc: TglBitmapFunction; const aCreateTemp: Boolean; const aArgs: Pointer = nil): Boolean; overload; + + { convert texture data using a user defined callback + @param aSource glBitmap to read data from + @param aFunc callback to use for converting + @param aCreateTemp create a temporary buffer to use for converting + @param aFormat format of the new data + @param aArgs user defined paramters (use at will) + @returns @true if converting was successful, @false otherwise } + function Convert(const aSource: TglBitmap; const aFunc: TglBitmapFunction; aCreateTemp: Boolean; const aFormat: TglBitmapFormat; const aArgs: Pointer = nil): Boolean; overload; + + { convert texture data using a specific format + @param aFormat new format of texture data + @returns @true if converting was successful, @false otherwise } + function ConvertTo(const aFormat: TglBitmapFormat): Boolean; virtual; + +{$IFDEF GLB_SDL} public - //Alpha & Co - {$IFDEF GLB_SDL} + { assign texture data to SDL surface + @param aSurface SDL surface to write data to + @returns @true on success, @false otherwise } function AssignToSurface(out aSurface: PSDL_Surface): Boolean; + + { assign texture data from SDL surface + @param aSurface SDL surface to read data from + @returns @true on success, @false otherwise } function AssignFromSurface(const aSurface: PSDL_Surface): Boolean; + + { assign alpha channel data to SDL surface + @param aSurface SDL surface to write alpha channel data to + @returns @true on success, @false otherwise } function AssignAlphaToSurface(out aSurface: PSDL_Surface): Boolean; - function AddAlphaFromSurface(const aSurface: PSDL_Surface; const aFunc: TglBitmapFunction = nil; - const aArgs: Pointer = nil): Boolean; - {$ENDIF} - {$IFDEF GLB_DELPHI} + { assign alpha channel data from SDL surface + @param aSurface SDL surface to read data from + @param aFunc callback to use for converting + @param aArgs user defined parameters (use at will) + @returns @true on success, @false otherwise } + function AddAlphaFromSurface(const aSurface: PSDL_Surface; const aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; +{$ENDIF} + +{$IFDEF GLB_DELPHI} + public + { assign texture data to TBitmap object + @param aBitmap TBitmap to write data to + @returns @true on success, @false otherwise } function AssignToBitmap(const aBitmap: TBitmap): Boolean; + + { assign texture data from TBitmap object + @param aBitmap TBitmap to read data from + @returns @true on success, @false otherwise } function AssignFromBitmap(const aBitmap: TBitmap): Boolean; + + { assign alpha channel data to TBitmap object + @param aBitmap TBitmap to write data to + @returns @true on success, @false otherwise } function AssignAlphaToBitmap(const aBitmap: TBitmap): Boolean; - function AddAlphaFromBitmap(const aBitmap: TBitmap; const aFunc: TglBitmapFunction = nil; - const aArgs: Pointer = nil): Boolean; - {$ENDIF} - {$IFDEF GLB_LAZARUS} + { assign alpha channel data from TBitmap object + @param aBitmap TBitmap to read data from + @param aFunc callback to use for converting + @param aArgs user defined parameters (use at will) + @returns @true on success, @false otherwise } + function AddAlphaFromBitmap(const aBitmap: TBitmap; const aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; +{$ENDIF} + +{$IFDEF GLB_LAZARUS} + public + { assign texture data to TLazIntfImage object + @param aImage TLazIntfImage to write data to + @returns @true on success, @false otherwise } function AssignToLazIntfImage(const aImage: TLazIntfImage): Boolean; + + { assign texture data from TLazIntfImage object + @param aImage TLazIntfImage to read data from + @returns @true on success, @false otherwise } function AssignFromLazIntfImage(const aImage: TLazIntfImage): Boolean; + + { assign alpha channel data to TLazIntfImage object + @param aImage TLazIntfImage to write data to + @returns @true on success, @false otherwise } function AssignAlphaToLazIntfImage(const aImage: TLazIntfImage): Boolean; - function AddAlphaFromLazIntfImage(const aImage: TLazIntfImage; const aFunc: TglBitmapFunction = nil; - const aArgs: Pointer = nil): Boolean; - {$ENDIF} - function AddAlphaFromResource(const aInstance: Cardinal; aResource: String; aResType: PChar = nil; - const aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; - function AddAlphaFromResourceID(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar; - const aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; + { assign alpha channel data from TLazIntfImage object + @param aImage TLazIntfImage to read data from + @param aFunc callback to use for converting + @param aArgs user defined parameters (use at will) + @returns @true on success, @false otherwise } + function AddAlphaFromLazIntfImage(const aImage: TLazIntfImage; const aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; +{$ENDIF} + public + { load alpha channel data from resource + @param aInstance resource handle + @param aResource resource ID + @param aResType resource type + @param aFunc callback to use for converting + @param aArgs user defined parameters (use at will) + @returns @true on success, @false otherwise } + function AddAlphaFromResource(const aInstance: Cardinal; aResource: String; aResType: PChar = nil; const aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; + + { load alpha channel data from resource ID + @param aInstance resource handle + @param aResourceID resource ID + @param aResType resource type + @param aFunc callback to use for converting + @param aArgs user defined parameters (use at will) + @returns @true on success, @false otherwise } + function AddAlphaFromResourceID(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar; const aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; + + { add alpha channel data from function + @param aFunc callback to get data from + @param aArgs user defined parameters (use at will) + @returns @true on success, @false otherwise } function AddAlphaFromFunc(const aFunc: TglBitmapFunction; const aArgs: Pointer = nil): Boolean; virtual; + + { add alpha channel data from file (macro for: new glBitmap, LoadFromFile, AddAlphaFromGlBitmap) + @param aFilename file to load alpha channel data from + @param aFunc callback to use for converting + @param aArgs user defined parameters (use at will) + @returns @true on success, @false otherwise } function AddAlphaFromFile(const aFileName: String; const aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; + + { add alpha channel data from stream (macro for: new glBitmap, LoadFromStream, AddAlphaFromGlBitmap) + @param aStream stream to load alpha channel data from + @param aFunc callback to use for converting + @param aArgs user defined parameters (use at will) + @returns @true on success, @false otherwise } function AddAlphaFromStream(const aStream: TStream; const aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; + + { add alpha channel data from existing glBitmap object + @param aBitmap TglBitmap to copy alpha channel data from + @param aFunc callback to use for converting + @param aArgs user defined parameters (use at will) + @returns @true on success, @false otherwise } function AddAlphaFromGlBitmap(const aBitmap: TglBitmap; aFunc: TglBitmapFunction = nil; const aArgs: Pointer = nil): Boolean; + { add alpha to pixel if the pixels color is greter than the given color value + @param aRed red threshold (0-255) + @param aGreen green threshold (0-255) + @param aBlue blue threshold (0-255) + @param aDeviatation accepted deviatation (0-255) + @returns @true on success, @false otherwise } function AddAlphaFromColorKey(const aRed, aGreen, aBlue: Byte; const aDeviation: Byte = 0): Boolean; + + { add alpha to pixel if the pixels color is greter than the given color value + @param aRed red threshold (0-Range.r) + @param aGreen green threshold (0-Range.g) + @param aBlue blue threshold (0-Range.b) + @param aDeviatation accepted deviatation (0-max(Range.rgb)) + @returns @true on success, @false otherwise } function AddAlphaFromColorKeyRange(const aRed, aGreen, aBlue: Cardinal; const aDeviation: Cardinal = 0): Boolean; + + { add alpha to pixel if the pixels color is greter than the given color value + @param aRed red threshold (0.0-1.0) + @param aGreen green threshold (0.0-1.0) + @param aBlue blue threshold (0.0-1.0) + @param aDeviatation accepted deviatation (0.0-1.0) + @returns @true on success, @false otherwise } function AddAlphaFromColorKeyFloat(const aRed, aGreen, aBlue: Single; const aDeviation: Single = 0): Boolean; + { add a constand alpha value to all pixels + @param aAlpha alpha value to add (0-255) + @returns @true on success, @false otherwise } function AddAlphaFromValue(const aAlpha: Byte): Boolean; + + { add a constand alpha value to all pixels + @param aAlpha alpha value to add (0-max(Range.rgb)) + @returns @true on success, @false otherwise } function AddAlphaFromValueRange(const aAlpha: Cardinal): Boolean; + + { add a constand alpha value to all pixels + @param aAlpha alpha value to add (0.0-1.0) + @returns @true on success, @false otherwise } function AddAlphaFromValueFloat(const aAlpha: Single): Boolean; + { remove alpha channel + @returns @true on success, @false otherwise } function RemoveAlpha: Boolean; virtual; + public - //Common + { create a clone of the current object + @returns clone of this object} function Clone: TglBitmap; - function ConvertTo(const aFormat: TglBitmapFormat): Boolean; virtual; + + { invert color data (xor) + @param aUseRGB xor each color channel + @param aUseAlpha xor alpha channel } procedure Invert(const aUseRGB: Boolean = true; const aUseAlpha: Boolean = false); + + { free texture stored data } + procedure FreeData; + {$IFNDEF OPENGL_ES} + { set the new value for texture border color + @param aRed red color for border (0.0-1.0) + @param aGreen green color for border (0.0-1.0) + @param aBlue blue color for border (0.0-1.0) + @param aAlpha alpha color for border (0.0-1.0) } procedure SetBorderColor(const aRed, aGreen, aBlue, aAlpha: Single); {$ENDIF} - procedure FreeData; - //ColorFill + public + { fill complete texture with one color + @param aRed red color for border (0-255) + @param aGreen green color for border (0-255) + @param aBlue blue color for border (0-255) + @param aAlpha alpha color for border (0-255) } procedure FillWithColor(const aRed, aGreen, aBlue: Byte; const aAlpha: Byte = 255); + + { fill complete texture with one color + @param aRed red color for border (0-Range.r) + @param aGreen green color for border (0-Range.g) + @param aBlue blue color for border (0-Range.b) + @param aAlpha alpha color for border (0-Range.a) } procedure FillWithColorRange(const aRed, aGreen, aBlue: Cardinal; const aAlpha: Cardinal = $FFFFFFFF); - procedure FillWithColorFloat(const aRed, aGreen, aBlue: Single; const aAlpha : Single = 1); - //TexParameters + { fill complete texture with one color + @param aRed red color for border (0.0-1.0) + @param aGreen green color for border (0.0-1.0) + @param aBlue blue color for border (0.0-1.0) + @param aAlpha alpha color for border (0.0-1.0) } + procedure FillWithColorFloat(const aRed, aGreen, aBlue: Single; const aAlpha: Single = 1.0); + + public + { set new texture filer + @param aMin min filter + @param aMag mag filter } procedure SetFilter(const aMin, aMag: GLenum); + + { set new texture wrapping + @param S texture wrapping for x axis + @param T texture wrapping for y axis + @param R texture wrapping for z axis } procedure SetWrap( const S: GLenum = GL_CLAMP_TO_EDGE; const T: GLenum = GL_CLAMP_TO_EDGE; const R: GLenum = GL_CLAMP_TO_EDGE); + {$IF NOT DEFINED(OPENGL_ES) OR DEFINED(OPENGL_ES_3_0)} + { set new swizzle + @param r swizzle for red channel + @param g swizzle for green channel + @param b swizzle for blue channel + @param a swizzle for alpha channel } procedure SetSwizzle(const r, g, b, a: GLenum); {$IFEND} + public + { bind texture + @param aEnableTextureUnit enable texture unit for this texture (e.g. glEnable(GL_TEXTURE_2D)) } procedure Bind(const aEnableTextureUnit: Boolean = true); virtual; + + { bind texture + @param aDisableTextureUnit disable texture unit for this texture (e.g. glEnable(GL_TEXTURE_2D)) } procedure Unbind(const aDisableTextureUnit: Boolean = true); virtual; - //Constructors + public + { constructor - created an empty texture } constructor Create; overload; + + { constructor - creates a texture and load it from a file + @param aFilename file to load texture from } constructor Create(const aFileName: String); overload; + + { constructor - creates a texture and load it from a stream + @param aStream stream to load texture from } constructor Create(const aStream: TStream); overload; - constructor Create(const aSize: TglBitmapPixelPosition; const aFormat: TglBitmapFormat; aData: PByte = nil); overload; - constructor Create(const aSize: TglBitmapPixelPosition; const aFormat: TglBitmapFormat; const aFunc: TglBitmapFunction; const aArgs: Pointer = nil); overload; + + { constructor - creates a texture with the given size, format and data + @param aSize size of the texture + @param aFormat format of the given data + @param aData texture data - be carefull: the data will now be managed by the glBitmap object, + you can control this by setting DeleteTextureOnFree, FreeDataOnDestroy and FreeDataAfterGenTexture } + constructor Create(const aSize: TglBitmapSize; const aFormat: TglBitmapFormat; aData: PByte = nil); overload; + + { constructor - creates a texture with the given size and format and uses the given callback to create the data + @param aSize size of the texture + @param aFormat format of the given data + @param aFunc callback to use for generating the data + @param aArgs user defined parameters (use at will) } + constructor Create(const aSize: TglBitmapSize; const aFormat: TglBitmapFormat; const aFunc: TglBitmapFunction; const aArgs: Pointer = nil); overload; + + { constructor - creates a texture and loads it from a resource + @param aInstance resource handle + @param aResource resource indentifier + @param aResType resource type (if known) } constructor Create(const aInstance: Cardinal; const aResource: String; const aResType: PChar = nil); overload; + + { constructor - creates a texture and loads it from a resource + @param aInstance resource handle + @param aResourceID resource ID + @param aResType resource type (if known) } constructor Create(const aInstance: Cardinal; const aResourceID: Integer; const aResType: PChar); overload; + private - {$IFDEF GLB_SUPPORT_PNG_READ} function LoadPNG(const aStream: TStream): Boolean; virtual; {$ENDIF} - {$ifdef GLB_SUPPORT_PNG_WRITE} procedure SavePNG(const aStream: TStream); virtual; {$ENDIF} +{$IFDEF GLB_SUPPORT_PNG_READ} + { try to load a PNG from a stream + @param aStream stream to load PNG from + @returns @true on success, @false otherwise } + function LoadPNG(const aStream: TStream): Boolean; virtual; +{$ENDIF} + +{$ifdef GLB_SUPPORT_PNG_WRITE} + { save texture data as PNG to stream + @param aStream stream to save data to} + procedure SavePNG(const aStream: TStream); virtual; +{$ENDIF} - {$IFDEF GLB_SUPPORT_JPEG_READ} function LoadJPEG(const aStream: TStream): Boolean; virtual; {$ENDIF} - {$IFDEF GLB_SUPPORT_JPEG_WRITE} procedure SaveJPEG(const aStream: TStream); virtual; {$ENDIF} +{$IFDEF GLB_SUPPORT_JPEG_READ} + { try to load a JPEG from a stream + @param aStream stream to load JPEG from + @returns @true on success, @false otherwise } + function LoadJPEG(const aStream: TStream): Boolean; virtual; +{$ENDIF} + +{$IFDEF GLB_SUPPORT_JPEG_WRITE} + { save texture data as JPEG to stream + @param aStream stream to save data to} + procedure SaveJPEG(const aStream: TStream); virtual; +{$ENDIF} + { try to load a RAW image from a stream + @param aStream stream to load RAW image from + @returns @true on success, @false otherwise } function LoadRAW(const aStream: TStream): Boolean; + + { save texture data as RAW image to stream + @param aStream stream to save data to} procedure SaveRAW(const aStream: TStream); + { try to load a BMP from a stream + @param aStream stream to load BMP from + @returns @true on success, @false otherwise } function LoadBMP(const aStream: TStream): Boolean; + + { save texture data as BMP to stream + @param aStream stream to save data to} procedure SaveBMP(const aStream: TStream); + { try to load a TGA from a stream + @param aStream stream to load TGA from + @returns @true on success, @false otherwise } function LoadTGA(const aStream: TStream): Boolean; + + { save texture data as TGA to stream + @param aStream stream to save data to} procedure SaveTGA(const aStream: TStream); + { try to load a DDS from a stream + @param aStream stream to load DDS from + @returns @true on success, @false otherwise } function LoadDDS(const aStream: TStream): Boolean; + + { save texture data as DDS to stream + @param aStream stream to save data to} procedure SaveDDS(const aStream: TStream); end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -{$IFNDEF OPENGL_ES} +{$IF NOT DEFINED(OPENGL_ES)} + { wrapper class for 1-dimensional textures (OpenGL target = GL_TEXTURE_1D } TglBitmap1D = class(TglBitmap) protected - procedure SetDataPointer(var aData: PByte; const aFormat: TglBitmapFormat; - const aWidth: Integer = - 1; const aHeight: Integer = - 1); override; + { set data pointer of texture data + @param aData pointer to new texture data (be carefull, aData could be freed by this function) + @param aFormat format of the data stored at aData + @param aWidth width of the texture data + @param aHeight height of the texture data } + procedure SetDataPointer(var aData: PByte; const aFormat: TglBitmapFormat; const aWidth: Integer = - 1; const aHeight: Integer = - 1); override; + + { upload the texture data to video card + @param aBuildWithGlu use glu functions to build mipmaps } procedure UploadData(const aBuildWithGlu: Boolean); public - property Width; + property Width; //< actual with of the texture + + { this method is called after constructor and initializes the object } procedure AfterConstruction; override; + + { flip texture horizontally + @returns @true on success, @fals otherwise } function FlipHorz: Boolean; override; + + { generate texture (create texture object if not exist, set texture parameters and upload data + @param aTestTextureSize check the size of the texture and throw exception if something is wrong } procedure GenTexture(const aTestTextureSize: Boolean = true); override; end; -{$ENDIF} +{$IFEND} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + { wrapper class for 2-dimensional textures (OpenGL target = GL_TEXTURE_2D) } TglBitmap2D = class(TglBitmap) protected - fLines: array of PByte; + fLines: array of PByte; //< array to store scanline entry points in + + { get a specific scanline + @param aIndex index of the scanline to return + @returns scanline at position aIndex or @nil } function GetScanline(const aIndex: Integer): Pointer; + + { set data pointer of texture data + @param aData pointer to new texture data (be carefull, aData could be freed by this function) + @param aFormat format of the data stored at aData + @param aWidth width of the texture data + @param aHeight height of the texture data } procedure SetDataPointer(var aData: PByte; const aFormat: TglBitmapFormat; const aWidth: Integer = - 1; const aHeight: Integer = - 1); override; + + { upload the texture data to video card + @param aTarget target o upload data to (e.g. GL_TEXTURE_2D) + @param aBuildWithGlu use glu functions to build mipmaps } procedure UploadData(const aTarget: GLenum{$IFNDEF OPENGL_ES}; const aBuildWithGlu: Boolean{$ENDIF}); public - property Width; - property Height; - property Scanline[const aIndex: Integer]: Pointer read GetScanline; + property Width; //< actual width of the texture + property Height; //< actual height of the texture + property Scanline[const aIndex: Integer]: Pointer read GetScanline; //< scanline to access texture data directly + { this method is called after constructor and initializes the object } procedure AfterConstruction; override; + { copy a part of the frame buffer top the texture + @param aTop topmost pixel to copy + @param aLeft leftmost pixel to copy + @param aRight rightmost pixel to copy + @param aBottom bottommost pixel to copy + @param aFormat format to store data in } procedure GrabScreen(const aTop, aLeft, aRight, aBottom: Integer; const aFormat: TglBitmapFormat); + {$IFNDEF OPENGL_ES} + { downlaod texture data from OpenGL texture object } procedure GetDataFromTexture; {$ENDIF} + + { generate texture (create texture object if not exist, set texture parameters and upload data) + @param aTestTextureSize check the size of the texture and throw exception if something is wrong } procedure GenTexture(const aTestTextureSize: Boolean = true); override; + { flip texture horizontally + @returns @true on success, @false otherwise } function FlipHorz: Boolean; override; + + { flip texture vertically + @returns @true on success, @false otherwise } function FlipVert: Boolean; override; - procedure ToNormalMap(const aFunc: TglBitmapNormalMapFunc = nm3x3; + { create normal map from texture data + @param aFunc normal map function to generate normalmap with + @param aScale scale of the normale stored in the normal map + @param aUseAlpha generate normalmap from alpha channel data (if present) } + procedure GenerateNormalMap(const aFunc: TglBitmapNormalMapFunc = nm3x3; const aScale: Single = 2; const aUseAlpha: Boolean = false); end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// {$IF NOT DEFINED(OPENGL_ES) OR DEFINED(OPENGL_ES_2_0)} + { wrapper class for cube maps (OpenGL target = GL_TEXTURE_CUBE_MAP) } TglBitmapCubeMap = class(TglBitmap2D) protected {$IFNDEF OPENGL_ES} - fGenMode: Integer; + fGenMode: Integer; //< generation mode for the cube map (e.g. GL_REFLECTION_MAP) {$ENDIF} + + { generate texture (create texture object if not exist, set texture parameters and upload data + do not call directly for cubemaps, use GenerateCubeMap instead + @param aTestTextureSize check the size of the texture and throw exception if something is wrong } procedure GenTexture(const aTestTextureSize: Boolean = true); reintroduce; public + { this method is called after constructor and initializes the object } procedure AfterConstruction; override; + + { generate texture (create texture object if not exist, set texture parameters and upload data + @param aCubeTarget cube map target to upload data to (e.g. GL_TEXTURE_CUBE_MAP_POSITIVE_X) + @param aTestTextureSize check the size of the texture and throw exception if something is wrong } procedure GenerateCubeMap(const aCubeTarget: Cardinal; const aTestTextureSize: Boolean = true); + + { bind texture + @param aEnableTexCoordsGen enable cube map generator + @param aEnableTextureUnit enable texture unit } procedure Bind({$IFNDEF OPENGL_ES}const aEnableTexCoordsGen: Boolean = true;{$ENDIF} const aEnableTextureUnit: Boolean = true); reintroduce; virtual; + + { unbind texture + @param aDisableTexCoordsGen disable cube map generator + @param aDisableTextureUnit disable texture unit } procedure Unbind({$IFNDEF OPENGL_ES}const aDisableTexCoordsGen: Boolean = true;{$ENDIF} const aDisableTextureUnit: Boolean = true); reintroduce; virtual; end; {$IFEND} {$IF NOT DEFINED(OPENGL_ES) OR DEFINED(OPENGL_ES_2_0)} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + { wrapper class for cube normal maps } TglBitmapNormalMap = class(TglBitmapCubeMap) public + { this method is called after constructor and initializes the object } procedure AfterConstruction; override; + + { create cube normal map from texture data and upload it to video card + @param aSize size of each cube map texture + @param aTestTextureSize check texture size when uploading and throw exception if something is wrong } procedure GenerateNormalMap(const aSize: Integer = 32; const aTestTextureSize: Boolean = true); end; {$IFEND} const - NULL_SIZE: TglBitmapPixelPosition = (Fields: []; X: 0; Y: 0); + NULL_SIZE: TglBitmapSize = (Fields: []; X: 0; Y: 0); procedure glBitmapSetDefaultDeleteTextureOnFree(const aDeleteTextureOnFree: Boolean); procedure glBitmapSetDefaultFreeDataAfterGenTexture(const aFreeData: Boolean); @@ -1332,13 +1595,21 @@ procedure glBitmapSetDefaultWrap( const T: Cardinal = GL_CLAMP_TO_EDGE; const R: Cardinal = GL_CLAMP_TO_EDGE); +{$IF NOT DEFINED(OPENGL_ES) OR DEFINED(OPENGL_ES_3_0)} +procedure glBitmapSetDefaultSwizzle(const r: GLenum = GL_RED; g: GLenum = GL_GREEN; b: GLenum = GL_BLUE; a: GLenum = GL_ALPHA); +{$IFEND} + function glBitmapGetDefaultDeleteTextureOnFree: Boolean; function glBitmapGetDefaultFreeDataAfterGenTexture: Boolean; function glBitmapGetDefaultMipmap: TglBitmapMipMap; function glBitmapGetDefaultFormat: TglBitmapFormat; procedure glBitmapGetDefaultFilter(var aMin, aMag: Cardinal); procedure glBitmapGetDefaultTextureWrap(var S, T, R: Cardinal); +{$IF NOT DEFINED(OPENGL_ES) OR DEFINED(OPENGL_ES_3_0)} +procedure glBitmapGetDefaultSwizzle(var r, g, b, a: GLenum); +{$IFEND} +function glBitmapSize(X: Integer = -1; Y: Integer = -1): TglBitmapSize; function glBitmapPosition(X: Integer = -1; Y: Integer = -1): TglBitmapPixelPosition; function glBitmapRec4ub(const r, g, b, a: Byte): TglBitmapRec4ub; function glBitmapRec4ui(const r, g, b, a: Cardinal): TglBitmapRec4ui; @@ -1348,6 +1619,17 @@ function glBitmapRec4uiCompare(const r1, r2: TglBitmapRec4ui): Boolean; function glBitmapCreateTestTexture(const aFormat: TglBitmapFormat): TglBitmap2D; +{$IFDEF GLB_DELPHI} +function CreateGrayPalette: HPALETTE; +{$ENDIF} + +implementation + +uses + Math, syncobjs, typinfo + {$IF DEFINED(GLB_SUPPORT_JPEG_READ) AND DEFINED(GLB_LAZ_JPEG)}, FPReadJPEG{$IFEND}; + + var glBitmapDefaultDeleteTextureOnFree: Boolean; glBitmapDefaultFreeDataAfterGenTextures: Boolean; @@ -1360,16 +1642,6 @@ var glBitmapDefaultWrapR: Cardinal; glDefaultSwizzle: array[0..3] of GLenum; -{$IFDEF GLB_DELPHI} -function CreateGrayPalette: HPALETTE; -{$ENDIF} - -implementation - -uses - Math, syncobjs, typinfo - {$IF DEFINED(GLB_SUPPORT_JPEG_READ) AND DEFINED(GLB_LAZ_JPEG)}, FPReadJPEG{$IFEND}; - //////////////////////////////////////////////////////////////////////////////////////////////////// type TFormatDescriptor = class(TglBitmapFormatDescriptor) @@ -1377,7 +1649,7 @@ type procedure Map(const aPixel: TglBitmapPixelData; var aData: PByte; var aMapData: Pointer); virtual; abstract; procedure Unmap(var aData: PByte; out aPixel: TglBitmapPixelData; var aMapData: Pointer); virtual; abstract; - function GetSize(const aSize: TglBitmapPixelPosition): Integer; overload; virtual; + function GetSize(const aSize: TglBitmapSize): Integer; overload; virtual; function GetSize(const aWidth, aHeight: Integer): Integer; overload; virtual; function CreateMappingData: Pointer; virtual; @@ -1895,20 +2167,24 @@ begin end; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -function glBitmapPosition(X: Integer; Y: Integer): TglBitmapPixelPosition; +function glBitmapSize(X: Integer; Y: Integer): TglBitmapSize; begin result.Fields := []; - - if X >= 0 then + if (X >= 0) then result.Fields := result.Fields + [ffX]; - if Y >= 0 then + if (Y >= 0) then result.Fields := result.Fields + [ffY]; - result.X := Max(0, X); result.Y := Max(0, Y); end; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +function glBitmapPosition(X: Integer; Y: Integer): TglBitmapPixelPosition; +begin + result := glBitmapSize(X, Y); +end; + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function glBitmapRec4ub(const r, g, b, a: Byte): TglBitmapRec4ub; begin result.r := r; @@ -2477,7 +2753,7 @@ begin R := glBitmapDefaultWrapR; end; -{$IFNDEF OPENGL_ES} +{$IF NOT DEFINED(OPENGL_ES) OR DEFINED(OPENGL_ES_3_0)} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure glBitmapGetDefaultSwizzle(var r, g, b, a: GLenum); begin @@ -2491,7 +2767,7 @@ end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //TFormatDescriptor/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -function TFormatDescriptor.GetSize(const aSize: TglBitmapPixelPosition): Integer; +function TFormatDescriptor.GetSize(const aSize: TglBitmapSize): Integer; var w, h: Integer; begin @@ -4989,7 +5265,7 @@ begin end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -procedure TglBitmap.LoadFromFunc(const aSize: TglBitmapPixelPosition; const aFunc: TglBitmapFunction; +procedure TglBitmap.LoadFromFunc(const aSize: TglBitmapSize; const aFunc: TglBitmapFunction; const aFormat: TglBitmapFormat; const aArgs: Pointer); var tmpData: PByte; @@ -5005,7 +5281,7 @@ begin FreeMem(tmpData); raise; end; - AddFunc(Self, aFunc, false, aFormat, aArgs); + Convert(Self, aFunc, false, aFormat, aArgs); end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -5036,7 +5312,7 @@ begin end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -procedure TglBitmap.SaveToFile(const aFileName: String; const aFileType: TglBitmapFileType); +procedure TglBitmap.SaveToFile(const aFilename: String; const aFileType: TglBitmapFileType); var fs: TFileStream; begin @@ -5067,13 +5343,13 @@ begin end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -function TglBitmap.AddFunc(const aFunc: TglBitmapFunction; const aCreateTemp: Boolean; const aArgs: Pointer): Boolean; +function TglBitmap.Convert(const aFunc: TglBitmapFunction; const aCreateTemp: Boolean; const aArgs: Pointer): Boolean; begin - result := AddFunc(Self, aFunc, aCreateTemp, Format, aArgs); + result := Convert(Self, aFunc, aCreateTemp, Format, aArgs); end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -function TglBitmap.AddFunc(const aSource: TglBitmap; const aFunc: TglBitmapFunction; aCreateTemp: Boolean; +function TglBitmap.Convert(const aSource: TglBitmap; const aFunc: TglBitmapFunction; aCreateTemp: Boolean; const aFormat: TglBitmapFormat; const aArgs: Pointer): Boolean; var DestData, TmpData, SourceData: pByte; @@ -5158,6 +5434,73 @@ begin end; end; +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +function TglBitmap.ConvertTo(const aFormat: TglBitmapFormat): Boolean; +var + SourceFD, DestFD: TFormatDescriptor; + SourcePD, DestPD: TglBitmapPixelData; + ShiftData: TShiftData; + + function DataIsIdentical: Boolean; + begin + result := SourceFD.MaskMatch(DestFD.Mask); + end; + + function CanCopyDirect: Boolean; + begin + result := + ((SourcePD.Range.r = DestPD.Range.r) or (SourcePD.Range.r = 0) or (DestPD.Range.r = 0)) and + ((SourcePD.Range.g = DestPD.Range.g) or (SourcePD.Range.g = 0) or (DestPD.Range.g = 0)) and + ((SourcePD.Range.b = DestPD.Range.b) or (SourcePD.Range.b = 0) or (DestPD.Range.b = 0)) and + ((SourcePD.Range.a = DestPD.Range.a) or (SourcePD.Range.a = 0) or (DestPD.Range.a = 0)); + end; + + function CanShift: Boolean; + begin + result := + ((SourcePD.Range.r >= DestPD.Range.r) or (SourcePD.Range.r = 0) or (DestPD.Range.r = 0)) and + ((SourcePD.Range.g >= DestPD.Range.g) or (SourcePD.Range.g = 0) or (DestPD.Range.g = 0)) and + ((SourcePD.Range.b >= DestPD.Range.b) or (SourcePD.Range.b = 0) or (DestPD.Range.b = 0)) and + ((SourcePD.Range.a >= DestPD.Range.a) or (SourcePD.Range.a = 0) or (DestPD.Range.a = 0)); + end; + + function GetShift(aSource, aDest: Cardinal) : ShortInt; + begin + result := 0; + while (aSource > aDest) and (aSource > 0) do begin + inc(result); + aSource := aSource shr 1; + end; + end; + +begin + if (aFormat <> fFormat) and (aFormat <> tfEmpty) then begin + SourceFD := TFormatDescriptor.Get(Format); + DestFD := TFormatDescriptor.Get(aFormat); + + if DataIsIdentical then begin + result := true; + Format := aFormat; + exit; + end; + + SourceFD.PreparePixel(SourcePD); + DestFD.PreparePixel (DestPD); + + if CanCopyDirect then + result := Convert(Self, glBitmapConvertCopyFunc, false, aFormat) + else if CanShift then begin + ShiftData.r := GetShift(SourcePD.Range.r, DestPD.Range.r); + ShiftData.g := GetShift(SourcePD.Range.g, DestPD.Range.g); + ShiftData.b := GetShift(SourcePD.Range.b, DestPD.Range.b); + ShiftData.a := GetShift(SourcePD.Range.a, DestPD.Range.a); + result := Convert(Self, glBitmapConvertShiftRGBAFunc, false, aFormat, @ShiftData); + end else + result := Convert(Self, glBitmapConvertCalculateRGBAFunc, false, aFormat); + end else + result := true; +end; + {$IFDEF GLB_SDL} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function TglBitmap.AssignToSurface(out aSurface: PSDL_Surface): Boolean; @@ -5755,7 +6098,7 @@ function TglBitmap.AddAlphaFromFunc(const aFunc: TglBitmapFunction; const aArgs: begin if TFormatDescriptor.Get(Format).IsCompressed then raise EglBitmapUnsupportedFormat.Create(Format); - result := AddFunc(Self, aFunc, false, TFormatDescriptor.Get(Format).WithAlpha, aArgs); + result := Convert(Self, aFunc, false, TFormatDescriptor.Get(Format).WithAlpha, aArgs); end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -5990,81 +6333,23 @@ begin end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -function TglBitmap.ConvertTo(const aFormat: TglBitmapFormat): Boolean; -var - SourceFD, DestFD: TFormatDescriptor; - SourcePD, DestPD: TglBitmapPixelData; - ShiftData: TShiftData; - - function DataIsIdentical: Boolean; - begin - result := SourceFD.MaskMatch(DestFD.Mask); - end; - - function CanCopyDirect: Boolean; - begin - result := - ((SourcePD.Range.r = DestPD.Range.r) or (SourcePD.Range.r = 0) or (DestPD.Range.r = 0)) and - ((SourcePD.Range.g = DestPD.Range.g) or (SourcePD.Range.g = 0) or (DestPD.Range.g = 0)) and - ((SourcePD.Range.b = DestPD.Range.b) or (SourcePD.Range.b = 0) or (DestPD.Range.b = 0)) and - ((SourcePD.Range.a = DestPD.Range.a) or (SourcePD.Range.a = 0) or (DestPD.Range.a = 0)); - end; - - function CanShift: Boolean; - begin - result := - ((SourcePD.Range.r >= DestPD.Range.r) or (SourcePD.Range.r = 0) or (DestPD.Range.r = 0)) and - ((SourcePD.Range.g >= DestPD.Range.g) or (SourcePD.Range.g = 0) or (DestPD.Range.g = 0)) and - ((SourcePD.Range.b >= DestPD.Range.b) or (SourcePD.Range.b = 0) or (DestPD.Range.b = 0)) and - ((SourcePD.Range.a >= DestPD.Range.a) or (SourcePD.Range.a = 0) or (DestPD.Range.a = 0)); - end; - - function GetShift(aSource, aDest: Cardinal) : ShortInt; - begin - result := 0; - while (aSource > aDest) and (aSource > 0) do begin - inc(result); - aSource := aSource shr 1; - end; - end; - -begin - if (aFormat <> fFormat) and (aFormat <> tfEmpty) then begin - SourceFD := TFormatDescriptor.Get(Format); - DestFD := TFormatDescriptor.Get(aFormat); - - if DataIsIdentical then begin - result := true; - Format := aFormat; - exit; - end; - - SourceFD.PreparePixel(SourcePD); - DestFD.PreparePixel (DestPD); - - if CanCopyDirect then - result := AddFunc(Self, glBitmapConvertCopyFunc, false, aFormat) - else if CanShift then begin - ShiftData.r := GetShift(SourcePD.Range.r, DestPD.Range.r); - ShiftData.g := GetShift(SourcePD.Range.g, DestPD.Range.g); - ShiftData.b := GetShift(SourcePD.Range.b, DestPD.Range.b); - ShiftData.a := GetShift(SourcePD.Range.a, DestPD.Range.a); - result := AddFunc(Self, glBitmapConvertShiftRGBAFunc, false, aFormat, @ShiftData); - end else - result := AddFunc(Self, glBitmapConvertCalculateRGBAFunc, false, aFormat); - end else - result := true; -end; - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure TglBitmap.Invert(const aUseRGB: Boolean; const aUseAlpha: Boolean); begin if aUseRGB or aUseAlpha then - AddFunc(glBitmapInvertFunc, false, {%H-}Pointer( + Convert(glBitmapInvertFunc, false, {%H-}Pointer( ((Byte(aUseAlpha) and 1) shl 1) or (Byte(aUseRGB) and 1) )); end; +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +procedure TglBitmap.FreeData; +var + TempPtr: PByte; +begin + TempPtr := nil; + SetDataPointer(TempPtr, tfEmpty); //be careful, Data could be freed by this method +end; + {$IFNDEF OPENGL_ES} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure TglBitmap.SetBorderColor(const aRed, aGreen, aBlue, aAlpha: Single); @@ -6081,15 +6366,6 @@ end; {$ENDIF} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -procedure TglBitmap.FreeData; -var - TempPtr: PByte; -begin - TempPtr := nil; - SetDataPointer(TempPtr, tfEmpty); //be careful, Data could be freed by this method -end; - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure TglBitmap.FillWithColor(const aRed, aGreen, aBlue: Byte; const aAlpha: Byte); begin @@ -6121,7 +6397,7 @@ begin Data.b := Max(0, Min(Range.b, Trunc(Range.b * aBlue))); Data.a := Max(0, Min(Range.a, Trunc(Range.a * aAlpha))); end; - AddFunc(glBitmapFillWithColorFunc, false, @PixelData); + Convert(glBitmapFillWithColorFunc, false, @PixelData); end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -6324,7 +6600,7 @@ begin end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -constructor TglBitmap.Create(const aSize: TglBitmapPixelPosition; const aFormat: TglBitmapFormat; aData: PByte); +constructor TglBitmap.Create(const aSize: TglBitmapSize; const aFormat: TglBitmapFormat; aData: PByte); var ImageSize: Integer; begin @@ -6342,12 +6618,11 @@ begin end; end else begin SetDataPointer(aData, aFormat, aSize.X, aSize.Y); //be careful, Data could be freed by this method - fFreeDataOnDestroy := false; end; end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -constructor TglBitmap.Create(const aSize: TglBitmapPixelPosition; const aFormat: TglBitmapFormat; const aFunc: TglBitmapFunction; const aArgs: Pointer); +constructor TglBitmap.Create(const aSize: TglBitmapSize; const aFormat: TglBitmapFormat; const aFunc: TglBitmapFunction; const aArgs: Pointer); begin Create; LoadFromFunc(aSize, aFunc, aFormat, aArgs); @@ -8870,7 +9145,7 @@ begin end; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -procedure TglBitmap2D.ToNormalMap(const aFunc: TglBitmapNormalMapFunc; const aScale: Single; const aUseAlpha: Boolean); +procedure TglBitmap2D.GenerateNormalMap(const aFunc: TglBitmapNormalMapFunc; const aScale: Single; const aUseAlpha: Boolean); var Rec: TglBitmapToNormalMapRec; @@ -8992,10 +9267,10 @@ begin // Daten Sammeln if aUseAlpha and TFormatDescriptor.Get(Format).HasAlpha then - AddFunc(glBitmapToNormalMapPrepareAlphaFunc, false, @Rec) + Convert(glBitmapToNormalMapPrepareAlphaFunc, false, @Rec) else - AddFunc(glBitmapToNormalMapPrepareFunc, false, @Rec); - AddFunc(glBitmapToNormalMapFunc, false, @Rec); + Convert(glBitmapToNormalMapPrepareFunc, false, @Rec); + Convert(glBitmapToNormalMapFunc, false, @Rec); finally SetLength(Rec.Heights, 0); end; @@ -9198,7 +9473,7 @@ end; procedure TglBitmapNormalMap.GenerateNormalMap(const aSize: Integer; const aTestTextureSize: Boolean); var Rec: TglBitmapNormalMapRec; - SizeRec: TglBitmapPixelPosition; + SizeRec: TglBitmapSize; begin Rec.HalfSize := aSize div 2; FreeDataAfterGenTexture := false; diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..0d5f495 --- /dev/null +++ b/readme.txt @@ -0,0 +1,229 @@ +glBitmap by Steffen Xonna aka Lossy eX (2003-2008) +http://www.opengl24.de/index.php?cat=header&file=glbitmap + +modified by Delphi OpenGL Community (http://delphigl.com/) (2013) + +------------------------------------------------------------ +The contents of this file are used with permission, subject to +the Mozilla Public License Version 1.1 (the "License"); you may +not use this file except in compliance with the License. You may +obtain a copy of the License at +http://www.mozilla.org/MPL/MPL-1.1.html +------------------------------------------------------------ +The glBitmap is a Delphi/FPC unit that contains several wrapper classes +to manage OpenGL texture objects. Below you can find a list of the main +functionality of this classes: +- load texture data from file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) +- load texture data from several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) +- save texture data to file (e.g. BMP, TGA, DDS, PNG, JPEG, ...) +- save texture data to several other image objects (e.g. TBitmap, TLazIntfImage, SDL Surface) +- support for many texture formats (e.g. RGB8, BGR8, RGBA8, BGRA8, ...) +- manage texture properties (e.g. Filter, Clamp, Mipmap, ...) +- upload texture data to video card +- download texture data from video card +- manipulate texture data (e.g. add alpha, remove alpha, convert to other format, switch RGB, ...) +------------------------------------------------------------ +History +20-11-2013 +- refactoring of the complete library +- glBitmap is managed by git, so this history is not maintenanced any longer +21-03-2010 +- The define GLB_DELPHI dosn't check versions anymore. If you say you are using delphi + then it's your problem if that isn't true. This prevents the unit for incompatibility + with newer versions of Delphi. +- Problems with D2009+ resolved (Thanks noeska and all i forgot) +- GetPixel isn't set if you are loading textures inside the constructor (Thanks Wilson) +10-08-2008 +- AddAlphaFromglBitmap used the custom pointer instead the imagedatapointer (Thanks Wilson) +- Additional Datapointer for functioninterface now has the name CustomData +24-07-2008 +- AssigneAlphaToBitmap overwrites his own palette (Thanks Wilson) +- If you load an texture from an file the property Filename will be set to the name of the file +- Three new properties to attach custom data to the Texture objects + - CustomName (free for use string) + - CustomNameW (free for use widestring) + - CustomDataPointer (free for use pointer to attach other objects or complex structures) +27-05-2008 +- RLE TGAs loaded much faster +26-05-2008 +- fixed some problem with reading RLE TGAs. +21-05-2008 +- function clone now only copys data if it's assigned and now it also copies the ID +- it seems that lazarus dont like comments in comments. +01-05-2008 +- It's possible to set the id of the texture +- define GLB_NO_NATIVE_GL deactivated by default +27-04-2008 +- Now supports the following libraries + - SDL and SDL_image + - libPNG + - libJPEG +- Linux compatibillity via free pascal compatibility (delphi sources optional) +- BMPs now loaded manuel +- Large restructuring +- Property DataPtr now has the name Data +- Functions are more flexible between RGB(A) and BGR(A). RGB can be saved as Bitmap and will be saved as BGR +- Unused Depth removed +- Function FreeData to freeing image data added +24-10-2007 +- ImageID flag of TGAs was ignored. (Thanks Zwoetzen) +15-11-2006 +- Function SetBorderColor implemented (only used by opengl if wrap is set to GL_CLAMP_TO_BORDER) +- Function AddAlphaFromValue implemented to use an fixed Value as Alphachannel +- Function ReadOpenGLExtension is now only intern +29-06-2006 +- pngimage now disabled by default like all other versions. +26-06-2006 +- Setting up an anisotropic filter of 0 isnt allowed by nvidia (Thanks Ogridi) +22-06-2006 +- Fixed some Problem with Delphi 5 +- Now uses the newest version of pngimage. Makes saving pngs much easier. +22-03-2006 +- Property IsCompressed and Size removed. Not really supported by Spec (Thanks Ogridi) +09-03-2006 +- Internal Format ifDepth8 added +- function GrabScreen now supports all uncompressed formats +31-01-2006 +- AddAlphaFromglBitmap implemented +29-12-2005 +- LoadFromResource and LoadFromResourceId now needs an Instance and an ResourceType (for ID) +28-12-2005 +- Width, Height and Depth internal changed to TglBitmapPixelPosition. + property Width, Height, Depth are still existing and new property Dimension are avail +11-12-2005 +- Added native OpenGL Support. Breaking the dglOpenGL "barrier". +19-10-2005 +- Added function GrabScreen to class TglBitmap2D +18-10-2005 +- Added support to Save images +- Added function Clone to Clone Instance +11-10-2005 +- Functions now works with Cardinals for each channel. Up to 32 Bits per channel. + Usefull for Future +- Several speed optimizations +09-10-2005 +- Internal structure change. Loading of TGA, PNG and DDS improved. + Data, format and size will now set directly with SetDataPtr. +- AddFunc now works with all Types of Images and Formats +- Some Funtions moved to Baseclass TglBitmap +06-10-2005 +- Added Support to decompress DXT3 and DXT5 compressed Images. +- Added Mapping to convert data from one format into an other. +05-10-2005 +- Added method ConvertTo in Class TglBitmap2D. Method allows to convert every + supported Input format (supported by GetPixel) into any uncompresed Format +- Added Support to decompress DXT1 compressed Images. +- SwapColors replaced by ConvertTo +04-10-2005 +- Added Support for compressed DDSs +- Added new internal formats (DXT1, DXT3, DXT5) +29-09-2005 +- Parameter Components renamed to InternalFormat +23-09-2005 +- Some AllocMem replaced with GetMem (little speed change) +- better exception handling. Better protection from memory leaks. +22-09-2005 +- Added support for Direct Draw Surfaces (.DDS) (uncompressed images only) +- Added new internal formats (RGB8, RGBA8, RGBA4, RGB5A1, RGB10A2, R5G6B5) +07-09-2005 +- Added support for Grayscale textures +- Added internal formats (Alpha, Luminance, LuminanceAlpha, BGR8, BGRA8) +10-07-2005 +- Added support for GL_VERSION_2_0 +- Added support for GL_EXT_texture_filter_anisotropic +04-07-2005 +- Function FillWithColor fills the Image with one Color +- Function LoadNormalMap added +30-06-2005 +- ToNormalMap allows to Create an NormalMap from the Alphachannel +- ToNormalMap now supports Sobel (nmSobel) function. +29-06-2005 +- support for RLE Compressed RGB TGAs added +28-06-2005 +- Class TglBitmapNormalMap added to support Normalmap generation +- Added function ToNormalMap in class TglBitmap2D to genereate normal maps from textures. + 3 Filters are supported. (4 Samples, 3x3 and 5x5) +16-06-2005 +- Method LoadCubeMapClass removed +- LoadCubeMap returnvalue is now the Texture paramter. Such as LoadTextures +- virtual abstract method GenTexture in class TglBitmap now is protected +12-06-2005 +- now support DescriptionFlag in LoadTga. Allows vertical flipped images to be loaded as normal +10-06-2005 +- little enhancement for IsPowerOfTwo +- TglBitmap1D.GenTexture now tests NPOT Textures +06-06-2005 +- some little name changes. All properties or function with Texture in name are + now without texture in name. We have allways texture so we dosn't name it. +03-06-2005 +- GenTexture now tests if texture is NPOT and NPOT-Texture are supported or + TextureTarget is GL_TEXTURE_RECTANGLE. Else it raised an exception. +02-06-2005 +- added support for GL_ARB_texture_rectangle, GL_EXT_texture_rectangle and GL_NV_texture_rectangle +25-04-2005 +- Function Unbind added +- call of SetFilter or SetTextureWrap if TextureID exists results in setting properties to opengl texture. +21-04-2005 +- class TglBitmapCubeMap added (allows to Create Cubemaps) +29-03-2005 +- Added Support for PNG Images. (http://pngdelphi.sourceforge.net/) + To Enable png's use the define pngimage +22-03-2005 +- New Functioninterface added +- Function GetPixel added +27-11-2004 +- Property BuildMipMaps renamed to MipMap +21-11-2004 +- property Name removed. +- BuildMipMaps is now a set of 3 values. None, GluBuildMipmaps and SGIS_generate_mipmap +22-05-2004 +- property name added. Only used in glForms! +26-11-2003 +- property FreeDataAfterGenTexture is now available as default (default = true) +- BuildMipmaps now implemented in TglBitmap1D (i've forgotten it) +- function MoveMemory replaced with function Move (little speed change) +- several calculations stored in variables (little speed change) +29-09-2003 +- property BuildMipsMaps added (default = true) + if BuildMipMaps isn't set GenTextures uses glTexImage[12]D else it use gluBuild[12]dMipmaps +- property FreeDataAfterGenTexture added (default = true) + if FreeDataAfterGenTexture is set the texturedata were deleted after the texture was generated. +- parameter DisableOtherTextureUnits of Bind removed +- parameter FreeDataAfterGeneration of GenTextures removed +12-09-2003 +- TglBitmap dosn't delete data if class was destroyed (fixed) +09-09-2003 +- Bind now enables TextureUnits (by params) +- GenTextures can leave data (by param) +- LoadTextures now optimal +03-09-2003 +- Performance optimization in AddFunc +- procedure Bind moved to subclasses +- Added new Class TglBitmap1D to support real OpenGL 1D Textures +19-08-2003 +- Texturefilter and texturewrap now also as defaults + Minfilter = GL_LINEAR_MIPMAP_LINEAR + Magfilter = GL_LINEAR + Wrap(str) = GL_CLAMP_TO_EDGE +- Added new format tfCompressed to create a compressed texture. +- propertys IsCompressed, TextureSize and IsResident added + IsCompressed and TextureSize only contains data from level 0 +18-08-2003 +- Added function AddFunc to add PerPixelEffects to Image +- LoadFromFunc now based on AddFunc +- Invert now based on AddFunc +- SwapColors now based on AddFunc +16-08-2003 +- Added function FlipHorz +15-08-2003 +- Added function LaodFromFunc to create images with function +- Added function FlipVert +- Added internal format RGB(A) if GL_EXT_bgra or OpenGL 1.2 isn't supported +29-07-2003 +- Added Alphafunctions to calculate alpha per function +- Added Alpha from ColorKey using alphafunctions +28-07-2003 +- First full functionally Version of glBitmap +- Support for 24Bit and 32Bit TGA Pictures added +25-07-2003 +- begin of programming -- 2.1.4