* added documentation (in-code and pasdoc generated)
authorBergmann89 <info@bergmann89.de>
Sun, 21 Dec 2014 18:58:52 +0000 (19:58 +0100)
committerBergmann89 <info@bergmann89.de>
Sun, 21 Dec 2014 18:59:21 +0000 (19:59 +0100)
* added some small examples

49 files changed:
doc/AllClasses.html [new file with mode: 0644]
doc/AllConstants.html [new file with mode: 0644]
doc/AllFunctions.html [new file with mode: 0644]
doc/AllIdentifiers.html [new file with mode: 0644]
doc/AllTypes.html [new file with mode: 0644]
doc/AllUnits.html [new file with mode: 0644]
doc/AllVariables.html [new file with mode: 0644]
doc/ClassHierarchy.html [new file with mode: 0644]
doc/PasDocSettings.pds [new file with mode: 0644]
doc/automated.gif [new file with mode: 0644]
doc/glBitmap.EglBitmap.html [new file with mode: 0644]
doc/glBitmap.EglBitmapNonPowerOfTwo.html [new file with mode: 0644]
doc/glBitmap.EglBitmapNotSupported.html [new file with mode: 0644]
doc/glBitmap.EglBitmapSizeToLarge.html [new file with mode: 0644]
doc/glBitmap.EglBitmapUnsupportedFormat.html [new file with mode: 0644]
doc/glBitmap.TglBitmap.html [new file with mode: 0644]
doc/glBitmap.TglBitmap1D.html [new file with mode: 0644]
doc/glBitmap.TglBitmap2D.html [new file with mode: 0644]
doc/glBitmap.TglBitmapCubeMap.html [new file with mode: 0644]
doc/glBitmap.TglBitmapFormatDescriptor.html [new file with mode: 0644]
doc/glBitmap.TglBitmapFunctionRec.html [new file with mode: 0644]
doc/glBitmap.TglBitmapNormalMap.html [new file with mode: 0644]
doc/glBitmap.TglBitmapPixelData.html [new file with mode: 0644]
doc/glBitmap.TglBitmapRec4ub.html [new file with mode: 0644]
doc/glBitmap.TglBitmapRec4ui.html [new file with mode: 0644]
doc/glBitmap.TglBitmapRec4ul.html [new file with mode: 0644]
doc/glBitmap.TglBitmapSize.html [new file with mode: 0644]
doc/glBitmap.html [new file with mode: 0644]
doc/index.html [new file with mode: 0644]
doc/legend.html [new file with mode: 0644]
doc/pasdoc.css [new file with mode: 0644]
doc/private.gif [new file with mode: 0644]
doc/protected.gif [new file with mode: 0644]
doc/public.gif [new file with mode: 0644]
doc/published.gif [new file with mode: 0644]
examples/GrabScreen/GrabScreen.lpi [new file with mode: 0644]
examples/GrabScreen/GrabScreen.lpr [new file with mode: 0644]
examples/GrabScreen/GrabScreen.lps [new file with mode: 0644]
examples/Helper.pas [new file with mode: 0644]
examples/SimpleLoadFromFile/SimpleLoadFromFile.lpi [new file with mode: 0644]
examples/SimpleLoadFromFile/SimpleLoadFromFile.lpr [new file with mode: 0644]
examples/SimpleLoadFromFile/SimpleLoadFromFile.lps [new file with mode: 0644]
examples/TextureFromFunction/TextureFromFunction.lpi [new file with mode: 0644]
examples/TextureFromFunction/TextureFromFunction.lpr [new file with mode: 0644]
examples/TextureFromFunction/TextureFromFunction.lps [new file with mode: 0644]
examples/dglOpenGL.pas [new file with mode: 0644]
examples/textures/BMP_24_RGB8.bmp [new file with mode: 0644]
glBitmap.pas
readme.txt [new file with mode: 0644]

