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) | |
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.
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.
setFormatV