## Uses of Class
com.io7m.jcanephora.core.JCGLException

- Packages that use JCGLException
  Package | Description
  --- | ---
  com.io7m.jcanephora.async | Asynchronous resource loading.
  com.io7m.jcanephora.core | Core types and interfaces.
  com.io7m.jcanephora.core.api | Type-safe OpenGL interfaces.
  com.io7m.jcanephora.fake | A fake implementation of the `jcanephora` APIs intended for unit testing code without access to a GPU.
  com.io7m.jcanephora.jogl | JOGL implementation of the `jcanephora` API.
  com.io7m.jcanephora.lwjgl3 | LWJGL3 implementation of the `jcanephora` API.

- - ### Uses of JCGLException in com.io7m.jcanephora.async

    Methods in com.io7m.jcanephora.async that throw JCGLException
    Modifier and Type | Method and Description
    --- | ---
    `CompletableFuture<Void>` | JCGLAsyncInterfaceGL33.`shutDown()`

  - ### Uses of JCGLException in com.io7m.jcanephora.core

    Subclasses of JCGLException in com.io7m.jcanephora.core
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JCGLExceptionAttributeAlreadyAssigned` Exception class representing an error caused by the programmer attempting to assign an array object vertex attribute that has already been assigned.
    `class` | `JCGLExceptionBlendingMisconfigured` An exception indicating an attempt to combine an invalid set of blending equations.
    `class` | `JCGLExceptionBufferNotBound` Exception class representing an error caused by the programmer failing to bind a buffer prior to attempting to perform an operation on it that requires binding.
    `class` | `JCGLExceptionConcurrency` An exception indicating an unspecified error relating to concurrency.
    `class` | `JCGLExceptionContextIsCurrent` Exception class representing an error caused by the programmer attempting to make a context `c` current when any context (including `c`) is already current.
    `class` | `JCGLExceptionContextNotCurrent` Exception class representing an error caused by the programmer attempting to use a context which is not current.
    `class` | `JCGLExceptionDeleted` An exception indicating an attempt to delete a resource that has already been deleted.
    `class` | `JCGLExceptionFeedback` Exception class representing an error caused by the programmer causing feedback.
    `class` | `JCGLExceptionFormatError` An exception indicating that a texture is of an incorrect format.
    `class` | `JCGLExceptionFramebufferInvalid` Exception class representing an error caused by an invalid framebuffer configuration.
    `class` | `JCGLExceptionFramebufferNotBound` Exception class representing an error caused by a framebuffer not being bound where one is required.
    `class` | `JCGLExceptionFramebufferReadDrawSame` Exception class representing an error caused by the user attempting to blit from a framebuffer to itself.
    `class` | `JCGLExceptionFramebufferWrongBlitFilter` Exception class representing an error caused by an attempt to use a filter that cannot be used on the given framebuffer.
    `class` | `JCGLExceptionNoDepthBuffer` An exception indicating an attempt to use a depth buffer on a framebuffer that does not have any kind of depth attachment.
    `class` | `JCGLExceptionNoStencilBuffer` An exception indicating an attempt to use a stencil buffer on a framebuffer that does not have any kind of stencil attachment.
    `class` | `JCGLExceptionObjectNotDeletable` Exception class representing an error caused by the programmer attempting to delete an object that cannot be deleted.
    `class` | `JCGLExceptionProgramCompileError` An exception indicating the failure to compile a given shading program.
    `class` | `JCGLExceptionProgramNotActive` An exception indicating that an attempt was made to perform an operation on a program that required the program to be active, but the program turned out not to be active.
    `class` | `JCGLExceptionProgramTypeError` An exception indicating that an attempt was made to set a program parameter using a value of the wrong type.
    `class` | `JCGLExceptionQueryAlreadyRunning` Exception class representing an error caused by the programmer attempting to start a query running that is already running.
    `class` | `JCGLExceptionQueryNotRunning` Exception class representing an error caused by the programmer attempting to stop a query that is not running.
    `class` | `JCGLExceptionTextureNotBound` Exception class representing an error caused by the programmer attempting to perform an operation that requires that a texture be bound to a texture unit, but without one bound.
    `class` | `JCGLExceptionWrongContext` Exception class representing an error caused by the programmer attempting to use an object on the wrong context.
    `class` | `JCGLExceptionWrongImplementation` Exception class representing an error caused by the programmer attempting to use an object from the wrong JCGL implementation.

    Methods in com.io7m.jcanephora.core that throw JCGLException
    Modifier and Type | Method and Description
    --- | ---
    `default <A,E extends Throwable> A` | JCGLTexture2DUsableType.`matchColorAttachment(JCGLFramebufferColorAttachmentMatcherType<A,E> m)`
    `<A,E extends Throwable> A` | JCGLFramebufferColorAttachmentType.`matchColorAttachment(JCGLFramebufferColorAttachmentMatcherType<A,E> m)` A function that accepts visitors.
    `default <A,E extends Throwable> A` | JCGLTexture2DUsableType.`matchDepthAttachment(JCGLFramebufferDepthAttachmentMatcherType<A,E> m)`
    `<A,E extends Throwable> A` | JCGLFramebufferDepthAttachmentType.`matchDepthAttachment(JCGLFramebufferDepthAttachmentMatcherType<A,E> v)` A function that accepts matchers.
    `default <A,E extends Throwable> A` | JCGLTexture2DUsableType.`matchDepthStencilAttachment(JCGLFramebufferDepthStencilAttachmentMatcherType<A,E> m)`
    `<A,E extends Throwable> A` | JCGLFramebufferDepthStencilAttachmentType.`matchDepthStencilAttachment(JCGLFramebufferDepthStencilAttachmentMatcherType<A,E> v)` A function that accepts matchers.
    `A` | JCGLFramebufferDepthStencilAttachmentMatcherType.`onTexture2D(JCGLTexture2DUsableType t)` Visit an attachment.
    `A` | JCGLFramebufferDepthAttachmentMatcherType.`onTexture2D(JCGLTexture2DUsableType t)` Visit an attachment.
    `A` | JCGLFramebufferColorAttachmentMatcherType.`onTexture2D(JCGLTexture2DUsableType t)` Match an attachment.
    `A` | JCGLFramebufferColorAttachmentMatcherType.`onTextureCube(JCGLTextureCubeUsableType t, JCGLCubeMapFaceLH face)` Match an attachment.

  - ### Uses of JCGLException in com.io7m.jcanephora.core.api

    Methods in com.io7m.jcanephora.core.api that throw JCGLException
    Modifier and Type | Method and Description
    --- | ---
    `JCGLArrayBufferType` | JCGLArrayBuffersType.`arrayBufferAllocate(long size, JCGLUsageHint usage)` Allocate and bind an array buffer of `size` bytes, informing the implementation that the buffer will be used in the manner specified by `usage`.
    `boolean` | JCGLArrayBuffersType.`arrayBufferAnyIsBound()`
    `void` | JCGLArrayBuffersType.`arrayBufferBind(JCGLArrayBufferUsableType a)` Bind the given array buffer.
    `void` | JCGLArrayBuffersType.`arrayBufferDelete(JCGLArrayBufferType a)` Deletes the buffer referenced by `a`.
    `Optional<JCGLArrayBufferUsableType>` | JCGLArrayBuffersType.`arrayBufferGetCurrentlyBound()`
    `boolean` | JCGLArrayBuffersType.`arrayBufferIsBound(JCGLArrayBufferUsableType a)`
    `ByteBuffer` | JCGLArrayBuffersType.`arrayBufferRead(JCGLArrayBufferUsableType a, JCGLByteBufferProducerType f)`
    `void` | JCGLArrayBuffersType.`arrayBufferReallocate(JCGLArrayBufferUsableType a)` Reallocate the storage associated with the array buffer `a`.
    `void` | JCGLArrayBuffersType.`arrayBufferUnbind()` Unbind the current array buffer.
    `void` | JCGLArrayBuffersType.`arrayBufferUpdate(JCGLBufferUpdateType<JCGLArrayBufferType> u)` Perform the array buffer update `u`.
    `JCGLArrayObjectType` | JCGLArrayObjectsType.`arrayObjectAllocate(JCGLArrayObjectBuilderType b)` Allocate and bind an array object based on the values given in `b`.
    `void` | JCGLArrayObjectsType.`arrayObjectBind(JCGLArrayObjectUsableType a)` Bind the given array object.
    `void` | JCGLArrayObjectsType.`arrayObjectDelete(JCGLArrayObjectType a)` Deletes the object referenced by `a`.
    `JCGLArrayObjectUsableType` | JCGLArrayObjectsType.`arrayObjectGetCurrentlyBound()`
    `JCGLArrayObjectBuilderType` | JCGLArrayObjectsType.`arrayObjectNewBuilder()` Retrieve a new array object builder.
    `void` | JCGLArrayObjectsType.`arrayObjectUnbind()` Unbind the current array object.
    `void` | JCGLBlendingType.`blendingDisable()` Disable blending.
    `default void` | JCGLBlendingType.`blendingEnable(JCGLBlendFunction source_factor, JCGLBlendFunction destination_factor)` Enable blending with the given blending functions.
    `default void` | JCGLBlendingType.`blendingEnableSeparate(JCGLBlendFunction source_rgb_factor, JCGLBlendFunction source_alpha_factor, JCGLBlendFunction destination_rgb_factor, JCGLBlendFunction destination_alpha_factor)` Enable blending with the given blending functions.
    `void` | JCGLBlendingType.`blendingEnableSeparateWithEquationSeparate(JCGLBlendFunction source_rgb_factor, JCGLBlendFunction source_alpha_factor, JCGLBlendFunction destination_rgb_factor, JCGLBlendFunction destination_alpha_factor, JCGLBlendEquation equation_rgb, JCGLBlendEquation equation_alpha)` Enable blending with the blending functions `source_rgb_factor`, `source_alpha_factor`, `destination_rgb_factor`, and `destination_alphafactor`.
    `default void` | JCGLBlendingType.`blendingEnableWithEquation(JCGLBlendFunction source_factor, JCGLBlendFunction destination_factor, JCGLBlendEquation equation)` Enable blending with the given blending functions and equation.
    `default void` | JCGLBlendingType.`blendingEnableWithEquationSeparate(JCGLBlendFunction source_factor, JCGLBlendFunction destination_factor, JCGLBlendEquation equation_rgb, JCGLBlendEquation equation_alpha)` Enable blending with the given blending functions and equation.
    `boolean` | JCGLBlendingType.`blendingIsEnabled()`
    `void` | JCGLClearType.`clear(JCGLClearSpecificationType c)` Clear all buffers given by the specification.
    `void` | JCGLColorBufferMaskingType.`colorBufferMask(boolean r, boolean g, boolean b, boolean a)` Enable/disable writing to the given channels of the current color buffer.
    `boolean` | JCGLColorBufferMaskingType.`colorBufferMaskStatusAlpha()`
    `boolean` | JCGLColorBufferMaskingType.`colorBufferMaskStatusBlue()`
    `boolean` | JCGLColorBufferMaskingType.`colorBufferMaskStatusGreen()`
    `boolean` | JCGLColorBufferMaskingType.`colorBufferMaskStatusRed()`
    `void` | JCGLCullingType.`cullingDisable()` Disable face culling.
    `void` | JCGLCullingType.`cullingEnable(JCGLFaceSelection faces, JCGLFaceWindingOrder order)` Enable face culling for `faces` and specify that front faces are specified by giving vertices in the winding order specified by `order`.
    `boolean` | JCGLCullingType.`cullingIsEnabled()`
    `void` | JCGLDepthBuffersType.`depthBufferClear(float depth)` Clear the depth buffer with the specified value `depth`.
    `int` | JCGLDepthBuffersType.`depthBufferGetBits()`
    `void` | JCGLDepthBuffersType.`depthBufferTestDisable()` Disable depth testing.
    `void` | JCGLDepthBuffersType.`depthBufferTestEnable(JCGLDepthFunction function)` Enable depth testing with the given `function`.
    `boolean` | JCGLDepthBuffersType.`depthBufferTestIsEnabled()`
    `void` | JCGLDepthBuffersType.`depthBufferWriteDisable()` Disable writing to the depth buffer.
    `void` | JCGLDepthBuffersType.`depthBufferWriteEnable()` Enable writing to the depth buffer.
    `boolean` | JCGLDepthBuffersType.`depthBufferWriteIsEnabled()`
    `void` | JCGLDepthClampingType.`depthClampingDisable()` Disable depth clamping.
    `void` | JCGLDepthClampingType.`depthClampingEnable()` Enable depth clamping.
    `boolean` | JCGLDepthClampingType.`depthClampingIsEnabled()`
    `void` | JCGLDrawType.`draw(JCGLPrimitives p, int first, int count)` Draw `count - 1` primitives of type `p`, starting at element `first`, taking the data from each currently active vertex attribute.
    `void` | JCGLDrawType.`drawElements(JCGLPrimitives p)` Draw primitives of type `p`, taking the data from each currently active vertex attribute using elements taken from the currently bound index buffer.
    `void` | JCGLDrawType.`drawElementsInstanced(JCGLPrimitives p, int instances)` Draw `instances` copies of primitives of type `p`, taking the data from each currently active vertex attribute using elements taken from the currently bound index buffer.
    `void` | JCGLDrawType.`drawInstanced(JCGLPrimitives p, int first, int count, int instances)` Draw `instances` copies of `count - 1` primitives of type `p`, starting at element `first`, taking the data from each currently active vertex attribute.
    `JCGLFramebufferType` | JCGLFramebuffersType.`framebufferAllocate(JCGLFramebufferBuilderType b)` Allocate and bind a framebuffer object based on the values given in `b`.
    `void` | JCGLFramebuffersType.`framebufferBlit(com.io7m.jareas.core.AreaInclusiveUnsignedLType source, com.io7m.jareas.core.AreaInclusiveUnsignedLType target, Set<JCGLFramebufferBlitBuffer> buffers, JCGLFramebufferBlitFilter filter)` Copy a region of the current read framebuffer to the current draw framebuffer.
    `void` | JCGLFramebuffersType.`framebufferDelete(JCGLFramebufferType f)` Delete the given framebuffer.
    `boolean` | JCGLFramebuffersType.`framebufferDrawAnyIsBound()`
    `void` | JCGLFramebuffersType.`framebufferDrawBind(JCGLFramebufferUsableType framebuffer)` Bind the given framebuffer `framebuffer` to the draw target.
    `Optional<JCGLFramebufferUsableType>` | JCGLFramebuffersType.`framebufferDrawGetBound()`
    `boolean` | JCGLFramebuffersType.`framebufferDrawIsBound(JCGLFramebufferUsableType framebuffer)`
    `void` | JCGLFramebuffersType.`framebufferDrawUnbind()` Unbind the current framebuffer from the draw target.
    `JCGLFramebufferStatus` | JCGLFramebuffersType.`framebufferDrawValidate()` Determine the validity of the currently bound draw framebuffer.
    `List<JCGLFramebufferColorAttachmentPointType>` | JCGLFramebuffersType.`framebufferGetColorAttachments()`
    `List<JCGLFramebufferDrawBufferType>` | JCGLFramebuffersType.`framebufferGetDrawBuffers()`
    `JCGLFramebufferBuilderType` | JCGLFramebuffersType.`framebufferNewBuilder()` Retrieve a new framebuffer object builder.
    `boolean` | JCGLFramebuffersType.`framebufferReadAnyIsBound()`
    `void` | JCGLFramebuffersType.`framebufferReadBind(JCGLFramebufferUsableType framebuffer)` Bind the given framebuffer `framebuffer` to the read target.
    `Optional<JCGLFramebufferUsableType>` | JCGLFramebuffersType.`framebufferReadGetBound()`
    `boolean` | JCGLFramebuffersType.`framebufferReadIsBound(JCGLFramebufferUsableType framebuffer)`
    `void` | JCGLFramebuffersType.`framebufferReadUnbind()` Unbind the current framebuffer from the read target.
    `JCGLFramebufferStatus` | JCGLFramebuffersType.`framebufferReadValidate()` Determine the validity of the currently bound read framebuffer.
    `void` | JCGLIndexBuffersType.`indexBufferBind(JCGLIndexBufferUsableType a)` Bind the given index buffer.
    `void` | JCGLIndexBuffersType.`indexBufferDelete(JCGLIndexBufferType a)` Deletes the buffer referenced by `a`.
    `Optional<JCGLIndexBufferUsableType>` | JCGLIndexBuffersType.`indexBufferGetCurrentlyBound()`
    `ByteBuffer` | JCGLIndexBuffersType.`indexBufferRead(JCGLIndexBufferUsableType i, JCGLByteBufferProducerType f)`
    `void` | JCGLIndexBuffersType.`indexBufferReallocate(JCGLIndexBufferUsableType i)` Reallocate the storage associated with the index buffer `i`.
    `void` | JCGLIndexBuffersType.`indexBufferUnbind()` Unbind the current index buffer.
    `void` | JCGLIndexBuffersType.`indexBufferUpdate(JCGLBufferUpdateType<JCGLIndexBufferType> u)` Perform the index buffer update `u`.
    `JCGLPolygonMode` | JCGLPolygonModesType.`polygonGetMode()`
    `void` | JCGLPolygonModesType.`polygonSetMode(JCGLPolygonMode mode)` Set the polygon rasterization mode for the polygons to `mode`.
    `void` | JCGLScissorType.`scissorDisable()` Disable the scissor test in the OpenGL pipeline.
    `void` | JCGLScissorType.`scissorEnable(com.io7m.jareas.core.AreaInclusiveUnsignedLType area)` Set the OpenGL scissor region to the given inclusive area.
    `boolean` | JCGLScissorType.`scissorIsEnabled()`
    `Optional<JCGLProgramShaderUsableType>` | JCGLShadersType.`shaderActivatedProgram()`
    `void` | JCGLShadersType.`shaderActivateProgram(JCGLProgramShaderUsableType p)` Activate the given program for use in rendering.
    `JCGLFragmentShaderType` | JCGLShadersType.`shaderCompileFragment(String name, List<String> lines)` Read a GLSL fragment shader from the lines of GLSL source code given in `lines`.
    `JCGLGeometryShaderType` | JCGLShadersType.`shaderCompileGeometry(String name, List<String> lines)` Read a GLSL geometry shader from the lines of GLSL source code given in `lines`.
    `JCGLVertexShaderType` | JCGLShadersType.`shaderCompileVertex(String name, List<String> lines)` Read a GLSL vertex shader from the lines of GLSL source code given in `lines`.
    `void` | JCGLShadersType.`shaderDeactivateProgram()` Deactivate any active program.
    `void` | JCGLShadersType.`shaderDeleteFragment(JCGLFragmentShaderType f)` Delete the given shader.
    `void` | JCGLShadersType.`shaderDeleteGeometry(JCGLGeometryShaderType g)` Delete the given shader.
    `void` | JCGLShadersType.`shaderDeleteProgram(JCGLProgramShaderType p)` Delete the given shader.
    `void` | JCGLShadersType.`shaderDeleteVertex(JCGLVertexShaderType v)` Delete the given shader.
    `JCGLProgramShaderType` | JCGLShadersType.`shaderLinkProgram(String name, JCGLVertexShaderUsableType v, Optional<JCGLGeometryShaderUsableType> g, JCGLFragmentShaderUsableType f)` Link a program consisting of the vertex shader `v`, the optional geometry shader `g`, and the fragment shader `f`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutFloat(JCGLProgramUniformType u, float value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutInteger(JCGLProgramUniformType u, int value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutMatrix3x3f(JCGLProgramUniformType u, com.io7m.jtensors.MatrixDirectReadable3x3FType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutMatrix4x4f(JCGLProgramUniformType u, com.io7m.jtensors.MatrixDirectReadable4x4FType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutTexture2DUnit(JCGLProgramUniformType u, JCGLTextureUnitType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutTextureCubeUnit(JCGLProgramUniformType u, JCGLTextureUnitType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutUnsignedInteger(JCGLProgramUniformType u, int value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVector2f(JCGLProgramUniformType u, com.io7m.jtensors.VectorReadable2FType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVector2i(JCGLProgramUniformType u, com.io7m.jtensors.VectorReadable2IType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVector2ui(JCGLProgramUniformType u, com.io7m.jtensors.VectorReadable2IType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVector3f(JCGLProgramUniformType u, com.io7m.jtensors.VectorReadable3FType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVector3i(JCGLProgramUniformType u, com.io7m.jtensors.VectorReadable3IType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVector3ui(JCGLProgramUniformType u, com.io7m.jtensors.VectorReadable3IType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVector4f(JCGLProgramUniformType u, com.io7m.jtensors.VectorReadable4FType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVector4i(JCGLProgramUniformType u, com.io7m.jtensors.VectorReadable4IType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVector4ui(JCGLProgramUniformType u, com.io7m.jtensors.VectorReadable4IType value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLShaderUniformsType.`shaderUniformPutVectorf(JCGLProgramUniformType u, FloatBuffer value)` Upload the value `value` to the uniform `u`.
    `void` | JCGLStencilBuffersType.`stencilBufferClear(int stencil)` Clear the stencil buffer with the specified value `stencil`.
    `void` | JCGLStencilBuffersType.`stencilBufferDisable()` Disable the stencil test.
    `void` | JCGLStencilBuffersType.`stencilBufferEnable()` Enable the stencil test.
    `void` | JCGLStencilBuffersType.`stencilBufferFunction(JCGLFaceSelection faces, JCGLStencilFunction function, int reference, int mask)` Set the stencil function and reference value for the faces given by `faces`.
    `int` | JCGLStencilBuffersType.`stencilBufferGetBits()`
    `boolean` | JCGLStencilBuffersType.`stencilBufferIsEnabled()`
    `void` | JCGLStencilBuffersType.`stencilBufferMask(JCGLFaceSelection faces, int mask)` Control the writing of bits in the stencil buffer for the faces given by `faces`.
    `void` | JCGLStencilBuffersType.`stencilBufferOperation(JCGLFaceSelection faces, JCGLStencilOperation stencil_fail, JCGLStencilOperation depth_fail, JCGLStencilOperation pass)` Configure the operations to be performed on the stencil buffer for the faces given by `faces`.
    `JCGLTexture2DType` | JCGLTextures2DType.`texture2DAllocate(JCGLTextureUnitType unit, long width, long height, JCGLTextureFormat format, JCGLTextureWrapS wrap_s, JCGLTextureWrapT wrap_t, JCGLTextureFilterMinification min_filter, JCGLTextureFilterMagnification mag_filter)` Allocate a texture of width `width` and height `height` of format `format`, binding it to `unit`.
    `void` | JCGLTextures2DType.`texture2DBind(JCGLTextureUnitType unit, JCGLTexture2DUsableType texture)` Bind the texture `texture` to the texture unit `unit`.
    `void` | JCGLTextures2DType.`texture2DDelete(JCGLTexture2DType texture)` Deletes the texture referenced by `texture`.
    `ByteBuffer` | JCGLTextures2DType.`texture2DGetImage(JCGLTextureUnitType unit, JCGLTexture2DUsableType texture)` Fetch image data for the given texture.
    `boolean` | JCGLTextures2DType.`texture2DIsBound(JCGLTextureUnitType unit, JCGLTexture2DUsableType texture)`
    `boolean` | JCGLTextures2DType.`texture2DIsBoundAnywhere(JCGLTexture2DUsableType texture)`
    `void` | JCGLTextures2DType.`texture2DRegenerateMipmaps(JCGLTextureUnitType unit)` Regenerate the mipmaps for the 2D texture bound to the texture unit `unit`.
    `void` | JCGLTextures2DType.`texture2DUpdate(JCGLTextureUnitType unit, JCGLTexture2DUpdateType data)` Replace the contents (or part of the contents) of the texture `data.getTexture()` with `data`.
    `JCGLTextureCubeType` | JCGLTexturesCubeType.`textureCubeAllocate(JCGLTextureUnitType unit, long size, JCGLTextureFormat format, JCGLTextureWrapR wrap_r, JCGLTextureWrapS wrap_s, JCGLTextureWrapT wrap_t, JCGLTextureFilterMinification min_filter, JCGLTextureFilterMagnification mag_filter)` Allocate a cube texture of width `size` and height `size` of format `format`, binding it to `unit`.
    `void` | JCGLTexturesCubeType.`textureCubeBind(JCGLTextureUnitType unit, JCGLTextureCubeUsableType texture)` Bind the texture `texture` to the texture unit `unit`.
    `void` | JCGLTexturesCubeType.`textureCubeDelete(JCGLTextureCubeType texture)` Deletes the texture referenced by `texture`.
    `ByteBuffer` | JCGLTexturesCubeType.`textureCubeGetImageLH(JCGLTextureUnitType unit, JCGLCubeMapFaceLH face, JCGLTextureCubeUsableType texture)` Fetch image data for the given face of the given texture.
    `default ByteBuffer` | JCGLTexturesCubeType.`textureCubeGetImageRH(JCGLTextureUnitType unit, JCGLCubeMapFaceRH face, JCGLTextureCubeUsableType texture)` Fetch image data for the given face of the given texture.
    `boolean` | JCGLTexturesCubeType.`textureCubeIsBound(JCGLTextureUnitType unit, JCGLTextureCubeUsableType texture)`
    `boolean` | JCGLTexturesCubeType.`textureCubeIsBoundAnywhere(JCGLTextureCubeUsableType texture)`
    `void` | JCGLTexturesCubeType.`textureCubeRegenerateMipmaps(JCGLTextureUnitType unit)` Regenerate the mipmaps for the cube texture bound to the texture unit `unit`.
    `void` | JCGLTexturesCubeType.`textureCubeUpdateLH(JCGLTextureUnitType unit, JCGLCubeMapFaceLH face, JCGLTextureCubeUpdateType data)` Replace the contents (or part of the contents) of the face `face` of the cube map texture `data.getTexture()` with `data`, assuming a cube map that uses a left-handed coordinate system (the OpenGL default).
    `default void` | JCGLTexturesCubeType.`textureCubeUpdateRH(JCGLTextureUnitType unit, JCGLCubeMapFaceRH face, JCGLTextureCubeUpdateType data)` Replace the contents (or part of the contents) of the face `face` of the cube map texture `data.getTexture()` with `data`, assuming a cube map that uses a right-handed coordinate system.
    `int` | JCGLTexturesType.`textureGetMaximumSize()`
    `List<JCGLTextureUnitType>` | JCGLTexturesType.`textureGetUnits()`
    `boolean` | JCGLTexturesType.`textureUnitIsBound(JCGLTextureUnitType unit)`
    `void` | JCGLTexturesType.`textureUnitUnbind(JCGLTextureUnitType unit)` Unbind whatever texture is bound to the texture unit `unit` (if any).
    `JCGLTimerQueryType` | JCGLTimersType.`timerQueryAllocate()`
    `void` | JCGLTimersType.`timerQueryBegin(JCGLTimerQueryUsableType q)` Start the timer query running.
    `void` | JCGLTimersType.`timerQueryDelete(JCGLTimerQueryType q)` Delete the given timer query.
    `void` | JCGLTimersType.`timerQueryFinish(JCGLTimerQueryUsableType q)` Stop the timer query running.
    `JCGLQueryResultAvailability` | JCGLTimersType.`timerQueryResultAvailability(JCGLTimerQueryUsableType q)` Ask the GPU if the timer query has executed and therefore has a result that can be fetched.
    `long` | JCGLTimersType.`timerQueryResultGet(JCGLTimerQueryUsableType q)` Retrieve the result for the timer query.
    `void` | JCGLViewportsType.`viewportSet(com.io7m.jareas.core.AreaInclusiveUnsignedLType area)` Set the OpenGL viewport to the given inclusive area.

  - ### Uses of JCGLException in com.io7m.jcanephora.fake

    Methods in com.io7m.jcanephora.fake that throw JCGLException
    Modifier and Type | Method and Description
    --- | ---
    `JCGLContextType` | JCGLImplementationFakeType.`newContext(String name, FakeShaderListenerType in_listener)` Construct a new context.
    `JCGLContextType` | JCGLImplementationFake.`newContext(String name, FakeShaderListenerType in_listener)`
    `JCGLContextType` | JCGLImplementationFakeType.`newContextSharedWith(JCGLContextType c, String name, FakeShaderListenerType in_listener)` Construct a new context, shared with an existing context.
    `JCGLContextType` | JCGLImplementationFake.`newContextSharedWith(JCGLContextType c, String name, FakeShaderListenerType in_listener)`
    `void` | FakeShaderListenerType.`onCompileFragmentShaderStart(FakeContext context, String name, List<String> sources)` Called when the fragment shader `name` is about to be compiled.
    `void` | FakeShaderListenerType.`onCompileGeometryShaderStart(FakeContext context, String name, List<String> sources)` Called when the geometry shader `name` is about to be compiled.
    `void` | FakeShaderListenerType.`onCompileVertexShaderStart(FakeContext context, String name, List<String> sources)` Called when the vertex shader `name` is about to be compiled.
    `void` | FakeShaderListenerType.`onLinkProgram(FakeContext context, JCGLProgramShaderUsableType p, String name, JCGLVertexShaderUsableType v, Optional<JCGLGeometryShaderUsableType> g, JCGLFragmentShaderUsableType f, Map<String,JCGLProgramAttributeType> attributes, Map<String,JCGLProgramUniformType> uniforms)` Called when a program is about to be linked.

  - ### Uses of JCGLException in com.io7m.jcanephora.jogl

    Methods in com.io7m.jcanephora.jogl that throw JCGLException
    Modifier and Type | Method and Description
    --- | ---
    `JCGLContextType` | JCGLImplementationJOGLType.`newContextFrom(com.jogamp.opengl.GLContext c, String name)` Construct a new context from the given `GLContext`.
    `JCGLContextType` | JCGLImplementationJOGL.`newContextFrom(com.jogamp.opengl.GLContext c, String name)`
    `JCGLContextType` | JCGLImplementationJOGLType.`newContextFromWithSupplier(com.jogamp.opengl.GLContext c, Function<com.jogamp.opengl.GLContext,com.jogamp.opengl.GL3> gl_supplier, String name)` Construct a new context from the given `GLContext`.
    `JCGLContextType` | JCGLImplementationJOGL.`newContextFromWithSupplier(com.jogamp.opengl.GLContext c, Function<com.jogamp.opengl.GLContext,com.jogamp.opengl.GL3> gl_supplier, String name)`

  - ### Uses of JCGLException in com.io7m.jcanephora.lwjgl3

    Methods in com.io7m.jcanephora.lwjgl3 that throw JCGLException
    Modifier and Type | Method and Description
    --- | ---
    `com.io7m.jfunctional.Pair<JCGLContextType,JCGLContextType>` | JCGLImplementationLWJGL3Type.`newSharedContextsFrom(long master_context, String master_name, long slave_context, String slave_name)` Construct a new context from the given context.
    `com.io7m.jfunctional.Pair<JCGLContextType,JCGLContextType>` | JCGLImplementationLWJGL3.`newSharedContextsFrom(long master_context, String master_name, long slave_context, String slave_name)`
    `JCGLContextType` | JCGLImplementationLWJGL3Type.`newUnsharedContextFrom(long context, String name)` Construct a new context from the given context.
    `JCGLContextType` | JCGLImplementationLWJGL3.`newUnsharedContextFrom(long context, String name)`

Copyright © 2016 <code@io7m.com> http://io7m.com