Copyright | (C) 2015 Dimitri Sabadie |
---|---|
License | BSD3 |
Maintainer | Dimitri Sabadie <dimitri.sabadie@gmail.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Graphics.Luminance.Vertex
Contents
Description
Vertex components
data V n a :: k -> * -> *
Instances
FunctorWithIndex Int (V k n) | |
FoldableWithIndex Int (V k n) | |
TraversableWithIndex Int (V k n) | |
(Dim k n, Unbox a) => Vector Vector (V k n a) | |
Dim k n => Dim * (V k n a) | |
(Dim k n, Unbox a) => MVector MVector (V k n a) | |
Uniform [V Nat 2 Float] Source | |
Uniform [V Nat 2 Int32] Source | |
Uniform [V Nat 2 Word32] Source | |
Uniform [V Nat 3 Float] Source | |
Uniform [V Nat 3 Int32] Source | |
Uniform [V Nat 3 Word32] Source | |
Uniform [V Nat 4 Float] Source | |
Uniform [V Nat 4 Int32] Source | |
Uniform [V Nat 4 Word32] Source | |
Dim k n => Monad (V k n) | |
Functor (V k n) | |
Dim k n => MonadFix (V k n) | |
Dim k n => Applicative (V k n) | |
Foldable (V k n) | |
Traversable (V k n) | |
Generic1 (V k n) | |
Dim k n => Distributive (V k n) | |
Dim k n => Representable (V k n) | |
Dim k n => MonadZip (V k n) | |
Dim k n => Serial1 (V k n) | |
Dim k n => Metric (V k n) | |
Dim k n => Additive (V k n) | |
Apply (V k n) | |
Bind (V k n) | |
Dim k n => Eq1 (V k n) | |
Dim k n => Ord1 (V k n) | |
Dim k n => Read1 (V k n) | |
Dim k n => Show1 (V k n) | |
(Bounded a, Dim k n) => Bounded (V k n a) | |
Eq a => Eq (V k n a) | |
(Dim k n, Floating a) => Floating (V k n a) | |
(Dim k n, Fractional a) => Fractional (V k n a) | |
(Typeable (* -> *) (V k n), Typeable * (V k n a), Dim k n, Data a) => Data (V k n a) | |
(Dim k n, Num a) => Num (V k n a) | |
Ord a => Ord (V k n a) | |
Read a => Read (V k n a) | |
Show a => Show (V k n a) | |
Generic (V k n a) | |
(Dim k n, Storable a) => Storable (V k n a) | |
(Dim k n, Binary a) => Binary (V k n a) | |
(Dim k n, Serial a) => Serial (V k n a) | |
(Dim k n, Serialize a) => Serialize (V k n a) | |
NFData a => NFData (V k n a) | |
(Dim k n, Unbox a) => Unbox (V k n a) | |
Ixed (V k n a) | |
(Dim k n, Epsilon a) => Epsilon (V k n a) | |
Uniform (V Nat 2 Float) Source | |
Uniform (V Nat 2 Int32) Source | |
Uniform (V Nat 2 Word32) Source | |
Uniform (V Nat 3 Float) Source | |
Uniform (V Nat 3 Int32) Source | |
Uniform (V Nat 3 Word32) Source | |
Uniform (V Nat 4 Float) Source | |
Uniform (V Nat 4 Int32) Source | |
Uniform (V Nat 4 Word32) Source | |
(KnownNat n, Storable a, VertexAttribute a) => Vertex (V Nat n a) Source | |
Each (V k n a) (V k n b) a b | |
data MVector s (V k n a) = MV_VN !Int !(MVector s a) | |
type Rep1 (V k n) = D1 D1V (C1 C1_0V (S1 S1_0_0V (Rec1 Vector))) | |
type Rep (V k n) = Int | |
type Rep (V k n a) = D1 D1V (C1 C1_0V (S1 S1_0_0V (Rec0 (Vector a)))) | |
data Vector (V k n a) = V_VN !Int !(Vector a) | |
type Index (V k n a) = Int | |
type IxValue (V k n a) = a |
class VertexAttribute a Source
A vertex might have several attributes. The types of those attributes have to implement the
VertexAttribute
typeclass in order to be used as vertex attributes.
Minimal complete definition
vertexGLType
Vertex
A vertex has to implement Vertex
in order to be used as-is. That typeclass is closed, so you
cannot add anymore instances. However, you shouldn’t need to since you can use the already
provided types to build up your vertex type.
Minimal complete definition
setFormatV