packages feed

ombra-0.1.0.0: ombra.cabal

name:                ombra
version:             0.1.0.0
synopsis:            Render engine.
description:         Ombra is a render engine written in Haskell. It provides a purely functional interface for advanced graphics programming, including a type safe embedded DSL for GPU programming. You are not required to know or use OpenGL directly to work with Ombra, you just need a basic knowledge of what vertex/fragment shaders, uniforms and attributes are (if you are going to make a more advanced use of it). Ombra supports both OpenGL and WebGL.
homepage:            https://github.com/ziocroc/Ombra
bug-reports:         https://github.com/ziocroc/Ombra/issues
license:             BSD3
license-file:        LICENSE
author:              Luca "ziocroc" Prezzavento
maintainer:          ziocroc@gmail.com
copyright:           Copyright © 2014-2016 Luca Prezzavento
category:            Graphics
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10

source-repository head
  type:      git
  location:  https://github.com/ziocroc/Ombra
        
flag opengl
  description: Enable the OpenGL backend. Main module: Graphics.Rendering.Ombra.Backend.OpenGL

flag webgl
  description: Enable the GHCJS/WebGL backend, if compiled with GHCJS. Main module: Graphics.Rendering.Ombra.Backend.WebGL

library
  exposed-modules:     Graphics.Rendering.Ombra.Generic, Graphics.Rendering.Ombra.Blend, Graphics.Rendering.Ombra.Shader, Graphics.Rendering.Ombra.Transformation, Graphics.Rendering.Ombra.Draw, Graphics.Rendering.Ombra.Draw.Internal, Graphics.Rendering.Ombra.D2, Graphics.Rendering.Ombra.Geometry, Graphics.Rendering.Ombra.D3, Graphics.Rendering.Ombra.Types, Graphics.Rendering.Ombra.Texture, Graphics.Rendering.Ombra.Color, Graphics.Rendering.Ombra.Backend, Graphics.Rendering.Ombra.Shapes, Graphics.Rendering.Ombra.Internal.GL, Graphics.Rendering.Ombra.Shader.ShaderVar, Graphics.Rendering.Ombra.Shader.GLSL, Graphics.Rendering.Ombra.Shader.Stages, Graphics.Rendering.Ombra.Shader.Program, Graphics.Rendering.Ombra.Shader.CPU, Graphics.Rendering.Ombra.Shader.Default3D, Graphics.Rendering.Ombra.Shader.Default2D, Graphics.Rendering.Ombra.Shader.Language.Types, Graphics.Rendering.Ombra.Shader.Language.Functions
  other-modules:       Graphics.Rendering.Ombra.Internal.STVectorLen, Graphics.Rendering.Ombra.Internal.Resource, Graphics.Rendering.Ombra.Internal.TList

  if flag(webgl) && impl(ghcjs)
    exposed-modules:   Graphics.Rendering.Ombra.Backend.WebGL
    other-modules:     Graphics.Rendering.Ombra.Backend.WebGL.Raw, Graphics.Rendering.Ombra.Backend.WebGL.Types, Graphics.Rendering.Ombra.Backend.WebGL.Const

  if flag(opengl) && !impl(ghcjs)
    exposed-modules:   Graphics.Rendering.Ombra.Backend.OpenGL

  other-extensions:    TypeOperators, DataKinds, ConstraintKinds, MultiParamTypeClasses, TypeFamilies, FlexibleContexts, FlexibleInstances, RankNTypes, GADTs, TypeSynonymInstances, KindSignatures, UndecidableInstances, ExistentialQuantification, GeneralizedNewtypeDeriving, NullaryTypeClasses, PolyKinds, ScopedTypeVariables, FunctionalDependencies, DeriveDataTypeable, ImpredicativeTypes, RebindableSyntax

  build-depends:       base <5.0, vect <0.5, hashable <1.3, unordered-containers <0.3, vector <0.12, transformers <0.6, hashtables <1.4

  if flag(opengl) && !impl(ghcjs)
    build-depends:     gl <0.8

  if flag(webgl) && impl(ghcjs)
    build-depends:     ghcjs-base

  default-language:    Haskell2010