packages feed

OpenGL 3.0.1.0 → 3.0.2.0

raw patch · 6 files changed

+125/−31 lines, 6 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: Alpha16F :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: Alpha32F :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: CompressedRGBAS3TCDXT1 :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: CompressedRGBAS3TCDXT3 :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: CompressedRGBAS3TCDXT5 :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: CompressedRGBS3TCDXT1 :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: Depth24Stencil8 :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: Intensity16F :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: Intensity32F :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: Luminance16F :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: Luminance32F :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: LuminanceAlpha16F :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: LuminanceAlpha32F :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: RGB4S3TC :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: RGBA4DXT5S3TC :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: RGBA4S3TC :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: RGBADXT5S3TC :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: RGBAS3TC :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable: RGBS3TC :: PixelInternalFormat
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: FloatRepresentation :: DataRepresentation
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: IntRepresentation :: DataRepresentation
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: SignedNormalizedRepresentation :: DataRepresentation
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: UnsignedIntRepresentation :: DataRepresentation
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: UnsignedNormalizedRepresentation :: DataRepresentation
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: data DataRepresentation
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: textureDepthType :: QueryableTextureTarget t => TextureQuery t (Maybe DataRepresentation)
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: textureIntensityType :: QueryableTextureTarget t => TextureQuery t (Maybe DataRepresentation)
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: textureLuminanceType :: QueryableTextureTarget t => TextureQuery t (Maybe DataRepresentation)
+ Graphics.Rendering.OpenGL.GL.Texturing.Queries: textureRGBATypes :: QueryableTextureTarget t => TextureQuery t (Color4 (Maybe DataRepresentation))

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+3.0.2.0+-------+* Added support for S3_s3tc, EXT_texture_compression_s3tc, ARB_texture_float, and EXT_packed_depth_stencil extensions.+ 3.0.1.0 ------- * Added `Uniform` instances for `GLmatrix`, `Vertex1`, `Vector1`, `Vector2`, `Vector3`, and `Vector4`.
OpenGL.cabal view
@@ -1,5 +1,5 @@ name: OpenGL-version: 3.0.1.0+version: 3.0.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@@ -23,8 +23,9 @@ tested-with:   GHC == 7.8.4   GHC == 7.10.3-  GHC == 8.0.1-  GHC == 8.1+  GHC == 8.0.2+  GHC == 8.2.1+  GHC == 8.3 cabal-version: >= 1.10 extra-source-files:    CHANGELOG.md
README.md view
@@ -1,1 +1,4 @@-[![Hackage](https://img.shields.io/hackage/v/OpenGL.svg)](https://hackage.haskell.org/package/OpenGL) [![Build Status](https://travis-ci.org/haskell-opengl/OpenGL.png?branch=master)](https://travis-ci.org/haskell-opengl/OpenGL)+[![Hackage](https://img.shields.io/hackage/v/OpenGL.svg)](https://hackage.haskell.org/package/OpenGL)+[![Stackage LTS](https://www.stackage.org/package/OpenGL/badge/lts)](https://www.stackage.org/lts/package/OpenGL)+[![Stackage nightly](https://www.stackage.org/package/OpenGL/badge/nightly)](https://www.stackage.org/nightly/package/OpenGL)+[![Build Status](https://img.shields.io/travis/haskell-opengl/OpenGL/master.svg)](https://travis-ci.org/haskell-opengl/OpenGL)
src/Graphics/Rendering/OpenGL/GL/DataType.hs view
@@ -15,7 +15,7 @@  module Graphics.Rendering.OpenGL.GL.DataType (    DataType(..), marshalDataType, unmarshalDataType,-   DataTypeType(..), marshalDataTypeType, unmarshalDataTypeType+   DataRepresentation(..), unmarshalDataRepresentation ) where  import Graphics.GL@@ -126,29 +126,20 @@    | x == GL_4_BYTES = FourBytes    | otherwise = error ("unmarshalDataType: illegal value " ++ show x) -data DataTypeType-   = TNone-   | TSignedNormalized-   | TUnsignedNormalized-   | TFloat-   | TInt-   | TUnsignedInt--marshalDataTypeType :: DataTypeType -> GLenum-marshalDataTypeType x = case x of-   TNone -> GL_NONE-   TSignedNormalized -> GL_SIGNED_NORMALIZED-   TUnsignedNormalized -> GL_UNSIGNED_NORMALIZED-   TFloat -> GL_FLOAT-   TInt -> GL_INT-   TUnsignedInt -> GL_UNSIGNED_INT+data DataRepresentation+   = SignedNormalizedRepresentation+   | UnsignedNormalizedRepresentation+   | FloatRepresentation+   | IntRepresentation+   | UnsignedIntRepresentation+   deriving ( Eq, Ord, Show ) -unmarshalDataTypeType :: GLenum -> DataTypeType-unmarshalDataTypeType x-   | x == GL_NONE = TNone-   | x == GL_SIGNED_NORMALIZED = TSignedNormalized-   | x == GL_UNSIGNED_NORMALIZED = TUnsignedNormalized-   | x == GL_FLOAT = TFloat-   | x == GL_INT = TInt-   | x == GL_UNSIGNED_INT = TUnsignedInt-   | otherwise = error $ "unmarshalDataTypeType: illegal value " ++ show x+unmarshalDataRepresentation :: GLenum -> Maybe DataRepresentation+unmarshalDataRepresentation x+   | x == GL_SIGNED_NORMALIZED = Just SignedNormalizedRepresentation+   | x == GL_UNSIGNED_NORMALIZED = Just UnsignedNormalizedRepresentation+   | x == GL_FLOAT = Just FloatRepresentation+   | x == GL_INT = Just IntRepresentation+   | x == GL_UNSIGNED_INT = Just UnsignedIntRepresentation+   | x == GL_NONE = Nothing+   | otherwise = error $ "unmarshalDataRepresentation: illegal value " ++ show x
src/Graphics/Rendering/OpenGL/GL/Texturing/PixelInternalFormat.hs view
@@ -133,6 +133,25 @@    | StencilIndex4    | StencilIndex8    | StencilIndex16+   | RGBS3TC+   | RGB4S3TC+   | RGBAS3TC+   | RGBA4S3TC+   | RGBADXT5S3TC+   | RGBA4DXT5S3TC+   | CompressedRGBAS3TCDXT1+   | CompressedRGBAS3TCDXT3+   | CompressedRGBAS3TCDXT5+   | CompressedRGBS3TCDXT1+   | Alpha32F+   | Intensity32F+   | Luminance32F+   | LuminanceAlpha32F+   | Alpha16F+   | Intensity16F+   | Luminance16F+   | LuminanceAlpha16F+   | Depth24Stencil8    deriving ( Eq, Ord, Show )  marshalPixelInternalFormat :: PixelInternalFormat -> GLint@@ -247,6 +266,25 @@    StencilIndex4 -> GL_STENCIL_INDEX4    StencilIndex8 -> GL_STENCIL_INDEX8    StencilIndex16 -> GL_STENCIL_INDEX16+   RGBS3TC -> GL_RGB_S3TC+   RGB4S3TC -> GL_RGB4_S3TC+   RGBAS3TC -> GL_RGBA_S3TC+   RGBA4S3TC -> GL_RGBA4_S3TC+   RGBADXT5S3TC -> GL_RGBA_DXT5_S3TC+   RGBA4DXT5S3TC -> GL_RGBA4_DXT5_S3TC+   CompressedRGBAS3TCDXT1 -> GL_COMPRESSED_RGBA_S3TC_DXT1_EXT+   CompressedRGBAS3TCDXT3 -> GL_COMPRESSED_RGBA_S3TC_DXT3_EXT+   CompressedRGBAS3TCDXT5 -> GL_COMPRESSED_RGBA_S3TC_DXT5_EXT+   CompressedRGBS3TCDXT1 -> GL_COMPRESSED_RGB_S3TC_DXT1_EXT+   Alpha32F -> GL_ALPHA32F_ARB+   Intensity32F -> GL_INTENSITY32F_ARB+   Luminance32F -> GL_LUMINANCE32F_ARB+   LuminanceAlpha32F -> GL_LUMINANCE_ALPHA32F_ARB+   Alpha16F -> GL_ALPHA16F_ARB+   Intensity16F -> GL_INTENSITY16F_ARB+   Luminance16F -> GL_LUMINANCE16F_ARB+   LuminanceAlpha16F -> GL_LUMINANCE_ALPHA16F_ARB+   Depth24Stencil8 -> GL_DEPTH24_STENCIL8_EXT  -- *sigh* The OpenGL API is sometimes a bit creative in its usage of types... marshalPixelInternalFormat' :: PixelInternalFormat -> GLenum@@ -359,6 +397,25 @@    | y == GL_STENCIL_INDEX4 = StencilIndex4    | y == GL_STENCIL_INDEX8 = StencilIndex8    | y == GL_STENCIL_INDEX16 = StencilIndex16+   | y == GL_RGB_S3TC = RGBS3TC+   | y == GL_RGB4_S3TC = RGB4S3TC+   | y == GL_RGBA_S3TC = RGBAS3TC+   | y == GL_RGBA4_S3TC = RGBA4S3TC+   | y == GL_RGBA_DXT5_S3TC = RGBADXT5S3TC+   | y == GL_RGBA4_DXT5_S3TC = RGBA4DXT5S3TC+   | y == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = CompressedRGBAS3TCDXT1+   | y == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = CompressedRGBAS3TCDXT3+   | y == GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = CompressedRGBAS3TCDXT5+   | y == GL_COMPRESSED_RGB_S3TC_DXT1_EXT = CompressedRGBS3TCDXT1+   | y == GL_ALPHA32F_ARB = Alpha32F+   | y == GL_INTENSITY32F_ARB = Intensity32F+   | y == GL_LUMINANCE32F_ARB = Luminance32F+   | y == GL_LUMINANCE_ALPHA32F_ARB = LuminanceAlpha32F+   | y == GL_ALPHA16F_ARB = Alpha16F+   | y == GL_INTENSITY16F_ARB = Intensity16F+   | y == GL_LUMINANCE16F_ARB = Luminance16F+   | y == GL_LUMINANCE_ALPHA16F_ARB = LuminanceAlpha16F+   | y == GL_DEPTH24_STENCIL8_EXT = Depth24Stencil8    -- legacy values    | y == 1 = Luminance'    | y == 2 = LuminanceAlpha'
src/Graphics/Rendering/OpenGL/GL/Texturing/Queries.hs view
@@ -16,12 +16,15 @@    TextureQuery, textureInternalFormat, textureSize1D, textureSize2D,    textureSize3D, textureBorder, textureRGBASizes, textureSharedSize,    textureIntensitySize, textureLuminanceSize, textureIndexSize,-   textureDepthBits, textureCompressedImageSize, textureProxyOK+   textureDepthBits, textureCompressedImageSize, textureProxyOK,+   DataRepresentation(..), textureRGBATypes, textureIntensityType,+   textureLuminanceType, textureDepthType ) where  import Control.Monad import Data.StateVar import Foreign.Marshal.Utils+import Graphics.Rendering.OpenGL.GL.DataType import Graphics.Rendering.OpenGL.GL.GLboolean import Graphics.Rendering.OpenGL.GL.PeekPoke import Graphics.Rendering.OpenGL.GL.PixelRectangles@@ -50,6 +53,13 @@    | TextureCompressedImageSize    | TextureCompressed    | TextureSharedSize+   | TextureRedType+   | TextureGreenType+   | TextureBlueType+   | TextureAlphaType+   | TextureLuminanceType+   | TextureIntensityType+   | TextureDepthType  marshalTexLevelParameter :: TexLevelParameter -> GLenum marshalTexLevelParameter x = case x of@@ -69,6 +79,13 @@    TextureCompressedImageSize -> GL_TEXTURE_COMPRESSED_IMAGE_SIZE    TextureCompressed -> GL_TEXTURE_COMPRESSED    TextureSharedSize -> GL_TEXTURE_SHARED_SIZE+   TextureRedType -> GL_TEXTURE_RED_TYPE_ARB+   TextureGreenType -> GL_TEXTURE_GREEN_TYPE_ARB+   TextureBlueType -> GL_TEXTURE_BLUE_TYPE_ARB+   TextureAlphaType -> GL_TEXTURE_ALPHA_TYPE_ARB+   TextureLuminanceType -> GL_TEXTURE_LUMINANCE_TYPE_ARB+   TextureIntensityType -> GL_TEXTURE_INTENSITY_TYPE_ARB+   TextureDepthType -> GL_TEXTURE_DEPTH_TYPE_ARB  -------------------------------------------------------------------------------- @@ -151,6 +168,27 @@ textureProxyOK t level =    makeGettableStateVar $       getTexLevelParameteri unmarshalGLboolean (marshalParameterizedTextureTargetProxy t) level TextureWidth++textureRGBATypes :: QueryableTextureTarget t =>  TextureQuery t (Color4 (Maybe DataRepresentation))+textureRGBATypes t level =+   makeGettableStateVar $+      liftM4 Color4+             (getDataRepr t level TextureRedType  )+             (getDataRepr t level TextureGreenType)+             (getDataRepr t level TextureBlueType )+             (getDataRepr t level TextureAlphaType)++getDataRepr :: QueryableTextureTarget t => t -> Level -> TexLevelParameter -> IO (Maybe DataRepresentation)+getDataRepr = getTexLevelParameteriNoProxy (unmarshalDataRepresentation . fromIntegral)++textureIntensityType :: QueryableTextureTarget t => TextureQuery t (Maybe DataRepresentation)+textureIntensityType t level = makeGettableStateVar $ getDataRepr t level TextureIntensityType++textureLuminanceType :: QueryableTextureTarget t =>  TextureQuery t (Maybe DataRepresentation)+textureLuminanceType t level = makeGettableStateVar $ getDataRepr t level TextureLuminanceType++textureDepthType :: QueryableTextureTarget t =>  TextureQuery t (Maybe DataRepresentation)+textureDepthType t level = makeGettableStateVar $ getDataRepr t level TextureDepthType  getTexLevelParameteriNoProxy :: QueryableTextureTarget t => (GLint -> a) -> t -> Level -> TexLevelParameter -> IO a getTexLevelParameteriNoProxy f = getTexLevelParameteri f . marshalQueryableTextureTarget