OpenGL 2.10.0.2 → 2.11.0.0
raw patch · 12 files changed
+112/−44 lines, 12 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Graphics.Rendering.OpenGL.GL.BeginEnd: LineLoop :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: LineStrip :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: Lines :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: Points :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: Polygon :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: QuadStrip :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: Quads :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: TriangleFan :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: TriangleStrip :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: Triangles :: PrimitiveMode
- Graphics.Rendering.OpenGL.GL.BeginEnd: data PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: LineLoop :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: LineStrip :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: Lines :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: Patches :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: Points :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: Polygon :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: QuadStrip :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: Quads :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: TriangleFan :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: TriangleStrip :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: Triangles :: PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: data PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: instance Eq PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: instance Ord PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: instance Show PrimitiveMode
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: maxPatchVertices :: GettableStateVar GLint
+ Graphics.Rendering.OpenGL.GL.PrimitiveMode: patchVertices :: SettableStateVar GLint
+ Graphics.Rendering.OpenGL.GL.Shaders.Limits: maxTessellationLevel :: GettableStateVar GLint
+ Graphics.Rendering.OpenGL.GL.Shaders.ShaderObjects: packUtf8 :: String -> ByteString
+ Graphics.Rendering.OpenGL.GL.Shaders.ShaderObjects: unpackUtf8 :: ByteString -> String
Files
- OpenGL.cabal +6/−5
- src/Graphics/Rendering/OpenGL/GL.hs +2/−0
- src/Graphics/Rendering/OpenGL/GL/BeginEnd.hs +2/−2
- src/Graphics/Rendering/OpenGL/GL/PrimitiveMode.hs +25/−30
- src/Graphics/Rendering/OpenGL/GL/PrimitiveModeInternal.hs +52/−0
- src/Graphics/Rendering/OpenGL/GL/QueryUtils/PName.hs +6/−0
- src/Graphics/Rendering/OpenGL/GL/Shaders/Limits.hs +7/−1
- src/Graphics/Rendering/OpenGL/GL/Shaders/ShaderObjects.hs +5/−2
- src/Graphics/Rendering/OpenGL/GL/TransformFeedback.hs +1/−0
- src/Graphics/Rendering/OpenGL/GL/VertexArrays.hs +1/−0
- src/Graphics/Rendering/OpenGL/GLU/NURBS.hs +1/−0
- src/Graphics/Rendering/OpenGL/GLU/Tessellation.hs +4/−4
OpenGL.cabal view
@@ -1,8 +1,8 @@ name: OpenGL-version: 2.10.0.2+version: 2.11.0.0 synopsis: A binding for the OpenGL graphics system description:- A Haskell binding for the OpenGL graphics system (GL, version 4.4) and its+ A Haskell binding for the OpenGL graphics system (GL, version 4.5) and its accompanying utility library (GLU, version 1.3). . OpenGL is the industry's most widely used and supported 2D and 3D graphics@@ -31,7 +31,6 @@ Graphics.Rendering.OpenGL.GL.BeginEnd Graphics.Rendering.OpenGL.GL.Bitmaps Graphics.Rendering.OpenGL.GL.BufferObjects- Graphics.Rendering.OpenGL.GL.ByteString Graphics.Rendering.OpenGL.GL.Clipping Graphics.Rendering.OpenGL.GL.ColorSum Graphics.Rendering.OpenGL.GL.Colors@@ -64,6 +63,7 @@ Graphics.Rendering.OpenGL.GL.PixellikeObject Graphics.Rendering.OpenGL.GL.Points Graphics.Rendering.OpenGL.GL.Polygons+ Graphics.Rendering.OpenGL.GL.PrimitiveMode Graphics.Rendering.OpenGL.GL.QueryObjects Graphics.Rendering.OpenGL.GL.RasterPos Graphics.Rendering.OpenGL.GL.ReadCopyPixels@@ -104,6 +104,7 @@ other-modules: Graphics.Rendering.OpenGL.GL.BlendingFactor Graphics.Rendering.OpenGL.GL.BufferMode+ Graphics.Rendering.OpenGL.GL.ByteString Graphics.Rendering.OpenGL.GL.Capability Graphics.Rendering.OpenGL.GL.ComparisonFunction Graphics.Rendering.OpenGL.GL.ControlPoint@@ -126,7 +127,7 @@ Graphics.Rendering.OpenGL.GL.PixelRectangles.Sink Graphics.Rendering.OpenGL.GL.PointParameter Graphics.Rendering.OpenGL.GL.PolygonMode- Graphics.Rendering.OpenGL.GL.PrimitiveMode+ Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal Graphics.Rendering.OpenGL.GL.QueryObject Graphics.Rendering.OpenGL.GL.QueryUtils Graphics.Rendering.OpenGL.GL.QueryUtils.PName@@ -144,7 +145,7 @@ Graphics.Rendering.OpenGL.GL.VertexAttributes Graphics.Rendering.OpenGL.GLU.ErrorsInternal hs-source-dirs: src- ghc-options: -Wall -O2+ ghc-options: -Wall build-depends: base >= 3 && < 5, bytestring, text, OpenGLRaw >= 2.1, GLURaw >= 1.3.0.0 default-language: Haskell2010
src/Graphics/Rendering/OpenGL/GL.hs view
@@ -24,6 +24,7 @@ module Graphics.Rendering.OpenGL.GL.QueryObjects, -- * Vertex Specification and Drawing Commands+ module Graphics.Rendering.OpenGL.GL.PrimitiveMode, module Graphics.Rendering.OpenGL.GL.BeginEnd, module Graphics.Rendering.OpenGL.GL.Rectangles, module Graphics.Rendering.OpenGL.GL.ConditionalRendering,@@ -79,6 +80,7 @@ import Graphics.Rendering.OpenGL.GL.SyncObjects import Graphics.Rendering.OpenGL.GL.QueryObjects +import Graphics.Rendering.OpenGL.GL.PrimitiveMode import Graphics.Rendering.OpenGL.GL.BeginEnd import Graphics.Rendering.OpenGL.GL.Rectangles import Graphics.Rendering.OpenGL.GL.ConditionalRendering
src/Graphics/Rendering/OpenGL/GL/BeginEnd.hs view
@@ -3,7 +3,7 @@ -- Module : Graphics.Rendering.OpenGL.GL.BeginEnd -- Copyright : (c) Sven Panne 2002-2013 -- License : BSD3--- +-- -- Maintainer : Sven Panne <svenpanne@gmail.com> -- Stability : stable -- Portability : portable@@ -15,7 +15,6 @@ module Graphics.Rendering.OpenGL.GL.BeginEnd ( -- * Begin and End Objects- PrimitiveMode(..), renderPrimitive, unsafeRenderPrimitive, primitiveRestart, -- * Polygon Edges@@ -27,6 +26,7 @@ import Graphics.Rendering.OpenGL.GL.EdgeFlag import Graphics.Rendering.OpenGL.GL.Exception import Graphics.Rendering.OpenGL.GL.PrimitiveMode+import Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal import Graphics.Rendering.OpenGL.GL.QueryUtils import Graphics.Rendering.OpenGL.Raw
src/Graphics/Rendering/OpenGL/GL/PrimitiveMode.hs view
@@ -1,22 +1,27 @@-{-# OPTIONS_HADDOCK hide #-} -------------------------------------------------------------------------------- -- | -- Module : Graphics.Rendering.OpenGL.GL.PrimitiveMode--- Copyright : (c) Sven Panne 2002-2013+-- Copyright : (c) Sven Panne 2002-2013, Tobias Markus 2015 -- License : BSD3--- +-- -- Maintainer : Sven Panne <svenpanne@gmail.com> -- Stability : stable -- Portability : portable ----- This is a purely internal module for (un-)marshaling PrimitiveMode.+-- This module corresponds to section 10.1 (Primitive Types) of the OpenGL 4.4+-- specs. -- -------------------------------------------------------------------------------- module Graphics.Rendering.OpenGL.GL.PrimitiveMode (- PrimitiveMode(..), marshalPrimitiveMode, unmarshalPrimitiveMode+ -- * Primitive Modes+ PrimitiveMode(..),+ -- * Patches (Tessellation)+ patchVertices, maxPatchVertices ) where +import Graphics.Rendering.OpenGL.GL.StateVar+import Graphics.Rendering.OpenGL.GL.QueryUtils.PName import Graphics.Rendering.OpenGL.Raw --------------------------------------------------------------------------------@@ -66,31 +71,21 @@ | Polygon -- ^ Draws a single, convex polygon. Vertices 1 through /N/ define this -- polygon.+ | Patches+ -- ^ Only used in conjunction with tessellation. The number of vertices per+ -- patch can be set with 'patchVertices'. deriving ( Eq, Ord, Show ) -marshalPrimitiveMode :: PrimitiveMode -> GLenum-marshalPrimitiveMode x = case x of- Points -> gl_POINTS- Lines -> gl_LINES- LineLoop -> gl_LINE_LOOP- LineStrip -> gl_LINE_STRIP- Triangles -> gl_TRIANGLES- TriangleStrip -> gl_TRIANGLE_STRIP- TriangleFan -> gl_TRIANGLE_FAN- Quads -> gl_QUADS- QuadStrip -> gl_QUAD_STRIP- Polygon -> gl_POLYGON+-- | 'patchVertices' is the number of vertices per patch primitive.+--+-- An 'Graphics.Rendering.OpenGL.GLU.Errors.InvalidValue' is generated if+-- 'patchVertices' is set to a value less than or equal to zero or greater+-- than the implementation-dependent maximum value 'maxPatchVertices'. -unmarshalPrimitiveMode :: GLenum -> PrimitiveMode-unmarshalPrimitiveMode x- | x == gl_POINTS = Points- | x == gl_LINES = Lines- | x == gl_LINE_LOOP = LineLoop- | x == gl_LINE_STRIP = LineStrip- | x == gl_TRIANGLES = Triangles- | x == gl_TRIANGLE_STRIP = TriangleStrip- | x == gl_TRIANGLE_FAN = TriangleFan- | x == gl_QUADS = Quads- | x == gl_QUAD_STRIP = QuadStrip- | x == gl_POLYGON = Polygon- | otherwise = error ("unmarshalPrimitiveMode: illegal value " ++ show x)+patchVertices :: SettableStateVar GLint+patchVertices = makeSettableStateVar $ glPatchParameteri gl_PATCH_VERTICES++-- | Contains the maximumum number of vertices in a single patch.++maxPatchVertices :: GettableStateVar GLint+maxPatchVertices = makeGettableStateVar $ getInteger1 id GetMaxPatchVertices
+ src/Graphics/Rendering/OpenGL/GL/PrimitiveModeInternal.hs view
@@ -0,0 +1,52 @@+{-# OPTIONS_HADDOCK hide #-}+--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal+-- Copyright : (c) Sven Panne 2002-2013+-- License : BSD3+--+-- Maintainer : Sven Panne <svenpanne@gmail.com>+-- Stability : stable+-- Portability : portable+--+-- This is a purely internal module for (un-)marshaling PrimitiveMode.+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal (+ marshalPrimitiveMode, unmarshalPrimitiveMode+) where++import Graphics.Rendering.OpenGL.Raw+import Graphics.Rendering.OpenGL.GL.PrimitiveMode++--------------------------------------------------------------------------------++marshalPrimitiveMode :: PrimitiveMode -> GLenum+marshalPrimitiveMode x = case x of+ Points -> gl_POINTS+ Lines -> gl_LINES+ LineLoop -> gl_LINE_LOOP+ LineStrip -> gl_LINE_STRIP+ Triangles -> gl_TRIANGLES+ TriangleStrip -> gl_TRIANGLE_STRIP+ TriangleFan -> gl_TRIANGLE_FAN+ Quads -> gl_QUADS+ QuadStrip -> gl_QUAD_STRIP+ Polygon -> gl_POLYGON+ Patches -> gl_PATCHES++unmarshalPrimitiveMode :: GLenum -> PrimitiveMode+unmarshalPrimitiveMode x+ | x == gl_POINTS = Points+ | x == gl_LINES = Lines+ | x == gl_LINE_LOOP = LineLoop+ | x == gl_LINE_STRIP = LineStrip+ | x == gl_TRIANGLES = Triangles+ | x == gl_TRIANGLE_STRIP = TriangleStrip+ | x == gl_TRIANGLE_FAN = TriangleFan+ | x == gl_QUADS = Quads+ | x == gl_QUAD_STRIP = QuadStrip+ | x == gl_POLYGON = Polygon+ | x == gl_PATCHES = Patches+ | otherwise = error ("unmarshalPrimitiveMode: illegal value " ++ show x)
src/Graphics/Rendering/OpenGL/GL/QueryUtils/PName.hs view
@@ -366,6 +366,9 @@ | GetMaxFragmentUniformComponents -- ^ sizei | GetMaxVertexAttribs -- ^ sizei | GetMaxVaryingFloats -- ^ sizei+ -- tessellation+ | GetMaxPatchVertices -- ^ int+ | GetMaxTessellationLevel -- ^ int -- coordtrans | GetMatrixMode -- ^ enum | GetModelviewStackDepth -- ^ sizei@@ -625,6 +628,9 @@ GetMaxFragmentUniformComponents -> Just gl_MAX_FRAGMENT_UNIFORM_COMPONENTS GetMaxVaryingFloats -> Just gl_MAX_VARYING_COMPONENTS GetMaxVertexAttribs -> Just gl_MAX_VERTEX_ATTRIBS+ -- tessellation+ GetMaxPatchVertices -> Just gl_MAX_PATCH_VERTICES+ GetMaxTessellationLevel -> Just gl_MAX_TESS_GEN_LEVEL -- coordtrans GetMatrixMode -> Just gl_MATRIX_MODE GetModelviewStackDepth -> Just gl_MODELVIEW_STACK_DEPTH
src/Graphics/Rendering/OpenGL/GL/Shaders/Limits.hs view
@@ -15,7 +15,8 @@ module Graphics.Rendering.OpenGL.GL.Shaders.Limits ( maxVertexTextureImageUnits, maxTextureImageUnits, maxCombinedTextureImageUnits, maxTextureCoords, maxVertexUniformComponents,- maxFragmentUniformComponents, maxVertexAttribs, maxVaryingFloats+ maxFragmentUniformComponents, maxVertexAttribs, maxVaryingFloats,+ maxTessellationLevel ) where import Graphics.Rendering.OpenGL.GL.StateVar@@ -75,6 +76,11 @@ maxVaryingFloats :: GettableStateVar GLsizei maxVaryingFloats = getLimit GetMaxVaryingFloats++-- | Contains the maximum allowed tessellation level.++maxTessellationLevel :: GettableStateVar GLint+maxTessellationLevel = makeGettableStateVar $ getInteger1 id GetMaxTessellationLevel getLimit :: PName1I -> GettableStateVar GLsizei getLimit = makeGettableStateVar . getSizei1 id
src/Graphics/Rendering/OpenGL/GL/Shaders/ShaderObjects.hs view
@@ -21,7 +21,10 @@ -- * Shader Queries shaderType, shaderDeleteStatus, compileStatus, shaderInfoLog,- PrecisionType, shaderPrecisionFormat+ PrecisionType, shaderPrecisionFormat,++ -- * Bytestring utilities+ packUtf8, unpackUtf8 ) where import Control.Monad@@ -98,7 +101,7 @@ with srcLength $ \srcLengthBuf -> glShaderSource (shaderID shader) 1 srcPtrBuf srcLengthBuf -{-# DEPRECATED shaderSource "Use 'shaderSourceBS' instead." #-}+{-# DEPRECATED shaderSource "Use a combination of 'shaderSourceBS' and 'packUtf8' or 'unpackUtf8' instead." #-} shaderSource :: Shader -> StateVar [String] shaderSource shader = makeStateVar
src/Graphics/Rendering/OpenGL/GL/TransformFeedback.hs view
@@ -33,6 +33,7 @@ import Graphics.Rendering.OpenGL.GL.ByteString import Graphics.Rendering.OpenGL.GL.DataType import Graphics.Rendering.OpenGL.GL.PrimitiveMode+import Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal import Graphics.Rendering.OpenGL.GL.QueryUtils import Graphics.Rendering.OpenGL.GL.Shaders.Program import Graphics.Rendering.OpenGL.GL.Shaders.Variables
src/Graphics/Rendering/OpenGL/GL/VertexArrays.hs view
@@ -42,6 +42,7 @@ import Graphics.Rendering.OpenGL.GL.DataType import Graphics.Rendering.OpenGL.GL.GLboolean import Graphics.Rendering.OpenGL.GL.PrimitiveMode+import Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal import Graphics.Rendering.OpenGL.GL.QueryUtils import Graphics.Rendering.OpenGL.GL.StateVar import Graphics.Rendering.OpenGL.GL.Texturing.TextureUnit
src/Graphics/Rendering/OpenGL/GLU/NURBS.hs view
@@ -44,6 +44,7 @@ import Graphics.Rendering.OpenGL.GL.Exception import Graphics.Rendering.OpenGL.GL.GLboolean import Graphics.Rendering.OpenGL.GL.PrimitiveMode+import Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal import Graphics.Rendering.OpenGL.GL.VertexSpec import Graphics.Rendering.OpenGL.GLU.ErrorsInternal import Graphics.Rendering.OpenGL.Raw
src/Graphics/Rendering/OpenGL/GLU/Tessellation.hs view
@@ -3,7 +3,7 @@ -- Module : Graphics.Rendering.OpenGL.GLU.Tessellation -- Copyright : (c) Sven Panne 2002-2013 -- License : BSD3--- +-- -- Maintainer : Sven Panne <svenpanne@gmail.com> -- Stability : stable -- Portability : portable@@ -48,9 +48,9 @@ import Graphics.Rendering.OpenGL.GL.EdgeFlag ( unmarshalEdgeFlag ) import Graphics.Rendering.OpenGL.GL.Exception ( bracket ) import Graphics.Rendering.OpenGL.GL.GLboolean ( marshalGLboolean )-import Graphics.Rendering.OpenGL.GL.PrimitiveMode ( unmarshalPrimitiveMode )-import Graphics.Rendering.OpenGL.GL.BeginEnd (- PrimitiveMode, EdgeFlag(BeginsInteriorEdge) )+import Graphics.Rendering.OpenGL.GL.PrimitiveMode ( PrimitiveMode )+import Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal ( unmarshalPrimitiveMode )+import Graphics.Rendering.OpenGL.GL.BeginEnd ( EdgeFlag(BeginsInteriorEdge) ) import Graphics.Rendering.OpenGL.GL.VertexSpec import Graphics.Rendering.OpenGL.GL.QueryUtils import Graphics.Rendering.OpenGL.GLU.ErrorsInternal