packages feed

luminance-0.8: CHANGELOG.md

## 0.8

#### Breaking changes

- `createProgram` now has a new rank 2 type parameter to map uniform values. It uses the newly
  added first-class `UniformName` type to select which kind of uniform is wanted – up to now, simple
  uniforms or uniform block. That change is great because it unifies everything under the same type
  and future adds won’t break the existing code – the signature of `createProgram` for instance.

## 0.7.2

- Made `UniformInterface` visible (type only).

## 0.7.1

- Added `Graphics.Luminance.Pixel` in the export-list of `Graphics.Luminance.Texture`.

# 0.7

#### Breaking changes

- Shader creation can fail with the `UnsupportedStage` error, holding the stage (and not a `String`)
  as it used to.
- Fixed cubemap size interface.
- Shader interface now uses the type `StageType` and `createStage` to create new shader stages.

#### Minor changes

- Several internal architectural changes.
- Added `gl45-bindless-textures` caps.
- Added `gl32` and `gl45` backends. The default backend is `gl32` and backends can be selected via
  compilation flags.

#### Patch changes

- Simplified and fixed UBO implementation.
- Added more debug symbols.
- OpenGL debugging now shows the callstack in a fancy way.
- Several internal architectural changes.

### 0.6.0.5

- semigroups-0.18 support.

### 0.6.0.4

- Extensions are now set per module.

### 0.6.0.3

- Updated .cabal documentation.
- Support for `semigroups-0.17`.

### 0.6.0.2

- Fixed typo in the hackage documentation.

### 0.6.0.1

- Fixed `(:*:)` for `UniformBlock`.
- Dumped the `Storable` constraint in the `uniBlock` function (rank2 function passed to build
  uniform interfaces to `createProgram`).
- Added `(:.)`, `(,)`, `(,,)` and `(,,,)` into `UniformBlock`.

# 0.6

#### Breaking changes

- Added a new function to the `createProgram` and `createProgram_` uniform interface builder
  argument. That function can now be used to retrieve `U (Region rw (UB a))`, which is a *UBO*.
- The uniform interface creation is not performed in a arbitrary, user-defined monad anymore. A
  dedicated type was introduced for that very purpose – `UniformInterface` – constraining the user
  to only use the uniformize functions to map semantics to `U` values.

#### Non-breaking changes

- Added `UB`, which can be used along with `Buffer` to create *UBO* buffers and pass them to
  shaders.

### 0.5.2.1

- Relaxed lower bound of `linear` to accept `linear-1.19.*`. That changes should enable `lumimance`
  to be included into stackage.
- Changed internal representation of `Region`.

## 0.5.2

#### Non-breaking changes

- Added texture arrays:
    + `Texture1DArray`
    + `Texture2DArray`
    + `CubemapArray`

## 0.5.1

#### Non-breaking changes

- Added several `Uniform` instances for [linear](http://hackage.haskell.org/package/linear).

#### Patch changes

- Fixed the indexed render.
- Fixed the vertex attributes being ignored.

### 0.5

#### Breaking changes

- Changed the interface of texels transfer and filling. We dropped the `Foldable` instance and now
  require a `Data.Vector.Storable.Vector` for performance purposes.

#### Non-breaking changes

- Added `MirrorRepeat` constructor to `Wrap`.

#### Patch changes

- Fixed prerequisites in README.

## 0.4.1

- Fixed the `sizeOf` implementation of `a :. b`.
- Added `nubDirect`, which can be used to turn *direct geometry* into *indirect geometry*.

# 0.4

#### Non-breaking changes

- Added .gitignore.

#### Breaking changes

- `V2`, `V3` and `V4` replaced by `vec2`, `vec3` and `vec4`.
- `V` is not anymore luminance’s. We use linear’s one, because it already has all the instances we
  need and is more generic. The interface is then impacted.

## 0.3.2

- Added Core.Tuple into the export liste of Luminance for easier uses in client code space.

### 0.3.1.2

- Fixed Geometry haddock documentation.

### 0.3.1.1

- Fixed haddock escaping issues.

## 0.3.1

- Added `CubeFace` in the interface.

### 0.3.0.1

- Enhanced Texture documentation.

# 0.3

- All textures can now be used in shaders.
- Added support for more OpenGL textures – though, framebuffers are not impacted yet.
    - `Texture1D`
    - `Texture2D`
    - `Texture3D`
    - `Cubemap`
- Changed the texture interface with type families so that we can add more in an
  easier way!

# 0.2

#### Breaking changes

- Automatically insert GLSL pragmas in shaders.

#### Non-breaking changes

- Added documentation for RenderCmd.
- Added stdRenderCmd_.
- Added shaderProgramBatch_.

### 0.1.1.1

- Fixed a typo in the Graphics.Luminance documentation.

## 0.1.1

- Added a tutoral in Graphics.Luminance.

# 0.1

- Initial revision. Do not consider this revision as a stable release. It’s experimental. The
  first stable release will be **1.0**.