packages feed

fwgl 0.1.0.1 → 0.1.0.2

raw patch · 15 files changed

+22/−2342 lines, 15 filesdep −ghcjs-basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies removed: ghcjs-base

API changes (from Hackage documentation)

- FWGL.Backend: class GLES => BackendIO
- FWGL.Backend: class (Integral GLEnum, Integral GLUInt, Integral GLInt, Integral GLSize, Num GLEnum, Num GLUInt, Num GLInt, Num GLPtrDiff, Num GLSize) => GLES where type family Ctx type family GLEnum type family GLUInt type family GLInt type family GLPtr type family GLPtrDiff type family GLSize type family GLString type family GLBool type family Buffer type family UniformLocation type family Texture type family Shader type family Program type family FrameBuffer type family RenderBuffer type family Array type family Float32Array type family Int32Array type family Image
- FWGL.Backend: encodeColors :: GLES => [Color] -> IO Array
- FWGL.Backend: encodeFloats :: GLES => [Float] -> IO Array
- FWGL.Backend: encodeM2 :: GLES => M2 -> IO Float32Array
- FWGL.Backend: encodeM3 :: GLES => M3 -> IO Float32Array
- FWGL.Backend: encodeM4 :: GLES => M4 -> IO Float32Array
- FWGL.Backend: encodeUShorts :: GLES => [Word16] -> IO Array
- FWGL.Backend: encodeV2s :: GLES => [V2] -> IO Array
- FWGL.Backend: encodeV3s :: GLES => [V3] -> IO Array
- FWGL.Backend: encodeV4s :: GLES => [V4] -> IO Array
- FWGL.Backend: false :: GLES => GLBool
- FWGL.Backend: glActiveTexture :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Backend: glAttachShader :: GLES => Ctx -> Program -> Shader -> IO ()
- FWGL.Backend: glBindAttribLocation :: GLES => Ctx -> Program -> GLUInt -> GLString -> IO ()
- FWGL.Backend: glBindBuffer :: GLES => Ctx -> GLEnum -> Buffer -> IO ()
- FWGL.Backend: glBindFramebuffer :: GLES => Ctx -> GLEnum -> FrameBuffer -> IO ()
- FWGL.Backend: glBindRenderbuffer :: GLES => Ctx -> GLEnum -> RenderBuffer -> IO ()
- FWGL.Backend: glBindTexture :: GLES => Ctx -> GLEnum -> Texture -> IO ()
- FWGL.Backend: glBlendColor :: GLES => Ctx -> Float -> Float -> Float -> Float -> IO ()
- FWGL.Backend: glBlendEquation :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Backend: glBlendEquationSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> IO ()
- FWGL.Backend: glBlendFunc :: GLES => Ctx -> GLEnum -> GLEnum -> IO ()
- FWGL.Backend: glBlendFuncSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> GLEnum -> IO ()
- FWGL.Backend: glBufferData :: GLES => Ctx -> GLEnum -> Array -> GLEnum -> IO ()
- FWGL.Backend: glBufferSubData :: GLES => Ctx -> GLEnum -> GLPtrDiff -> Array -> IO ()
- FWGL.Backend: glCheckFramebufferStatus :: GLES => Ctx -> GLEnum -> IO GLEnum
- FWGL.Backend: glClear :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Backend: glClearColor :: GLES => Ctx -> Float -> Float -> Float -> Float -> IO ()
- FWGL.Backend: glClearDepth :: GLES => Ctx -> Float -> IO ()
- FWGL.Backend: glClearStencil :: GLES => Ctx -> GLInt -> IO ()
- FWGL.Backend: glColorMask :: GLES => Ctx -> GLBool -> GLBool -> GLBool -> GLBool -> IO ()
- FWGL.Backend: glCompileShader :: GLES => Ctx -> Shader -> IO ()
- FWGL.Backend: glCompressedTexImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLEnum -> GLSize -> GLSize -> GLInt -> Array -> IO ()
- FWGL.Backend: glCompressedTexSubImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLInt -> GLSize -> GLSize -> GLEnum -> Array -> IO ()
- FWGL.Backend: glCopyTexImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLEnum -> GLInt -> GLInt -> GLSize -> GLSize -> GLInt -> IO ()
- FWGL.Backend: glCopyTexSubImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLInt -> GLInt -> GLInt -> GLSize -> GLSize -> IO ()
- FWGL.Backend: glCreateBuffer :: GLES => Ctx -> IO Buffer
- FWGL.Backend: glCreateFramebuffer :: GLES => Ctx -> IO FrameBuffer
- FWGL.Backend: glCreateProgram :: GLES => Ctx -> IO Program
- FWGL.Backend: glCreateRenderbuffer :: GLES => Ctx -> IO RenderBuffer
- FWGL.Backend: glCreateShader :: GLES => Ctx -> GLEnum -> IO Shader
- FWGL.Backend: glCreateTexture :: GLES => Ctx -> IO Texture
- FWGL.Backend: glCullFace :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Backend: glDeleteBuffer :: GLES => Ctx -> Buffer -> IO ()
- FWGL.Backend: glDeleteFramebuffer :: GLES => Ctx -> FrameBuffer -> IO ()
- FWGL.Backend: glDeleteProgram :: GLES => Ctx -> Program -> IO ()
- FWGL.Backend: glDeleteRenderbuffer :: GLES => Ctx -> RenderBuffer -> IO ()
- FWGL.Backend: glDeleteShader :: GLES => Ctx -> Shader -> IO ()
- FWGL.Backend: glDeleteTexture :: GLES => Ctx -> Texture -> IO ()
- FWGL.Backend: glDepthFunc :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Backend: glDepthMask :: GLES => Ctx -> GLBool -> IO ()
- FWGL.Backend: glDepthRange :: GLES => Ctx -> Float -> Float -> IO ()
- FWGL.Backend: glDetachShader :: GLES => Ctx -> Program -> Shader -> IO ()
- FWGL.Backend: glDisable :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Backend: glDisableVertexAttribArray :: GLES => Ctx -> GLUInt -> IO ()
- FWGL.Backend: glDrawArrays :: GLES => Ctx -> GLEnum -> GLInt -> GLSize -> IO ()
- FWGL.Backend: glDrawElements :: GLES => Ctx -> GLEnum -> GLSize -> GLEnum -> GLPtr -> IO ()
- FWGL.Backend: glEnable :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Backend: glEnableVertexAttribArray :: GLES => Ctx -> GLUInt -> IO ()
- FWGL.Backend: glFinish :: GLES => Ctx -> IO ()
- FWGL.Backend: glFlush :: GLES => Ctx -> IO ()
- FWGL.Backend: glFramebufferRenderbuffer :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> RenderBuffer -> IO ()
- FWGL.Backend: glFramebufferTexture2D :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> Texture -> GLInt -> IO ()
- FWGL.Backend: glFrontFace :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Backend: glGenerateMipmap :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Backend: glGetAttribLocation :: GLES => Ctx -> Program -> GLString -> IO GLInt
- FWGL.Backend: glGetError :: GLES => Ctx -> IO GLEnum
- FWGL.Backend: glGetProgramInfoLog :: GLES => Ctx -> Program -> IO GLString
- FWGL.Backend: glGetShaderInfoLog :: GLES => Ctx -> Shader -> IO GLString
- FWGL.Backend: glGetShaderSource :: GLES => Ctx -> Shader -> IO GLString
- FWGL.Backend: glGetUniformLocation :: GLES => Ctx -> Program -> GLString -> IO UniformLocation
- FWGL.Backend: glHint :: GLES => Ctx -> GLEnum -> GLEnum -> IO ()
- FWGL.Backend: glIsBuffer :: GLES => Ctx -> Buffer -> IO GLBool
- FWGL.Backend: glIsEnabled :: GLES => Ctx -> GLEnum -> IO GLBool
- FWGL.Backend: glIsFramebuffer :: GLES => Ctx -> FrameBuffer -> IO GLBool
- FWGL.Backend: glIsProgram :: GLES => Ctx -> Program -> IO GLBool
- FWGL.Backend: glIsRenderbuffer :: GLES => Ctx -> RenderBuffer -> IO GLBool
- FWGL.Backend: glIsShader :: GLES => Ctx -> Shader -> IO GLBool
- FWGL.Backend: glIsTexture :: GLES => Ctx -> Texture -> IO GLBool
- FWGL.Backend: glLineWidth :: GLES => Ctx -> Float -> IO ()
- FWGL.Backend: glLinkProgram :: GLES => Ctx -> Program -> IO ()
- FWGL.Backend: glPixelStorei :: GLES => Ctx -> GLEnum -> GLInt -> IO ()
- FWGL.Backend: glPolygonOffset :: GLES => Ctx -> Float -> Float -> IO ()
- FWGL.Backend: glReadPixels :: GLES => Ctx -> GLInt -> GLInt -> GLSize -> GLSize -> GLEnum -> GLEnum -> Array -> IO ()
- FWGL.Backend: glRenderbufferStorage :: GLES => Ctx -> GLEnum -> GLEnum -> GLSize -> GLSize -> IO ()
- FWGL.Backend: glSampleCoverage :: GLES => Ctx -> Float -> GLBool -> IO ()
- FWGL.Backend: glScissor :: GLES => Ctx -> GLInt -> GLInt -> GLSize -> GLSize -> IO ()
- FWGL.Backend: glShaderSource :: GLES => Ctx -> Shader -> GLString -> IO ()
- FWGL.Backend: glStencilFunc :: GLES => Ctx -> GLEnum -> GLInt -> GLUInt -> IO ()
- FWGL.Backend: glStencilFuncSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> GLInt -> GLUInt -> IO ()
- FWGL.Backend: glStencilMask :: GLES => Ctx -> GLUInt -> IO ()
- FWGL.Backend: glStencilMaskSeparate :: GLES => Ctx -> GLEnum -> GLUInt -> IO ()
- FWGL.Backend: glStencilOp :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> IO ()
- FWGL.Backend: glStencilOpSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> GLEnum -> IO ()
- FWGL.Backend: glTexImage2DBuffer :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLSize -> GLSize -> GLInt -> GLEnum -> GLEnum -> Array -> IO ()
- FWGL.Backend: glTexImage2DImage :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLEnum -> GLEnum -> Image -> IO ()
- FWGL.Backend: glTexParameterf :: GLES => Ctx -> GLEnum -> GLEnum -> Float -> IO ()
- FWGL.Backend: glTexParameteri :: GLES => Ctx -> GLEnum -> GLEnum -> GLInt -> IO ()
- FWGL.Backend: glTexSubImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLInt -> GLSize -> GLSize -> GLEnum -> GLEnum -> Array -> IO ()
- FWGL.Backend: glUniform1f :: GLES => Ctx -> UniformLocation -> Float -> IO ()
- FWGL.Backend: glUniform1fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
- FWGL.Backend: glUniform1i :: GLES => Ctx -> UniformLocation -> GLInt -> IO ()
- FWGL.Backend: glUniform1iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
- FWGL.Backend: glUniform2f :: GLES => Ctx -> UniformLocation -> Float -> Float -> IO ()
- FWGL.Backend: glUniform2fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
- FWGL.Backend: glUniform2i :: GLES => Ctx -> UniformLocation -> GLInt -> GLInt -> IO ()
- FWGL.Backend: glUniform2iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
- FWGL.Backend: glUniform3f :: GLES => Ctx -> UniformLocation -> Float -> Float -> Float -> IO ()
- FWGL.Backend: glUniform3fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
- FWGL.Backend: glUniform3i :: GLES => Ctx -> UniformLocation -> GLInt -> GLInt -> GLInt -> IO ()
- FWGL.Backend: glUniform3iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
- FWGL.Backend: glUniform4f :: GLES => Ctx -> UniformLocation -> Float -> Float -> Float -> Float -> IO ()
- FWGL.Backend: glUniform4fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
- FWGL.Backend: glUniform4i :: GLES => Ctx -> UniformLocation -> GLInt -> GLInt -> GLInt -> GLInt -> IO ()
- FWGL.Backend: glUniform4iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
- FWGL.Backend: glUniformMatrix2fv :: GLES => Ctx -> UniformLocation -> GLBool -> Float32Array -> IO ()
- FWGL.Backend: glUniformMatrix3fv :: GLES => Ctx -> UniformLocation -> GLBool -> Float32Array -> IO ()
- FWGL.Backend: glUniformMatrix4fv :: GLES => Ctx -> UniformLocation -> GLBool -> Float32Array -> IO ()
- FWGL.Backend: glUseProgram :: GLES => Ctx -> Program -> IO ()
- FWGL.Backend: glValidateProgram :: GLES => Ctx -> Program -> IO ()
- FWGL.Backend: glVertexAttrib1f :: GLES => Ctx -> GLUInt -> Float -> IO ()
- FWGL.Backend: glVertexAttrib1fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
- FWGL.Backend: glVertexAttrib2f :: GLES => Ctx -> GLUInt -> Float -> Float -> IO ()
- FWGL.Backend: glVertexAttrib2fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
- FWGL.Backend: glVertexAttrib3f :: GLES => Ctx -> GLUInt -> Float -> Float -> Float -> IO ()
- FWGL.Backend: glVertexAttrib3fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
- FWGL.Backend: glVertexAttrib4f :: GLES => Ctx -> GLUInt -> Float -> Float -> Float -> Float -> IO ()
- FWGL.Backend: glVertexAttrib4fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
- FWGL.Backend: glVertexAttribPointer :: GLES => Ctx -> GLUInt -> GLInt -> GLEnum -> GLBool -> GLSize -> GLPtr -> IO ()
- FWGL.Backend: glViewport :: GLES => Ctx -> GLInt -> GLInt -> GLSize -> GLSize -> IO ()
- FWGL.Backend: gl_ACTIVE_ATTRIBUTES :: GLES => GLEnum
- FWGL.Backend: gl_ACTIVE_TEXTURE :: GLES => GLEnum
- FWGL.Backend: gl_ACTIVE_UNIFORMS :: GLES => GLEnum
- FWGL.Backend: gl_ALIASED_LINE_WIDTH_RANGE :: GLES => GLEnum
- FWGL.Backend: gl_ALIASED_POINT_SIZE_RANGE :: GLES => GLEnum
- FWGL.Backend: gl_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_ALPHA_BITS :: GLES => GLEnum
- FWGL.Backend: gl_ALWAYS :: GLES => GLEnum
- FWGL.Backend: gl_ARRAY_BUFFER :: GLES => GLEnum
- FWGL.Backend: gl_ARRAY_BUFFER_BINDING :: GLES => GLEnum
- FWGL.Backend: gl_ATTACHED_SHADERS :: GLES => GLEnum
- FWGL.Backend: gl_BACK :: GLES => GLEnum
- FWGL.Backend: gl_BLEND :: GLES => GLEnum
- FWGL.Backend: gl_BLEND_COLOR :: GLES => GLEnum
- FWGL.Backend: gl_BLEND_DST_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_BLEND_DST_RGB :: GLES => GLEnum
- FWGL.Backend: gl_BLEND_EQUATION :: GLES => GLEnum
- FWGL.Backend: gl_BLEND_EQUATION_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_BLEND_EQUATION_RGB :: GLES => GLEnum
- FWGL.Backend: gl_BLEND_SRC_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_BLEND_SRC_RGB :: GLES => GLEnum
- FWGL.Backend: gl_BLUE_BITS :: GLES => GLEnum
- FWGL.Backend: gl_BOOL :: GLES => GLEnum
- FWGL.Backend: gl_BOOL_VEC2 :: GLES => GLEnum
- FWGL.Backend: gl_BOOL_VEC3 :: GLES => GLEnum
- FWGL.Backend: gl_BOOL_VEC4 :: GLES => GLEnum
- FWGL.Backend: gl_BUFFER_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_BUFFER_USAGE :: GLES => GLEnum
- FWGL.Backend: gl_BYTE :: GLES => GLEnum
- FWGL.Backend: gl_CCW :: GLES => GLEnum
- FWGL.Backend: gl_CLAMP_TO_EDGE :: GLES => GLEnum
- FWGL.Backend: gl_COLOR_ATTACHMENT0 :: GLES => GLEnum
- FWGL.Backend: gl_COLOR_BUFFER_BIT :: GLES => GLEnum
- FWGL.Backend: gl_COLOR_CLEAR_VALUE :: GLES => GLEnum
- FWGL.Backend: gl_COLOR_WRITEMASK :: GLES => GLEnum
- FWGL.Backend: gl_COMPILE_STATUS :: GLES => GLEnum
- FWGL.Backend: gl_COMPRESSED_TEXTURE_FORMATS :: GLES => GLEnum
- FWGL.Backend: gl_CONSTANT_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_CONSTANT_COLOR :: GLES => GLEnum
- FWGL.Backend: gl_CULL_FACE :: GLES => GLEnum
- FWGL.Backend: gl_CULL_FACE_MODE :: GLES => GLEnum
- FWGL.Backend: gl_CURRENT_PROGRAM :: GLES => GLEnum
- FWGL.Backend: gl_CURRENT_VERTEX_ATTRIB :: GLES => GLEnum
- FWGL.Backend: gl_CW :: GLES => GLEnum
- FWGL.Backend: gl_DECR :: GLES => GLEnum
- FWGL.Backend: gl_DECR_WRAP :: GLES => GLEnum
- FWGL.Backend: gl_DELETE_STATUS :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_ATTACHMENT :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_BITS :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_BUFFER_BIT :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_CLEAR_VALUE :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_COMPONENT :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_COMPONENT16 :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_FUNC :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_RANGE :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_TEST :: GLES => GLEnum
- FWGL.Backend: gl_DEPTH_WRITEMASK :: GLES => GLEnum
- FWGL.Backend: gl_DITHER :: GLES => GLEnum
- FWGL.Backend: gl_DONT_CARE :: GLES => GLEnum
- FWGL.Backend: gl_DST_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_DST_COLOR :: GLES => GLEnum
- FWGL.Backend: gl_DYNAMIC_DRAW :: GLES => GLEnum
- FWGL.Backend: gl_ELEMENT_ARRAY_BUFFER :: GLES => GLEnum
- FWGL.Backend: gl_ELEMENT_ARRAY_BUFFER_BINDING :: GLES => GLEnum
- FWGL.Backend: gl_EQUAL :: GLES => GLEnum
- FWGL.Backend: gl_FASTEST :: GLES => GLEnum
- FWGL.Backend: gl_FLOAT :: GLES => GLEnum
- FWGL.Backend: gl_FLOAT_MAT2 :: GLES => GLEnum
- FWGL.Backend: gl_FLOAT_MAT3 :: GLES => GLEnum
- FWGL.Backend: gl_FLOAT_MAT4 :: GLES => GLEnum
- FWGL.Backend: gl_FLOAT_VEC2 :: GLES => GLEnum
- FWGL.Backend: gl_FLOAT_VEC3 :: GLES => GLEnum
- FWGL.Backend: gl_FLOAT_VEC4 :: GLES => GLEnum
- FWGL.Backend: gl_FRAGMENT_SHADER :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_BINDING :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_COMPLETE :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLES => GLEnum
- FWGL.Backend: gl_FRAMEBUFFER_UNSUPPORTED :: GLES => GLEnum
- FWGL.Backend: gl_FRONT :: GLES => GLEnum
- FWGL.Backend: gl_FRONT_AND_BACK :: GLES => GLEnum
- FWGL.Backend: gl_FRONT_FACE :: GLES => GLEnum
- FWGL.Backend: gl_FUNC_ADD :: GLES => GLEnum
- FWGL.Backend: gl_FUNC_REVERSE_SUBTRACT :: GLES => GLEnum
- FWGL.Backend: gl_FUNC_SUBTRACT :: GLES => GLEnum
- FWGL.Backend: gl_GENERATE_MIPMAP_HINT :: GLES => GLEnum
- FWGL.Backend: gl_GEQUAL :: GLES => GLEnum
- FWGL.Backend: gl_GREATER :: GLES => GLEnum
- FWGL.Backend: gl_GREEN_BITS :: GLES => GLEnum
- FWGL.Backend: gl_HIGH_FLOAT :: GLES => GLEnum
- FWGL.Backend: gl_HIGH_INT :: GLES => GLEnum
- FWGL.Backend: gl_INCR :: GLES => GLEnum
- FWGL.Backend: gl_INCR_WRAP :: GLES => GLEnum
- FWGL.Backend: gl_INT :: GLES => GLEnum
- FWGL.Backend: gl_INT_VEC2 :: GLES => GLEnum
- FWGL.Backend: gl_INT_VEC3 :: GLES => GLEnum
- FWGL.Backend: gl_INT_VEC4 :: GLES => GLEnum
- FWGL.Backend: gl_INVALID_ENUM :: GLES => GLEnum
- FWGL.Backend: gl_INVALID_FRAMEBUFFER_OPERATION :: GLES => GLEnum
- FWGL.Backend: gl_INVALID_OPERATION :: GLES => GLEnum
- FWGL.Backend: gl_INVALID_VALUE :: GLES => GLEnum
- FWGL.Backend: gl_INVERT :: GLES => GLEnum
- FWGL.Backend: gl_KEEP :: GLES => GLEnum
- FWGL.Backend: gl_LEQUAL :: GLES => GLEnum
- FWGL.Backend: gl_LESS :: GLES => GLEnum
- FWGL.Backend: gl_LINEAR :: GLES => GLEnum
- FWGL.Backend: gl_LINEAR_MIPMAP_LINEAR :: GLES => GLEnum
- FWGL.Backend: gl_LINEAR_MIPMAP_NEAREST :: GLES => GLEnum
- FWGL.Backend: gl_LINES :: GLES => GLEnum
- FWGL.Backend: gl_LINE_LOOP :: GLES => GLEnum
- FWGL.Backend: gl_LINE_STRIP :: GLES => GLEnum
- FWGL.Backend: gl_LINE_WIDTH :: GLES => GLEnum
- FWGL.Backend: gl_LINK_STATUS :: GLES => GLEnum
- FWGL.Backend: gl_LOW_FLOAT :: GLES => GLEnum
- FWGL.Backend: gl_LOW_INT :: GLES => GLEnum
- FWGL.Backend: gl_LUMINANCE :: GLES => GLEnum
- FWGL.Backend: gl_LUMINANCE_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLES => GLEnum
- FWGL.Backend: gl_MAX_CUBE_MAP_TEXTURE_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_MAX_FRAGMENT_UNIFORM_VECTORS :: GLES => GLEnum
- FWGL.Backend: gl_MAX_RENDERBUFFER_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_MAX_TEXTURE_IMAGE_UNITS :: GLES => GLEnum
- FWGL.Backend: gl_MAX_TEXTURE_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_MAX_VARYING_VECTORS :: GLES => GLEnum
- FWGL.Backend: gl_MAX_VERTEX_ATTRIBS :: GLES => GLEnum
- FWGL.Backend: gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLES => GLEnum
- FWGL.Backend: gl_MAX_VERTEX_UNIFORM_VECTORS :: GLES => GLEnum
- FWGL.Backend: gl_MAX_VIEWPORT_DIMS :: GLES => GLEnum
- FWGL.Backend: gl_MEDIUM_FLOAT :: GLES => GLEnum
- FWGL.Backend: gl_MEDIUM_INT :: GLES => GLEnum
- FWGL.Backend: gl_MIRRORED_REPEAT :: GLES => GLEnum
- FWGL.Backend: gl_NEAREST :: GLES => GLEnum
- FWGL.Backend: gl_NEAREST_MIPMAP_LINEAR :: GLES => GLEnum
- FWGL.Backend: gl_NEAREST_MIPMAP_NEAREST :: GLES => GLEnum
- FWGL.Backend: gl_NEVER :: GLES => GLEnum
- FWGL.Backend: gl_NICEST :: GLES => GLEnum
- FWGL.Backend: gl_NONE :: GLES => GLEnum
- FWGL.Backend: gl_NOTEQUAL :: GLES => GLEnum
- FWGL.Backend: gl_NO_ERROR :: GLES => GLEnum
- FWGL.Backend: gl_ONE :: GLES => GLEnum
- FWGL.Backend: gl_ONE_MINUS_CONSTANT_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_ONE_MINUS_CONSTANT_COLOR :: GLES => GLEnum
- FWGL.Backend: gl_ONE_MINUS_DST_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_ONE_MINUS_DST_COLOR :: GLES => GLEnum
- FWGL.Backend: gl_ONE_MINUS_SRC_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_ONE_MINUS_SRC_COLOR :: GLES => GLEnum
- FWGL.Backend: gl_OUT_OF_MEMORY :: GLES => GLEnum
- FWGL.Backend: gl_PACK_ALIGNMENT :: GLES => GLEnum
- FWGL.Backend: gl_POINTS :: GLES => GLEnum
- FWGL.Backend: gl_POLYGON_OFFSET_FACTOR :: GLES => GLEnum
- FWGL.Backend: gl_POLYGON_OFFSET_FILL :: GLES => GLEnum
- FWGL.Backend: gl_POLYGON_OFFSET_UNITS :: GLES => GLEnum
- FWGL.Backend: gl_RED_BITS :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_ALPHA_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_BINDING :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_BLUE_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_DEPTH_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_GREEN_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_HEIGHT :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_INTERNAL_FORMAT :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_RED_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_STENCIL_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_RENDERBUFFER_WIDTH :: GLES => GLEnum
- FWGL.Backend: gl_RENDERER :: GLES => GLEnum
- FWGL.Backend: gl_REPEAT :: GLES => GLEnum
- FWGL.Backend: gl_REPLACE :: GLES => GLEnum
- FWGL.Backend: gl_RGB :: GLES => GLEnum
- FWGL.Backend: gl_RGB565 :: GLES => GLEnum
- FWGL.Backend: gl_RGB5_A1 :: GLES => GLEnum
- FWGL.Backend: gl_RGBA :: GLES => GLEnum
- FWGL.Backend: gl_RGBA4 :: GLES => GLEnum
- FWGL.Backend: gl_SAMPLER_2D :: GLES => GLEnum
- FWGL.Backend: gl_SAMPLER_CUBE :: GLES => GLEnum
- FWGL.Backend: gl_SAMPLES :: GLES => GLEnum
- FWGL.Backend: gl_SAMPLE_ALPHA_TO_COVERAGE :: GLES => GLEnum
- FWGL.Backend: gl_SAMPLE_BUFFERS :: GLES => GLEnum
- FWGL.Backend: gl_SAMPLE_COVERAGE :: GLES => GLEnum
- FWGL.Backend: gl_SAMPLE_COVERAGE_INVERT :: GLES => GLEnum
- FWGL.Backend: gl_SAMPLE_COVERAGE_VALUE :: GLES => GLEnum
- FWGL.Backend: gl_SCISSOR_BOX :: GLES => GLEnum
- FWGL.Backend: gl_SCISSOR_TEST :: GLES => GLEnum
- FWGL.Backend: gl_SHADER_TYPE :: GLES => GLEnum
- FWGL.Backend: gl_SHADING_LANGUAGE_VERSION :: GLES => GLEnum
- FWGL.Backend: gl_SHORT :: GLES => GLEnum
- FWGL.Backend: gl_SRC_ALPHA :: GLES => GLEnum
- FWGL.Backend: gl_SRC_ALPHA_SATURATE :: GLES => GLEnum
- FWGL.Backend: gl_SRC_COLOR :: GLES => GLEnum
- FWGL.Backend: gl_STATIC_DRAW :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_ATTACHMENT :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_BACK_FAIL :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_BACK_FUNC :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_BACK_PASS_DEPTH_FAIL :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_BACK_PASS_DEPTH_PASS :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_BACK_REF :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_BACK_VALUE_MASK :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_BACK_WRITEMASK :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_BITS :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_BUFFER_BIT :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_CLEAR_VALUE :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_FAIL :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_FUNC :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_INDEX8 :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_PASS_DEPTH_FAIL :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_PASS_DEPTH_PASS :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_REF :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_TEST :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_VALUE_MASK :: GLES => GLEnum
- FWGL.Backend: gl_STENCIL_WRITEMASK :: GLES => GLEnum
- FWGL.Backend: gl_STREAM_DRAW :: GLES => GLEnum
- FWGL.Backend: gl_SUBPIXEL_BITS :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE0 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE1 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE10 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE11 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE12 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE13 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE14 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE15 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE16 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE17 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE18 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE19 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE2 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE20 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE21 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE22 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE23 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE24 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE25 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE26 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE27 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE28 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE29 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE3 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE30 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE31 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE4 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE5 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE6 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE7 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE8 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE9 :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_2D :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_BINDING_2D :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_BINDING_CUBE_MAP :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_CUBE_MAP :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_CUBE_MAP_POSITIVE_X :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_MAG_FILTER :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_MIN_FILTER :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_WRAP_S :: GLES => GLEnum
- FWGL.Backend: gl_TEXTURE_WRAP_T :: GLES => GLEnum
- FWGL.Backend: gl_TRIANGLES :: GLES => GLEnum
- FWGL.Backend: gl_TRIANGLE_FAN :: GLES => GLEnum
- FWGL.Backend: gl_TRIANGLE_STRIP :: GLES => GLEnum
- FWGL.Backend: gl_UNPACK_ALIGNMENT :: GLES => GLEnum
- FWGL.Backend: gl_UNSIGNED_BYTE :: GLES => GLEnum
- FWGL.Backend: gl_UNSIGNED_INT :: GLES => GLEnum
- FWGL.Backend: gl_UNSIGNED_SHORT :: GLES => GLEnum
- FWGL.Backend: gl_UNSIGNED_SHORT_4_4_4_4 :: GLES => GLEnum
- FWGL.Backend: gl_UNSIGNED_SHORT_5_5_5_1 :: GLES => GLEnum
- FWGL.Backend: gl_UNSIGNED_SHORT_5_6_5 :: GLES => GLEnum
- FWGL.Backend: gl_VALIDATE_STATUS :: GLES => GLEnum
- FWGL.Backend: gl_VENDOR :: GLES => GLEnum
- FWGL.Backend: gl_VERSION :: GLES => GLEnum
- FWGL.Backend: gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLES => GLEnum
- FWGL.Backend: gl_VERTEX_ATTRIB_ARRAY_ENABLED :: GLES => GLEnum
- FWGL.Backend: gl_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLES => GLEnum
- FWGL.Backend: gl_VERTEX_ATTRIB_ARRAY_POINTER :: GLES => GLEnum
- FWGL.Backend: gl_VERTEX_ATTRIB_ARRAY_SIZE :: GLES => GLEnum
- FWGL.Backend: gl_VERTEX_ATTRIB_ARRAY_STRIDE :: GLES => GLEnum
- FWGL.Backend: gl_VERTEX_ATTRIB_ARRAY_TYPE :: GLES => GLEnum
- FWGL.Backend: gl_VERTEX_SHADER :: GLES => GLEnum
- FWGL.Backend: gl_VIEWPORT :: GLES => GLEnum
- FWGL.Backend: gl_ZERO :: GLES => GLEnum
- FWGL.Backend: loadImage :: BackendIO => String -> ((Image, Int, Int) -> IO ()) -> IO ()
- FWGL.Backend: noArray :: GLES => IO Array
- FWGL.Backend: noBuffer :: GLES => Buffer
- FWGL.Backend: noTexture :: GLES => Texture
- FWGL.Backend: nullGLPtr :: GLES => GLPtr
- FWGL.Backend: setup :: BackendIO => (Int -> Int -> Ctx -> IO state) -> (out -> Ctx -> state -> IO state) -> SF Input out -> IO ()
- FWGL.Backend: toGLString :: GLES => String -> GLString
- FWGL.Backend: true :: GLES => GLBool
- FWGL.Backend.JavaScript: instance BackendIO
- FWGL.Backend.JavaScript: instance GLES
- FWGL.Internal.GL: class (Integral GLEnum, Integral GLUInt, Integral GLInt, Integral GLSize, Num GLEnum, Num GLUInt, Num GLInt, Num GLPtrDiff, Num GLSize) => GLES where type family Ctx type family GLEnum type family GLUInt type family GLInt type family GLPtr type family GLPtrDiff type family GLSize type family GLString type family GLBool type family Buffer type family UniformLocation type family Texture type family Shader type family Program type family FrameBuffer type family RenderBuffer type family Array type family Float32Array type family Int32Array type family Image
- FWGL.Internal.GL: encodeColors :: GLES => [Color] -> IO Array
- FWGL.Internal.GL: encodeFloats :: GLES => [Float] -> IO Array
- FWGL.Internal.GL: encodeM2 :: GLES => M2 -> IO Float32Array
- FWGL.Internal.GL: encodeM3 :: GLES => M3 -> IO Float32Array
- FWGL.Internal.GL: encodeM4 :: GLES => M4 -> IO Float32Array
- FWGL.Internal.GL: encodeUShorts :: GLES => [Word16] -> IO Array
- FWGL.Internal.GL: encodeV2s :: GLES => [V2] -> IO Array
- FWGL.Internal.GL: encodeV3s :: GLES => [V3] -> IO Array
- FWGL.Internal.GL: encodeV4s :: GLES => [V4] -> IO Array
- FWGL.Internal.GL: false :: GLES => GLBool
- FWGL.Internal.GL: glActiveTexture :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Internal.GL: glAttachShader :: GLES => Ctx -> Program -> Shader -> IO ()
- FWGL.Internal.GL: glBindAttribLocation :: GLES => Ctx -> Program -> GLUInt -> GLString -> IO ()
- FWGL.Internal.GL: glBindBuffer :: GLES => Ctx -> GLEnum -> Buffer -> IO ()
- FWGL.Internal.GL: glBindFramebuffer :: GLES => Ctx -> GLEnum -> FrameBuffer -> IO ()
- FWGL.Internal.GL: glBindRenderbuffer :: GLES => Ctx -> GLEnum -> RenderBuffer -> IO ()
- FWGL.Internal.GL: glBindTexture :: GLES => Ctx -> GLEnum -> Texture -> IO ()
- FWGL.Internal.GL: glBlendColor :: GLES => Ctx -> Float -> Float -> Float -> Float -> IO ()
- FWGL.Internal.GL: glBlendEquation :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Internal.GL: glBlendEquationSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> IO ()
- FWGL.Internal.GL: glBlendFunc :: GLES => Ctx -> GLEnum -> GLEnum -> IO ()
- FWGL.Internal.GL: glBlendFuncSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> GLEnum -> IO ()
- FWGL.Internal.GL: glBufferData :: GLES => Ctx -> GLEnum -> Array -> GLEnum -> IO ()
- FWGL.Internal.GL: glBufferSubData :: GLES => Ctx -> GLEnum -> GLPtrDiff -> Array -> IO ()
- FWGL.Internal.GL: glCheckFramebufferStatus :: GLES => Ctx -> GLEnum -> IO GLEnum
- FWGL.Internal.GL: glClear :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Internal.GL: glClearColor :: GLES => Ctx -> Float -> Float -> Float -> Float -> IO ()
- FWGL.Internal.GL: glClearDepth :: GLES => Ctx -> Float -> IO ()
- FWGL.Internal.GL: glClearStencil :: GLES => Ctx -> GLInt -> IO ()
- FWGL.Internal.GL: glColorMask :: GLES => Ctx -> GLBool -> GLBool -> GLBool -> GLBool -> IO ()
- FWGL.Internal.GL: glCompileShader :: GLES => Ctx -> Shader -> IO ()
- FWGL.Internal.GL: glCompressedTexImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLEnum -> GLSize -> GLSize -> GLInt -> Array -> IO ()
- FWGL.Internal.GL: glCompressedTexSubImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLInt -> GLSize -> GLSize -> GLEnum -> Array -> IO ()
- FWGL.Internal.GL: glCopyTexImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLEnum -> GLInt -> GLInt -> GLSize -> GLSize -> GLInt -> IO ()
- FWGL.Internal.GL: glCopyTexSubImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLInt -> GLInt -> GLInt -> GLSize -> GLSize -> IO ()
- FWGL.Internal.GL: glCreateBuffer :: GLES => Ctx -> IO Buffer
- FWGL.Internal.GL: glCreateFramebuffer :: GLES => Ctx -> IO FrameBuffer
- FWGL.Internal.GL: glCreateProgram :: GLES => Ctx -> IO Program
- FWGL.Internal.GL: glCreateRenderbuffer :: GLES => Ctx -> IO RenderBuffer
- FWGL.Internal.GL: glCreateShader :: GLES => Ctx -> GLEnum -> IO Shader
- FWGL.Internal.GL: glCreateTexture :: GLES => Ctx -> IO Texture
- FWGL.Internal.GL: glCullFace :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Internal.GL: glDeleteBuffer :: GLES => Ctx -> Buffer -> IO ()
- FWGL.Internal.GL: glDeleteFramebuffer :: GLES => Ctx -> FrameBuffer -> IO ()
- FWGL.Internal.GL: glDeleteProgram :: GLES => Ctx -> Program -> IO ()
- FWGL.Internal.GL: glDeleteRenderbuffer :: GLES => Ctx -> RenderBuffer -> IO ()
- FWGL.Internal.GL: glDeleteShader :: GLES => Ctx -> Shader -> IO ()
- FWGL.Internal.GL: glDeleteTexture :: GLES => Ctx -> Texture -> IO ()
- FWGL.Internal.GL: glDepthFunc :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Internal.GL: glDepthMask :: GLES => Ctx -> GLBool -> IO ()
- FWGL.Internal.GL: glDepthRange :: GLES => Ctx -> Float -> Float -> IO ()
- FWGL.Internal.GL: glDetachShader :: GLES => Ctx -> Program -> Shader -> IO ()
- FWGL.Internal.GL: glDisable :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Internal.GL: glDisableVertexAttribArray :: GLES => Ctx -> GLUInt -> IO ()
- FWGL.Internal.GL: glDrawArrays :: GLES => Ctx -> GLEnum -> GLInt -> GLSize -> IO ()
- FWGL.Internal.GL: glDrawElements :: GLES => Ctx -> GLEnum -> GLSize -> GLEnum -> GLPtr -> IO ()
- FWGL.Internal.GL: glEnable :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Internal.GL: glEnableVertexAttribArray :: GLES => Ctx -> GLUInt -> IO ()
- FWGL.Internal.GL: glFinish :: GLES => Ctx -> IO ()
- FWGL.Internal.GL: glFlush :: GLES => Ctx -> IO ()
- FWGL.Internal.GL: glFramebufferRenderbuffer :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> RenderBuffer -> IO ()
- FWGL.Internal.GL: glFramebufferTexture2D :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> Texture -> GLInt -> IO ()
- FWGL.Internal.GL: glFrontFace :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Internal.GL: glGenerateMipmap :: GLES => Ctx -> GLEnum -> IO ()
- FWGL.Internal.GL: glGetAttribLocation :: GLES => Ctx -> Program -> GLString -> IO GLInt
- FWGL.Internal.GL: glGetError :: GLES => Ctx -> IO GLEnum
- FWGL.Internal.GL: glGetProgramInfoLog :: GLES => Ctx -> Program -> IO GLString
- FWGL.Internal.GL: glGetShaderInfoLog :: GLES => Ctx -> Shader -> IO GLString
- FWGL.Internal.GL: glGetShaderSource :: GLES => Ctx -> Shader -> IO GLString
- FWGL.Internal.GL: glGetUniformLocation :: GLES => Ctx -> Program -> GLString -> IO UniformLocation
- FWGL.Internal.GL: glHint :: GLES => Ctx -> GLEnum -> GLEnum -> IO ()
- FWGL.Internal.GL: glIsBuffer :: GLES => Ctx -> Buffer -> IO GLBool
- FWGL.Internal.GL: glIsEnabled :: GLES => Ctx -> GLEnum -> IO GLBool
- FWGL.Internal.GL: glIsFramebuffer :: GLES => Ctx -> FrameBuffer -> IO GLBool
- FWGL.Internal.GL: glIsProgram :: GLES => Ctx -> Program -> IO GLBool
- FWGL.Internal.GL: glIsRenderbuffer :: GLES => Ctx -> RenderBuffer -> IO GLBool
- FWGL.Internal.GL: glIsShader :: GLES => Ctx -> Shader -> IO GLBool
- FWGL.Internal.GL: glIsTexture :: GLES => Ctx -> Texture -> IO GLBool
- FWGL.Internal.GL: glLineWidth :: GLES => Ctx -> Float -> IO ()
- FWGL.Internal.GL: glLinkProgram :: GLES => Ctx -> Program -> IO ()
- FWGL.Internal.GL: glPixelStorei :: GLES => Ctx -> GLEnum -> GLInt -> IO ()
- FWGL.Internal.GL: glPolygonOffset :: GLES => Ctx -> Float -> Float -> IO ()
- FWGL.Internal.GL: glReadPixels :: GLES => Ctx -> GLInt -> GLInt -> GLSize -> GLSize -> GLEnum -> GLEnum -> Array -> IO ()
- FWGL.Internal.GL: glRenderbufferStorage :: GLES => Ctx -> GLEnum -> GLEnum -> GLSize -> GLSize -> IO ()
- FWGL.Internal.GL: glSampleCoverage :: GLES => Ctx -> Float -> GLBool -> IO ()
- FWGL.Internal.GL: glScissor :: GLES => Ctx -> GLInt -> GLInt -> GLSize -> GLSize -> IO ()
- FWGL.Internal.GL: glShaderSource :: GLES => Ctx -> Shader -> GLString -> IO ()
- FWGL.Internal.GL: glStencilFunc :: GLES => Ctx -> GLEnum -> GLInt -> GLUInt -> IO ()
- FWGL.Internal.GL: glStencilFuncSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> GLInt -> GLUInt -> IO ()
- FWGL.Internal.GL: glStencilMask :: GLES => Ctx -> GLUInt -> IO ()
- FWGL.Internal.GL: glStencilMaskSeparate :: GLES => Ctx -> GLEnum -> GLUInt -> IO ()
- FWGL.Internal.GL: glStencilOp :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> IO ()
- FWGL.Internal.GL: glStencilOpSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> GLEnum -> IO ()
- FWGL.Internal.GL: glTexImage2DBuffer :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLSize -> GLSize -> GLInt -> GLEnum -> GLEnum -> Array -> IO ()
- FWGL.Internal.GL: glTexImage2DImage :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLEnum -> GLEnum -> Image -> IO ()
- FWGL.Internal.GL: glTexParameterf :: GLES => Ctx -> GLEnum -> GLEnum -> Float -> IO ()
- FWGL.Internal.GL: glTexParameteri :: GLES => Ctx -> GLEnum -> GLEnum -> GLInt -> IO ()
- FWGL.Internal.GL: glTexSubImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLInt -> GLSize -> GLSize -> GLEnum -> GLEnum -> Array -> IO ()
- FWGL.Internal.GL: glUniform1f :: GLES => Ctx -> UniformLocation -> Float -> IO ()
- FWGL.Internal.GL: glUniform1fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
- FWGL.Internal.GL: glUniform1i :: GLES => Ctx -> UniformLocation -> GLInt -> IO ()
- FWGL.Internal.GL: glUniform1iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
- FWGL.Internal.GL: glUniform2f :: GLES => Ctx -> UniformLocation -> Float -> Float -> IO ()
- FWGL.Internal.GL: glUniform2fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
- FWGL.Internal.GL: glUniform2i :: GLES => Ctx -> UniformLocation -> GLInt -> GLInt -> IO ()
- FWGL.Internal.GL: glUniform2iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
- FWGL.Internal.GL: glUniform3f :: GLES => Ctx -> UniformLocation -> Float -> Float -> Float -> IO ()
- FWGL.Internal.GL: glUniform3fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
- FWGL.Internal.GL: glUniform3i :: GLES => Ctx -> UniformLocation -> GLInt -> GLInt -> GLInt -> IO ()
- FWGL.Internal.GL: glUniform3iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
- FWGL.Internal.GL: glUniform4f :: GLES => Ctx -> UniformLocation -> Float -> Float -> Float -> Float -> IO ()
- FWGL.Internal.GL: glUniform4fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
- FWGL.Internal.GL: glUniform4i :: GLES => Ctx -> UniformLocation -> GLInt -> GLInt -> GLInt -> GLInt -> IO ()
- FWGL.Internal.GL: glUniform4iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
- FWGL.Internal.GL: glUniformMatrix2fv :: GLES => Ctx -> UniformLocation -> GLBool -> Float32Array -> IO ()
- FWGL.Internal.GL: glUniformMatrix3fv :: GLES => Ctx -> UniformLocation -> GLBool -> Float32Array -> IO ()
- FWGL.Internal.GL: glUniformMatrix4fv :: GLES => Ctx -> UniformLocation -> GLBool -> Float32Array -> IO ()
- FWGL.Internal.GL: glUseProgram :: GLES => Ctx -> Program -> IO ()
- FWGL.Internal.GL: glValidateProgram :: GLES => Ctx -> Program -> IO ()
- FWGL.Internal.GL: glVertexAttrib1f :: GLES => Ctx -> GLUInt -> Float -> IO ()
- FWGL.Internal.GL: glVertexAttrib1fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
- FWGL.Internal.GL: glVertexAttrib2f :: GLES => Ctx -> GLUInt -> Float -> Float -> IO ()
- FWGL.Internal.GL: glVertexAttrib2fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
- FWGL.Internal.GL: glVertexAttrib3f :: GLES => Ctx -> GLUInt -> Float -> Float -> Float -> IO ()
- FWGL.Internal.GL: glVertexAttrib3fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
- FWGL.Internal.GL: glVertexAttrib4f :: GLES => Ctx -> GLUInt -> Float -> Float -> Float -> Float -> IO ()
- FWGL.Internal.GL: glVertexAttrib4fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
- FWGL.Internal.GL: glVertexAttribPointer :: GLES => Ctx -> GLUInt -> GLInt -> GLEnum -> GLBool -> GLSize -> GLPtr -> IO ()
- FWGL.Internal.GL: glViewport :: GLES => Ctx -> GLInt -> GLInt -> GLSize -> GLSize -> IO ()
- FWGL.Internal.GL: gl_ACTIVE_ATTRIBUTES :: GLES => GLEnum
- FWGL.Internal.GL: gl_ACTIVE_TEXTURE :: GLES => GLEnum
- FWGL.Internal.GL: gl_ACTIVE_UNIFORMS :: GLES => GLEnum
- FWGL.Internal.GL: gl_ALIASED_LINE_WIDTH_RANGE :: GLES => GLEnum
- FWGL.Internal.GL: gl_ALIASED_POINT_SIZE_RANGE :: GLES => GLEnum
- FWGL.Internal.GL: gl_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_ALPHA_BITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_ALWAYS :: GLES => GLEnum
- FWGL.Internal.GL: gl_ARRAY_BUFFER :: GLES => GLEnum
- FWGL.Internal.GL: gl_ARRAY_BUFFER_BINDING :: GLES => GLEnum
- FWGL.Internal.GL: gl_ATTACHED_SHADERS :: GLES => GLEnum
- FWGL.Internal.GL: gl_BACK :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLEND :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLEND_COLOR :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLEND_DST_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLEND_DST_RGB :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLEND_EQUATION :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLEND_EQUATION_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLEND_EQUATION_RGB :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLEND_SRC_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLEND_SRC_RGB :: GLES => GLEnum
- FWGL.Internal.GL: gl_BLUE_BITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_BOOL :: GLES => GLEnum
- FWGL.Internal.GL: gl_BOOL_VEC2 :: GLES => GLEnum
- FWGL.Internal.GL: gl_BOOL_VEC3 :: GLES => GLEnum
- FWGL.Internal.GL: gl_BOOL_VEC4 :: GLES => GLEnum
- FWGL.Internal.GL: gl_BUFFER_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_BUFFER_USAGE :: GLES => GLEnum
- FWGL.Internal.GL: gl_BYTE :: GLES => GLEnum
- FWGL.Internal.GL: gl_CCW :: GLES => GLEnum
- FWGL.Internal.GL: gl_CLAMP_TO_EDGE :: GLES => GLEnum
- FWGL.Internal.GL: gl_COLOR_ATTACHMENT0 :: GLES => GLEnum
- FWGL.Internal.GL: gl_COLOR_BUFFER_BIT :: GLES => GLEnum
- FWGL.Internal.GL: gl_COLOR_CLEAR_VALUE :: GLES => GLEnum
- FWGL.Internal.GL: gl_COLOR_WRITEMASK :: GLES => GLEnum
- FWGL.Internal.GL: gl_COMPILE_STATUS :: GLES => GLEnum
- FWGL.Internal.GL: gl_COMPRESSED_TEXTURE_FORMATS :: GLES => GLEnum
- FWGL.Internal.GL: gl_CONSTANT_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_CONSTANT_COLOR :: GLES => GLEnum
- FWGL.Internal.GL: gl_CULL_FACE :: GLES => GLEnum
- FWGL.Internal.GL: gl_CULL_FACE_MODE :: GLES => GLEnum
- FWGL.Internal.GL: gl_CURRENT_PROGRAM :: GLES => GLEnum
- FWGL.Internal.GL: gl_CURRENT_VERTEX_ATTRIB :: GLES => GLEnum
- FWGL.Internal.GL: gl_CW :: GLES => GLEnum
- FWGL.Internal.GL: gl_DECR :: GLES => GLEnum
- FWGL.Internal.GL: gl_DECR_WRAP :: GLES => GLEnum
- FWGL.Internal.GL: gl_DELETE_STATUS :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_ATTACHMENT :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_BITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_BUFFER_BIT :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_CLEAR_VALUE :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_COMPONENT :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_COMPONENT16 :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_FUNC :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_RANGE :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_TEST :: GLES => GLEnum
- FWGL.Internal.GL: gl_DEPTH_WRITEMASK :: GLES => GLEnum
- FWGL.Internal.GL: gl_DITHER :: GLES => GLEnum
- FWGL.Internal.GL: gl_DONT_CARE :: GLES => GLEnum
- FWGL.Internal.GL: gl_DST_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_DST_COLOR :: GLES => GLEnum
- FWGL.Internal.GL: gl_DYNAMIC_DRAW :: GLES => GLEnum
- FWGL.Internal.GL: gl_ELEMENT_ARRAY_BUFFER :: GLES => GLEnum
- FWGL.Internal.GL: gl_ELEMENT_ARRAY_BUFFER_BINDING :: GLES => GLEnum
- FWGL.Internal.GL: gl_EQUAL :: GLES => GLEnum
- FWGL.Internal.GL: gl_FASTEST :: GLES => GLEnum
- FWGL.Internal.GL: gl_FLOAT :: GLES => GLEnum
- FWGL.Internal.GL: gl_FLOAT_MAT2 :: GLES => GLEnum
- FWGL.Internal.GL: gl_FLOAT_MAT3 :: GLES => GLEnum
- FWGL.Internal.GL: gl_FLOAT_MAT4 :: GLES => GLEnum
- FWGL.Internal.GL: gl_FLOAT_VEC2 :: GLES => GLEnum
- FWGL.Internal.GL: gl_FLOAT_VEC3 :: GLES => GLEnum
- FWGL.Internal.GL: gl_FLOAT_VEC4 :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAGMENT_SHADER :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_BINDING :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_COMPLETE :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRAMEBUFFER_UNSUPPORTED :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRONT :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRONT_AND_BACK :: GLES => GLEnum
- FWGL.Internal.GL: gl_FRONT_FACE :: GLES => GLEnum
- FWGL.Internal.GL: gl_FUNC_ADD :: GLES => GLEnum
- FWGL.Internal.GL: gl_FUNC_REVERSE_SUBTRACT :: GLES => GLEnum
- FWGL.Internal.GL: gl_FUNC_SUBTRACT :: GLES => GLEnum
- FWGL.Internal.GL: gl_GENERATE_MIPMAP_HINT :: GLES => GLEnum
- FWGL.Internal.GL: gl_GEQUAL :: GLES => GLEnum
- FWGL.Internal.GL: gl_GREATER :: GLES => GLEnum
- FWGL.Internal.GL: gl_GREEN_BITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_HIGH_FLOAT :: GLES => GLEnum
- FWGL.Internal.GL: gl_HIGH_INT :: GLES => GLEnum
- FWGL.Internal.GL: gl_INCR :: GLES => GLEnum
- FWGL.Internal.GL: gl_INCR_WRAP :: GLES => GLEnum
- FWGL.Internal.GL: gl_INT :: GLES => GLEnum
- FWGL.Internal.GL: gl_INT_VEC2 :: GLES => GLEnum
- FWGL.Internal.GL: gl_INT_VEC3 :: GLES => GLEnum
- FWGL.Internal.GL: gl_INT_VEC4 :: GLES => GLEnum
- FWGL.Internal.GL: gl_INVALID_ENUM :: GLES => GLEnum
- FWGL.Internal.GL: gl_INVALID_FRAMEBUFFER_OPERATION :: GLES => GLEnum
- FWGL.Internal.GL: gl_INVALID_OPERATION :: GLES => GLEnum
- FWGL.Internal.GL: gl_INVALID_VALUE :: GLES => GLEnum
- FWGL.Internal.GL: gl_INVERT :: GLES => GLEnum
- FWGL.Internal.GL: gl_KEEP :: GLES => GLEnum
- FWGL.Internal.GL: gl_LEQUAL :: GLES => GLEnum
- FWGL.Internal.GL: gl_LESS :: GLES => GLEnum
- FWGL.Internal.GL: gl_LINEAR :: GLES => GLEnum
- FWGL.Internal.GL: gl_LINEAR_MIPMAP_LINEAR :: GLES => GLEnum
- FWGL.Internal.GL: gl_LINEAR_MIPMAP_NEAREST :: GLES => GLEnum
- FWGL.Internal.GL: gl_LINES :: GLES => GLEnum
- FWGL.Internal.GL: gl_LINE_LOOP :: GLES => GLEnum
- FWGL.Internal.GL: gl_LINE_STRIP :: GLES => GLEnum
- FWGL.Internal.GL: gl_LINE_WIDTH :: GLES => GLEnum
- FWGL.Internal.GL: gl_LINK_STATUS :: GLES => GLEnum
- FWGL.Internal.GL: gl_LOW_FLOAT :: GLES => GLEnum
- FWGL.Internal.GL: gl_LOW_INT :: GLES => GLEnum
- FWGL.Internal.GL: gl_LUMINANCE :: GLES => GLEnum
- FWGL.Internal.GL: gl_LUMINANCE_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_CUBE_MAP_TEXTURE_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_FRAGMENT_UNIFORM_VECTORS :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_RENDERBUFFER_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_TEXTURE_IMAGE_UNITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_TEXTURE_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_VARYING_VECTORS :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_VERTEX_ATTRIBS :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_VERTEX_UNIFORM_VECTORS :: GLES => GLEnum
- FWGL.Internal.GL: gl_MAX_VIEWPORT_DIMS :: GLES => GLEnum
- FWGL.Internal.GL: gl_MEDIUM_FLOAT :: GLES => GLEnum
- FWGL.Internal.GL: gl_MEDIUM_INT :: GLES => GLEnum
- FWGL.Internal.GL: gl_MIRRORED_REPEAT :: GLES => GLEnum
- FWGL.Internal.GL: gl_NEAREST :: GLES => GLEnum
- FWGL.Internal.GL: gl_NEAREST_MIPMAP_LINEAR :: GLES => GLEnum
- FWGL.Internal.GL: gl_NEAREST_MIPMAP_NEAREST :: GLES => GLEnum
- FWGL.Internal.GL: gl_NEVER :: GLES => GLEnum
- FWGL.Internal.GL: gl_NICEST :: GLES => GLEnum
- FWGL.Internal.GL: gl_NONE :: GLES => GLEnum
- FWGL.Internal.GL: gl_NOTEQUAL :: GLES => GLEnum
- FWGL.Internal.GL: gl_NO_ERROR :: GLES => GLEnum
- FWGL.Internal.GL: gl_ONE :: GLES => GLEnum
- FWGL.Internal.GL: gl_ONE_MINUS_CONSTANT_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_ONE_MINUS_CONSTANT_COLOR :: GLES => GLEnum
- FWGL.Internal.GL: gl_ONE_MINUS_DST_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_ONE_MINUS_DST_COLOR :: GLES => GLEnum
- FWGL.Internal.GL: gl_ONE_MINUS_SRC_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_ONE_MINUS_SRC_COLOR :: GLES => GLEnum
- FWGL.Internal.GL: gl_OUT_OF_MEMORY :: GLES => GLEnum
- FWGL.Internal.GL: gl_PACK_ALIGNMENT :: GLES => GLEnum
- FWGL.Internal.GL: gl_POINTS :: GLES => GLEnum
- FWGL.Internal.GL: gl_POLYGON_OFFSET_FACTOR :: GLES => GLEnum
- FWGL.Internal.GL: gl_POLYGON_OFFSET_FILL :: GLES => GLEnum
- FWGL.Internal.GL: gl_POLYGON_OFFSET_UNITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_RED_BITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_ALPHA_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_BINDING :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_BLUE_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_DEPTH_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_GREEN_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_HEIGHT :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_INTERNAL_FORMAT :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_RED_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_STENCIL_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERBUFFER_WIDTH :: GLES => GLEnum
- FWGL.Internal.GL: gl_RENDERER :: GLES => GLEnum
- FWGL.Internal.GL: gl_REPEAT :: GLES => GLEnum
- FWGL.Internal.GL: gl_REPLACE :: GLES => GLEnum
- FWGL.Internal.GL: gl_RGB :: GLES => GLEnum
- FWGL.Internal.GL: gl_RGB565 :: GLES => GLEnum
- FWGL.Internal.GL: gl_RGB5_A1 :: GLES => GLEnum
- FWGL.Internal.GL: gl_RGBA :: GLES => GLEnum
- FWGL.Internal.GL: gl_RGBA4 :: GLES => GLEnum
- FWGL.Internal.GL: gl_SAMPLER_2D :: GLES => GLEnum
- FWGL.Internal.GL: gl_SAMPLER_CUBE :: GLES => GLEnum
- FWGL.Internal.GL: gl_SAMPLES :: GLES => GLEnum
- FWGL.Internal.GL: gl_SAMPLE_ALPHA_TO_COVERAGE :: GLES => GLEnum
- FWGL.Internal.GL: gl_SAMPLE_BUFFERS :: GLES => GLEnum
- FWGL.Internal.GL: gl_SAMPLE_COVERAGE :: GLES => GLEnum
- FWGL.Internal.GL: gl_SAMPLE_COVERAGE_INVERT :: GLES => GLEnum
- FWGL.Internal.GL: gl_SAMPLE_COVERAGE_VALUE :: GLES => GLEnum
- FWGL.Internal.GL: gl_SCISSOR_BOX :: GLES => GLEnum
- FWGL.Internal.GL: gl_SCISSOR_TEST :: GLES => GLEnum
- FWGL.Internal.GL: gl_SHADER_TYPE :: GLES => GLEnum
- FWGL.Internal.GL: gl_SHADING_LANGUAGE_VERSION :: GLES => GLEnum
- FWGL.Internal.GL: gl_SHORT :: GLES => GLEnum
- FWGL.Internal.GL: gl_SRC_ALPHA :: GLES => GLEnum
- FWGL.Internal.GL: gl_SRC_ALPHA_SATURATE :: GLES => GLEnum
- FWGL.Internal.GL: gl_SRC_COLOR :: GLES => GLEnum
- FWGL.Internal.GL: gl_STATIC_DRAW :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_ATTACHMENT :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_BACK_FAIL :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_BACK_FUNC :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_BACK_PASS_DEPTH_FAIL :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_BACK_PASS_DEPTH_PASS :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_BACK_REF :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_BACK_VALUE_MASK :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_BACK_WRITEMASK :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_BITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_BUFFER_BIT :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_CLEAR_VALUE :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_FAIL :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_FUNC :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_INDEX8 :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_PASS_DEPTH_FAIL :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_PASS_DEPTH_PASS :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_REF :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_TEST :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_VALUE_MASK :: GLES => GLEnum
- FWGL.Internal.GL: gl_STENCIL_WRITEMASK :: GLES => GLEnum
- FWGL.Internal.GL: gl_STREAM_DRAW :: GLES => GLEnum
- FWGL.Internal.GL: gl_SUBPIXEL_BITS :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE0 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE1 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE10 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE11 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE12 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE13 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE14 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE15 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE16 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE17 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE18 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE19 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE2 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE20 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE21 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE22 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE23 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE24 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE25 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE26 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE27 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE28 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE29 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE3 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE30 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE31 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE4 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE5 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE6 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE7 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE8 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE9 :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_2D :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_BINDING_2D :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_BINDING_CUBE_MAP :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_CUBE_MAP :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_CUBE_MAP_POSITIVE_X :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_MAG_FILTER :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_MIN_FILTER :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_WRAP_S :: GLES => GLEnum
- FWGL.Internal.GL: gl_TEXTURE_WRAP_T :: GLES => GLEnum
- FWGL.Internal.GL: gl_TRIANGLES :: GLES => GLEnum
- FWGL.Internal.GL: gl_TRIANGLE_FAN :: GLES => GLEnum
- FWGL.Internal.GL: gl_TRIANGLE_STRIP :: GLES => GLEnum
- FWGL.Internal.GL: gl_UNPACK_ALIGNMENT :: GLES => GLEnum
- FWGL.Internal.GL: gl_UNSIGNED_BYTE :: GLES => GLEnum
- FWGL.Internal.GL: gl_UNSIGNED_INT :: GLES => GLEnum
- FWGL.Internal.GL: gl_UNSIGNED_SHORT :: GLES => GLEnum
- FWGL.Internal.GL: gl_UNSIGNED_SHORT_4_4_4_4 :: GLES => GLEnum
- FWGL.Internal.GL: gl_UNSIGNED_SHORT_5_5_5_1 :: GLES => GLEnum
- FWGL.Internal.GL: gl_UNSIGNED_SHORT_5_6_5 :: GLES => GLEnum
- FWGL.Internal.GL: gl_VALIDATE_STATUS :: GLES => GLEnum
- FWGL.Internal.GL: gl_VENDOR :: GLES => GLEnum
- FWGL.Internal.GL: gl_VERSION :: GLES => GLEnum
- FWGL.Internal.GL: gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLES => GLEnum
- FWGL.Internal.GL: gl_VERTEX_ATTRIB_ARRAY_ENABLED :: GLES => GLEnum
- FWGL.Internal.GL: gl_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLES => GLEnum
- FWGL.Internal.GL: gl_VERTEX_ATTRIB_ARRAY_POINTER :: GLES => GLEnum
- FWGL.Internal.GL: gl_VERTEX_ATTRIB_ARRAY_SIZE :: GLES => GLEnum
- FWGL.Internal.GL: gl_VERTEX_ATTRIB_ARRAY_STRIDE :: GLES => GLEnum
- FWGL.Internal.GL: gl_VERTEX_ATTRIB_ARRAY_TYPE :: GLES => GLEnum
- FWGL.Internal.GL: gl_VERTEX_SHADER :: GLES => GLEnum
- FWGL.Internal.GL: gl_VIEWPORT :: GLES => GLEnum
- FWGL.Internal.GL: gl_ZERO :: GLES => GLEnum
- FWGL.Internal.GL: noArray :: GLES => IO Array
- FWGL.Internal.GL: noBuffer :: GLES => Buffer
- FWGL.Internal.GL: noTexture :: GLES => Texture
- FWGL.Internal.GL: nullGLPtr :: GLES => GLPtr
- FWGL.Internal.GL: toGLString :: GLES => String -> GLString
- FWGL.Internal.GL: true :: GLES => GLBool
+ FWGL.Backend.GLES: class (Integral GLEnum, Integral GLUInt, Integral GLInt, Integral GLSize, Bits GLEnum, Num GLEnum, Num GLUInt, Num GLInt, Num GLPtrDiff, Num GLSize) => GLES where type family Ctx type family GLEnum type family GLUInt type family GLInt type family GLPtr type family GLPtrDiff type family GLSize type family GLString type family GLBool type family Buffer type family UniformLocation type family Texture type family Shader type family Program type family FrameBuffer type family RenderBuffer type family Array type family Float32Array type family Int32Array type family Image
+ FWGL.Backend.GLES: encodeColors :: GLES => [Color] -> IO Array
+ FWGL.Backend.GLES: encodeFloats :: GLES => [Float] -> IO Array
+ FWGL.Backend.GLES: encodeM2 :: GLES => M2 -> IO Float32Array
+ FWGL.Backend.GLES: encodeM3 :: GLES => M3 -> IO Float32Array
+ FWGL.Backend.GLES: encodeM4 :: GLES => M4 -> IO Float32Array
+ FWGL.Backend.GLES: encodeUShorts :: GLES => [Word16] -> IO Array
+ FWGL.Backend.GLES: encodeV2s :: GLES => [V2] -> IO Array
+ FWGL.Backend.GLES: encodeV3s :: GLES => [V3] -> IO Array
+ FWGL.Backend.GLES: encodeV4s :: GLES => [V4] -> IO Array
+ FWGL.Backend.GLES: false :: GLES => GLBool
+ FWGL.Backend.GLES: glActiveTexture :: GLES => Ctx -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glAttachShader :: GLES => Ctx -> Program -> Shader -> IO ()
+ FWGL.Backend.GLES: glBindAttribLocation :: GLES => Ctx -> Program -> GLUInt -> GLString -> IO ()
+ FWGL.Backend.GLES: glBindBuffer :: GLES => Ctx -> GLEnum -> Buffer -> IO ()
+ FWGL.Backend.GLES: glBindFramebuffer :: GLES => Ctx -> GLEnum -> FrameBuffer -> IO ()
+ FWGL.Backend.GLES: glBindRenderbuffer :: GLES => Ctx -> GLEnum -> RenderBuffer -> IO ()
+ FWGL.Backend.GLES: glBindTexture :: GLES => Ctx -> GLEnum -> Texture -> IO ()
+ FWGL.Backend.GLES: glBlendColor :: GLES => Ctx -> Float -> Float -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glBlendEquation :: GLES => Ctx -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glBlendEquationSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glBlendFunc :: GLES => Ctx -> GLEnum -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glBlendFuncSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glBufferData :: GLES => Ctx -> GLEnum -> Array -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glBufferSubData :: GLES => Ctx -> GLEnum -> GLPtrDiff -> Array -> IO ()
+ FWGL.Backend.GLES: glCheckFramebufferStatus :: GLES => Ctx -> GLEnum -> IO GLEnum
+ FWGL.Backend.GLES: glClear :: GLES => Ctx -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glClearColor :: GLES => Ctx -> Float -> Float -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glClearDepth :: GLES => Ctx -> Float -> IO ()
+ FWGL.Backend.GLES: glClearStencil :: GLES => Ctx -> GLInt -> IO ()
+ FWGL.Backend.GLES: glColorMask :: GLES => Ctx -> GLBool -> GLBool -> GLBool -> GLBool -> IO ()
+ FWGL.Backend.GLES: glCompileShader :: GLES => Ctx -> Shader -> IO ()
+ FWGL.Backend.GLES: glCompressedTexImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLEnum -> GLSize -> GLSize -> GLInt -> Array -> IO ()
+ FWGL.Backend.GLES: glCompressedTexSubImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLInt -> GLSize -> GLSize -> GLEnum -> Array -> IO ()
+ FWGL.Backend.GLES: glCopyTexImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLEnum -> GLInt -> GLInt -> GLSize -> GLSize -> GLInt -> IO ()
+ FWGL.Backend.GLES: glCopyTexSubImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLInt -> GLInt -> GLInt -> GLSize -> GLSize -> IO ()
+ FWGL.Backend.GLES: glCreateBuffer :: GLES => Ctx -> IO Buffer
+ FWGL.Backend.GLES: glCreateFramebuffer :: GLES => Ctx -> IO FrameBuffer
+ FWGL.Backend.GLES: glCreateProgram :: GLES => Ctx -> IO Program
+ FWGL.Backend.GLES: glCreateRenderbuffer :: GLES => Ctx -> IO RenderBuffer
+ FWGL.Backend.GLES: glCreateShader :: GLES => Ctx -> GLEnum -> IO Shader
+ FWGL.Backend.GLES: glCreateTexture :: GLES => Ctx -> IO Texture
+ FWGL.Backend.GLES: glCullFace :: GLES => Ctx -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glDeleteBuffer :: GLES => Ctx -> Buffer -> IO ()
+ FWGL.Backend.GLES: glDeleteFramebuffer :: GLES => Ctx -> FrameBuffer -> IO ()
+ FWGL.Backend.GLES: glDeleteProgram :: GLES => Ctx -> Program -> IO ()
+ FWGL.Backend.GLES: glDeleteRenderbuffer :: GLES => Ctx -> RenderBuffer -> IO ()
+ FWGL.Backend.GLES: glDeleteShader :: GLES => Ctx -> Shader -> IO ()
+ FWGL.Backend.GLES: glDeleteTexture :: GLES => Ctx -> Texture -> IO ()
+ FWGL.Backend.GLES: glDepthFunc :: GLES => Ctx -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glDepthMask :: GLES => Ctx -> GLBool -> IO ()
+ FWGL.Backend.GLES: glDepthRange :: GLES => Ctx -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glDetachShader :: GLES => Ctx -> Program -> Shader -> IO ()
+ FWGL.Backend.GLES: glDisable :: GLES => Ctx -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glDisableVertexAttribArray :: GLES => Ctx -> GLUInt -> IO ()
+ FWGL.Backend.GLES: glDrawArrays :: GLES => Ctx -> GLEnum -> GLInt -> GLSize -> IO ()
+ FWGL.Backend.GLES: glDrawElements :: GLES => Ctx -> GLEnum -> GLSize -> GLEnum -> GLPtr -> IO ()
+ FWGL.Backend.GLES: glEnable :: GLES => Ctx -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glEnableVertexAttribArray :: GLES => Ctx -> GLUInt -> IO ()
+ FWGL.Backend.GLES: glFinish :: GLES => Ctx -> IO ()
+ FWGL.Backend.GLES: glFlush :: GLES => Ctx -> IO ()
+ FWGL.Backend.GLES: glFramebufferRenderbuffer :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> RenderBuffer -> IO ()
+ FWGL.Backend.GLES: glFramebufferTexture2D :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> Texture -> GLInt -> IO ()
+ FWGL.Backend.GLES: glFrontFace :: GLES => Ctx -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glGenerateMipmap :: GLES => Ctx -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glGetAttribLocation :: GLES => Ctx -> Program -> GLString -> IO GLInt
+ FWGL.Backend.GLES: glGetError :: GLES => Ctx -> IO GLEnum
+ FWGL.Backend.GLES: glGetProgramInfoLog :: GLES => Ctx -> Program -> IO GLString
+ FWGL.Backend.GLES: glGetShaderInfoLog :: GLES => Ctx -> Shader -> IO GLString
+ FWGL.Backend.GLES: glGetShaderSource :: GLES => Ctx -> Shader -> IO GLString
+ FWGL.Backend.GLES: glGetUniformLocation :: GLES => Ctx -> Program -> GLString -> IO UniformLocation
+ FWGL.Backend.GLES: glHint :: GLES => Ctx -> GLEnum -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glIsBuffer :: GLES => Ctx -> Buffer -> IO GLBool
+ FWGL.Backend.GLES: glIsEnabled :: GLES => Ctx -> GLEnum -> IO GLBool
+ FWGL.Backend.GLES: glIsFramebuffer :: GLES => Ctx -> FrameBuffer -> IO GLBool
+ FWGL.Backend.GLES: glIsProgram :: GLES => Ctx -> Program -> IO GLBool
+ FWGL.Backend.GLES: glIsRenderbuffer :: GLES => Ctx -> RenderBuffer -> IO GLBool
+ FWGL.Backend.GLES: glIsShader :: GLES => Ctx -> Shader -> IO GLBool
+ FWGL.Backend.GLES: glIsTexture :: GLES => Ctx -> Texture -> IO GLBool
+ FWGL.Backend.GLES: glLineWidth :: GLES => Ctx -> Float -> IO ()
+ FWGL.Backend.GLES: glLinkProgram :: GLES => Ctx -> Program -> IO ()
+ FWGL.Backend.GLES: glPixelStorei :: GLES => Ctx -> GLEnum -> GLInt -> IO ()
+ FWGL.Backend.GLES: glPolygonOffset :: GLES => Ctx -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glReadPixels :: GLES => Ctx -> GLInt -> GLInt -> GLSize -> GLSize -> GLEnum -> GLEnum -> Array -> IO ()
+ FWGL.Backend.GLES: glRenderbufferStorage :: GLES => Ctx -> GLEnum -> GLEnum -> GLSize -> GLSize -> IO ()
+ FWGL.Backend.GLES: glSampleCoverage :: GLES => Ctx -> Float -> GLBool -> IO ()
+ FWGL.Backend.GLES: glScissor :: GLES => Ctx -> GLInt -> GLInt -> GLSize -> GLSize -> IO ()
+ FWGL.Backend.GLES: glShaderSource :: GLES => Ctx -> Shader -> GLString -> IO ()
+ FWGL.Backend.GLES: glStencilFunc :: GLES => Ctx -> GLEnum -> GLInt -> GLUInt -> IO ()
+ FWGL.Backend.GLES: glStencilFuncSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> GLInt -> GLUInt -> IO ()
+ FWGL.Backend.GLES: glStencilMask :: GLES => Ctx -> GLUInt -> IO ()
+ FWGL.Backend.GLES: glStencilMaskSeparate :: GLES => Ctx -> GLEnum -> GLUInt -> IO ()
+ FWGL.Backend.GLES: glStencilOp :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glStencilOpSeparate :: GLES => Ctx -> GLEnum -> GLEnum -> GLEnum -> GLEnum -> IO ()
+ FWGL.Backend.GLES: glTexImage2DBuffer :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLSize -> GLSize -> GLInt -> GLEnum -> GLEnum -> Array -> IO ()
+ FWGL.Backend.GLES: glTexImage2DImage :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLEnum -> GLEnum -> Image -> IO ()
+ FWGL.Backend.GLES: glTexParameterf :: GLES => Ctx -> GLEnum -> GLEnum -> Float -> IO ()
+ FWGL.Backend.GLES: glTexParameteri :: GLES => Ctx -> GLEnum -> GLEnum -> GLInt -> IO ()
+ FWGL.Backend.GLES: glTexSubImage2D :: GLES => Ctx -> GLEnum -> GLInt -> GLInt -> GLInt -> GLSize -> GLSize -> GLEnum -> GLEnum -> Array -> IO ()
+ FWGL.Backend.GLES: glUniform1f :: GLES => Ctx -> UniformLocation -> Float -> IO ()
+ FWGL.Backend.GLES: glUniform1fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glUniform1i :: GLES => Ctx -> UniformLocation -> GLInt -> IO ()
+ FWGL.Backend.GLES: glUniform1iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
+ FWGL.Backend.GLES: glUniform2f :: GLES => Ctx -> UniformLocation -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glUniform2fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glUniform2i :: GLES => Ctx -> UniformLocation -> GLInt -> GLInt -> IO ()
+ FWGL.Backend.GLES: glUniform2iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
+ FWGL.Backend.GLES: glUniform3f :: GLES => Ctx -> UniformLocation -> Float -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glUniform3fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glUniform3i :: GLES => Ctx -> UniformLocation -> GLInt -> GLInt -> GLInt -> IO ()
+ FWGL.Backend.GLES: glUniform3iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
+ FWGL.Backend.GLES: glUniform4f :: GLES => Ctx -> UniformLocation -> Float -> Float -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glUniform4fv :: GLES => Ctx -> UniformLocation -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glUniform4i :: GLES => Ctx -> UniformLocation -> GLInt -> GLInt -> GLInt -> GLInt -> IO ()
+ FWGL.Backend.GLES: glUniform4iv :: GLES => Ctx -> UniformLocation -> Int32Array -> IO ()
+ FWGL.Backend.GLES: glUniformMatrix2fv :: GLES => Ctx -> UniformLocation -> GLBool -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glUniformMatrix3fv :: GLES => Ctx -> UniformLocation -> GLBool -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glUniformMatrix4fv :: GLES => Ctx -> UniformLocation -> GLBool -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glUseProgram :: GLES => Ctx -> Program -> IO ()
+ FWGL.Backend.GLES: glValidateProgram :: GLES => Ctx -> Program -> IO ()
+ FWGL.Backend.GLES: glVertexAttrib1f :: GLES => Ctx -> GLUInt -> Float -> IO ()
+ FWGL.Backend.GLES: glVertexAttrib1fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glVertexAttrib2f :: GLES => Ctx -> GLUInt -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glVertexAttrib2fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glVertexAttrib3f :: GLES => Ctx -> GLUInt -> Float -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glVertexAttrib3fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glVertexAttrib4f :: GLES => Ctx -> GLUInt -> Float -> Float -> Float -> Float -> IO ()
+ FWGL.Backend.GLES: glVertexAttrib4fv :: GLES => Ctx -> GLUInt -> Float32Array -> IO ()
+ FWGL.Backend.GLES: glVertexAttribPointer :: GLES => Ctx -> GLUInt -> GLInt -> GLEnum -> GLBool -> GLSize -> GLPtr -> IO ()
+ FWGL.Backend.GLES: glViewport :: GLES => Ctx -> GLInt -> GLInt -> GLSize -> GLSize -> IO ()
+ FWGL.Backend.GLES: gl_ACTIVE_ATTRIBUTES :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ACTIVE_TEXTURE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ACTIVE_UNIFORMS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ALIASED_LINE_WIDTH_RANGE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ALIASED_POINT_SIZE_RANGE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ALPHA_BITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ALWAYS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ARRAY_BUFFER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ARRAY_BUFFER_BINDING :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ATTACHED_SHADERS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BACK :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLEND :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLEND_COLOR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLEND_DST_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLEND_DST_RGB :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLEND_EQUATION :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLEND_EQUATION_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLEND_EQUATION_RGB :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLEND_SRC_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLEND_SRC_RGB :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BLUE_BITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BOOL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BOOL_VEC2 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BOOL_VEC3 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BOOL_VEC4 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BUFFER_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BUFFER_USAGE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_BYTE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_CCW :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_CLAMP_TO_EDGE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_COLOR_ATTACHMENT0 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_COLOR_BUFFER_BIT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_COLOR_CLEAR_VALUE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_COLOR_WRITEMASK :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_COMPILE_STATUS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_COMPRESSED_TEXTURE_FORMATS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_CONSTANT_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_CONSTANT_COLOR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_CULL_FACE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_CULL_FACE_MODE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_CURRENT_PROGRAM :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_CURRENT_VERTEX_ATTRIB :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_CW :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DECR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DECR_WRAP :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DELETE_STATUS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_ATTACHMENT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_BITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_BUFFER_BIT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_CLEAR_VALUE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_COMPONENT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_COMPONENT16 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_FUNC :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_RANGE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_TEST :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DEPTH_WRITEMASK :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DITHER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DONT_CARE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DST_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DST_COLOR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_DYNAMIC_DRAW :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ELEMENT_ARRAY_BUFFER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ELEMENT_ARRAY_BUFFER_BINDING :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_EQUAL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FASTEST :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FLOAT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FLOAT_MAT2 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FLOAT_MAT3 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FLOAT_MAT4 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FLOAT_VEC2 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FLOAT_VEC3 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FLOAT_VEC4 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAGMENT_SHADER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_BINDING :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_COMPLETE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRAMEBUFFER_UNSUPPORTED :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRONT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRONT_AND_BACK :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FRONT_FACE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FUNC_ADD :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FUNC_REVERSE_SUBTRACT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_FUNC_SUBTRACT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_GENERATE_MIPMAP_HINT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_GEQUAL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_GREATER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_GREEN_BITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_HIGH_FLOAT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_HIGH_INT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INCR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INCR_WRAP :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INT_VEC2 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INT_VEC3 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INT_VEC4 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INVALID_ENUM :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INVALID_FRAMEBUFFER_OPERATION :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INVALID_OPERATION :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INVALID_VALUE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_INVERT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_KEEP :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LEQUAL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LESS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LINEAR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LINEAR_MIPMAP_LINEAR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LINEAR_MIPMAP_NEAREST :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LINES :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LINE_LOOP :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LINE_STRIP :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LINE_WIDTH :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LINK_STATUS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LOW_FLOAT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LOW_INT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LUMINANCE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_LUMINANCE_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_CUBE_MAP_TEXTURE_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_FRAGMENT_UNIFORM_VECTORS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_RENDERBUFFER_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_TEXTURE_IMAGE_UNITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_TEXTURE_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_VARYING_VECTORS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_VERTEX_ATTRIBS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_VERTEX_UNIFORM_VECTORS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MAX_VIEWPORT_DIMS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MEDIUM_FLOAT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MEDIUM_INT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_MIRRORED_REPEAT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_NEAREST :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_NEAREST_MIPMAP_LINEAR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_NEAREST_MIPMAP_NEAREST :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_NEVER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_NICEST :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_NONE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_NOTEQUAL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_NO_ERROR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ONE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ONE_MINUS_CONSTANT_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ONE_MINUS_CONSTANT_COLOR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ONE_MINUS_DST_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ONE_MINUS_DST_COLOR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ONE_MINUS_SRC_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ONE_MINUS_SRC_COLOR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_OUT_OF_MEMORY :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_PACK_ALIGNMENT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_POINTS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_POLYGON_OFFSET_FACTOR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_POLYGON_OFFSET_FILL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_POLYGON_OFFSET_UNITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RED_BITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_ALPHA_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_BINDING :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_BLUE_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_DEPTH_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_GREEN_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_HEIGHT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_INTERNAL_FORMAT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_RED_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_STENCIL_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERBUFFER_WIDTH :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RENDERER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_REPEAT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_REPLACE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RGB :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RGB565 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RGB5_A1 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RGBA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_RGBA4 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SAMPLER_2D :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SAMPLER_CUBE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SAMPLES :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SAMPLE_ALPHA_TO_COVERAGE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SAMPLE_BUFFERS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SAMPLE_COVERAGE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SAMPLE_COVERAGE_INVERT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SAMPLE_COVERAGE_VALUE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SCISSOR_BOX :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SCISSOR_TEST :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SHADER_TYPE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SHADING_LANGUAGE_VERSION :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SHORT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SRC_ALPHA :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SRC_ALPHA_SATURATE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SRC_COLOR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STATIC_DRAW :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_ATTACHMENT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_BACK_FAIL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_BACK_FUNC :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_BACK_PASS_DEPTH_FAIL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_BACK_PASS_DEPTH_PASS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_BACK_REF :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_BACK_VALUE_MASK :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_BACK_WRITEMASK :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_BITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_BUFFER_BIT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_CLEAR_VALUE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_FAIL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_FUNC :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_INDEX8 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_PASS_DEPTH_FAIL :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_PASS_DEPTH_PASS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_REF :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_TEST :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_VALUE_MASK :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STENCIL_WRITEMASK :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_STREAM_DRAW :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_SUBPIXEL_BITS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE0 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE1 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE10 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE11 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE12 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE13 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE14 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE15 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE16 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE17 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE18 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE19 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE2 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE20 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE21 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE22 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE23 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE24 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE25 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE26 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE27 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE28 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE29 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE3 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE30 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE31 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE4 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE5 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE6 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE7 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE8 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE9 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_2D :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_BINDING_2D :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_BINDING_CUBE_MAP :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_CUBE_MAP :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_CUBE_MAP_POSITIVE_X :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_MAG_FILTER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_MIN_FILTER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_WRAP_S :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TEXTURE_WRAP_T :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TRIANGLES :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TRIANGLE_FAN :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_TRIANGLE_STRIP :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_UNPACK_ALIGNMENT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_UNSIGNED_BYTE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_UNSIGNED_INT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_UNSIGNED_SHORT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_UNSIGNED_SHORT_4_4_4_4 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_UNSIGNED_SHORT_5_5_5_1 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_UNSIGNED_SHORT_5_6_5 :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VALIDATE_STATUS :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VENDOR :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VERSION :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VERTEX_ATTRIB_ARRAY_ENABLED :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VERTEX_ATTRIB_ARRAY_POINTER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VERTEX_ATTRIB_ARRAY_SIZE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VERTEX_ATTRIB_ARRAY_STRIDE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VERTEX_ATTRIB_ARRAY_TYPE :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VERTEX_SHADER :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_VIEWPORT :: GLES => GLEnum
+ FWGL.Backend.GLES: gl_ZERO :: GLES => GLEnum
+ FWGL.Backend.GLES: noArray :: GLES => IO Array
+ FWGL.Backend.GLES: noBuffer :: GLES => Buffer
+ FWGL.Backend.GLES: noTexture :: GLES => Texture
+ FWGL.Backend.GLES: nullGLPtr :: GLES => GLPtr
+ FWGL.Backend.GLES: toGLString :: GLES => String -> GLString
+ FWGL.Backend.GLES: true :: GLES => GLBool
+ FWGL.Backend.IO: class GLES => BackendIO
+ FWGL.Backend.IO: loadImage :: BackendIO => String -> ((Image, Int, Int) -> IO ()) -> IO ()
+ FWGL.Backend.IO: setup :: BackendIO => (Int -> Int -> Ctx -> IO state) -> (out -> Ctx -> state -> IO state) -> SF Input out -> IO ()
+ FWGL.Graphics.D2: transform :: M3 -> Element -> Element
+ FWGL.Graphics.D2: type Geometry2 = '[Position2, UV]
+ FWGL.Graphics.D3: transform :: M4 -> Element -> Element
+ FWGL.Graphics.D3: type Geometry3 = '[Position3, UV, Normal3]

