packages feed

OpenGL 2.13.1.1 → 2.13.2.0

raw patch · 3 files changed

+32/−1 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Graphics.Rendering.OpenGL.GL.Shaders.Uniform: instance Graphics.Rendering.OpenGL.GL.Shaders.Uniform.Uniform Graphics.Rendering.OpenGL.Raw.Types.GLdouble
+ Graphics.Rendering.OpenGL.GL.Shaders.Uniform: instance Graphics.Rendering.OpenGL.GL.Shaders.Uniform.Uniform Graphics.Rendering.OpenGL.Raw.Types.GLfloat
+ Graphics.Rendering.OpenGL.GL.Shaders.Uniform: instance Graphics.Rendering.OpenGL.GL.Shaders.Uniform.Uniform Graphics.Rendering.OpenGL.Raw.Types.GLint
+ Graphics.Rendering.OpenGL.GL.Shaders.Uniform: instance Graphics.Rendering.OpenGL.GL.Shaders.Uniform.Uniform Graphics.Rendering.OpenGL.Raw.Types.GLuint

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+2.13.2.0+--------+* Implement Uniform instances for `GLint`, `GLuint`, `GLfloat`, and `GLdouble`.+ 2.13.1.1 -------- * Aftermath for the `glClearNamedFramebufferfi` chaos in the OpenGL registry,
OpenGL.cabal view
@@ -1,5 +1,5 @@ name: OpenGL-version: 2.13.1.1+version: 2.13.2.0 synopsis: A binding for the OpenGL graphics system description:   A Haskell binding for the OpenGL graphics system (GL, version 4.5) and its
src/Graphics/Rendering/OpenGL/GL/Shaders/Uniform.hs view
@@ -157,6 +157,33 @@                         getUniform program location buf                         peek buf +getSimpleUniform :: Storable a => Program -> UniformLocation -> Ptr a -> IO ()+getSimpleUniform (Program p) (UniformLocation ul) = glGetUniformfv p ul . castPtr++makeSimpleUniformVar :: (UniformComponent a)+               => UniformLocation -> StateVar a+makeSimpleUniformVar location = makeStateVar getter (uniform1 location)+   where getter = do program <- fmap fromJust $ get currentProgram+                     allocaBytes maxUniformBufferSize $ \buf -> do+                        getSimpleUniform program location buf+                        peek buf++instance Uniform GLfloat where+   uniform = makeSimpleUniformVar+   uniformv = uniform1v++instance Uniform GLint where+   uniform = makeSimpleUniformVar+   uniformv = uniform1v++instance Uniform GLuint where+   uniform = makeSimpleUniformVar+   uniformv = uniform1v++instance Uniform GLdouble where+   uniform = makeSimpleUniformVar+   uniformv = uniform1v+ instance UniformComponent a => Uniform (Vertex2 a) where    uniform = makeUniformVar $ \location (Vertex2 x y) -> uniform2 location x y    uniformv location count = uniform2v location count . (castPtr :: Ptr (Vertex2 b) -> Ptr b)