!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None+-./HMXxFramebuffers can be bound to the framebuffer binding target. There is a default framebuffer and the client may create an arbitrary number of new framebuffer objects.fThe default framebuffer. Bind this to render to the screen as usual. Use the Default instance method  to construct it.Blending factors.&Blending functions for alpha blending.  the default 'Textures have an internal numeric name.Detectable errors.Framebuffer is not complete.#Operation illegal in current state.Integer argument out of range.Enum argument out of range.RThe error message emitted by the driver when shader compilation or linkage fails.,Either a vertex shader or a fragment shader.JA type to pick one of the sides of a cube. See the accessors of the type .Six values, one on each side.!FThe size of an image in pixels, parameterized by an image format type.%$A rectangular section of the window.+sAn RBO is a kind of image object used for rendering. The only thing you can do with an RBO is attach it to an FBO.,8How indices are packed in an ElementArray buffer object.-'Each index is a four byte unsigned int..&Each index is a two byte unsigned int./ Each index is one unsigned byte.0@The allowed attachment point for images with an internal format.2OpenGL internal image formats.4%Combination depth and stencil format.524-bit depth format.6,4-byte true color plus alpha channel format.73-byte true color pixel format.8*2-byte luminance and alpha channel format.91-byte grayscale pixel format.:1-byte alpha channel only.;3Usage hint for allocation of buffer object storage.<Data will change very often.=Data will change.>Data will seldomly change.?The size and interpretation of a vertex attribute component. Normalized components will be mapped to floats in the range [0, 1].B4-byte unsigned integerC4-byte signed integerF2-byte unsigned integerG2-byte signed integerL 4-byte floatM0The layout of interleaved vertex attribute data.NThe name of a vertex input to a program combined with the component format and number of components for that attribute in the vertex data. Alternatively the size of an unused section of the data in bytes.O6Size in bytes of an unused section of the vertex data.PAName, component count and component format of a vertex attribute.QFacet culling modes.UTexture wrapping modes.V2Use the edge color for anything past the boundary.W-Tile the texture but mirror every other tile.X#Tile the texture past the boundary.YTexture filtering modes.ZLinear interpolation.[No interpolation.\A framebuffer object is an alternative rendering destination. Once an FBO is bound to framebuffer binding target, it is possible to attach images (textures or RBOs) for color, depth, or stencil rendering.]A cubemap texture is just six 2D textures. A program can sample a cubemap texture if it has been bound to the appropriate texture unit.^cA 2D texture. A program can sample a texture if it has been bound to the appropriate texture unit._A buffer object which has a packed sequence of vertex indices. Indexed rendering uses the ElementArray bound to the element array binding target.`A VBO is a buffer object which has vertex data. Shader programs use VBOs as input to their vertex attributes according to the configuration of the bound VAO.aMA Program object is the combination of a compiled vertex shader and fragment shader. Programs have three kinds of inputs: vertex attributes, uniforms, and samplers. Programs have two outputs: fragment color and fragment depth. At most one program can be "in use" at a time. Same idea as binding targets it's just not called that.bA VAO stores vertex attribute layouts and the VBO source of vertices for those attributes. It also stores the state of the element array binding target. The vertex array binding target admits one VAO at a time.cfCreate a new VAO. The only thing you can do with a VAO is bind it to the vertex array binding target.d Delete a VAO.ecAssign the VAO to the vertex array binding target. The VAO already bound will be replaced, if any.fmCreate a buffer object from a blob of bytes. The usage argument hints at how often you will modify the data.g Delete a VBO.hWModify the data in the currently bound VBO starting from the specified index in bytes.igBind a VBO to the array buffer binding target. The buffer object bound there will be replaced, if any.jCreate a new ElementArray buffer object from the blob of packed indices. The usage argument hints at how often you plan to modify the data.kDelete an ElementArrayl^Modify contents in the currently bound ElementArray starting at the specified index in bytes.mAssign an ElementArray to the element array binding target. It will replace the ElementArray already bound there, if any. Note that the state of the element array binding target is a function of the current VAO.nSame as p but does not throw exceptions.oDelete a program.pCompile the code for a vertex shader and a fragment shader, then link them into a new program. If the compiler or linker fails it will throw a ProgramError.q\Install a program into the rendering pipeline. Replaces the program already in use, if any.rgThis configures the currently bound VAO. It calls glVertexAttribPointer and glEnableVertexAttribArray.^Create a new 2D texture from a blob and its image format. Dimensions should be powers of two.Delete a texture.oCreate a new cube map texture from six blobs and their respective formats. Dimensions should be powers of two.ACreate an empty texture with the specified dimensions and format.^Create a cubemap texture where each of the six sides has the specified dimensions and format.ZBind a 2D texture to the 2D texture binding target and the currently active texture unit.dBind a cubemap texture to the cubemap texture binding target and the currently active texture unit.1Set the active texture unit. The default is zero.WSet the filtering for the 2D texture currently bound to the 2D texture binding target.aSet the filtering for the cubemap texture currently bound to the cubemap texture binding target.[Set the wrapping mode for the 2D texture currently bound to the 2D texture binding target.Set the wrapping mode for the cubemap texture currently bound to the cubemap texture binding target. Because no blending occurs between cube faces you probably want ClampToEdge.PAllow rendering commands to modify the color buffer of the current framebuffer."Disable rendering to color buffer.Clear the color buffer of the current framebuffer with the specified color. Has no effect if writing to the color buffer is disabled.Enable the depth test. Attempting to render pixels with a depth value greater than the depth buffer at those pixels will have no effect.Disable the depth test. Rendering will not be affected by the depth. Use this to render graphics even if they are behind something.fEnable writing depth values to the depth buffer of the current framebuffer. It is enabled by default.$Disable writing to the depth buffer.4Clear the depth buffer with the maximum depth value.Enable the stencil test. Any pixels rendered to the screen where the stencil buffer is 1 will not be rendered. This disables writing to the stencil buffer.Disable the stencil test.(Clear the stencil buffer with all zeros.Allow rendering to modify the stencil buffer. Any pixels rendered to the screen will set the stencil buffer to 1 at that location.(Disable rendering to the stencil buffer.lSet the scissor box. Graphics outside this box will not be rendered as long as the scissor test is enabled.PEnable the scissor test. Graphics outside the scissor box will not be rendered.Disable the scissor test.Enable facet culling. The argument specifies whether front faces, back faces, or both will be omitted from rendering. If both front and back faces are culled you can still render points and lines.ADisable facet culling. Front and back faces will now be rendered.GSet the viewport. The default viewport simply covers the entire window.yBinds an FBO or the default framebuffer to the framebuffer binding target. Replaces the framebuffer already bound there.yCreate a new framebuffer object. Before the framebuffer can be used for rendering it must have a color image attachment.Delete an FBO.RAttach a 2D texture to the FBO currently bound to the framebuffer binding target.kAttach one of the sides of a cubemap texture to the FBO currently bound to the framebuffer binding target.LAttach an RBO to the FBO currently bound to the framebuffer binding target.8Create a new renderbuffer with the specified dimensions.Delete an RBO.Enable alpha blending.Disable alpha blending.@Set the computation for source and destination blending factors."Set the overall blending function.Check for a GL Error.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopvertex shader source codefragment shader source codeqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~bced`;>=<fihg_,/.-jmlkapnqoMNPO?LKJIHGFEDCBA@rstuvwxyz}|{^]!"#$ Y[ZUXWV~QTSR %&'()*\+:98765423 01   !"#$%&'()*+,/.-0123456789:;>=<? LKJIHGFEDCBA@MNPOQTSRUXWVY[Z\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !""#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~*345689[\]^_`a lowgl-0.1.0.0Graphics.GL.Low FramebufferframebufferNameDefaultFramebuffer BlendFactorBlendOneMinusSourceAlphaBlendSourceAlpha BlendZeroBlendOne BlendEquationFuncReverseSubtract FuncSubtractFuncAddTexture textureNameGLError OutOfMemoryInvalidFramebufferOperationInvalidOperation InvalidValue InvalidEnum ProgramError LinkErrorFragmentShaderErrorVertexShaderErrorSideCube cubeRightcubeLeftcubeTop cubeBottom cubeFrontcubeBack Dimensions imageWidth imageHeightViewport viewportX viewportY viewportW viewportHRBO IndexFormat UIntIndices UShortIndices UByteIndices Attachable attachPointInternalFormatinternalFormatDepth24Stencil8Depth24RGBARGBLuminanceAlpha LuminanceAlpha UsageHint StreamDraw DynamicDraw StaticDrawComponentFormatVUIntNormalizedVIntNormalizedVUIntVIntVUShortNormalizedVShortNormalizedVUShortVShortVUByteNormalizedVByteNormalizedVUByteVByteVFloatVertexAttributeLayout LayoutElementUnusedAttribCullingCullFrontAndBackCullBack CullFrontWrapping ClampToEdgeMirroredRepeatRepeat FilteringLinearNearestFBOCubeMapTex2D ElementArrayVBOProgramVAOnewVAO deleteVAObindVAOnewVBO deleteVBO updateVBObindVBOnewElementArraydeleteElementArrayupdateElementArraybindElementArraynewProgramSafe deleteProgram newProgram useProgramsetVertexAttributeLayout setUniform1f setUniform2f setUniform3f setUniform4f setUniform1i setUniform2i setUniform3i setUniform4i setUniform44 setUniform33 setUniform22 drawPoints drawLines drawLineStrip drawLineLoop drawTrianglesdrawTriangleStripdrawTriangleFandrawIndexedPointsdrawIndexedLinesdrawIndexedLineStripdrawIndexedLineLoopdrawIndexedTrianglesdrawIndexedTriangleStripdrawIndexedTriangleFan newTexture2D deleteTexture newCubeMapnewEmptyTexture2DnewEmptyCubeMap bindTexture2DbindTextureCubeMapsetActiveTextureUnitsetTex2DFilteringsetCubeMapFilteringsetTex2DWrappingsetCubeMapWrappingenableColorWritingdisableColorWritingclearColorBufferenableDepthTestdisableDepthTestenableDepthWritingdisableDepthWritingclearDepthBufferenableStencilTestdisableStencilTestclearStencilBufferenableStencilWritingdisableStencilWriting setScissorBoxenableScissorTestdisableScissorTest enableCullingdisableCulling setViewportbindFramebuffernewFBO deleteFBO attachTex2D attachCubeMap attachRBOnewRBO deleteRBOenableBlendingdisableBlendingsetBlendFactorssetBlendEquation getGLErrordata-default-class-0.0.1Data.Default.Classdef ShaderTypeToGLtoGLFragmentShader VertexShaderunRBOLuminancealpha compileShaderelaborateLayout totalLayoutsizeOfVertexComponent isNormalized setUniform drawArrays drawIndexedloadCubeMapSide cubeSideCodes$fFramebufferFBO$fFramebufferDefaultFramebuffer$fDefaultDefaultFramebuffer$fToGLBlendFactor$fToGLBlendEquation$fDefaultBlendEquation$fTextureCubeMap$fTextureTex2D $fShowGLError$fExceptionGLError$fExceptionProgramError$fToGLShaderType$fApplicativeCube$fToGLIndexFormat$fAttachableDepth24Stencil8$fAttachableDepth24$fAttachableAlpha$fAttachableLuminanceAlpha$fAttachableLuminance$fAttachableRGBA$fAttachableRGB$fInternalFormatDepth24Stencil8$fInternalFormatDepth24$fInternalFormatLuminanceAlpha$fInternalFormatLuminance$fInternalFormatAlpha$fInternalFormatRGBA$fInternalFormatRGB$fToGLUsageHint$fToGLComponentFormat $fToGLCulling$fToGLWrapping$fToGLFiltering