Files

FWGL.hs view
@@ -2,8 +2,8 @@     The main module. You should also import a backend:          * "FWGL.Backend.JavaScript": GHCJS/WebGL backend+        * "FWGL.Backend.GLFW.GL20": GLFW/OpenGL 2.0 backend         * FWGL.Backend.GLFW.GLES20: GLFW/OpenGL ES 2.0 backend (WIP)-        * FWGL.Backend.GLFW.GL32: GLFW/OpenGL 3.2 backend (WIP)       And a graphics system:
FWGL/Backend/GLES.hs view
@@ -2,6 +2,7 @@  module FWGL.Backend.GLES where +import Data.Bits (Bits) import Data.Word import FWGL.Graphics.Color import FWGL.Vector@@ -10,6 +11,7 @@       , Integral GLUInt       , Integral GLInt       , Integral GLSize+      , Bits GLEnum       , Num GLEnum       , Num GLUInt       , Num GLInt
− FWGL/Backend/JavaScript.hs
@@ -1,588 +0,0 @@-{-# LANGUAGE NullaryTypeClasses, TypeFamilies, UndecidableInstances #-}--{-| The GHCJS/WebGL backend. This just exports the instances for 'BackendIO'-    and 'GLES'. -}-module FWGL.Backend.JavaScript () where--import Control.Applicative-import Control.Concurrent-import qualified Data.HashMap.Strict as H-import Data.IORef-import Data.Word-import FRP.Yampa-import FWGL.Backend-import FWGL.Backend.JavaScript.Event-import qualified FWGL.Backend.JavaScript.WebGL as JS-import FWGL.Graphics.Color-import FWGL.Input-import FWGL.Vector-import GHCJS.Foreign-import GHCJS.Types-import GHCJS.Marshal--foreign import javascript unsafe-        "var img = new Image();                        \-        \img.src = $1;                                 \-        \img.onload = function() { return $2(img); };  "-        loadImageRaw :: JSString -> JSFun (JSRef a -> IO ()) -> IO ()--foreign import javascript unsafe "document.querySelector($1)"-        query :: JSString -> IO (JSRef a)--foreign import javascript unsafe "$2.getAttribute($1)"-        getAttributeRaw :: JSString -> JSRef a -> IO JSString--getAttribute :: String -> JSRef a -> IO String-getAttribute attr e = fromJSString <$> getAttributeRaw (toJSString attr) e--foreign import javascript unsafe "window.requestAnimationFrame($1)"-        requestAnimationFrame :: JSFun (JSRef Double -> IO ()) -> IO ()--foreign import javascript unsafe "$1.focus()" focus :: JSRef a -> IO ()--instance BackendIO where-        loadImage url f = asyncCallback1 NeverRetain callback-                          >>= loadImageRaw (toJSString url) -                where callback img =-                        do (Just w) <- getProp "width" img >>= fromJSRef-                           (Just h) <- getProp "height" img >>= fromJSRef-                           f (img, w, h)--        setup initState draw sigf =-                do element <- query $ toJSString "canvas"-                   eventSrc <- source handledEvents element-                   ctx <- JS.getCtx element-                   (Just w) <- getProp "clientWidth" element >>= fromJSRef-                   (Just h) <- getProp "clientHeight" element >>= fromJSRef-                   focus element -- ... no-                   drawStateRef <- initState w h ctx >>= newIORef-                   reactStateRef <- reactInit (return $ initInput w h)-                                              (\ _ _ -> actuate ctx drawStateRef)-                                              sigf-                   onFrame $ frame reactStateRef eventSrc Nothing-                where frame rsf src last crf =-                        do events <- clear src-                           (Just cur) <- fromJSRef crf-                           let tm = case last of-                                         Just l -> cur - l-                                         Nothing -> 0-                           react rsf (tm, Just $ Input events)-                           -- print tm -- debug-                           onFrame $ frame rsf src (Just cur)-        -                      onFrame handler = asyncCallback1 NeverRetain handler-                                        >>= requestAnimationFrame--                      initInput w h = Input $ H.singleton Resize [-                                EventData {-                                        dataFramebufferSize = Just (w, h),-                                        dataPointer = Nothing,-                                        dataButton = Nothing,-                                        dataKey = Nothing-                                }]-                                     -                      actuate ctx ref out = readIORef ref >>=-                                            draw out ctx >>=-                                         -- execDraw (drawBegin >> drawScene s) >>=-                                            writeIORef ref >> return False-                      handledEvents = [ MouseUp-                                      , MouseDown-                                      , MouseMove-                                      , KeyUp-                                      , KeyDown-                                      , Resize ]--instance GLES where-        type Ctx = JS.Ctx-        type GLEnum = Word-        type GLUInt = Word-        type GLInt = Int-        type GLPtr = Word-        type GLPtrDiff = Word-        type GLSize = Int-        type GLString = JSString-        type GLBool = Bool-        type Buffer = JS.Buffer-        type UniformLocation = JS.UniformLocation-        type Texture = JS.Texture-        type Shader = JS.Shader-        type Program = JS.Program-        type FrameBuffer = JS.FrameBuffer-        type RenderBuffer = JS.RenderBuffer-        -- type ActiveInfo = JS.ActiveInfo-        -- type ShaderPrecisionFormat = JS.ShaderPrecisionFormat-        type Array = JS.ArrayBufferView-        type Float32Array = JS.Float32Array-        type Int32Array = JS.Int32Array-        type Image = JS.Image--        true = True-        false = False-        nullGLPtr = 0-        toGLString = toJSString-        noBuffer = JS.noBuffer-        noTexture = JS.noTexture-        noArray = JS.noArray--        encodeM2 (M2 (V2 a1 a2) (V2 b1 b2)) = JS.listToJSArray [ a1, a2, b1, b2]-                                              >>= JS.float32Array--        encodeM3 (M3 (V3 a1 a2 a3)-                     (V3 b1 b2 b3)-                     (V3 c1 c2 c3)) = JS.listToJSArray [ a1, a2, a3-                                                       , b1, b2, b3-                                                       , c1, c2, c3]-                                      >>= JS.float32Array-        encodeM4 (M4 (V4 a1 a2 a3 a4)-                     (V4 b1 b2 b3 b4)-                     (V4 c1 c2 c3 c4)-                     (V4 d1 d2 d3 d4) ) = JS.listToJSArray [ a1, a2, a3, a4-                                                           , b1, b2, b3, b4-                                                           , c1, c2, c3, c4-                                                           , d1, d2, d3, d4 ]-                                          >>= JS.float32Array-        encodeFloats v = JS.listToJSArray v >>= JS.float32View--        -- TODO: decent implementation-        encodeV2s v = JS.toJSArray next (False, v) >>= JS.float32View-                where next (False, xs@(V2 x _ : _)) = Just (x, (True, xs))-                      next (True, V2 _ y : xs) = Just (y, (False, xs))-                      next (_, []) = Nothing--        encodeV3s v = JS.toJSArray next (0, v) >>= JS.float32View-                where next (0, xs@(V3 x _ _ : _)) = Just (x, (1, xs))-                      next (1, xs@(V3 _ y _ : _)) = Just (y, (2, xs))-                      next (2, V3 _ _ z : xs) = Just (z, (0, xs))-                      next (_, []) = Nothing--        -- TODO-        encodeV4s = error "encodeV4s: TODO"--        encodeUShorts v = JS.listToJSArray v >>= JS.uint16View--        encodeColors v = JS.toJSArray next (0, v) >>= JS.uint8View-                where next (0, xs@(Color x _ _ _ : _)) = Just (x, (1, xs))-                      next (1, xs@(Color _ y _ _ : _)) = Just (y, (2, xs))-                      next (2, xs@(Color _ _ z _ : _)) = Just (z, (3, xs))-                      next (3, Color _ _ _ w : xs) = Just (w, (0, xs))-                      next (_, []) = Nothing--        glActiveTexture = JS.glActiveTexture-        glAttachShader = JS.glAttachShader-        glBindAttribLocation = JS.glBindAttribLocation-        glBindBuffer = JS.glBindBuffer-        glBindFramebuffer = JS.glBindFramebuffer-        glBindRenderbuffer = JS.glBindRenderbuffer-        glBindTexture = JS.glBindTexture-        glBlendColor = JS.glBlendColor-        glBlendEquation = JS.glBlendEquation-        glBlendEquationSeparate = JS.glBlendEquationSeparate-        glBlendFunc = JS.glBlendFunc-        glBlendFuncSeparate = JS.glBlendFuncSeparate-        glBufferData = JS.glBufferData-        glBufferSubData = JS.glBufferSubData-        glCheckFramebufferStatus = JS.glCheckFramebufferStatus-        glClear = JS.glClear-        glClearColor = JS.glClearColor-        glClearDepth = JS.glClearDepth-        glClearStencil = JS.glClearStencil-        glColorMask = JS.glColorMask-        glCompileShader = JS.glCompileShader-        glCompressedTexImage2D = JS.glCompressedTexImage2D-        glCompressedTexSubImage2D = JS.glCompressedTexSubImage2D-        glCopyTexImage2D = JS.glCopyTexImage2D-        glCopyTexSubImage2D = JS.glCopyTexSubImage2D-        glCreateBuffer = JS.glCreateBuffer-        glCreateFramebuffer = JS.glCreateFramebuffer-        glCreateProgram = JS.glCreateProgram-        glCreateRenderbuffer = JS.glCreateRenderbuffer-        glCreateShader = JS.glCreateShader-        glCreateTexture = JS.glCreateTexture-        glCullFace = JS.glCullFace-        glDeleteBuffer = JS.glDeleteBuffer-        glDeleteFramebuffer = JS.glDeleteFramebuffer-        glDeleteProgram = JS.glDeleteProgram-        glDeleteRenderbuffer = JS.glDeleteRenderbuffer-        glDeleteShader = JS.glDeleteShader-        glDeleteTexture = JS.glDeleteTexture-        glDepthFunc = JS.glDepthFunc-        glDepthMask = JS.glDepthMask-        glDepthRange = JS.glDepthRange-        glDetachShader = JS.glDetachShader-        glDisable = JS.glDisable-        glDisableVertexAttribArray = JS.glDisableVertexAttribArray-        glDrawArrays = JS.glDrawArrays-        glDrawElements = JS.glDrawElements-        glEnable = JS.glEnable-        glEnableVertexAttribArray = JS.glEnableVertexAttribArray-        glFinish = JS.glFinish-        glFlush = JS.glFlush-        glFramebufferRenderbuffer = JS.glFramebufferRenderbuffer-        glFramebufferTexture2D = JS.glFramebufferTexture2D-        glFrontFace = JS.glFrontFace-        glGenerateMipmap = JS.glGenerateMipmap-        -- glGetActiveAttrib = JS.glGetActiveAttrib-        -- glGetActiveUniform = JS.glGetActiveUniform-        glGetAttribLocation = JS.glGetAttribLocation-        -- glGetBufferParameter = JS.glGetBufferParameter-        -- glGetParameter = JS.glGetParameter-        glGetError = JS.glGetError-        -- glGetFramebufferAttachmentParameter = JS.glGetFramebufferAttachmentParameter-        glGetProgramInfoLog = JS.glGetProgramInfoLog-        -- glGetRenderbufferParameter = JS.glGetRenderbufferParameter-        -- glGetShaderParameter = JS.glGetShaderParameter-        -- glGetShaderPrecisionFormat = JS.glGetShaderPrecisionFormat-        glGetShaderInfoLog = JS.glGetShaderInfoLog-        glGetShaderSource = JS.glGetShaderSource-        -- glGetTexParameter = JS.glGetTexParameter-        -- glGetUniform = JS.glGetUniform-        glGetUniformLocation = JS.glGetUniformLocation-        -- glGetVertexAttrib = JS.glGetVertexAttrib-        -- glGetVertexAttribOffset = JS.glGetVertexAttribOffset-        glHint = JS.glHint-        glIsBuffer = JS.glIsBuffer-        glIsEnabled = JS.glIsEnabled-        glIsFramebuffer = JS.glIsFramebuffer-        glIsProgram = JS.glIsProgram-        glIsRenderbuffer = JS.glIsRenderbuffer-        glIsShader = JS.glIsShader-        glIsTexture = JS.glIsTexture-        glLineWidth = JS.glLineWidth-        glLinkProgram = JS.glLinkProgram-        glPixelStorei = JS.glPixelStorei-        glPolygonOffset = JS.glPolygonOffset-        glReadPixels = JS.glReadPixels-        glRenderbufferStorage = JS.glRenderbufferStorage-        glSampleCoverage = JS.glSampleCoverage-        glScissor = JS.glScissor-        glShaderSource = JS.glShaderSource-        glStencilFunc = JS.glStencilFunc-        glStencilFuncSeparate = JS.glStencilFuncSeparate-        glStencilMask = JS.glStencilMask-        glStencilMaskSeparate = JS.glStencilMaskSeparate-        glStencilOp = JS.glStencilOp-        glStencilOpSeparate = JS.glStencilOpSeparate-        glTexImage2DBuffer = JS.glTexImage2DBuffer-        glTexImage2DImage = JS.glTexImage2DElement-        glTexParameterf = JS.glTexParameterf-        glTexParameteri = JS.glTexParameteri-        glTexSubImage2D = JS.glTexSubImage2D-        glUniform1f = JS.glUniform1f-        glUniform1fv = JS.glUniform1fv-        glUniform1i = JS.glUniform1i-        glUniform1iv = JS.glUniform1iv-        glUniform2f = JS.glUniform2f-        glUniform2fv = JS.glUniform2fv-        glUniform2i = JS.glUniform2i-        glUniform2iv = JS.glUniform2iv-        glUniform3f = JS.glUniform3f-        glUniform3fv = JS.glUniform3fv-        glUniform3i = JS.glUniform3i-        glUniform3iv = JS.glUniform3iv-        glUniform4f = JS.glUniform4f-        glUniform4fv = JS.glUniform4fv-        glUniform4i = JS.glUniform4i-        glUniform4iv = JS.glUniform4iv-        glUniformMatrix2fv = JS.glUniformMatrix2fv-        glUniformMatrix3fv = JS.glUniformMatrix3fv-        glUniformMatrix4fv = JS.glUniformMatrix4fv-        glUseProgram = JS.glUseProgram-        glValidateProgram = JS.glValidateProgram-        glVertexAttrib1f = JS.glVertexAttrib1f-        glVertexAttrib1fv = JS.glVertexAttrib1fv-        glVertexAttrib2f = JS.glVertexAttrib2f-        glVertexAttrib2fv = JS.glVertexAttrib2fv-        glVertexAttrib3f = JS.glVertexAttrib3f-        glVertexAttrib3fv = JS.glVertexAttrib3fv-        glVertexAttrib4f = JS.glVertexAttrib4f-        glVertexAttrib4fv = JS.glVertexAttrib4fv-        glVertexAttribPointer = JS.glVertexAttribPointer-        glViewport = JS.glViewport--        gl_DEPTH_BUFFER_BIT = JS.gl_DEPTH_BUFFER_BIT-        gl_STENCIL_BUFFER_BIT = JS.gl_STENCIL_BUFFER_BIT-        gl_COLOR_BUFFER_BIT = JS.gl_COLOR_BUFFER_BIT-        gl_POINTS = JS.gl_POINTS-        gl_LINES = JS.gl_LINES-        gl_LINE_LOOP = JS.gl_LINE_LOOP-        gl_LINE_STRIP = JS.gl_LINE_STRIP-        gl_TRIANGLES = JS.gl_TRIANGLES-        gl_TRIANGLE_STRIP = JS.gl_TRIANGLE_STRIP-        gl_TRIANGLE_FAN = JS.gl_TRIANGLE_FAN-        gl_ZERO = JS.gl_ZERO-        gl_ONE = JS.gl_ONE-        gl_SRC_COLOR = JS.gl_SRC_COLOR-        gl_ONE_MINUS_SRC_COLOR = JS.gl_ONE_MINUS_SRC_COLOR-        gl_SRC_ALPHA = JS.gl_SRC_ALPHA-        gl_ONE_MINUS_SRC_ALPHA = JS.gl_ONE_MINUS_SRC_ALPHA-        gl_DST_ALPHA = JS.gl_DST_ALPHA-        gl_ONE_MINUS_DST_ALPHA = JS.gl_ONE_MINUS_DST_ALPHA-        gl_DST_COLOR = JS.gl_DST_COLOR-        gl_ONE_MINUS_DST_COLOR = JS.gl_ONE_MINUS_DST_COLOR-        gl_SRC_ALPHA_SATURATE = JS.gl_SRC_ALPHA_SATURATE-        gl_FUNC_ADD = JS.gl_FUNC_ADD-        gl_BLEND_EQUATION = JS.gl_BLEND_EQUATION-        gl_BLEND_EQUATION_RGB = JS.gl_BLEND_EQUATION_RGB-        gl_BLEND_EQUATION_ALPHA = JS.gl_BLEND_EQUATION_ALPHA-        gl_FUNC_SUBTRACT = JS.gl_FUNC_SUBTRACT-        gl_FUNC_REVERSE_SUBTRACT = JS.gl_FUNC_REVERSE_SUBTRACT-        gl_BLEND_DST_RGB = JS.gl_BLEND_DST_RGB-        gl_BLEND_SRC_RGB = JS.gl_BLEND_SRC_RGB-        gl_BLEND_DST_ALPHA = JS.gl_BLEND_DST_ALPHA-        gl_BLEND_SRC_ALPHA = JS.gl_BLEND_SRC_ALPHA-        gl_CONSTANT_COLOR = JS.gl_CONSTANT_COLOR-        gl_ONE_MINUS_CONSTANT_COLOR = JS.gl_ONE_MINUS_CONSTANT_COLOR-        gl_CONSTANT_ALPHA = JS.gl_CONSTANT_ALPHA-        gl_ONE_MINUS_CONSTANT_ALPHA = JS.gl_ONE_MINUS_CONSTANT_ALPHA-        gl_BLEND_COLOR = JS.gl_BLEND_COLOR-        gl_ARRAY_BUFFER = JS.gl_ARRAY_BUFFER-        gl_ELEMENT_ARRAY_BUFFER = JS.gl_ELEMENT_ARRAY_BUFFER-        gl_ARRAY_BUFFER_BINDING = JS.gl_ARRAY_BUFFER_BINDING-        gl_ELEMENT_ARRAY_BUFFER_BINDING = JS.gl_ELEMENT_ARRAY_BUFFER_BINDING-        gl_STREAM_DRAW = JS.gl_STREAM_DRAW-        gl_STATIC_DRAW = JS.gl_STATIC_DRAW-        gl_DYNAMIC_DRAW = JS.gl_DYNAMIC_DRAW-        gl_BUFFER_SIZE = JS.gl_BUFFER_SIZE-        gl_BUFFER_USAGE = JS.gl_BUFFER_USAGE-        gl_CURRENT_VERTEX_ATTRIB = JS.gl_CURRENT_VERTEX_ATTRIB-        gl_FRONT = JS.gl_FRONT-        gl_BACK = JS.gl_BACK-        gl_FRONT_AND_BACK = JS.gl_FRONT_AND_BACK-        gl_CULL_FACE = JS.gl_CULL_FACE-        gl_BLEND = JS.gl_BLEND-        gl_DITHER = JS.gl_DITHER-        gl_STENCIL_TEST = JS.gl_STENCIL_TEST-        gl_DEPTH_TEST = JS.gl_DEPTH_TEST-        gl_SCISSOR_TEST = JS.gl_SCISSOR_TEST-        gl_POLYGON_OFFSET_FILL = JS.gl_POLYGON_OFFSET_FILL-        gl_SAMPLE_ALPHA_TO_COVERAGE = JS.gl_SAMPLE_ALPHA_TO_COVERAGE-        gl_SAMPLE_COVERAGE = JS.gl_SAMPLE_COVERAGE-        gl_NO_ERROR = JS.gl_NO_ERROR-        gl_INVALID_ENUM = JS.gl_INVALID_ENUM-        gl_INVALID_VALUE = JS.gl_INVALID_VALUE-        gl_INVALID_OPERATION = JS.gl_INVALID_OPERATION-        gl_OUT_OF_MEMORY = JS.gl_OUT_OF_MEMORY-        gl_CW = JS.gl_CW-        gl_CCW = JS.gl_CCW-        gl_LINE_WIDTH = JS.gl_LINE_WIDTH-        gl_ALIASED_POINT_SIZE_RANGE = JS.gl_ALIASED_POINT_SIZE_RANGE-        gl_ALIASED_LINE_WIDTH_RANGE = JS.gl_ALIASED_LINE_WIDTH_RANGE-        gl_CULL_FACE_MODE = JS.gl_CULL_FACE_MODE-        gl_FRONT_FACE = JS.gl_FRONT_FACE-        gl_DEPTH_RANGE = JS.gl_DEPTH_RANGE-        gl_DEPTH_WRITEMASK = JS.gl_DEPTH_WRITEMASK-        gl_DEPTH_CLEAR_VALUE = JS.gl_DEPTH_CLEAR_VALUE-        gl_DEPTH_FUNC = JS.gl_DEPTH_FUNC-        gl_STENCIL_CLEAR_VALUE = JS.gl_STENCIL_CLEAR_VALUE-        gl_STENCIL_FUNC = JS.gl_STENCIL_FUNC-        gl_STENCIL_FAIL = JS.gl_STENCIL_FAIL-        gl_STENCIL_PASS_DEPTH_FAIL = JS.gl_STENCIL_PASS_DEPTH_FAIL-        gl_STENCIL_PASS_DEPTH_PASS = JS.gl_STENCIL_PASS_DEPTH_PASS-        gl_STENCIL_REF = JS.gl_STENCIL_REF-        gl_STENCIL_VALUE_MASK = JS.gl_STENCIL_VALUE_MASK-        gl_STENCIL_WRITEMASK = JS.gl_STENCIL_WRITEMASK-        gl_STENCIL_BACK_FUNC = JS.gl_STENCIL_BACK_FUNC-        gl_STENCIL_BACK_FAIL = JS.gl_STENCIL_BACK_FAIL-        gl_STENCIL_BACK_PASS_DEPTH_FAIL = JS.gl_STENCIL_BACK_PASS_DEPTH_FAIL-        gl_STENCIL_BACK_PASS_DEPTH_PASS = JS.gl_STENCIL_BACK_PASS_DEPTH_PASS-        gl_STENCIL_BACK_REF = JS.gl_STENCIL_BACK_REF-        gl_STENCIL_BACK_VALUE_MASK = JS.gl_STENCIL_BACK_VALUE_MASK-        gl_STENCIL_BACK_WRITEMASK = JS.gl_STENCIL_BACK_WRITEMASK-        gl_VIEWPORT = JS.gl_VIEWPORT-        gl_SCISSOR_BOX = JS.gl_SCISSOR_BOX-        gl_COLOR_CLEAR_VALUE = JS.gl_COLOR_CLEAR_VALUE-        gl_COLOR_WRITEMASK = JS.gl_COLOR_WRITEMASK-        gl_UNPACK_ALIGNMENT = JS.gl_UNPACK_ALIGNMENT-        gl_PACK_ALIGNMENT = JS.gl_PACK_ALIGNMENT-        gl_MAX_TEXTURE_SIZE = JS.gl_MAX_TEXTURE_SIZE-        gl_MAX_VIEWPORT_DIMS = JS.gl_MAX_VIEWPORT_DIMS-        gl_SUBPIXEL_BITS = JS.gl_SUBPIXEL_BITS-        gl_RED_BITS = JS.gl_RED_BITS-        gl_GREEN_BITS = JS.gl_GREEN_BITS-        gl_BLUE_BITS = JS.gl_BLUE_BITS-        gl_ALPHA_BITS = JS.gl_ALPHA_BITS-        gl_DEPTH_BITS = JS.gl_DEPTH_BITS-        gl_STENCIL_BITS = JS.gl_STENCIL_BITS-        gl_POLYGON_OFFSET_UNITS = JS.gl_POLYGON_OFFSET_UNITS-        gl_POLYGON_OFFSET_FACTOR = JS.gl_POLYGON_OFFSET_FACTOR-        gl_TEXTURE_BINDING_2D = JS.gl_TEXTURE_BINDING_2D-        gl_SAMPLE_BUFFERS = JS.gl_SAMPLE_BUFFERS-        gl_SAMPLES = JS.gl_SAMPLES-        gl_SAMPLE_COVERAGE_VALUE = JS.gl_SAMPLE_COVERAGE_VALUE-        gl_SAMPLE_COVERAGE_INVERT = JS.gl_SAMPLE_COVERAGE_INVERT-        gl_COMPRESSED_TEXTURE_FORMATS = JS.gl_COMPRESSED_TEXTURE_FORMATS-        gl_DONT_CARE = JS.gl_DONT_CARE-        gl_FASTEST = JS.gl_FASTEST-        gl_NICEST = JS.gl_NICEST-        gl_GENERATE_MIPMAP_HINT = JS.gl_GENERATE_MIPMAP_HINT-        gl_BYTE = JS.gl_BYTE-        gl_UNSIGNED_BYTE = JS.gl_UNSIGNED_BYTE-        gl_SHORT = JS.gl_SHORT-        gl_UNSIGNED_SHORT = JS.gl_UNSIGNED_SHORT-        gl_INT = JS.gl_INT-        gl_UNSIGNED_INT = JS.gl_UNSIGNED_INT-        gl_FLOAT = JS.gl_FLOAT-        gl_DEPTH_COMPONENT = JS.gl_DEPTH_COMPONENT-        gl_ALPHA = JS.gl_ALPHA-        gl_RGB = JS.gl_RGB-        gl_RGBA = JS.gl_RGBA-        gl_LUMINANCE = JS.gl_LUMINANCE-        gl_LUMINANCE_ALPHA = JS.gl_LUMINANCE_ALPHA-        gl_UNSIGNED_SHORT_4_4_4_4 = JS.gl_UNSIGNED_SHORT_4_4_4_4-        gl_UNSIGNED_SHORT_5_5_5_1 = JS.gl_UNSIGNED_SHORT_5_5_5_1-        gl_UNSIGNED_SHORT_5_6_5 = JS.gl_UNSIGNED_SHORT_5_6_5-        gl_FRAGMENT_SHADER = JS.gl_FRAGMENT_SHADER-        gl_VERTEX_SHADER = JS.gl_VERTEX_SHADER-        gl_MAX_VERTEX_ATTRIBS = JS.gl_MAX_VERTEX_ATTRIBS-        gl_MAX_VERTEX_UNIFORM_VECTORS = JS.gl_MAX_VERTEX_UNIFORM_VECTORS-        gl_MAX_VARYING_VECTORS = JS.gl_MAX_VARYING_VECTORS-        gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS = JS.gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS-        gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS = JS.gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS-        gl_MAX_TEXTURE_IMAGE_UNITS = JS.gl_MAX_TEXTURE_IMAGE_UNITS-        gl_MAX_FRAGMENT_UNIFORM_VECTORS = JS.gl_MAX_FRAGMENT_UNIFORM_VECTORS-        gl_SHADER_TYPE = JS.gl_SHADER_TYPE-        gl_DELETE_STATUS = JS.gl_DELETE_STATUS-        gl_LINK_STATUS = JS.gl_LINK_STATUS-        gl_VALIDATE_STATUS = JS.gl_VALIDATE_STATUS-        gl_ATTACHED_SHADERS = JS.gl_ATTACHED_SHADERS-        gl_ACTIVE_UNIFORMS = JS.gl_ACTIVE_UNIFORMS-        gl_ACTIVE_ATTRIBUTES = JS.gl_ACTIVE_ATTRIBUTES-        gl_SHADING_LANGUAGE_VERSION = JS.gl_SHADING_LANGUAGE_VERSION-        gl_CURRENT_PROGRAM = JS.gl_CURRENT_PROGRAM-        gl_NEVER = JS.gl_NEVER-        gl_LESS = JS.gl_LESS-        gl_EQUAL = JS.gl_EQUAL-        gl_LEQUAL = JS.gl_LEQUAL-        gl_GREATER = JS.gl_GREATER-        gl_NOTEQUAL = JS.gl_NOTEQUAL-        gl_GEQUAL = JS.gl_GEQUAL-        gl_ALWAYS = JS.gl_ALWAYS-        gl_KEEP = JS.gl_KEEP-        gl_REPLACE = JS.gl_REPLACE-        gl_INCR = JS.gl_INCR-        gl_DECR = JS.gl_DECR-        gl_INVERT = JS.gl_INVERT-        gl_INCR_WRAP = JS.gl_INCR_WRAP-        gl_DECR_WRAP = JS.gl_DECR_WRAP-        gl_VENDOR = JS.gl_VENDOR-        gl_RENDERER = JS.gl_RENDERER-        gl_VERSION = JS.gl_VERSION-        gl_NEAREST = JS.gl_NEAREST-        gl_LINEAR = JS.gl_LINEAR-        gl_NEAREST_MIPMAP_NEAREST = JS.gl_NEAREST_MIPMAP_NEAREST-        gl_LINEAR_MIPMAP_NEAREST = JS.gl_LINEAR_MIPMAP_NEAREST-        gl_NEAREST_MIPMAP_LINEAR = JS.gl_NEAREST_MIPMAP_LINEAR-        gl_LINEAR_MIPMAP_LINEAR = JS.gl_LINEAR_MIPMAP_LINEAR-        gl_TEXTURE_MAG_FILTER = JS.gl_TEXTURE_MAG_FILTER-        gl_TEXTURE_MIN_FILTER = JS.gl_TEXTURE_MIN_FILTER-        gl_TEXTURE_WRAP_S = JS.gl_TEXTURE_WRAP_S-        gl_TEXTURE_WRAP_T = JS.gl_TEXTURE_WRAP_T-        gl_TEXTURE_2D = JS.gl_TEXTURE_2D-        gl_TEXTURE = JS.gl_TEXTURE-        gl_TEXTURE_CUBE_MAP = JS.gl_TEXTURE_CUBE_MAP-        gl_TEXTURE_BINDING_CUBE_MAP = JS.gl_TEXTURE_BINDING_CUBE_MAP-        gl_TEXTURE_CUBE_MAP_POSITIVE_X = JS.gl_TEXTURE_CUBE_MAP_POSITIVE_X-        gl_TEXTURE_CUBE_MAP_NEGATIVE_X = JS.gl_TEXTURE_CUBE_MAP_NEGATIVE_X-        gl_TEXTURE_CUBE_MAP_POSITIVE_Y = JS.gl_TEXTURE_CUBE_MAP_POSITIVE_Y-        gl_TEXTURE_CUBE_MAP_NEGATIVE_Y = JS.gl_TEXTURE_CUBE_MAP_NEGATIVE_Y-        gl_TEXTURE_CUBE_MAP_POSITIVE_Z = JS.gl_TEXTURE_CUBE_MAP_POSITIVE_Z-        gl_TEXTURE_CUBE_MAP_NEGATIVE_Z = JS.gl_TEXTURE_CUBE_MAP_NEGATIVE_Z-        gl_MAX_CUBE_MAP_TEXTURE_SIZE = JS.gl_MAX_CUBE_MAP_TEXTURE_SIZE-        gl_TEXTURE0 = JS.gl_TEXTURE0-        gl_TEXTURE1 = JS.gl_TEXTURE1-        gl_TEXTURE2 = JS.gl_TEXTURE2-        gl_TEXTURE3 = JS.gl_TEXTURE3-        gl_TEXTURE4 = JS.gl_TEXTURE4-        gl_TEXTURE5 = JS.gl_TEXTURE5-        gl_TEXTURE6 = JS.gl_TEXTURE6-        gl_TEXTURE7 = JS.gl_TEXTURE7-        gl_TEXTURE8 = JS.gl_TEXTURE8-        gl_TEXTURE9 = JS.gl_TEXTURE9-        gl_TEXTURE10 = JS.gl_TEXTURE10-        gl_TEXTURE11 = JS.gl_TEXTURE11-        gl_TEXTURE12 = JS.gl_TEXTURE12-        gl_TEXTURE13 = JS.gl_TEXTURE13-        gl_TEXTURE14 = JS.gl_TEXTURE14-        gl_TEXTURE15 = JS.gl_TEXTURE15-        gl_TEXTURE16 = JS.gl_TEXTURE16-        gl_TEXTURE17 = JS.gl_TEXTURE17-        gl_TEXTURE18 = JS.gl_TEXTURE18-        gl_TEXTURE19 = JS.gl_TEXTURE19-        gl_TEXTURE20 = JS.gl_TEXTURE20-        gl_TEXTURE21 = JS.gl_TEXTURE21-        gl_TEXTURE22 = JS.gl_TEXTURE22-        gl_TEXTURE23 = JS.gl_TEXTURE23-        gl_TEXTURE24 = JS.gl_TEXTURE24-        gl_TEXTURE25 = JS.gl_TEXTURE25-        gl_TEXTURE26 = JS.gl_TEXTURE26-        gl_TEXTURE27 = JS.gl_TEXTURE27-        gl_TEXTURE28 = JS.gl_TEXTURE28-        gl_TEXTURE29 = JS.gl_TEXTURE29-        gl_TEXTURE30 = JS.gl_TEXTURE30-        gl_TEXTURE31 = JS.gl_TEXTURE31-        gl_ACTIVE_TEXTURE = JS.gl_ACTIVE_TEXTURE-        gl_REPEAT = JS.gl_REPEAT-        gl_CLAMP_TO_EDGE = JS.gl_CLAMP_TO_EDGE-        gl_MIRRORED_REPEAT = JS.gl_MIRRORED_REPEAT-        gl_FLOAT_VEC2 = JS.gl_FLOAT_VEC2-        gl_FLOAT_VEC3 = JS.gl_FLOAT_VEC3-        gl_FLOAT_VEC4 = JS.gl_FLOAT_VEC4-        gl_INT_VEC2 = JS.gl_INT_VEC2-        gl_INT_VEC3 = JS.gl_INT_VEC3-        gl_INT_VEC4 = JS.gl_INT_VEC4-        gl_BOOL = JS.gl_BOOL-        gl_BOOL_VEC2 = JS.gl_BOOL_VEC2-        gl_BOOL_VEC3 = JS.gl_BOOL_VEC3-        gl_BOOL_VEC4 = JS.gl_BOOL_VEC4-        gl_FLOAT_MAT2 = JS.gl_FLOAT_MAT2-        gl_FLOAT_MAT3 = JS.gl_FLOAT_MAT3-        gl_FLOAT_MAT4 = JS.gl_FLOAT_MAT4-        gl_SAMPLER_2D = JS.gl_SAMPLER_2D-        gl_SAMPLER_CUBE = JS.gl_SAMPLER_CUBE-        gl_VERTEX_ATTRIB_ARRAY_ENABLED = JS.gl_VERTEX_ATTRIB_ARRAY_ENABLED-        gl_VERTEX_ATTRIB_ARRAY_SIZE = JS.gl_VERTEX_ATTRIB_ARRAY_SIZE-        gl_VERTEX_ATTRIB_ARRAY_STRIDE = JS.gl_VERTEX_ATTRIB_ARRAY_STRIDE-        gl_VERTEX_ATTRIB_ARRAY_TYPE = JS.gl_VERTEX_ATTRIB_ARRAY_TYPE-        gl_VERTEX_ATTRIB_ARRAY_NORMALIZED = JS.gl_VERTEX_ATTRIB_ARRAY_NORMALIZED-        gl_VERTEX_ATTRIB_ARRAY_POINTER = JS.gl_VERTEX_ATTRIB_ARRAY_POINTER-        gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = JS.gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING-        gl_COMPILE_STATUS = JS.gl_COMPILE_STATUS-        gl_LOW_FLOAT = JS.gl_LOW_FLOAT-        gl_MEDIUM_FLOAT = JS.gl_MEDIUM_FLOAT-        gl_HIGH_FLOAT = JS.gl_HIGH_FLOAT-        gl_LOW_INT = JS.gl_LOW_INT-        gl_MEDIUM_INT = JS.gl_MEDIUM_INT-        gl_HIGH_INT = JS.gl_HIGH_INT-        gl_FRAMEBUFFER = JS.gl_FRAMEBUFFER-        gl_RENDERBUFFER = JS.gl_RENDERBUFFER-        gl_RGBA4 = JS.gl_RGBA4-        gl_RGB5_A1 = JS.gl_RGB5_A1-        gl_RGB565 = JS.gl_RGB565-        gl_DEPTH_COMPONENT16 = JS.gl_DEPTH_COMPONENT16-        gl_STENCIL_INDEX8 = JS.gl_STENCIL_INDEX8-        gl_RENDERBUFFER_WIDTH = JS.gl_RENDERBUFFER_WIDTH-        gl_RENDERBUFFER_HEIGHT = JS.gl_RENDERBUFFER_HEIGHT-        gl_RENDERBUFFER_INTERNAL_FORMAT = JS.gl_RENDERBUFFER_INTERNAL_FORMAT-        gl_RENDERBUFFER_RED_SIZE = JS.gl_RENDERBUFFER_RED_SIZE-        gl_RENDERBUFFER_GREEN_SIZE = JS.gl_RENDERBUFFER_GREEN_SIZE-        gl_RENDERBUFFER_BLUE_SIZE = JS.gl_RENDERBUFFER_BLUE_SIZE-        gl_RENDERBUFFER_ALPHA_SIZE = JS.gl_RENDERBUFFER_ALPHA_SIZE-        gl_RENDERBUFFER_DEPTH_SIZE = JS.gl_RENDERBUFFER_DEPTH_SIZE-        gl_RENDERBUFFER_STENCIL_SIZE = JS.gl_RENDERBUFFER_STENCIL_SIZE-        gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = JS.gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE-        gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = JS.gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME-        gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = JS.gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL-        gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = JS.gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE-        gl_COLOR_ATTACHMENT0 = JS.gl_COLOR_ATTACHMENT0-        gl_DEPTH_ATTACHMENT = JS.gl_DEPTH_ATTACHMENT-        gl_STENCIL_ATTACHMENT = JS.gl_STENCIL_ATTACHMENT-        gl_NONE = JS.gl_NONE-        gl_FRAMEBUFFER_COMPLETE = JS.gl_FRAMEBUFFER_COMPLETE-        gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = JS.gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT-        gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = JS.gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT-        gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = JS.gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS-        gl_FRAMEBUFFER_UNSUPPORTED = JS.gl_FRAMEBUFFER_UNSUPPORTED-        gl_FRAMEBUFFER_BINDING = JS.gl_FRAMEBUFFER_BINDING-        gl_RENDERBUFFER_BINDING = JS.gl_RENDERBUFFER_BINDING-        gl_MAX_RENDERBUFFER_SIZE = JS.gl_MAX_RENDERBUFFER_SIZE-        gl_INVALID_FRAMEBUFFER_OPERATION = JS.gl_INVALID_FRAMEBUFFER_OPERATION
− FWGL/Backend/JavaScript/Event.hs
@@ -1,200 +0,0 @@--- TODO: rewrite everything--module FWGL.Backend.JavaScript.Event (-        InputEvent(..),-        Source,-        source,-        addEvent,-        addEvents,-        events,-        clear-) where--import Control.Applicative-import Data.Char (toLower, toUpper)-import qualified Data.Hashable as H-import qualified Data.HashMap.Strict as H-import Data.IORef--import GHCJS.Foreign-import GHCJS.Marshal-import GHCJS.Types--import FWGL.Input--type Event = InputEvent--data Source = Source {-        element :: JSRef (),-        eventMap :: IORef (H.HashMap Event [EventData])-}--source :: [Event] -> JSRef a -> IO Source-source es j = do-        s <- Source (castRef j) <$> newIORef H.empty-        addEvents es s-        return s--events :: Source -> IO (H.HashMap Event [EventData])-events (Source _ c) = readIORef c--clear :: Source -> IO (H.HashMap Event [EventData])-clear (Source _ c) = atomicModifyIORef' c $ \m -> (H.empty, m)--addEvents :: [Event] -> Source -> IO ()-addEvents es s = mapM_ (flip addEvent s) es--addEvent :: Event -> Source -> IO ()-addEvent e (Source j c) = asyncCallback1 NeverRetain handler >>=-                          addHandler j (toJSString $ eventName e)-        where -                prop p d =  getProp p d >>= fromJSRef-                handler d = do-                        eventData <- EventData-                                        <$> (do w <- prop "clientWidth" j-                                                h <- prop "clientHeight" j-                                                return $ (,) <$> w <*> h)-                                        <*> (do x <- prop "clientX" d-                                                y <- prop "clientY" d-                                                return $ (,) <$> x <*> y)-                                        <*> ((getButton <$>) <$> prop "button" d)-                                        <*> ((getKey <$>) <$> prop "keyCode" d)-                        modifyIORef c $ H.insertWith (flip (++)) e [ eventData ]--eventName :: Event -> String--- eventName (Other s) = s--- eventName DoubleClick = "dblclick"-eventName s = map toLower . show $ s--getButton :: Int -> MouseButton-getButton 0 = MouseLeft-getButton 1 = MouseMiddle-getButton 2 = MouseRight--foreign import javascript unsafe "$1.addEventListener($2, $3)"-        addHandler :: JSRef a -> JSString -> JSFun (JSRef b -> IO ()) -> IO ()--getKey :: Int -> Key-getKey 65 = KeyA-getKey 66 = KeyB-getKey 67 = KeyC-getKey 68 = KeyD-getKey 69 = KeyE-getKey 70 = KeyF-getKey 71 = KeyG-getKey 72 = KeyH-getKey 73 = KeyI-getKey 74 = KeyJ-getKey 75 = KeyK-getKey 76 = KeyL-getKey 77 = KeyM-getKey 78 = KeyN-getKey 79 = KeyO-getKey 80 = KeyP-getKey 81 = KeyQ-getKey 82 = KeyR-getKey 83 = KeyS-getKey 84 = KeyT-getKey 85 = KeyU-getKey 86 = KeyV-getKey 87 = KeyW-getKey 88 = KeyX-getKey 89 = KeyY-getKey 90 = KeyZ-getKey 97 = KeyA-getKey 98 = KeyB-getKey 99 = KeyC-getKey 100 = KeyD-getKey 101 = KeyE-getKey 102 = KeyF-getKey 103 = KeyG-getKey 104 = KeyH-getKey 105 = KeyI-getKey 106 = KeyJ-getKey 107 = KeyK-getKey 108 = KeyL-getKey 109 = KeyM-getKey 110 = KeyN-getKey 111 = KeyO-getKey 112 = KeyP-getKey 113 = KeyQ-getKey 114 = KeyR-getKey 115 = KeyS-getKey 116 = KeyT-getKey 117 = KeyU-getKey 118 = KeyV-getKey 119 = KeyW-getKey 120 = KeyX-getKey 121 = KeyY-getKey 122 = KeyZ-getKey 48 = Key0-getKey 49 = Key1-getKey 50 = Key2-getKey 51 = Key3-getKey 52 = Key4-getKey 53 = Key5-getKey 54 = Key6-getKey 55 = Key7-getKey 56 = Key8-getKey 57 = Key9-getKey 32 = KeySpace-getKey 13 = KeyEnter-getKey 9 = KeyTab-getKey 27 = KeyEsc-getKey 8 = KeyBackspace-getKey 16 = KeyShift-getKey 17 = KeyControl-getKey 18 = KeyAlt-getKey 20 = KeyCapsLock-getKey 144 = KeyNumLock-getKey 37 = KeyArrowLeft-getKey 38 = KeyArrowUp-getKey 39 = KeyArrowRight-getKey 40 = KeyArrowDown-getKey 45 = KeyIns-getKey 46 = KeyDel-getKey 36 = KeyHome-getKey 35 = KeyEnd-getKey 33 = KeyPgUp-getKey 34 = KeyPgDown-getKey 112 = KeyF1-getKey 113 = KeyF2-getKey 114 = KeyF3-getKey 115 = KeyF4-getKey 116 = KeyF5-getKey 117 = KeyF6-getKey 118 = KeyF7-getKey 119 = KeyF8-getKey 120 = KeyF9-getKey 121 = KeyF10-getKey 122 = KeyF11-getKey 123 = KeyF12-getKey 46 = KeyPadDel-getKey 45 = KeyPadIns-getKey 35 = KeyPadEnd-getKey 40 = KeyPadDown-getKey 34 = KeyPadPgDown-getKey 37 = KeyPadLeft-getKey 39 = KeyPadRight-getKey 36 = KeyPadHome-getKey 38 = KeyPadUp-getKey 33 = KeyPadPgUp-getKey 107 = KeyPadAdd-getKey 109 = KeyPadSub-getKey 106 = KeyPadMul-getKey 111 = KeyPadDiv-getKey 13 = KeyPadEnter-getKey 46 = KeyPadDot-getKey 48 = KeyPad0-getKey 49 = KeyPad1-getKey 50 = KeyPad2-getKey 51 = KeyPad3-getKey 52 = KeyPad4-getKey 53 = KeyPad5-getKey 54 = KeyPad6-getKey 55 = KeyPad7-getKey 56 = KeyPad8-getKey 57 = KeyPad9-getKey _ = KeyUnknown--- TODO: letters, numbers--- TODO: fix overlapping patterns
− FWGL/Backend/JavaScript/WebGL.hs
@@ -1,5 +0,0 @@-module FWGL.Backend.JavaScript.WebGL (module W) where--import FWGL.Backend.JavaScript.WebGL.Const as W-import FWGL.Backend.JavaScript.WebGL.Raw as W-import FWGL.Backend.JavaScript.WebGL.Types as W
− FWGL/Backend/JavaScript/WebGL/Const.hs
@@ -1,886 +0,0 @@-module FWGL.Backend.JavaScript.WebGL.Const where--gl_DEPTH_BUFFER_BIT :: Num a => a-gl_DEPTH_BUFFER_BIT = 0x00000100--gl_STENCIL_BUFFER_BIT :: Num a => a-gl_STENCIL_BUFFER_BIT = 0x00000400--gl_COLOR_BUFFER_BIT :: Num a => a-gl_COLOR_BUFFER_BIT = 0x00004000--gl_POINTS :: Num a => a-gl_POINTS = 0x0000--gl_LINES :: Num a => a-gl_LINES = 0x0001--gl_LINE_LOOP :: Num a => a-gl_LINE_LOOP = 0x0002--gl_LINE_STRIP :: Num a => a-gl_LINE_STRIP = 0x0003--gl_TRIANGLES :: Num a => a-gl_TRIANGLES = 0x0004--gl_TRIANGLE_STRIP :: Num a => a-gl_TRIANGLE_STRIP = 0x0005--gl_TRIANGLE_FAN :: Num a => a-gl_TRIANGLE_FAN = 0x0006--gl_ZERO :: Num a => a-gl_ZERO = 0--gl_ONE :: Num a => a-gl_ONE = 1--gl_SRC_COLOR :: Num a => a-gl_SRC_COLOR = 0x0300--gl_ONE_MINUS_SRC_COLOR :: Num a => a-gl_ONE_MINUS_SRC_COLOR = 0x0301--gl_SRC_ALPHA :: Num a => a-gl_SRC_ALPHA = 0x0302--gl_ONE_MINUS_SRC_ALPHA :: Num a => a-gl_ONE_MINUS_SRC_ALPHA = 0x0303--gl_DST_ALPHA :: Num a => a-gl_DST_ALPHA = 0x0304--gl_ONE_MINUS_DST_ALPHA :: Num a => a-gl_ONE_MINUS_DST_ALPHA = 0x0305--gl_DST_COLOR :: Num a => a-gl_DST_COLOR = 0x0306--gl_ONE_MINUS_DST_COLOR :: Num a => a-gl_ONE_MINUS_DST_COLOR = 0x0307--gl_SRC_ALPHA_SATURATE :: Num a => a-gl_SRC_ALPHA_SATURATE = 0x0308--gl_FUNC_ADD :: Num a => a-gl_FUNC_ADD = 0x8006--gl_BLEND_EQUATION :: Num a => a-gl_BLEND_EQUATION = 0x8009--gl_BLEND_EQUATION_RGB :: Num a => a-gl_BLEND_EQUATION_RGB = 0x8009   --gl_BLEND_EQUATION_ALPHA :: Num a => a-gl_BLEND_EQUATION_ALPHA = 0x883D--gl_FUNC_SUBTRACT :: Num a => a-gl_FUNC_SUBTRACT = 0x800A--gl_FUNC_REVERSE_SUBTRACT :: Num a => a-gl_FUNC_REVERSE_SUBTRACT = 0x800B--gl_BLEND_DST_RGB :: Num a => a-gl_BLEND_DST_RGB = 0x80C8--gl_BLEND_SRC_RGB :: Num a => a-gl_BLEND_SRC_RGB = 0x80C9--gl_BLEND_DST_ALPHA :: Num a => a-gl_BLEND_DST_ALPHA = 0x80CA--gl_BLEND_SRC_ALPHA :: Num a => a-gl_BLEND_SRC_ALPHA = 0x80CB--gl_CONSTANT_COLOR :: Num a => a-gl_CONSTANT_COLOR = 0x8001--gl_ONE_MINUS_CONSTANT_COLOR :: Num a => a-gl_ONE_MINUS_CONSTANT_COLOR = 0x8002--gl_CONSTANT_ALPHA :: Num a => a-gl_CONSTANT_ALPHA = 0x8003--gl_ONE_MINUS_CONSTANT_ALPHA :: Num a => a-gl_ONE_MINUS_CONSTANT_ALPHA = 0x8004--gl_BLEND_COLOR :: Num a => a-gl_BLEND_COLOR = 0x8005--gl_ARRAY_BUFFER :: Num a => a-gl_ARRAY_BUFFER = 0x8892--gl_ELEMENT_ARRAY_BUFFER :: Num a => a-gl_ELEMENT_ARRAY_BUFFER = 0x8893--gl_ARRAY_BUFFER_BINDING :: Num a => a-gl_ARRAY_BUFFER_BINDING = 0x8894--gl_ELEMENT_ARRAY_BUFFER_BINDING :: Num a => a-gl_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895--gl_STREAM_DRAW :: Num a => a-gl_STREAM_DRAW = 0x88E0--gl_STATIC_DRAW :: Num a => a-gl_STATIC_DRAW = 0x88E4--gl_DYNAMIC_DRAW :: Num a => a-gl_DYNAMIC_DRAW = 0x88E8--gl_BUFFER_SIZE :: Num a => a-gl_BUFFER_SIZE = 0x8764--gl_BUFFER_USAGE :: Num a => a-gl_BUFFER_USAGE = 0x8765--gl_CURRENT_VERTEX_ATTRIB :: Num a => a-gl_CURRENT_VERTEX_ATTRIB = 0x8626--gl_FRONT :: Num a => a-gl_FRONT = 0x0404--gl_BACK :: Num a => a-gl_BACK = 0x0405--gl_FRONT_AND_BACK :: Num a => a-gl_FRONT_AND_BACK = 0x0408--gl_CULL_FACE :: Num a => a-gl_CULL_FACE = 0x0B44--gl_BLEND :: Num a => a-gl_BLEND = 0x0BE2--gl_DITHER :: Num a => a-gl_DITHER = 0x0BD0--gl_STENCIL_TEST :: Num a => a-gl_STENCIL_TEST = 0x0B90--gl_DEPTH_TEST :: Num a => a-gl_DEPTH_TEST = 0x0B71--gl_SCISSOR_TEST :: Num a => a-gl_SCISSOR_TEST = 0x0C11--gl_POLYGON_OFFSET_FILL :: Num a => a-gl_POLYGON_OFFSET_FILL = 0x8037--gl_SAMPLE_ALPHA_TO_COVERAGE :: Num a => a-gl_SAMPLE_ALPHA_TO_COVERAGE = 0x809E--gl_SAMPLE_COVERAGE :: Num a => a-gl_SAMPLE_COVERAGE = 0x80A0--gl_NO_ERROR :: Num a => a-gl_NO_ERROR = 0--gl_INVALID_ENUM :: Num a => a-gl_INVALID_ENUM = 0x0500--gl_INVALID_VALUE :: Num a => a-gl_INVALID_VALUE = 0x0501--gl_INVALID_OPERATION :: Num a => a-gl_INVALID_OPERATION = 0x0502--gl_OUT_OF_MEMORY :: Num a => a-gl_OUT_OF_MEMORY = 0x0505--gl_CW :: Num a => a-gl_CW = 0x0900--gl_CCW :: Num a => a-gl_CCW = 0x0901--gl_LINE_WIDTH :: Num a => a-gl_LINE_WIDTH = 0x0B21--gl_ALIASED_POINT_SIZE_RANGE :: Num a => a-gl_ALIASED_POINT_SIZE_RANGE = 0x846D--gl_ALIASED_LINE_WIDTH_RANGE :: Num a => a-gl_ALIASED_LINE_WIDTH_RANGE = 0x846E--gl_CULL_FACE_MODE :: Num a => a-gl_CULL_FACE_MODE = 0x0B45--gl_FRONT_FACE :: Num a => a-gl_FRONT_FACE = 0x0B46--gl_DEPTH_RANGE :: Num a => a-gl_DEPTH_RANGE = 0x0B70--gl_DEPTH_WRITEMASK :: Num a => a-gl_DEPTH_WRITEMASK = 0x0B72--gl_DEPTH_CLEAR_VALUE :: Num a => a-gl_DEPTH_CLEAR_VALUE = 0x0B73--gl_DEPTH_FUNC :: Num a => a-gl_DEPTH_FUNC = 0x0B74--gl_STENCIL_CLEAR_VALUE :: Num a => a-gl_STENCIL_CLEAR_VALUE = 0x0B91--gl_STENCIL_FUNC :: Num a => a-gl_STENCIL_FUNC = 0x0B92--gl_STENCIL_FAIL :: Num a => a-gl_STENCIL_FAIL = 0x0B94--gl_STENCIL_PASS_DEPTH_FAIL :: Num a => a-gl_STENCIL_PASS_DEPTH_FAIL = 0x0B95--gl_STENCIL_PASS_DEPTH_PASS :: Num a => a-gl_STENCIL_PASS_DEPTH_PASS = 0x0B96--gl_STENCIL_REF :: Num a => a-gl_STENCIL_REF = 0x0B97--gl_STENCIL_VALUE_MASK :: Num a => a-gl_STENCIL_VALUE_MASK = 0x0B93--gl_STENCIL_WRITEMASK :: Num a => a-gl_STENCIL_WRITEMASK = 0x0B98--gl_STENCIL_BACK_FUNC :: Num a => a-gl_STENCIL_BACK_FUNC = 0x8800--gl_STENCIL_BACK_FAIL :: Num a => a-gl_STENCIL_BACK_FAIL = 0x8801--gl_STENCIL_BACK_PASS_DEPTH_FAIL :: Num a => a-gl_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802--gl_STENCIL_BACK_PASS_DEPTH_PASS :: Num a => a-gl_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803--gl_STENCIL_BACK_REF :: Num a => a-gl_STENCIL_BACK_REF = 0x8CA3--gl_STENCIL_BACK_VALUE_MASK :: Num a => a-gl_STENCIL_BACK_VALUE_MASK = 0x8CA4--gl_STENCIL_BACK_WRITEMASK :: Num a => a-gl_STENCIL_BACK_WRITEMASK = 0x8CA5--gl_VIEWPORT :: Num a => a-gl_VIEWPORT = 0x0BA2--gl_SCISSOR_BOX :: Num a => a-gl_SCISSOR_BOX = 0x0C10--gl_COLOR_CLEAR_VALUE :: Num a => a-gl_COLOR_CLEAR_VALUE = 0x0C22--gl_COLOR_WRITEMASK :: Num a => a-gl_COLOR_WRITEMASK = 0x0C23--gl_UNPACK_ALIGNMENT :: Num a => a-gl_UNPACK_ALIGNMENT = 0x0CF5--gl_PACK_ALIGNMENT :: Num a => a-gl_PACK_ALIGNMENT = 0x0D05--gl_MAX_TEXTURE_SIZE :: Num a => a-gl_MAX_TEXTURE_SIZE = 0x0D33--gl_MAX_VIEWPORT_DIMS :: Num a => a-gl_MAX_VIEWPORT_DIMS = 0x0D3A--gl_SUBPIXEL_BITS :: Num a => a-gl_SUBPIXEL_BITS = 0x0D50--gl_RED_BITS :: Num a => a-gl_RED_BITS = 0x0D52--gl_GREEN_BITS :: Num a => a-gl_GREEN_BITS = 0x0D53--gl_BLUE_BITS :: Num a => a-gl_BLUE_BITS = 0x0D54--gl_ALPHA_BITS :: Num a => a-gl_ALPHA_BITS = 0x0D55--gl_DEPTH_BITS :: Num a => a-gl_DEPTH_BITS = 0x0D56--gl_STENCIL_BITS :: Num a => a-gl_STENCIL_BITS = 0x0D57--gl_POLYGON_OFFSET_UNITS :: Num a => a-gl_POLYGON_OFFSET_UNITS = 0x2A00--gl_POLYGON_OFFSET_FACTOR :: Num a => a-gl_POLYGON_OFFSET_FACTOR = 0x8038--gl_TEXTURE_BINDING_2D :: Num a => a-gl_TEXTURE_BINDING_2D = 0x8069--gl_SAMPLE_BUFFERS :: Num a => a-gl_SAMPLE_BUFFERS = 0x80A8--gl_SAMPLES :: Num a => a-gl_SAMPLES = 0x80A9--gl_SAMPLE_COVERAGE_VALUE :: Num a => a-gl_SAMPLE_COVERAGE_VALUE = 0x80AA--gl_SAMPLE_COVERAGE_INVERT :: Num a => a-gl_SAMPLE_COVERAGE_INVERT = 0x80AB--gl_COMPRESSED_TEXTURE_FORMATS :: Num a => a-gl_COMPRESSED_TEXTURE_FORMATS = 0x86A3--gl_DONT_CARE :: Num a => a-gl_DONT_CARE = 0x1100--gl_FASTEST :: Num a => a-gl_FASTEST = 0x1101--gl_NICEST :: Num a => a-gl_NICEST = 0x1102--gl_GENERATE_MIPMAP_HINT :: Num a => a-gl_GENERATE_MIPMAP_HINT = 0x8192--gl_BYTE :: Num a => a-gl_BYTE = 0x1400--gl_UNSIGNED_BYTE :: Num a => a-gl_UNSIGNED_BYTE = 0x1401--gl_SHORT :: Num a => a-gl_SHORT = 0x1402--gl_UNSIGNED_SHORT :: Num a => a-gl_UNSIGNED_SHORT = 0x1403--gl_INT :: Num a => a-gl_INT = 0x1404--gl_UNSIGNED_INT :: Num a => a-gl_UNSIGNED_INT = 0x1405--gl_FLOAT :: Num a => a-gl_FLOAT = 0x1406--gl_DEPTH_COMPONENT :: Num a => a-gl_DEPTH_COMPONENT = 0x1902--gl_ALPHA :: Num a => a-gl_ALPHA = 0x1906--gl_RGB :: Num a => a-gl_RGB = 0x1907--gl_RGBA :: Num a => a-gl_RGBA = 0x1908--gl_LUMINANCE :: Num a => a-gl_LUMINANCE = 0x1909--gl_LUMINANCE_ALPHA :: Num a => a-gl_LUMINANCE_ALPHA = 0x190A--gl_UNSIGNED_SHORT_4_4_4_4 :: Num a => a-gl_UNSIGNED_SHORT_4_4_4_4 = 0x8033--gl_UNSIGNED_SHORT_5_5_5_1 :: Num a => a-gl_UNSIGNED_SHORT_5_5_5_1 = 0x8034--gl_UNSIGNED_SHORT_5_6_5 :: Num a => a-gl_UNSIGNED_SHORT_5_6_5 = 0x8363--gl_FRAGMENT_SHADER :: Num a => a-gl_FRAGMENT_SHADER = 0x8B30--gl_VERTEX_SHADER :: Num a => a-gl_VERTEX_SHADER = 0x8B31--gl_MAX_VERTEX_ATTRIBS :: Num a => a-gl_MAX_VERTEX_ATTRIBS = 0x8869--gl_MAX_VERTEX_UNIFORM_VECTORS :: Num a => a-gl_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB--gl_MAX_VARYING_VECTORS :: Num a => a-gl_MAX_VARYING_VECTORS = 0x8DFC--gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: Num a => a-gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D--gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: Num a => a-gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C--gl_MAX_TEXTURE_IMAGE_UNITS :: Num a => a-gl_MAX_TEXTURE_IMAGE_UNITS = 0x8872--gl_MAX_FRAGMENT_UNIFORM_VECTORS :: Num a => a-gl_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD--gl_SHADER_TYPE :: Num a => a-gl_SHADER_TYPE = 0x8B4F--gl_DELETE_STATUS :: Num a => a-gl_DELETE_STATUS = 0x8B80--gl_LINK_STATUS :: Num a => a-gl_LINK_STATUS = 0x8B82--gl_VALIDATE_STATUS :: Num a => a-gl_VALIDATE_STATUS = 0x8B83--gl_ATTACHED_SHADERS :: Num a => a-gl_ATTACHED_SHADERS = 0x8B85--gl_ACTIVE_UNIFORMS :: Num a => a-gl_ACTIVE_UNIFORMS = 0x8B86--gl_ACTIVE_ATTRIBUTES :: Num a => a-gl_ACTIVE_ATTRIBUTES = 0x8B89--gl_SHADING_LANGUAGE_VERSION :: Num a => a-gl_SHADING_LANGUAGE_VERSION = 0x8B8C--gl_CURRENT_PROGRAM :: Num a => a-gl_CURRENT_PROGRAM = 0x8B8D--gl_NEVER :: Num a => a-gl_NEVER = 0x0200--gl_LESS :: Num a => a-gl_LESS = 0x0201--gl_EQUAL :: Num a => a-gl_EQUAL = 0x0202--gl_LEQUAL :: Num a => a-gl_LEQUAL = 0x0203--gl_GREATER :: Num a => a-gl_GREATER = 0x0204--gl_NOTEQUAL :: Num a => a-gl_NOTEQUAL = 0x0205--gl_GEQUAL :: Num a => a-gl_GEQUAL = 0x0206--gl_ALWAYS :: Num a => a-gl_ALWAYS = 0x0207--gl_KEEP :: Num a => a-gl_KEEP = 0x1E00--gl_REPLACE :: Num a => a-gl_REPLACE = 0x1E01--gl_INCR :: Num a => a-gl_INCR = 0x1E02--gl_DECR :: Num a => a-gl_DECR = 0x1E03--gl_INVERT :: Num a => a-gl_INVERT = 0x150A--gl_INCR_WRAP :: Num a => a-gl_INCR_WRAP = 0x8507--gl_DECR_WRAP :: Num a => a-gl_DECR_WRAP = 0x8508--gl_VENDOR :: Num a => a-gl_VENDOR = 0x1F00--gl_RENDERER :: Num a => a-gl_RENDERER = 0x1F01--gl_VERSION :: Num a => a-gl_VERSION = 0x1F02--gl_NEAREST :: Num a => a-gl_NEAREST = 0x2600--gl_LINEAR :: Num a => a-gl_LINEAR = 0x2601--gl_NEAREST_MIPMAP_NEAREST :: Num a => a-gl_NEAREST_MIPMAP_NEAREST = 0x2700--gl_LINEAR_MIPMAP_NEAREST :: Num a => a-gl_LINEAR_MIPMAP_NEAREST = 0x2701--gl_NEAREST_MIPMAP_LINEAR :: Num a => a-gl_NEAREST_MIPMAP_LINEAR = 0x2702--gl_LINEAR_MIPMAP_LINEAR :: Num a => a-gl_LINEAR_MIPMAP_LINEAR = 0x2703--gl_TEXTURE_MAG_FILTER :: Num a => a-gl_TEXTURE_MAG_FILTER = 0x2800--gl_TEXTURE_MIN_FILTER :: Num a => a-gl_TEXTURE_MIN_FILTER = 0x2801--gl_TEXTURE_WRAP_S :: Num a => a-gl_TEXTURE_WRAP_S = 0x2802--gl_TEXTURE_WRAP_T :: Num a => a-gl_TEXTURE_WRAP_T = 0x2803--gl_TEXTURE_2D :: Num a => a-gl_TEXTURE_2D = 0x0DE1--gl_TEXTURE :: Num a => a-gl_TEXTURE = 0x1702--gl_TEXTURE_CUBE_MAP :: Num a => a-gl_TEXTURE_CUBE_MAP = 0x8513--gl_TEXTURE_BINDING_CUBE_MAP :: Num a => a-gl_TEXTURE_BINDING_CUBE_MAP = 0x8514--gl_TEXTURE_CUBE_MAP_POSITIVE_X :: Num a => a-gl_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515--gl_TEXTURE_CUBE_MAP_NEGATIVE_X :: Num a => a-gl_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516--gl_TEXTURE_CUBE_MAP_POSITIVE_Y :: Num a => a-gl_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517--gl_TEXTURE_CUBE_MAP_NEGATIVE_Y :: Num a => a-gl_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518--gl_TEXTURE_CUBE_MAP_POSITIVE_Z :: Num a => a-gl_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519--gl_TEXTURE_CUBE_MAP_NEGATIVE_Z :: Num a => a-gl_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A--gl_MAX_CUBE_MAP_TEXTURE_SIZE :: Num a => a-gl_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C--gl_TEXTURE0 :: Num a => a-gl_TEXTURE0 = 0x84C0--gl_TEXTURE1 :: Num a => a-gl_TEXTURE1 = 0x84C1--gl_TEXTURE2 :: Num a => a-gl_TEXTURE2 = 0x84C2--gl_TEXTURE3 :: Num a => a-gl_TEXTURE3 = 0x84C3--gl_TEXTURE4 :: Num a => a-gl_TEXTURE4 = 0x84C4--gl_TEXTURE5 :: Num a => a-gl_TEXTURE5 = 0x84C5--gl_TEXTURE6 :: Num a => a-gl_TEXTURE6 = 0x84C6--gl_TEXTURE7 :: Num a => a-gl_TEXTURE7 = 0x84C7--gl_TEXTURE8 :: Num a => a-gl_TEXTURE8 = 0x84C8--gl_TEXTURE9 :: Num a => a-gl_TEXTURE9 = 0x84C9--gl_TEXTURE10 :: Num a => a-gl_TEXTURE10 = 0x84CA--gl_TEXTURE11 :: Num a => a-gl_TEXTURE11 = 0x84CB--gl_TEXTURE12 :: Num a => a-gl_TEXTURE12 = 0x84CC--gl_TEXTURE13 :: Num a => a-gl_TEXTURE13 = 0x84CD--gl_TEXTURE14 :: Num a => a-gl_TEXTURE14 = 0x84CE--gl_TEXTURE15 :: Num a => a-gl_TEXTURE15 = 0x84CF--gl_TEXTURE16 :: Num a => a-gl_TEXTURE16 = 0x84D0--gl_TEXTURE17 :: Num a => a-gl_TEXTURE17 = 0x84D1--gl_TEXTURE18 :: Num a => a-gl_TEXTURE18 = 0x84D2--gl_TEXTURE19 :: Num a => a-gl_TEXTURE19 = 0x84D3--gl_TEXTURE20 :: Num a => a-gl_TEXTURE20 = 0x84D4--gl_TEXTURE21 :: Num a => a-gl_TEXTURE21 = 0x84D5--gl_TEXTURE22 :: Num a => a-gl_TEXTURE22 = 0x84D6--gl_TEXTURE23 :: Num a => a-gl_TEXTURE23 = 0x84D7--gl_TEXTURE24 :: Num a => a-gl_TEXTURE24 = 0x84D8--gl_TEXTURE25 :: Num a => a-gl_TEXTURE25 = 0x84D9--gl_TEXTURE26 :: Num a => a-gl_TEXTURE26 = 0x84DA--gl_TEXTURE27 :: Num a => a-gl_TEXTURE27 = 0x84DB--gl_TEXTURE28 :: Num a => a-gl_TEXTURE28 = 0x84DC--gl_TEXTURE29 :: Num a => a-gl_TEXTURE29 = 0x84DD--gl_TEXTURE30 :: Num a => a-gl_TEXTURE30 = 0x84DE--gl_TEXTURE31 :: Num a => a-gl_TEXTURE31 = 0x84DF--gl_ACTIVE_TEXTURE :: Num a => a-gl_ACTIVE_TEXTURE = 0x84E0--gl_REPEAT :: Num a => a-gl_REPEAT = 0x2901--gl_CLAMP_TO_EDGE :: Num a => a-gl_CLAMP_TO_EDGE = 0x812F--gl_MIRRORED_REPEAT :: Num a => a-gl_MIRRORED_REPEAT = 0x8370--gl_FLOAT_VEC2 :: Num a => a-gl_FLOAT_VEC2 = 0x8B50--gl_FLOAT_VEC3 :: Num a => a-gl_FLOAT_VEC3 = 0x8B51--gl_FLOAT_VEC4 :: Num a => a-gl_FLOAT_VEC4 = 0x8B52--gl_INT_VEC2 :: Num a => a-gl_INT_VEC2 = 0x8B53--gl_INT_VEC3 :: Num a => a-gl_INT_VEC3 = 0x8B54--gl_INT_VEC4 :: Num a => a-gl_INT_VEC4 = 0x8B55--gl_BOOL :: Num a => a-gl_BOOL = 0x8B56--gl_BOOL_VEC2 :: Num a => a-gl_BOOL_VEC2 = 0x8B57--gl_BOOL_VEC3 :: Num a => a-gl_BOOL_VEC3 = 0x8B58--gl_BOOL_VEC4 :: Num a => a-gl_BOOL_VEC4 = 0x8B59--gl_FLOAT_MAT2 :: Num a => a-gl_FLOAT_MAT2 = 0x8B5A--gl_FLOAT_MAT3 :: Num a => a-gl_FLOAT_MAT3 = 0x8B5B--gl_FLOAT_MAT4 :: Num a => a-gl_FLOAT_MAT4 = 0x8B5C--gl_SAMPLER_2D :: Num a => a-gl_SAMPLER_2D = 0x8B5E--gl_SAMPLER_CUBE :: Num a => a-gl_SAMPLER_CUBE = 0x8B60--gl_VERTEX_ATTRIB_ARRAY_ENABLED :: Num a => a-gl_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622--gl_VERTEX_ATTRIB_ARRAY_SIZE :: Num a => a-gl_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623--gl_VERTEX_ATTRIB_ARRAY_STRIDE :: Num a => a-gl_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624--gl_VERTEX_ATTRIB_ARRAY_TYPE :: Num a => a-gl_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625--gl_VERTEX_ATTRIB_ARRAY_NORMALIZED :: Num a => a-gl_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A--gl_VERTEX_ATTRIB_ARRAY_POINTER :: Num a => a-gl_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645--gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: Num a => a-gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F--gl_COMPILE_STATUS :: Num a => a-gl_COMPILE_STATUS = 0x8B81--gl_LOW_FLOAT :: Num a => a-gl_LOW_FLOAT = 0x8DF0--gl_MEDIUM_FLOAT :: Num a => a-gl_MEDIUM_FLOAT = 0x8DF1--gl_HIGH_FLOAT :: Num a => a-gl_HIGH_FLOAT = 0x8DF2--gl_LOW_INT :: Num a => a-gl_LOW_INT = 0x8DF3--gl_MEDIUM_INT :: Num a => a-gl_MEDIUM_INT = 0x8DF4--gl_HIGH_INT :: Num a => a-gl_HIGH_INT = 0x8DF5--gl_FRAMEBUFFER :: Num a => a-gl_FRAMEBUFFER = 0x8D40--gl_RENDERBUFFER :: Num a => a-gl_RENDERBUFFER = 0x8D41--gl_RGBA4 :: Num a => a-gl_RGBA4 = 0x8056--gl_RGB5_A1 :: Num a => a-gl_RGB5_A1 = 0x8057--gl_RGB565 :: Num a => a-gl_RGB565 = 0x8D62--gl_DEPTH_COMPONENT16 :: Num a => a-gl_DEPTH_COMPONENT16 = 0x81A5--gl_STENCIL_INDEX :: Num a => a-gl_STENCIL_INDEX = 0x1901--gl_STENCIL_INDEX8 :: Num a => a-gl_STENCIL_INDEX8 = 0x8D48--gl_DEPTH_STENCIL :: Num a => a-gl_DEPTH_STENCIL = 0x84F9--gl_RENDERBUFFER_WIDTH :: Num a => a-gl_RENDERBUFFER_WIDTH = 0x8D42--gl_RENDERBUFFER_HEIGHT :: Num a => a-gl_RENDERBUFFER_HEIGHT = 0x8D43--gl_RENDERBUFFER_INTERNAL_FORMAT :: Num a => a-gl_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44--gl_RENDERBUFFER_RED_SIZE :: Num a => a-gl_RENDERBUFFER_RED_SIZE = 0x8D50--gl_RENDERBUFFER_GREEN_SIZE :: Num a => a-gl_RENDERBUFFER_GREEN_SIZE = 0x8D51--gl_RENDERBUFFER_BLUE_SIZE :: Num a => a-gl_RENDERBUFFER_BLUE_SIZE = 0x8D52--gl_RENDERBUFFER_ALPHA_SIZE :: Num a => a-gl_RENDERBUFFER_ALPHA_SIZE = 0x8D53--gl_RENDERBUFFER_DEPTH_SIZE :: Num a => a-gl_RENDERBUFFER_DEPTH_SIZE = 0x8D54--gl_RENDERBUFFER_STENCIL_SIZE :: Num a => a-gl_RENDERBUFFER_STENCIL_SIZE = 0x8D55--gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: Num a => a-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0--gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: Num a => a-gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1--gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: Num a => a-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2--gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: Num a => a-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3--gl_COLOR_ATTACHMENT0 :: Num a => a-gl_COLOR_ATTACHMENT0 = 0x8CE0--gl_DEPTH_ATTACHMENT :: Num a => a-gl_DEPTH_ATTACHMENT = 0x8D00--gl_STENCIL_ATTACHMENT :: Num a => a-gl_STENCIL_ATTACHMENT = 0x8D20--gl_DEPTH_STENCIL_ATTACHMENT :: Num a => a-gl_DEPTH_STENCIL_ATTACHMENT = 0x821A--gl_NONE :: Num a => a-gl_NONE = 0--gl_FRAMEBUFFER_COMPLETE :: Num a => a-gl_FRAMEBUFFER_COMPLETE = 0x8CD5--gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: Num a => a-gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6--gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: Num a => a-gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7--gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: Num a => a-gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9--gl_FRAMEBUFFER_UNSUPPORTED :: Num a => a-gl_FRAMEBUFFER_UNSUPPORTED = 0x8CDD--gl_FRAMEBUFFER_BINDING :: Num a => a-gl_FRAMEBUFFER_BINDING = 0x8CA6--gl_RENDERBUFFER_BINDING :: Num a => a-gl_RENDERBUFFER_BINDING = 0x8CA7--gl_MAX_RENDERBUFFER_SIZE :: Num a => a-gl_MAX_RENDERBUFFER_SIZE = 0x84E8--gl_INVALID_FRAMEBUFFER_OPERATION :: Num a => a-gl_INVALID_FRAMEBUFFER_OPERATION = 0x0506--gl_UNPACK_FLIP_Y_WEBGL :: Num a => a-gl_UNPACK_FLIP_Y_WEBGL = 0x9240--gl_UNPACK_PREMULTIPLY_ALPHA_WEBGL :: Num a => a-gl_UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241--gl_CONTEXT_LOST_WEBGL :: Num a => a-gl_CONTEXT_LOST_WEBGL = 0x9242--gl_UNPACK_COLORSPACE_CONVERSION_WEBGL :: Num a => a-gl_UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243--gl_BROWSER_DEFAULT_WEBGL :: Num a => a-gl_BROWSER_DEFAULT_WEBGL = 0x9244
− FWGL/Backend/JavaScript/WebGL/Raw.hs
@@ -1,514 +0,0 @@-module FWGL.Backend.JavaScript.WebGL.Raw where--import Data.Int-import Data.Word--import GHCJS.Types--import FWGL.Backend.JavaScript.WebGL.Types--foreign import javascript unsafe "$1.activeTexture($2)"-        glActiveTexture :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.attachShader($2, $3)"-        glAttachShader :: Ctx -> Program -> Shader -> IO ()--foreign import javascript unsafe "$1.bindAttribLocation($2, $3, $4)"-        glBindAttribLocation :: Ctx -> Program -> Word -> JSString -> IO ()--foreign import javascript unsafe "$1.bindBuffer($2, $3)"-        glBindBuffer :: Ctx -> Word -> Buffer -> IO ()--foreign import javascript unsafe "$1.bindFramebuffer($2, $3)"-        glBindFramebuffer :: Ctx -> Word -> FrameBuffer -> IO ()--foreign import javascript unsafe "$1.bindRenderbuffer($2, $3)"-        glBindRenderbuffer :: Ctx -> Word -> RenderBuffer -> IO ()--foreign import javascript unsafe "$1.bindTexture($2, $3)"-        glBindTexture :: Ctx -> Word -> Texture -> IO ()--foreign import javascript unsafe "$1.blendColor($2, $3, $4, $5)"-        glBlendColor :: Ctx -> Float -> Float -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.blendEquation($2)"-        glBlendEquation :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.blendEquationSeparate($2, $3)"-        glBlendEquationSeparate :: Ctx -> Word -> Word -> IO ()--foreign import javascript unsafe "$1.blendFunc($2, $3)"-        glBlendFunc :: Ctx -> Word -> Word -> IO ()--foreign import javascript unsafe "$1.blendFuncSeparate($2, $3, $4, $5)"-        glBlendFuncSeparate :: Ctx -> Word -> Word -> Word -> Word -> IO ()--{--foreign import javascript unsafe "$1.bufferData($2, $3, $4)"-        glBufferData :: Ctx -> Word -> Word -> Word -> IO ()--}--foreign import javascript unsafe "$1.bufferData($2, $3, $4)"-        glBufferData :: Ctx -> Word -> ArrayBufferView -> Word -> IO ()--{--foreign import javascript unsafe "$1.bufferData($2, $3, $4)"-        glBufferData :: Ctx -> Word -> ArrayBuffer -> Word -> IO ()--}--foreign import javascript unsafe "$1.bufferSubData($2, $3, $4)"-        glBufferSubData :: Ctx -> Word -> Word -> ArrayBufferView -> IO ()--{--foreign import javascript unsafe "$1.bufferSubData($2, $3, $4)"-        glBufferSubData :: Ctx -> Word -> Word -> ArrayBuffer -> IO ()--}--foreign import javascript unsafe "$1.checkFramebufferStatus($2)"-        glCheckFramebufferStatus :: Ctx -> Word -> IO Word--foreign import javascript unsafe "$1.clear($2)"-        glClear :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.clearColor($2, $3, $4, $5)"-        glClearColor :: Ctx -> Float -> Float -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.clearDepth($2)"-        glClearDepth :: Ctx -> Float -> IO ()--foreign import javascript unsafe "$1.clearStencil($2)"-        glClearStencil :: Ctx -> Int -> IO ()--foreign import javascript unsafe "$1.colorMask($2, $3, $4, $5)"-        glColorMask :: Ctx -> Bool -> Bool -> Bool -> Bool -> IO ()--foreign import javascript unsafe "$1.compileShader($2)"-        glCompileShader :: Ctx -> Shader -> IO ()--foreign import javascript unsafe "$1.compressedTexImage2D($2, $3, $4, $5, $6, $7, $8)"-        glCompressedTexImage2D :: Ctx -> Word -> Int -> Word -> Int -> Int -> Int -> ArrayBufferView -> IO ()--foreign import javascript unsafe "$1.compressedTexSubImage2D($2, $3, $4, $5, $6, $7, $8, $9)"-        glCompressedTexSubImage2D :: Ctx -> Word -> Int -> Int -> Int -> Int -> Int -> Word -> ArrayBufferView -> IO ()--foreign import javascript unsafe "$1.copyTexImage2D($2, $3, $4, $5, $6, $7, $8, $9)"-        glCopyTexImage2D :: Ctx -> Word -> Int -> Word -> Int -> Int -> Int -> Int -> Int -> IO ()--foreign import javascript unsafe "$1.copyTexSubImage2D($2, $3, $4, $5, $6, $7, $8, $9)"-        glCopyTexSubImage2D :: Ctx -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()--foreign import javascript unsafe "$1.createBuffer()"-        glCreateBuffer :: Ctx -> IO Buffer--foreign import javascript unsafe "$1.createFramebuffer()"-        glCreateFramebuffer :: Ctx -> IO FrameBuffer--foreign import javascript unsafe "$1.createProgram()"-        glCreateProgram :: Ctx -> IO Program--foreign import javascript unsafe "$1.createRenderbuffer()"-        glCreateRenderbuffer :: Ctx -> IO RenderBuffer--foreign import javascript unsafe "$1.createShader($2)"-        glCreateShader :: Ctx -> Word -> IO Shader--foreign import javascript unsafe "$1.createTexture()"-        glCreateTexture :: Ctx -> IO Texture--foreign import javascript unsafe "$1.cullFace($2)"-        glCullFace :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.deleteBuffer($2)"-        glDeleteBuffer :: Ctx -> Buffer -> IO ()--foreign import javascript unsafe "$1.deleteFramebuffer($2)"-        glDeleteFramebuffer :: Ctx -> FrameBuffer -> IO ()--foreign import javascript unsafe "$1.deleteProgram($2)"-        glDeleteProgram :: Ctx -> Program -> IO ()--foreign import javascript unsafe "$1.deleteRenderbuffer($2)"-        glDeleteRenderbuffer :: Ctx -> RenderBuffer -> IO ()--foreign import javascript unsafe "$1.deleteShader($2)"-        glDeleteShader :: Ctx -> Shader -> IO ()--foreign import javascript unsafe "$1.deleteTexture($2)"-        glDeleteTexture :: Ctx -> Texture -> IO ()--foreign import javascript unsafe "$1.depthFunc($2)"-        glDepthFunc :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.depthMask($2)"-        glDepthMask :: Ctx -> Bool -> IO ()--foreign import javascript unsafe "$1.depthRange($2, $3)"-        glDepthRange :: Ctx -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.detachShader($2, $3)"-        glDetachShader :: Ctx -> Program -> Shader -> IO ()--foreign import javascript unsafe "$1.disable($2)"-        glDisable :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.disableVertexAttribArray($2)"-        glDisableVertexAttribArray :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.drawArrays($2, $3, $4)"-        glDrawArrays :: Ctx -> Word -> Int -> Int -> IO ()--foreign import javascript unsafe "$1.drawElements($2, $3, $4, $5)"-        glDrawElements :: Ctx -> Word -> Int -> Word -> Word -> IO ()--foreign import javascript unsafe "$1.enable($2)"-        glEnable :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.enableVertexAttribArray($2)"-        glEnableVertexAttribArray :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.finish()"-        glFinish :: Ctx -> IO ()--foreign import javascript unsafe "$1.flush()"-        glFlush :: Ctx -> IO ()--foreign import javascript unsafe "$1.framebufferRenderbuffer($2, $3, $4, $5)"-        glFramebufferRenderbuffer :: Ctx -> Word -> Word -> Word -> RenderBuffer -> IO ()--foreign import javascript unsafe "$1.framebufferTexture2D($2, $3, $4, $5, $6)"-        glFramebufferTexture2D :: Ctx -> Word -> Word -> Word -> Texture -> Int -> IO ()--foreign import javascript unsafe "$1.frontFace($2)"-        glFrontFace :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.generateMipmap($2)"-        glGenerateMipmap :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.getActiveAttrib($2, $3)"-        glGetActiveAttrib :: Ctx -> Program -> Word -> IO ActiveInfo--foreign import javascript unsafe "$1.getActiveUniform($2, $3)"-        glGetActiveUniform :: Ctx -> Program -> Word -> IO ActiveInfo--{--foreign import javascript unsafe "$1.getAttachedShaders($2)"-        glGetAttachedShaders :: Ctx -> Program -> IO (Sequence Shader)--}--foreign import javascript unsafe "$1.getAttribLocation($2, $3)"-        glGetAttribLocation :: Ctx -> Program -> JSString -> IO Int--foreign import javascript unsafe "$1.getBufferParameter($2, $3)"-        glGetBufferParameter :: Ctx -> Word -> Word -> IO (JSRef a)--foreign import javascript unsafe "$1.getParameter($2)"-        glGetParameter :: Ctx -> Word -> IO (JSRef a)--foreign import javascript unsafe "$1.getError()"-        glGetError :: Ctx -> IO Word--foreign import javascript unsafe "$1.getFramebufferAttachmentParameter($2, $3)"-        glGetFramebufferAttachmentParameter :: Ctx -> Word -> Word -> IO Word--foreign import javascript unsafe "$1.getProgramInfoLog($2)"-        glGetProgramInfoLog :: Ctx -> Program -> IO JSString--foreign import javascript unsafe "$1.getRenderbufferParameter($2, $3)"-        glGetRenderbufferParameter :: Ctx -> Word -> Word -> IO (JSRef a)--foreign import javascript unsafe "$1.getShaderParameter($2, $3)"-        glGetShaderParameter :: Ctx -> Shader -> Word -> IO (JSRef a)--foreign import javascript unsafe "$1.getShaderPrecisionFormat($2, $3)"-        glGetShaderPrecisionFormat :: Ctx -> Word -> Word -> IO ShaderPrecisionFormat--foreign import javascript unsafe "$1.getShaderInfoLog($2)"-        glGetShaderInfoLog :: Ctx -> Shader -> IO JSString--foreign import javascript unsafe "$1.getShaderSource($2)"-        glGetShaderSource :: Ctx -> Shader -> IO JSString--foreign import javascript unsafe "$1.getTexParameter($2, $3)"-        glGetTexParameter :: Ctx -> Word -> Word -> IO (JSRef a)--foreign import javascript unsafe "$1.getUniform($2, $3)"-        glGetUniform :: Ctx -> Program -> UniformLocation -> IO (JSRef a)--foreign import javascript unsafe "$1.getUniformLocation($2, $3)"-        glGetUniformLocation :: Ctx -> Program -> JSString -> IO UniformLocation--foreign import javascript unsafe "$1.getVertexAttrib($2, $3)"-        glGetVertexAttrib :: Ctx -> Word -> Word -> IO (JSRef a)--foreign import javascript unsafe "$1.getVertexAttribOffset($2, $3)"-        glGetVertexAttribOffset :: Ctx -> Word -> Word -> IO Word--foreign import javascript unsafe "$1.hint($2, $3)"-        glHint :: Ctx -> Word -> Word -> IO ()--foreign import javascript unsafe "$1.isBuffer($2)"-        glIsBuffer :: Ctx -> Buffer -> IO Bool--foreign import javascript unsafe "$1.isEnabled($2)"-        glIsEnabled :: Ctx -> Word -> IO Bool--foreign import javascript unsafe "$1.isFramebuffer($2)"-        glIsFramebuffer :: Ctx -> FrameBuffer -> IO Bool--foreign import javascript unsafe "$1.isProgram($2)"-        glIsProgram :: Ctx -> Program -> IO Bool--foreign import javascript unsafe "$1.isRenderbuffer($2)"-        glIsRenderbuffer :: Ctx -> RenderBuffer -> IO Bool--foreign import javascript unsafe "$1.isShader($2)"-        glIsShader :: Ctx -> Shader -> IO Bool--foreign import javascript unsafe "$1.isTexture($2)"-        glIsTexture :: Ctx -> Texture -> IO Bool--foreign import javascript unsafe "$1.lineWidth($2)"-        glLineWidth :: Ctx -> Float -> IO ()--foreign import javascript unsafe "$1.linkProgram($2)"-        glLinkProgram :: Ctx -> Program -> IO ()--foreign import javascript unsafe "$1.pixelStorei($2, $3)"-        glPixelStorei :: Ctx -> Word -> Int -> IO ()--foreign import javascript unsafe "$1.polygonOffset($2, $3)"-        glPolygonOffset :: Ctx -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.readPixels($2, $3, $4, $5, $6, $7, $8)"-        glReadPixels :: Ctx -> Int -> Int -> Int -> Int -> Word -> Word -> ArrayBufferView -> IO ()--foreign import javascript unsafe "$1.renderbufferStorage($2, $3, $4, $5)"-        glRenderbufferStorage :: Ctx -> Word -> Word -> Int -> Int -> IO ()--foreign import javascript unsafe "$1.sampleCoverage($2, $3)"-        glSampleCoverage :: Ctx -> Float -> Bool -> IO ()--foreign import javascript unsafe "$1.scissor($2, $3, $4, $5)"-        glScissor :: Ctx -> Int -> Int -> Int -> Int -> IO ()--foreign import javascript unsafe "$1.shaderSource($2, $3)"-        glShaderSource :: Ctx -> Shader -> JSString -> IO ()--foreign import javascript unsafe "$1.stencilFunc($2, $3, $4)"-        glStencilFunc :: Ctx -> Word -> Int -> Word -> IO ()--foreign import javascript unsafe "$1.stencilFuncSeparate($2, $3, $4, $5)"-        glStencilFuncSeparate :: Ctx -> Word -> Word -> Int -> Word -> IO ()--foreign import javascript unsafe "$1.stencilMask($2)"-        glStencilMask :: Ctx -> Word -> IO ()--foreign import javascript unsafe "$1.stencilMaskSeparate($2, $3)"-        glStencilMaskSeparate :: Ctx -> Word -> Word -> IO ()--foreign import javascript unsafe "$1.stencilOp($2, $3, $4)"-        glStencilOp :: Ctx -> Word -> Word -> Word -> IO ()--foreign import javascript unsafe "$1.stencilOpSeparate($2, $3, $4, $5)"-        glStencilOpSeparate :: Ctx -> Word -> Word -> Word -> Word -> IO ()--foreign import javascript unsafe "$1.texImage2D($2, $3, $4, $5, $6, $7, $8, $9, $10)"-        glTexImage2DBuffer :: Ctx -> Word -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> ArrayBufferView -> IO ()--foreign import javascript unsafe "$1.texImage2D($2, $3, $4, $5, $6, $7)"-        glTexImage2DElement :: Ctx -> Word -> Int -> Int -> Word -> Word -> Image -> IO ()--{--foreign import javascript unsafe "$1.texImage2D()"-        glTexImage2D :: Ctx -> Word -> Int -> Word -> Word -> Word -> CanvasElement -> Void --foreign import javascript unsafe "$1.texImage2D()"-        glTexImage2D :: Ctx -> Word -> Int -> Word -> Word -> Word -> VideoElement -> Void --}--foreign import javascript unsafe "$1.texParameterf($2, $3, $4)"-        glTexParameterf :: Ctx -> Word -> Word -> Float -> IO ()--foreign import javascript unsafe "$1.texParameteri($2, $3, $4)"-        glTexParameteri :: Ctx -> Word -> Word -> Int -> IO ()--foreign import javascript unsafe "$1.texSubImage2D($2, $3, $4, $5, $6, $7, $8, $9, $10)"-        glTexSubImage2D :: Ctx -> Word -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> ArrayBufferView -> IO ()--{---foreign import javascript unsafe "$1.texSubImage2D()"-        glTexSubImage2D :: Ctx -> Word -> Int -> Int -> Int -> Word -> Word -> CanvasElement -> Void --foreign import javascript unsafe "$1.texSubImage2D()"-        glTexSubImage2D :: Ctx -> Word -> Int -> Int -> Int -> Word -> Word -> VideoElement -> Void ---}--foreign import javascript unsafe "$1.uniform1f($2, $3)"-        glUniform1f :: Ctx -> UniformLocation -> Float -> IO ()--foreign import javascript unsafe "$1.uniform1fv($2, $3)"-        glUniform1fv :: Ctx -> UniformLocation -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.uniform1fv($2 Sequence Float ->)"-        glUniform1fv :: Ctx -> UniformLocation -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.uniform1i($2, $3)"-        glUniform1i :: Ctx -> UniformLocation -> Int -> IO ()--foreign import javascript unsafe "$1.uniform1iv($2, $3)"-        glUniform1iv :: Ctx -> UniformLocation -> Int32Array -> IO ()--{--foreign import javascript unsafe "$1.uniform1iv($2 Sequence Int ->)"-        glUniform1iv :: Ctx -> UniformLocation -> Sequence Int -> IO ()--}--foreign import javascript unsafe "$1.uniform2f($2, $3, $4)"-        glUniform2f :: Ctx -> UniformLocation -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.uniform2fv($2, $3)"-        glUniform2fv :: Ctx -> UniformLocation -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.uniform2fv($2 Sequence Float ->)"-        glUniform2fv :: Ctx -> UniformLocation -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.uniform2i($2, $3, $4)"-        glUniform2i :: Ctx -> UniformLocation -> Int -> Int -> IO ()--foreign import javascript unsafe "$1.uniform2iv($2, $3)"-        glUniform2iv :: Ctx -> UniformLocation -> Int32Array -> IO ()--{--foreign import javascript unsafe "$1.uniform2iv($2 Sequence Int ->)"-        glUniform2iv :: Ctx -> UniformLocation -> Sequence Int -> IO ()--}--foreign import javascript unsafe "$1.uniform3f($2, $3, $4, $5)"-        glUniform3f :: Ctx -> UniformLocation -> Float -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.uniform3fv($2, $3)"-        glUniform3fv :: Ctx -> UniformLocation -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.uniform3fv($2 Sequence Float ->)"-        glUniform3fv :: Ctx -> UniformLocation -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.uniform3i($2, $3, $4, $5)"-        glUniform3i :: Ctx -> UniformLocation -> Int -> Int -> Int -> IO ()--foreign import javascript unsafe "$1.uniform3iv($2, $3)"-        glUniform3iv :: Ctx -> UniformLocation -> Int32Array -> IO ()--{--foreign import javascript unsafe "$1.uniform3iv($2 Sequence Int ->)"-        glUniform3iv :: Ctx -> UniformLocation -> Sequence Int -> IO ()--}--foreign import javascript unsafe "$1.uniform4f($2, $3, $4, $5, $6)"-        glUniform4f :: Ctx -> UniformLocation -> Float -> Float -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.uniform4fv($2, $3)"-        glUniform4fv :: Ctx -> UniformLocation -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.uniform4fv($2 Sequence Float ->)"-        glUniform4fv :: Ctx -> UniformLocation -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.uniform4i($2, $3, $4, $5, $6)"-        glUniform4i :: Ctx -> UniformLocation -> Int -> Int -> Int -> Int -> IO ()--foreign import javascript unsafe "$1.uniform4iv($2, $3)"-        glUniform4iv :: Ctx -> UniformLocation -> Int32Array -> IO ()--{--foreign import javascript unsafe "$1.uniform4iv($2 Sequence Int ->)"-        glUniform4iv :: Ctx -> UniformLocation -> Sequence Int -> IO ()--}--foreign import javascript unsafe "$1.uniformMatrix2fv($2, $3, $4)"-        glUniformMatrix2fv :: Ctx -> UniformLocation -> Bool -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.uniformMatrix2fv($2, $3 Sequence Float ->)"-        glUniformMatrix2fv :: Ctx -> UniformLocation -> Bool -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.uniformMatrix3fv($2, $3, $4)"-        glUniformMatrix3fv :: Ctx -> UniformLocation -> Bool -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.uniformMatrix3fv($2, $3 Sequence Float ->)"-        glUniformMatrix3fv :: Ctx -> UniformLocation -> Bool -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.uniformMatrix4fv($2, $3, $4)"-        glUniformMatrix4fv :: Ctx -> UniformLocation -> Bool -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.uniformMatrix4fv($2, $3 Sequence Float ->)"-        glUniformMatrix4fv :: Ctx -> UniformLocation -> Bool -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.useProgram($2)"-        glUseProgram :: Ctx -> Program -> IO ()--foreign import javascript unsafe "$1.validateProgram($2)"-        glValidateProgram :: Ctx -> Program -> IO ()--foreign import javascript unsafe "$1.vertexAttrib1f($2, $3)"-        glVertexAttrib1f :: Ctx -> Word -> Float -> IO ()--foreign import javascript unsafe "$1.vertexAttrib1fv($2, $3)"-        glVertexAttrib1fv :: Ctx -> Word -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.vertexAttrib1fv($2 Sequence Float ->)"-        glVertexAttrib1fv :: Ctx -> Word -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.vertexAttrib2f($2, $3, $4)"-        glVertexAttrib2f :: Ctx -> Word -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.vertexAttrib2fv($2, $3)"-        glVertexAttrib2fv :: Ctx -> Word -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.vertexAttrib2fv($2 Sequence Float ->)"-        glVertexAttrib2fv :: Ctx -> Word -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.vertexAttrib3f($2, $3, $4, $5)"-        glVertexAttrib3f :: Ctx -> Word -> Float -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.vertexAttrib3fv($2, $3)"-        glVertexAttrib3fv :: Ctx -> Word -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.vertexAttrib3fv($2 Sequence Float ->)"-        glVertexAttrib3fv :: Ctx -> Word -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.vertexAttrib4f($2, $3, $4, $5, $6)"-        glVertexAttrib4f :: Ctx -> Word -> Float -> Float -> Float -> Float -> IO ()--foreign import javascript unsafe "$1.vertexAttrib4fv($2, $3)"-        glVertexAttrib4fv :: Ctx -> Word -> Float32Array -> IO ()--{--foreign import javascript unsafe "$1.vertexAttrib4fv($2 Sequence Float ->)"-        vertexAttrib4fv :: Ctx -> Word -> Sequence Float -> IO ()--}--foreign import javascript unsafe "$1.vertexAttribPointer($2, $3, $4, $5, $6, $7)"-        glVertexAttribPointer :: Ctx -> Word -> Int -> Word -> Bool -> Int -> Word -> IO ()--foreign import javascript unsafe "$1.viewport($2, $3, $4, $5)"-        glViewport :: Ctx -> Int -> Int -> Int -> Int -> IO ()
− FWGL/Backend/JavaScript/WebGL/Types.hs
@@ -1,136 +0,0 @@-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeSynonymInstances #-}--module FWGL.Backend.JavaScript.WebGL.Types (-        Ctx,-        Image,-        Float32Array,-        Int32Array,-        Uint16Array,-        Program,-        Shader,-        Buffer,-        FrameBuffer,-        RenderBuffer,-        Texture,-        UniformLocation,-        ActiveInfo,-        ShaderPrecisionFormat,-        ArrayBufferView,-        getCtx,-        float32Array,-        int32Array,-        uint16Array,-        uint8Array,-        float32View,-        int32View,-        uint16View,-        uint8View,-        toJSArray,-        listToJSArray,-        noBuffer,-        noTexture,-        noArray-) where--import Data.Int (Int32)-import Data.Word (Word8, Word16)-import GHCJS.Marshal-import GHCJS.Foreign-import GHCJS.Types--data Ctx_-type Ctx = JSRef Ctx_--data Image_-type Image = JSRef Image_--data Float32Array_-type Float32Array = JSRef Float32Array_--data Int32Array_-type Int32Array = JSRef Int32Array_--data Uint16Array_-type Uint16Array = JSRef Uint16Array_--data Uint8Array_-type Uint8Array = JSRef Uint8Array_--data Program_-type Program = JSRef Program_--data Shader_-type Shader = JSRef Shader_--data Buffer_-type Buffer = JSRef Buffer_--data FrameBuffer_-type FrameBuffer = JSRef FrameBuffer_--data RenderBuffer_-type RenderBuffer = JSRef RenderBuffer_--data Texture_-type Texture = JSRef Texture_--data UniformLocation_-type UniformLocation = JSRef UniformLocation_--data ActiveInfo_-type ActiveInfo = JSRef ActiveInfo_--data ShaderPrecisionFormat_-type ShaderPrecisionFormat = JSRef ShaderPrecisionFormat_--data ArrayBufferView_-type ArrayBufferView = JSRef ArrayBufferView_--noBuffer :: Buffer-noBuffer = jsNull--noTexture :: Texture-noTexture = jsNull--noArray :: IO ArrayBufferView-noArray = return jsNull--float32View :: JSArray Float -> IO ArrayBufferView-float32View = fmap castRef . float32Array--int32View :: JSArray Int32 -> IO ArrayBufferView-int32View = fmap castRef . int32Array--uint16View :: JSArray Word16 -> IO ArrayBufferView-uint16View = fmap castRef . uint16Array--uint8View :: JSArray Word8 -> IO ArrayBufferView-uint8View = fmap castRef . uint8Array--toJSArray :: ToJSRef a => (v -> Maybe (a, v)) -> v -> IO (JSArray a)-toJSArray next iv = newArray >>= iterPush iv-        where iterPush v arr = case next v of-                                        Just (x, v') -> do xRef <- toJSRef x-                                                           pushArray xRef arr-                                                           iterPush v' arr-                                        Nothing -> return arr--listToJSArray :: ToJSRef a => [a] -> IO (JSArray a)-listToJSArray = toJSArray deconstr-        where deconstr (x : xs) = Just (x, xs)-              deconstr [] = Nothing--foreign import javascript unsafe "$r = new Float32Array($1);"-        float32Array :: JSArray Float -> IO Float32Array--foreign import javascript unsafe "$r = new Int32Array($1);"-        int32Array :: JSArray Int32 -> IO Int32Array--foreign import javascript unsafe "$r = new Uint16Array($1);"-        uint16Array :: JSArray Word16 -> IO Uint16Array--foreign import javascript unsafe "$r = new Uint8Array($1);"-        uint8Array :: JSArray Word8 -> IO Uint8Array--foreign import javascript unsafe "$r = $1.getContext(\"webgl\");"-        getCtx :: JSRef a -> IO Ctx
FWGL/Geometry.hs view
@@ -50,7 +50,10 @@         elementCount :: Int } +-- ^ A 3D geometry. type Geometry3 = '[Position3, D3.UV, Normal3]++-- ^ A 2D geometry. type Geometry2 = '[Position2, D2.UV]  instance H.Hashable (AttrList is) where
FWGL/Graphics/D2.hs view
@@ -11,6 +11,7 @@         sprite,         -- ** Geometry         Geometry,+        Geometry2,         geom,         mkGeometry2,         -- * Textures@@ -26,6 +27,7 @@         rot,         scale,         scaleV,+        transform,         -- * Layers         Layer,         -- ** Element layers
FWGL/Graphics/D3.hs view
@@ -8,6 +8,7 @@         cube,         -- ** Geometry         Geometry,+        Geometry3,         geom,         mkGeometry3,         -- * Textures@@ -27,6 +28,7 @@         rotAA,         scale,         scaleV,+        transform,         -- * Layers         Layer,         -- ** Element layers
FWGL/Graphics/Draw.hs view
@@ -28,6 +28,7 @@ import FWGL.Shader.Program hiding (program) import FWGL.Vector +import Data.Bits ((.|.)) import Data.Hashable (Hashable) import qualified Data.HashMap.Strict as H import Data.Typeable@@ -60,7 +61,7 @@ resize w h = viewport 0 0 (fromIntegral w) (fromIntegral h)  drawBegin :: GLES => Draw ()-drawBegin = gl $ clear gl_COLOR_BUFFER_BIT+drawBegin = gl . clear $ gl_COLOR_BUFFER_BIT .|. gl_DEPTH_BUFFER_BIT  drawEnd :: GLES => Draw () drawEnd = Draw get >>= mapM_ (gl . deleteTexture) . textureLayers@@ -181,6 +182,7 @@         loadedProgram <$> Draw get >>= \mlp -> case mlp of                 Nothing -> return ()                 Just (LoadedProgram _ locs _) -> gl $ do+                        bindBuffer gl_ARRAY_BUFFER noBuffer                         enabledLocs <- mapM (\(nm, buf, setAttr) ->                                              let loc = locs H.! nm in                                                   do bindBuffer gl_ARRAY_BUFFER
FWGL/Shader/Default2D.hs view
@@ -38,7 +38,7 @@                   Transform2 trans <- global                   View2 view <- global                   Depth z <- global-                  let V3 x' y' _ = view * trans * (V3 x y 1)+                  let V3 x' y' _ = view * trans * V3 x y 1                   putVertex $ V4 x' y' z 1                   put uv                   -- BUG
FWGL/Shader/GLSL.hs view
@@ -22,7 +22,7 @@ vertexToGLSLAttr :: VertexShader g i o -> (String, [(String, Int)]) vertexToGLSLAttr v =         let r@(_, is, _) = snd $ reduce False v-        in ( shaderToGLSL "" "attribute" "varying"+        in ( shaderToGLSL "#version 100\n" "attribute" "varying"                           r [("hvVertexShaderOutput", "gl_Position")]            , map (\(t, n, s) -> (n, s)) is) @@ -30,7 +30,7 @@ vertexToGLSL = fst . vertexToGLSLAttr  fragmentToGLSL :: FragmentShader g i -> String-fragmentToGLSL v = shaderToGLSL "precision mediump float;"+fragmentToGLSL v = shaderToGLSL "#version 100\nprecision mediump float;"                                 "varying" ""                                 (snd $ reduce True v)                                 [("hvFragmentShaderOutput", "gl_FragColor")]
fwgl.cabal view
@@ -1,23 +1,21 @@ name:                fwgl-version:             0.1.0.1+version:             0.1.0.2 synopsis:            FRP 2D/3D game engine-description:         FRP 2D/3D game engine (work in progress). You need to install it with the "--ghcjs" option, for now. I'll separate the ghcjs backend when the GLFW one will be complete.+description:         FRP 2D/3D game engine (work in progress). homepage:            https://github.com/ZioCrocifisso/FWGL stability:           experimental license:             BSD3 license-file:        LICENSE author:              Luca "ZioCrocifisso" Prezzavento-maintainer:          ziocroc@hotmail.it+maintainer:          ziocroc@gmail.com category:            Game, Game Engine, Javascript build-type:          Simple cabal-version:       >=1.10  library-  exposed-modules:     FWGL, FWGL.Shader, FWGL.Geometry, FWGL.Utils, FWGL.Vector, FWGL.Audio, FWGL.Key, FWGL.Backend, FWGL.Input, FWGL.Graphics.Draw, FWGL.Graphics.D2, FWGL.Graphics.D3, FWGL.Graphics.Texture, FWGL.Graphics.Types, FWGL.Graphics.Color, FWGL.Graphics.Custom, FWGL.Graphics.Shapes, FWGL.Internal.GL, FWGL.Internal.TList, FWGL.Geometry.OBJ, FWGL.Shader.GLSL, FWGL.Shader.Stages, FWGL.Shader.Program, FWGL.Shader.CPU, FWGL.Shader.Default3D, FWGL.Shader.Monad, FWGL.Shader.Language, FWGL.Shader.Default2D, FWGL.Backend.JavaScript-  -- , FWGL.Backend.OpenGL.GL32, FWGL.Backend.OpenGL.Common, FWGL.Backend.OpenGL.GLES20, FWGL.Backend.GLFW.GL32, FWGL.Backend.GLFW.Common, FWGL.Backend.GLFW.GLES20-  other-modules:        FWGL.Internal.STVectorLen, FWGL.Internal.Resource, FWGL.Backend.JavaScript.WebGL, FWGL.Backend.JavaScript.Event, FWGL.Backend.JavaScript.WebGL.Const, FWGL.Backend.JavaScript.WebGL.Types, FWGL.Backend.JavaScript.WebGL.Raw, FWGL.Backend.GLES, FWGL.Backend.IO+  exposed-modules:     FWGL, FWGL.Shader, FWGL.Geometry, FWGL.Utils, FWGL.Vector, FWGL.Audio, FWGL.Key, FWGL.Backend, FWGL.Input, FWGL.Graphics.Draw, FWGL.Graphics.D2, FWGL.Graphics.D3, FWGL.Graphics.Texture, FWGL.Graphics.Types, FWGL.Graphics.Color, FWGL.Graphics.Custom, FWGL.Graphics.Shapes, FWGL.Internal.GL, FWGL.Internal.TList, FWGL.Geometry.OBJ, FWGL.Shader.GLSL, FWGL.Shader.Stages, FWGL.Shader.Program, FWGL.Shader.CPU, FWGL.Shader.Default3D, FWGL.Shader.Monad, FWGL.Shader.Language, FWGL.Shader.Default2D, FWGL.Backend.GLES, FWGL.Backend.IO+  other-modules:        FWGL.Internal.STVectorLen, FWGL.Internal.Resource   other-extensions:    FlexibleContexts, RankNTypes, GADTs, TypeOperators, KindSignatures, DataKinds, MultiParamTypeClasses, TypeSynonymInstances, FlexibleInstances, ConstraintKinds, TypeFamilies, ExistentialQuantification, GeneralizedNewtypeDeriving, PolyKinds, UndecidableInstances, ScopedTypeVariables, OverlappingInstances, FunctionalDependencies, DeriveDataTypeable, ImpredicativeTypes, RebindableSyntax, NullaryTypeClasses, Arrows-  build-depends:       base >=4.7 && <4.8, Yampa >=0.9 && <0.10, hashable >=1.2 && <1.3, unordered-containers >=0.2 && <0.3, vector >=0.10 && <0.11, transformers, ghcjs-base-  -- , gl >=0.6 && <0.7, JuicyPixels >=3.2 && <3.3, GLFW-b >=1.4 && <1.5, random >=1.1 && <1.2+  build-depends:       base >=4.7 && <4.8, Yampa >=0.9 && <0.10, hashable >=1.2 && <1.3, unordered-containers >=0.2 && <0.3, vector >=0.10 && <0.11, transformers   hs-source-dirs:      .   default-language:    Haskell2010