Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 2cca44f12eb8ef579d4d0baff7068f29 > files > 191

ghc-OpenGL-devel-2.2.3.0-7.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Graphics.Rendering.OpenGL.GL.BufferObjects</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Graphics-Rendering-OpenGL-GL-BufferObjects.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">OpenGL-2.2.3.0: A binding for the OpenGL graphics system</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>portable</td></tr><tr><th>Stability</th><td>stable</td></tr><tr><th>Maintainer</th><td>sven.panne@aedion.de</td></tr></table><p class="caption">Graphics.Rendering.OpenGL.GL.BufferObjects</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Object Names
</a></li><li><a href="#g:2">Buffer Objects
</a></li><li><a href="#g:3">Binding Buffer Objects
</a></li><li><a href="#g:4">Handling Buffer Data
</a></li><li><a href="#g:5">Mapping Buffer Objects
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module corresponds to section 2.9 (Buffer Objects) of the OpenGL 2.1
 specs.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span>  <a href="#t:ObjectName">ObjectName</a> a  <span class="keyword">where</span><ul class="subs"><li><a href="#v:genObjectNames">genObjectNames</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> [a]</li><li><a href="#v:deleteObjectNames">deleteObjectNames</a> :: [a] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li><a href="#v:isObjectName">isObjectName</a> :: a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:BufferObject">BufferObject</a>  = <a href="#v:BufferObject">BufferObject</a> <a href="Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLuint">GLuint</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:BufferTarget">BufferTarget</a> <ul class="subs"><li>= <a href="#v:ArrayBuffer">ArrayBuffer</a>  </li><li>| <a href="#v:CopyReadBuffer">CopyReadBuffer</a>  </li><li>| <a href="#v:CopyWriteBuffer">CopyWriteBuffer</a>  </li><li>| <a href="#v:ElementArrayBuffer">ElementArrayBuffer</a>  </li><li>| <a href="#v:PixelPackBuffer">PixelPackBuffer</a>  </li><li>| <a href="#v:PixelUnpackBuffer">PixelUnpackBuffer</a>  </li></ul></li><li class="src short"><a href="#v:bindBuffer">bindBuffer</a> :: <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:StateVar">StateVar</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a>)</li><li class="src short"><a href="#v:arrayBufferBinding">arrayBufferBinding</a> :: <a href="Graphics-Rendering-OpenGL-GL-VertexArrays.html#t:ClientArrayType">ClientArrayType</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:GettableStateVar">GettableStateVar</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a>)</li><li class="src short"><a href="#v:vertexAttribArrayBufferBinding">vertexAttribArrayBufferBinding</a> :: <a href="Graphics-Rendering-OpenGL-GL-VertexSpec.html#t:AttribLocation">AttribLocation</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:GettableStateVar">GettableStateVar</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a>)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:BufferUsage">BufferUsage</a> <ul class="subs"><li>= <a href="#v:StreamDraw">StreamDraw</a>  </li><li>| <a href="#v:StreamRead">StreamRead</a>  </li><li>| <a href="#v:StreamCopy">StreamCopy</a>  </li><li>| <a href="#v:StaticDraw">StaticDraw</a>  </li><li>| <a href="#v:StaticRead">StaticRead</a>  </li><li>| <a href="#v:StaticCopy">StaticCopy</a>  </li><li>| <a href="#v:DynamicDraw">DynamicDraw</a>  </li><li>| <a href="#v:DynamicRead">DynamicRead</a>  </li><li>| <a href="#v:DynamicCopy">DynamicCopy</a>  </li></ul></li><li class="src short"><a href="#v:bufferData">bufferData</a> ::  <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:StateVar">StateVar</a> (<a href="Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLsizeiptr">GLsizeiptr</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a, <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferUsage">BufferUsage</a>)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:TransferDirection">TransferDirection</a> <ul class="subs"><li>= <a href="#v:ReadFromBuffer">ReadFromBuffer</a>  </li><li>| <a href="#v:WriteToBuffer">WriteToBuffer</a>  </li></ul></li><li class="src short"><a href="#v:bufferSubData">bufferSubData</a> ::  <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:TransferDirection">TransferDirection</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLintptr">GLintptr</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLsizeiptr">GLsizeiptr</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:BufferAccess">BufferAccess</a> <ul class="subs"><li>= <a href="#v:ReadOnly">ReadOnly</a>  </li><li>| <a href="#v:WriteOnly">WriteOnly</a>  </li><li>| <a href="#v:ReadWrite">ReadWrite</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:MappingFailure">MappingFailure</a> <ul class="subs"><li>= <a href="#v:MappingFailed">MappingFailed</a>  </li><li>| <a href="#v:UnmappingFailed">UnmappingFailed</a>  </li></ul></li><li class="src short"><a href="#v:withMappedBuffer">withMappedBuffer</a> ::  <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferAccess">BufferAccess</a> -&gt; (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> b) -&gt; (<a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:MappingFailure">MappingFailure</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> b</li><li class="src short"><a href="#v:mapBuffer">mapBuffer</a> ::  <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferAccess">BufferAccess</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a))</li><li class="src short"><a href="#v:unmapBuffer">unmapBuffer</a> :: <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:bufferAccess">bufferAccess</a> :: <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:GettableStateVar">GettableStateVar</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferAccess">BufferAccess</a></li><li class="src short"><a href="#v:bufferMapped">bufferMapped</a> :: <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:GettableStateVar">GettableStateVar</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1 id="g:1">Object Names
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:ObjectName" class="def">ObjectName</a> a  <span class="keyword">where</span><a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#ObjectName" class="link">Source</a></p><div class="doc"><p>An <code><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:ObjectName">ObjectName</a></code> corresponds to the general OpenGL notion of an explicitly
 handled object name, e.g. a display list name, a texture object name, a
 buffer object name, etc.
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:genObjectNames" class="def">genObjectNames</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> [a]<a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#genObjectNames" class="link">Source</a></p><p class="src"><a name="v:deleteObjectNames" class="def">deleteObjectNames</a> :: [a] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#deleteObjectNames" class="link">Source</a></p><p class="src"><a name="v:isObjectName" class="def">isObjectName</a> :: a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#isObjectName" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:ObjectName" class="caption collapser" onclick="toggleSection('i:ObjectName')">Instances</p><div id="section.i:ObjectName" class="show"><table><tr><td class="src"><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:ObjectName">ObjectName</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:ObjectName">ObjectName</a> <a href="Graphics-Rendering-OpenGL-GL-Shaders.html#t:Program">Program</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:ObjectName">ObjectName</a> <a href="Graphics-Rendering-OpenGL-GL-Shaders.html#t:FragmentShader">FragmentShader</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:ObjectName">ObjectName</a> <a href="Graphics-Rendering-OpenGL-GL-Shaders.html#t:VertexShader">VertexShader</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:ObjectName">ObjectName</a> <a href="Graphics-Rendering-OpenGL-GL-DisplayLists.html#t:DisplayList">DisplayList</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:ObjectName">ObjectName</a> <a href="Graphics-Rendering-OpenGL-GL-PerFragment.html#t:QueryObject">QueryObject</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:ObjectName">ObjectName</a> <a href="Graphics-Rendering-OpenGL-GL-Texturing-Objects.html#t:TextureObject">TextureObject</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:2">Buffer Objects
</h1><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:BufferObject" class="def">BufferObject</a>  <a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#BufferObject" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BufferObject" class="def">BufferObject</a> <a href="Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLuint">GLuint</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:BufferObject" class="caption collapser" onclick="toggleSection('i:BufferObject')">Instances</p><div id="section.i:BufferObject" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:ObjectName">ObjectName</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:3">Binding Buffer Objects
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:BufferTarget" class="def">BufferTarget</a>  <a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#BufferTarget" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ArrayBuffer" class="def">ArrayBuffer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CopyReadBuffer" class="def">CopyReadBuffer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CopyWriteBuffer" class="def">CopyWriteBuffer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ElementArrayBuffer" class="def">ElementArrayBuffer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PixelPackBuffer" class="def">PixelPackBuffer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PixelUnpackBuffer" class="def">PixelUnpackBuffer</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:BufferTarget" class="caption collapser" onclick="toggleSection('i:BufferTarget')">Instances</p><div id="section.i:BufferTarget" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:bindBuffer" class="def">bindBuffer</a> :: <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:StateVar">StateVar</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a>)<a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#bindBuffer" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:arrayBufferBinding" class="def">arrayBufferBinding</a> :: <a href="Graphics-Rendering-OpenGL-GL-VertexArrays.html#t:ClientArrayType">ClientArrayType</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:GettableStateVar">GettableStateVar</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a>)<a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#arrayBufferBinding" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:vertexAttribArrayBufferBinding" class="def">vertexAttribArrayBufferBinding</a> :: <a href="Graphics-Rendering-OpenGL-GL-VertexSpec.html#t:AttribLocation">AttribLocation</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:GettableStateVar">GettableStateVar</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferObject">BufferObject</a>)<a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#vertexAttribArrayBufferBinding" class="link">Source</a></p></div><h1 id="g:4">Handling Buffer Data
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:BufferUsage" class="def">BufferUsage</a>  <a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#BufferUsage" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:StreamDraw" class="def">StreamDraw</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StreamRead" class="def">StreamRead</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StreamCopy" class="def">StreamCopy</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StaticDraw" class="def">StaticDraw</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StaticRead" class="def">StaticRead</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StaticCopy" class="def">StaticCopy</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DynamicDraw" class="def">DynamicDraw</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DynamicRead" class="def">DynamicRead</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DynamicCopy" class="def">DynamicCopy</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:BufferUsage" class="caption collapser" onclick="toggleSection('i:BufferUsage')">Instances</p><div id="section.i:BufferUsage" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferUsage">BufferUsage</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferUsage">BufferUsage</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferUsage">BufferUsage</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:bufferData" class="def">bufferData</a> ::  <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:StateVar">StateVar</a> (<a href="Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLsizeiptr">GLsizeiptr</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a, <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferUsage">BufferUsage</a>)<a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#bufferData" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TransferDirection" class="def">TransferDirection</a>  <a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#TransferDirection" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ReadFromBuffer" class="def">ReadFromBuffer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WriteToBuffer" class="def">WriteToBuffer</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:TransferDirection" class="caption collapser" onclick="toggleSection('i:TransferDirection')">Instances</p><div id="section.i:TransferDirection" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:TransferDirection">TransferDirection</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:TransferDirection">TransferDirection</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:TransferDirection">TransferDirection</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:bufferSubData" class="def">bufferSubData</a> ::  <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:TransferDirection">TransferDirection</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLintptr">GLintptr</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLsizeiptr">GLsizeiptr</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#bufferSubData" class="link">Source</a></p></div><h1 id="g:5">Mapping Buffer Objects
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:BufferAccess" class="def">BufferAccess</a>  <a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#BufferAccess" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ReadOnly" class="def">ReadOnly</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WriteOnly" class="def">WriteOnly</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ReadWrite" class="def">ReadWrite</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:BufferAccess" class="caption collapser" onclick="toggleSection('i:BufferAccess')">Instances</p><div id="section.i:BufferAccess" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferAccess">BufferAccess</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferAccess">BufferAccess</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferAccess">BufferAccess</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:MappingFailure" class="def">MappingFailure</a>  <a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#MappingFailure" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:MappingFailed" class="def">MappingFailed</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnmappingFailed" class="def">UnmappingFailed</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:MappingFailure" class="caption collapser" onclick="toggleSection('i:MappingFailure')">Instances</p><div id="section.i:MappingFailure" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:MappingFailure">MappingFailure</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:MappingFailure">MappingFailure</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:MappingFailure">MappingFailure</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:withMappedBuffer" class="def">withMappedBuffer</a> ::  <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferAccess">BufferAccess</a> -&gt; (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> b) -&gt; (<a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:MappingFailure">MappingFailure</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> b<a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#withMappedBuffer" class="link">Source</a></p><div class="doc"><p>Convenience function for an exception-safe combination of <code><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#v:mapBuffer">mapBuffer</a></code> and
 <code><a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#v:unmapBuffer">unmapBuffer</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:mapBuffer" class="def">mapBuffer</a> ::  <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferAccess">BufferAccess</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a))<a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#mapBuffer" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:unmapBuffer" class="def">unmapBuffer</a> :: <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#unmapBuffer" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:bufferAccess" class="def">bufferAccess</a> :: <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:GettableStateVar">GettableStateVar</a> <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferAccess">BufferAccess</a><a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#bufferAccess" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:bufferMapped" class="def">bufferMapped</a> :: <a href="Graphics-Rendering-OpenGL-GL-BufferObjects.html#t:BufferTarget">BufferTarget</a> -&gt; <a href="Graphics-Rendering-OpenGL-GL-StateVar.html#t:GettableStateVar">GettableStateVar</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Graphics-Rendering-OpenGL-GL-BufferObjects.html#bufferMapped" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>