diff --git a/doc/AllClasses.html b/doc/AllClasses.html
new file mode 100644 (file)
index 0000000..15013b0
--- /dev/null
@@ -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>&nbsp;</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 (file)
index 0000000..c24a437
--- /dev/null
@@ -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>&nbsp;</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 (file)
index 0000000..a2448be
--- /dev/null
@@ -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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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 (file)
index 0000000..a60ffbe
--- /dev/null
@@ -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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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 (file)
index 0000000..1bd8543
--- /dev/null
@@ -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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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 (file)
index 0000000..d165995
--- /dev/null
@@ -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&amp;file=glbitmap">http://www.opengl24.de/index.php?cat=header&amp;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 &quot;License&quot;); 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 (file)
index 0000000..e8f9961
--- /dev/null
@@ -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 (file)
index 0000000..68a0311
--- /dev/null
@@ -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 (file)
index 0000000..6d28be1
--- /dev/null
@@ -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 (file)
index 0000000..7c271d8
Binary files /dev/null and b/doc/automated.gif differ
diff --git a/doc/glBitmap.EglBitmap.html b/doc/glBitmap.EglBitmap.html
new file mode 100644 (file)
index 0000000..15d12eb
--- /dev/null
@@ -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 (file)
index 0000000..339a4bb
--- /dev/null
@@ -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 (file)
index 0000000..fc8e97c
--- /dev/null
@@ -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 (file)
index 0000000..f3bd141
--- /dev/null
@@ -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 (file)
index 0000000..fe2bf30
--- /dev/null
@@ -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">
+&nbsp;</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">
+&nbsp;</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 (file)
index 0000000..7f53bf5
--- /dev/null
@@ -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">
+&nbsp;<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">
+&nbsp;<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">
+&nbsp;<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">
+&nbsp;<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">
+&nbsp;<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 (file)
index 0000000..d41d806
--- /dev/null
@@ -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 (file)
index 0000000..ce0232a
--- /dev/null
@@ -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 (file)
index 0000000..e3bd45b
--- /dev/null
@@ -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 (file)
index 0000000..c903418
--- /dev/null
@@ -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">
+&nbsp;<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">
+&nbsp;<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">
+&nbsp;<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">
+&nbsp;<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">
+&nbsp;<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">
+&nbsp;<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 (file)
index 0000000..23f734f
--- /dev/null
@@ -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 (file)
index 0000000..b58e758
--- /dev/null
@@ -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 (file)
index 0000000..9144e65
--- /dev/null
@@ -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 (file)
index 0000000..7f5f880
--- /dev/null
@@ -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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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 (file)
index 0000000..36e5ce5
--- /dev/null
@@ -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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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 (file)
index 0000000..f9e9b67
--- /dev/null
@@ -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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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 (file)
index 0000000..67b9ace
--- /dev/null
@@ -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>
+&nbsp;<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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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 (file)
index 0000000..839c453
--- /dev/null
@@ -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&amp;file=glbitmap">http://www.opengl24.de/index.php?cat=header&amp;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 &quot;License&quot;); 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&nbsp;<a class="bold" href="glBitmap.EglBitmap.html"><code>EglBitmap</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list2">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.EglBitmapNotSupported.html"><code>EglBitmapNotSupported</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.EglBitmapSizeToLarge.html"><code>EglBitmapSizeToLarge</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list2">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.EglBitmapNonPowerOfTwo.html"><code>EglBitmapNonPowerOfTwo</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.EglBitmapUnsupportedFormat.html"><code>EglBitmapUnsupportedFormat</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list2">
+<td class="itemname">packed record&nbsp;<a class="bold" href="glBitmap.TglBitmapRec4ui.html"><code>TglBitmapRec4ui</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list">
+<td class="itemname">packed record&nbsp;<a class="bold" href="glBitmap.TglBitmapRec4ub.html"><code>TglBitmapRec4ub</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list2">
+<td class="itemname">packed record&nbsp;<a class="bold" href="glBitmap.TglBitmapRec4ul.html"><code>TglBitmapRec4ul</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.TglBitmapFormatDescriptor.html"><code>TglBitmapFormatDescriptor</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list2">
+<td class="itemname">packed record&nbsp;<a class="bold" href="glBitmap.TglBitmapPixelData.html"><code>TglBitmapPixelData</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list">
+<td class="itemname">packed record&nbsp;<a class="bold" href="glBitmap.TglBitmapSize.html"><code>TglBitmapSize</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list2">
+<td class="itemname">record&nbsp;<a class="bold" href="glBitmap.TglBitmapFunctionRec.html"><code>TglBitmapFunctionRec</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.TglBitmap.html"><code>TglBitmap</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list2">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.TglBitmap1D.html"><code>TglBitmap1D</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.TglBitmap2D.html"><code>TglBitmap2D</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list2">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.TglBitmapCubeMap.html"><code>TglBitmapCubeMap</code></a></td>
+<td class="itemdesc">&nbsp;</td>
+</tr>
+<tr class="list">
+<td class="itemname">Class&nbsp;<a class="bold" href="glBitmap.TglBitmapNormalMap.html"><code>TglBitmapNormalMap</code></a></td>
+<td class="itemdesc">&nbsp;</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> = &circ;<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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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: &nbsp;</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: &nbsp;</li>
+<li>
+tfS3tcDtx3RGBA: &nbsp;</li>
+<li>
+tfS3tcDtx5RGBA: &nbsp;</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">
+&nbsp;</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: &nbsp;</li>
+<li>
+nmSobel: &nbsp;</li>
+<li>
+nm3x3: &nbsp;</li>
+<li>
+nm5x5: &nbsp;</li>
+</ul>
+</td></tr>
+</table>
+<table class="detail wide_list">
+<tr class="list">
+<td class="itemcode"><a name="PglBitmapPixelData"></a><code><b>PglBitmapPixelData</b> = &circ;<a  href="glBitmap.TglBitmapPixelData.html">TglBitmapPixelData</a>;</code></td>
+</tr>
+<tr><td colspan="1">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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">
+&nbsp;</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 (file)
index 0000000..d165995
--- /dev/null
@@ -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&amp;file=glbitmap">http://www.opengl24.de/index.php?cat=header&amp;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 &quot;License&quot;); 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 (file)
index 0000000..e2df3a3
--- /dev/null
@@ -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 (file)
index 0000000..81e3138
--- /dev/null
@@ -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 (file)
index 0000000..dca4ce2
Binary files /dev/null and b/doc/private.gif differ
diff --git a/doc/protected.gif b/doc/protected.gif
new file mode 100644 (file)
index 0000000..96cc382
Binary files /dev/null and b/doc/protected.gif differ
diff --git a/doc/public.gif b/doc/public.gif
new file mode 100644 (file)
index 0000000..89f1197
Binary files /dev/null and b/doc/public.gif differ
diff --git a/doc/published.gif b/doc/published.gif
new file mode 100644 (file)
index 0000000..6ed9af6
Binary files /dev/null and b/doc/published.gif differ
diff --git a/examples/GrabScreen/GrabScreen.lpi b/examples/GrabScreen/GrabScreen.lpi
new file mode 100644 (file)
index 0000000..de9d899
--- /dev/null
@@ -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 (file)
index 0000000..c3b7b77
--- /dev/null
@@ -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 (file)
index 0000000..dd7a9c5
--- /dev/null
@@ -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 (file)
index 0000000..5311e5c
--- /dev/null
@@ -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 (file)
index 0000000..cc27760
--- /dev/null
@@ -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 (file)
index 0000000..cb7cc15
--- /dev/null
@@ -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 (file)
index 0000000..84a19dc
--- /dev/null
@@ -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 (file)
index 0000000..3852d10
--- /dev/null
@@ -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 (file)
index 0000000..f960c25
--- /dev/null
@@ -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 (file)
index 0000000..e3c3fb0
--- /dev/null
@@ -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 (file)
index 0000000..7772eee
--- /dev/null
@@ -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;
+ &nbs