luminance-0.11: luminance.cabal
name: luminance
version: 0.11
synopsis: Type-safe, type-level and stateless graphics framework
description: This package exposes several modules to work with /GPUs/ in a stateless and
type-safe way. Currently, it uses OpenGL as backend hardware technology but
others will be added later on, such as Vulkan.
.
One very important point is the fact that luminance has nothing to do with
/3D engines/ or /scene development kits/. Don’t expect to find /materials/,
/lights/ or /mesh/ loaders. It’s just a graphics framework initiated to fix the
design choices of OpenGL. It won’t change in any other way. However, as it
grows, the plan is to make luminance a good graphics framework following the
Haskell philosophy. In the end, it should be used as-is, not as an OpenGL
abstraction.
.
luminance is a small yet powerful graphics API. It was designed so that
people can quickly get their feet wet and start having fun with graphics in
/Haskell/. The main idea is to unleash the graphical and visual properties of
/GPUs/ in a stateless and type-safe way.
.
This library doesn’t expose any architectural patterns or designs. It’s up to
you to design your program as you want and following your own plans.
license: BSD3
license-file: LICENSE
author: Dimitri Sabadie <dimitri.sabadie@gmail.com>
maintainer: Dimitri Sabadie <dimitri.sabadie@gmail.com>
copyright: Dimitri Sabadie
homepage: https://github.com/phaazon/luminance
bug-reports: https://github.com/phaazon/luminance/issues
category: Graphics
extra-source-files: CHANGELOG.md
build-type: Simple
cabal-version: >= 1.10
source-repository head
type: git
location: git://github.com/phaazon/luminance.git
flag debug-gl
description: Enable OpenGL stdout debug (for development only)
default: False
manual: True
flag gl45
description: Compile with the OpenGL 4.5 backend
default: False
manual: True
flag gl45-bindless-textures
description: Compile with the OpenGL 4.5 + bindless textures backend
default: False
manual: True
flag gl33
description: Compile with the OpenGL 3.3 backend
default: True
manual: True
library
ghc-options: -W -Wall
if flag(debug-gl)
cpp-options: -DDEBUG_GL
if flag(gl45)
cpp-options: -D__GL45
if flag(gl45-bindless-textures)
cpp-options: -D__GL45 -D__GL_BINDLESS_TEXTURES
if flag(gl33)
cpp-options: -D__GL33
exposed-modules: Control.Some
, Graphics.Luminance
, Graphics.Luminance.Blending
, Graphics.Luminance.Buffer
, Graphics.Luminance.Core.Tuple
, Graphics.Luminance.Framebuffer
, Graphics.Luminance.Geometry
, Graphics.Luminance.Pixel
, Graphics.Luminance.Query
, Graphics.Luminance.RenderCmd
, Graphics.Luminance.RW
, Graphics.Luminance.Shader
, Graphics.Luminance.Shader.Program
, Graphics.Luminance.Shader.Stage
, Graphics.Luminance.Texture
, Graphics.Luminance.Vertex
other-modules: Graphics.Luminance.Core.Blending
, Graphics.Luminance.Core.Buffer
, Graphics.Luminance.Core.Cubemap
, Graphics.Luminance.Core.CubemapArray
, Graphics.Luminance.Core.Debug
, Graphics.Luminance.Core.Draw
, Graphics.Luminance.Core.Framebuffer
, Graphics.Luminance.Core.Geometry
, Graphics.Luminance.Core.Pixel
, Graphics.Luminance.Core.Query
, Graphics.Luminance.Core.RenderCmd
, Graphics.Luminance.Core.Renderbuffer
, Graphics.Luminance.Core.RW
, Graphics.Luminance.Core.Shader.Program
, Graphics.Luminance.Core.Shader.Stage
, Graphics.Luminance.Core.Shader.UniformBlock
, Graphics.Luminance.Core.Texture
, Graphics.Luminance.Core.Texture1D
, Graphics.Luminance.Core.Texture1DArray
, Graphics.Luminance.Core.Texture2D
, Graphics.Luminance.Core.Texture2DArray
, Graphics.Luminance.Core.Texture3D
, Graphics.Luminance.Core.Vertex
build-depends: base >= 4.8 && < 4.9
, containers >= 0.5 && < 0.6
, contravariant >= 1.3 && < 1.5
, dlist >= 0.7 && < 0.8
, gl >= 0.7 && < 0.8
, linear >= 1.19 && < 1.21
, mtl >= 2.2 && < 2.3
, resourcet >= 1.1 && < 1.2
, semigroups >= 0.16 && < 0.19
, transformers >= 0.4 && < 0.5
, vector >= 0.11 && < 0.12
, void >= 0.7 && < 0.8
hs-source-dirs: src
default-language: Haskell2010