Copyright | (C) 2015 Dimitri Sabadie |
---|---|
License | BSD3 |
Maintainer | Dimitri Sabadie <dimitri.sabadie@gmail.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Vertex components
data V n a :: k -> * -> *
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) | |
(KnownNat n, Storable a, VertexAttribute * a) => Vertex * (V Nat n a) Source | |
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 | |
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.
vertexGLType
Vertex
A vertex has to implement Vertex
in order to be used as-is. That typeclass is closed, so you
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.
setFormatV