GPipe

Typesafe functional GPU graphics programming

http://tobbebex.blogspot.se/

Version on this page:2.1.7
LTS Haskell 11.22:2.2.3
Stackage Nightly 2018-03-12:2.2.3
Latest on Hackage:2.2.5

See all snapshots GPipe appears in

MIT licensed and maintained by Tobias Bexelius
This version can be pinned in stack with:GPipe-2.1.7@sha256:6651b5953e8e862b16d148a19ae2885986fe693a990ff621a547145c9737b31c,2792

A typesafe API based on the conceptual model of OpenGl, but without the imperative state machine. Aims to be as close to the raw OpenGl performance as possible, without compromising type safety or functional style. Includes DSL for shaders to provide type safety even when crossing into that domain. Uses OpenGl 3.3 core profile under the hood.

Changes

2.1.6

  • Runtime optimizations (Use BaseVertex for glDraw* instead of offsetting each attribute)

2.1.6

  • Adding support for normal Floats, Int32s and Word32s in PrimitiveStreams
  • Runtime optimizations

2.1.5

  • Fixed bug in clear where masks weren’t set
  • Added up to 7-tuple instances

2.1.4

  • Fixed bug in dropVertices and dropIndices (#16)
  • Added withPointSize (#15)

2.1.3

  • Fixed bug in clearImage

2.1.2

  • Fixed bug when nesting while, ifThen, ifThenElse or ifThenElse’.

2.1.1

  • Made ifB use ifThenElse’ instead to avoid unwanted strictness
  • Fixed bug where ShaderBaseType for () wasn’t lazy enough, causing error in ifThenElse’
  • Added missing () instances

2.1

  • Making dangling finalizers work with shared and unshared contexts (#10)
  • Moved orphan instances to separate module (#11)
  • Fixing a bug introduced in 2.0.2 when using multiple uniforms
  • Fixing exception when using conditionals in the shader (#12)

2.0.2

  • Linear bumped to 1.20
  • Running contextSwap and contextFrameBufferSize on righjt thread (#7)
  • render now throws if rendering to an image from a texture thats used for sampling (#8)
  • Added GPipe class instances for all linear types (#9)

2.0.1

  • Fixed runtime error in simple fragment program when not all uniforms where used (#5)

2.0

  • Initial release of GPipe 2