OpenGL-3.0.3.0: A binding for the OpenGL graphics system

Copyright | (c) Sven Panne 2019
License | BSD3
Maintainer | Sven Panne <svenpanne@gmail.com>
Stability | stable
Portability | portable
Safe Haskell | Safe-Inferred
Language | Haskell2010

Graphics.Rendering.OpenGL.GL.Tensor

Description

This package contains tensor data types and their instances for some basic type classes.

Synopsis

- newtype Vertex1 a = Vertex1 a
- data Vertex2 a = Vertex2 !a !a
- data Vertex3 a = Vertex3 !a !a !a
- data Vertex4 a = Vertex4 !a !a !a !a
- newtype Vector1 a = Vector1 a
- data Vector2 a = Vector2 !a !a
- data Vector3 a = Vector3 !a !a !a
- data Vector4 a = Vector4 !a !a !a !a

# Documentation

newtype Vertex1 a Source #

A vertex with y=0, z=0 and w=1.

Constructors

Vertex1 a |

#### Instances

Instances details

Applicative Vertex1 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods pure :: a -> Vertex1 a Source # (<*>) :: Vertex1 (a -> b) -> Vertex1 a -> Vertex1 b Source # liftA2 :: (a -> b -> c) -> Vertex1 a -> Vertex1 b -> Vertex1 c Source # (*>) :: Vertex1 a -> Vertex1 b -> Vertex1 b Source # (<*) :: Vertex1 a -> Vertex1 b -> Vertex1 a Source #
Functor Vertex1 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods fmap :: (a -> b) -> Vertex1 a -> Vertex1 b Source # (<$) :: a -> Vertex1 b -> Vertex1 a Source #
Foldable Vertex1 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

fold :: Monoid m => Vertex1 m -> m Source #

foldMap :: Monoid m => (a -> m) -> Vertex1 a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Vertex1 a -> m Source #

foldr :: (a -> b -> b) -> b -> Vertex1 a -> b Source #

foldr' :: (a -> b -> b) -> b -> Vertex1 a -> b Source #

foldl :: (b -> a -> b) -> b -> Vertex1 a -> b Source #

foldl' :: (b -> a -> b) -> b -> Vertex1 a -> b Source #

foldr1 :: (a -> a -> a) -> Vertex1 a -> a Source #

foldl1 :: (a -> a -> a) -> Vertex1 a -> a Source #

toList :: Vertex1 a -> [a] Source #

null :: Vertex1 a -> Bool Source #

length :: Vertex1 a -> Int Source #

elem :: Eq a => a -> Vertex1 a -> Bool Source #

maximum :: Ord a => Vertex1 a -> a Source #

minimum :: Ord a => Vertex1 a -> a Source #

sum :: Num a => Vertex1 a -> a Source #

product :: Num a => Vertex1 a -> a Source #

Traversable Vertex1 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods traverse :: Applicative f => (a -> f b) -> Vertex1 a -> f (Vertex1 b) Source # sequenceA :: Applicative f => Vertex1 (f a) -> f (Vertex1 a) Source # mapM :: Monad m => (a -> m b) -> Vertex1 a -> m (Vertex1 b) Source # sequence :: Monad m => Vertex1 (m a) -> m (Vertex1 a) Source #
UniformComponent a => Uniform (Vertex1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform Methods uniform :: UniformLocation -> StateVar (Vertex1 a) Source # uniformv :: UniformLocation -> GLsizei -> Ptr (Vertex1 a) -> IO () Source #
VertexAttribComponent a => VertexAttrib (Vertex1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertexAttrib :: IntegerHandling -> AttribLocation -> Vertex1 a -> IO () Source # vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr (Vertex1 a) -> IO () Source #
Bounded a => Bounded (Vertex1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods minBound :: Vertex1 a Source # maxBound :: Vertex1 a Source #
Storable a => Storable (Vertex1 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

sizeOf :: Vertex1 a -> Int Source #

alignment :: Vertex1 a -> Int Source #

peekElemOff :: Ptr (Vertex1 a) -> Int -> IO (Vertex1 a) Source #

pokeElemOff :: Ptr (Vertex1 a) -> Int -> Vertex1 a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Vertex1 a) Source #

pokeByteOff :: Ptr b -> Int -> Vertex1 a -> IO () Source #

peek :: Ptr (Vertex1 a) -> IO (Vertex1 a) Source #

poke :: Ptr (Vertex1 a) -> Vertex1 a -> IO () Source #

Ix a => Ix (Vertex1 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

range :: (Vertex1 a, Vertex1 a) -> [Vertex1 a] Source #

index :: (Vertex1 a, Vertex1 a) -> Vertex1 a -> Int Source #

unsafeIndex :: (Vertex1 a, Vertex1 a) -> Vertex1 a -> Int Source #

inRange :: (Vertex1 a, Vertex1 a) -> Vertex1 a -> Bool Source #

rangeSize :: (Vertex1 a, Vertex1 a) -> Int Source #

unsafeRangeSize :: (Vertex1 a, Vertex1 a) -> Int Source #

Read a => Read (Vertex1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods readsPrec :: Int -> ReadS (Vertex1 a) Source # readList :: ReadS [Vertex1 a] Source # readPrec :: ReadPrec (Vertex1 a) Source # readListPrec :: ReadPrec [Vertex1 a] Source #
Show a => Show (Vertex1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods showsPrec :: Int -> Vertex1 a -> ShowS Source # show :: Vertex1 a -> String Source # showList :: [Vertex1 a] -> ShowS Source #
Eq a => Eq (Vertex1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods (==) :: Vertex1 a -> Vertex1 a -> Bool Source # (/=) :: Vertex1 a -> Vertex1 a -> Bool Source #
Ord a => Ord (Vertex1 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

compare :: Vertex1 a -> Vertex1 a -> Ordering Source #

(<) :: Vertex1 a -> Vertex1 a -> Bool Source #

(<=) :: Vertex1 a -> Vertex1 a -> Bool Source #

(>) :: Vertex1 a -> Vertex1 a -> Bool Source #

(>=) :: Vertex1 a -> Vertex1 a -> Bool Source #

max :: Vertex1 a -> Vertex1 a -> Vertex1 a Source #

min :: Vertex1 a -> Vertex1 a -> Vertex1 a Source #

data Vertex2 a Source #

A vertex with z=0 and w=1.

Constructors

Vertex2 !a !a |

#### Instances

Instances details

TrimmingPoint Vertex2 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GLU.NURBS Methods trimmingTarget :: Vertex2 GLfloat -> GLenum
Applicative Vertex2 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods pure :: a -> Vertex2 a Source # (<*>) :: Vertex2 (a -> b) -> Vertex2 a -> Vertex2 b Source # liftA2 :: (a -> b -> c) -> Vertex2 a -> Vertex2 b -> Vertex2 c Source # (*>) :: Vertex2 a -> Vertex2 b -> Vertex2 b Source # (<*) :: Vertex2 a -> Vertex2 b -> Vertex2 a Source #
Functor Vertex2 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods fmap :: (a -> b) -> Vertex2 a -> Vertex2 b Source # (<$) :: a -> Vertex2 b -> Vertex2 a Source #
Foldable Vertex2 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

fold :: Monoid m => Vertex2 m -> m Source #

foldMap :: Monoid m => (a -> m) -> Vertex2 a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Vertex2 a -> m Source #

foldr :: (a -> b -> b) -> b -> Vertex2 a -> b Source #

foldr' :: (a -> b -> b) -> b -> Vertex2 a -> b Source #

foldl :: (b -> a -> b) -> b -> Vertex2 a -> b Source #

foldl' :: (b -> a -> b) -> b -> Vertex2 a -> b Source #

foldr1 :: (a -> a -> a) -> Vertex2 a -> a Source #

foldl1 :: (a -> a -> a) -> Vertex2 a -> a Source #

toList :: Vertex2 a -> [a] Source #

null :: Vertex2 a -> Bool Source #

length :: Vertex2 a -> Int Source #

elem :: Eq a => a -> Vertex2 a -> Bool Source #

maximum :: Ord a => Vertex2 a -> a Source #

minimum :: Ord a => Vertex2 a -> a Source #

sum :: Num a => Vertex2 a -> a Source #

product :: Num a => Vertex2 a -> a Source #

Traversable Vertex2 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods traverse :: Applicative f => (a -> f b) -> Vertex2 a -> f (Vertex2 b) Source # sequenceA :: Applicative f => Vertex2 (f a) -> f (Vertex2 a) Source # mapM :: Monad m => (a -> m b) -> Vertex2 a -> m (Vertex2 b) Source # sequence :: Monad m => Vertex2 (m a) -> m (Vertex2 a) Source #
RasterPosComponent a => RasterPos (Vertex2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.RasterPos Methods rasterPos :: Vertex2 a -> IO () Source # rasterPosv :: Ptr (Vertex2 a) -> IO () Source #
WindowPosComponent a => WindowPos (Vertex2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.RasterPos Methods windowPos :: Vertex2 a -> IO () Source # windowPosv :: Ptr (Vertex2 a) -> IO () Source #
UniformComponent a => Uniform (Vertex2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform Methods uniform :: UniformLocation -> StateVar (Vertex2 a) Source # uniformv :: UniformLocation -> GLsizei -> Ptr (Vertex2 a) -> IO () Source #
VertexComponent a => Vertex (Vertex2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertex :: Vertex2 a -> IO () Source # vertexv :: Ptr (Vertex2 a) -> IO () Source #
VertexAttribComponent a => VertexAttrib (Vertex2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertexAttrib :: IntegerHandling -> AttribLocation -> Vertex2 a -> IO () Source # vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr (Vertex2 a) -> IO () Source #
Bounded a => Bounded (Vertex2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods minBound :: Vertex2 a Source # maxBound :: Vertex2 a Source #
Storable a => Storable (Vertex2 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

sizeOf :: Vertex2 a -> Int Source #

alignment :: Vertex2 a -> Int Source #

peekElemOff :: Ptr (Vertex2 a) -> Int -> IO (Vertex2 a) Source #

pokeElemOff :: Ptr (Vertex2 a) -> Int -> Vertex2 a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Vertex2 a) Source #

pokeByteOff :: Ptr b -> Int -> Vertex2 a -> IO () Source #

peek :: Ptr (Vertex2 a) -> IO (Vertex2 a) Source #

poke :: Ptr (Vertex2 a) -> Vertex2 a -> IO () Source #

Ix a => Ix (Vertex2 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

range :: (Vertex2 a, Vertex2 a) -> [Vertex2 a] Source #

index :: (Vertex2 a, Vertex2 a) -> Vertex2 a -> Int Source #

unsafeIndex :: (Vertex2 a, Vertex2 a) -> Vertex2 a -> Int Source #

inRange :: (Vertex2 a, Vertex2 a) -> Vertex2 a -> Bool Source #

rangeSize :: (Vertex2 a, Vertex2 a) -> Int Source #

unsafeRangeSize :: (Vertex2 a, Vertex2 a) -> Int Source #

Read a => Read (Vertex2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods readsPrec :: Int -> ReadS (Vertex2 a) Source # readList :: ReadS [Vertex2 a] Source # readPrec :: ReadPrec (Vertex2 a) Source # readListPrec :: ReadPrec [Vertex2 a] Source #
Show a => Show (Vertex2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods showsPrec :: Int -> Vertex2 a -> ShowS Source # show :: Vertex2 a -> String Source # showList :: [Vertex2 a] -> ShowS Source #
Eq a => Eq (Vertex2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods (==) :: Vertex2 a -> Vertex2 a -> Bool Source # (/=) :: Vertex2 a -> Vertex2 a -> Bool Source #
Ord a => Ord (Vertex2 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

compare :: Vertex2 a -> Vertex2 a -> Ordering Source #

(<) :: Vertex2 a -> Vertex2 a -> Bool Source #

(<=) :: Vertex2 a -> Vertex2 a -> Bool Source #

(>) :: Vertex2 a -> Vertex2 a -> Bool Source #

(>=) :: Vertex2 a -> Vertex2 a -> Bool Source #

max :: Vertex2 a -> Vertex2 a -> Vertex2 a Source #

min :: Vertex2 a -> Vertex2 a -> Vertex2 a Source #

data Vertex3 a Source #

A vertex with w=1.

Constructors

Vertex3 !a !a !a |

#### Instances

Instances details

ControlPoint Vertex3 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.ControlPoint

Methods

map1Target :: Domain d => Vertex3 d -> GLenum

map2Target :: Domain d => Vertex3 d -> GLenum

enableCap1 :: Domain d => Vertex3 d -> EnableCap

enableCap2 :: Domain d => Vertex3 d -> EnableCap

numComponents :: Domain d => Vertex3 d -> Stride

peekControlPoint :: Domain d => Ptr (Vertex3 d) -> IO (Vertex3 d)

pokeControlPoint :: Domain d => Ptr (Vertex3 d) -> Vertex3 d -> IO ()

TrimmingPoint Vertex3 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GLU.NURBS Methods trimmingTarget :: Vertex3 GLfloat -> GLenum
Applicative Vertex3 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods pure :: a -> Vertex3 a Source # (<*>) :: Vertex3 (a -> b) -> Vertex3 a -> Vertex3 b Source # liftA2 :: (a -> b -> c) -> Vertex3 a -> Vertex3 b -> Vertex3 c Source # (*>) :: Vertex3 a -> Vertex3 b -> Vertex3 b Source # (<*) :: Vertex3 a -> Vertex3 b -> Vertex3 a Source #
Functor Vertex3 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods fmap :: (a -> b) -> Vertex3 a -> Vertex3 b Source # (<$) :: a -> Vertex3 b -> Vertex3 a Source #
Foldable Vertex3 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

fold :: Monoid m => Vertex3 m -> m Source #

foldMap :: Monoid m => (a -> m) -> Vertex3 a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Vertex3 a -> m Source #

foldr :: (a -> b -> b) -> b -> Vertex3 a -> b Source #

foldr' :: (a -> b -> b) -> b -> Vertex3 a -> b Source #

foldl :: (b -> a -> b) -> b -> Vertex3 a -> b Source #

foldl' :: (b -> a -> b) -> b -> Vertex3 a -> b Source #

foldr1 :: (a -> a -> a) -> Vertex3 a -> a Source #

foldl1 :: (a -> a -> a) -> Vertex3 a -> a Source #

toList :: Vertex3 a -> [a] Source #

null :: Vertex3 a -> Bool Source #

length :: Vertex3 a -> Int Source #

elem :: Eq a => a -> Vertex3 a -> Bool Source #

maximum :: Ord a => Vertex3 a -> a Source #

minimum :: Ord a => Vertex3 a -> a Source #

sum :: Num a => Vertex3 a -> a Source #

product :: Num a => Vertex3 a -> a Source #

Traversable Vertex3 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods traverse :: Applicative f => (a -> f b) -> Vertex3 a -> f (Vertex3 b) Source # sequenceA :: Applicative f => Vertex3 (f a) -> f (Vertex3 a) Source # mapM :: Monad m => (a -> m b) -> Vertex3 a -> m (Vertex3 b) Source # sequence :: Monad m => Vertex3 (m a) -> m (Vertex3 a) Source #
RasterPosComponent a => RasterPos (Vertex3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.RasterPos Methods rasterPos :: Vertex3 a -> IO () Source # rasterPosv :: Ptr (Vertex3 a) -> IO () Source #
WindowPosComponent a => WindowPos (Vertex3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.RasterPos Methods windowPos :: Vertex3 a -> IO () Source # windowPosv :: Ptr (Vertex3 a) -> IO () Source #
UniformComponent a => Uniform (Vertex3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform Methods uniform :: UniformLocation -> StateVar (Vertex3 a) Source # uniformv :: UniformLocation -> GLsizei -> Ptr (Vertex3 a) -> IO () Source #
VertexComponent a => Vertex (Vertex3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertex :: Vertex3 a -> IO () Source # vertexv :: Ptr (Vertex3 a) -> IO () Source #
VertexAttribComponent a => VertexAttrib (Vertex3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertexAttrib :: IntegerHandling -> AttribLocation -> Vertex3 a -> IO () Source # vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr (Vertex3 a) -> IO () Source #
Bounded a => Bounded (Vertex3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods minBound :: Vertex3 a Source # maxBound :: Vertex3 a Source #
Storable a => Storable (Vertex3 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

sizeOf :: Vertex3 a -> Int Source #

alignment :: Vertex3 a -> Int Source #

peekElemOff :: Ptr (Vertex3 a) -> Int -> IO (Vertex3 a) Source #

pokeElemOff :: Ptr (Vertex3 a) -> Int -> Vertex3 a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Vertex3 a) Source #

pokeByteOff :: Ptr b -> Int -> Vertex3 a -> IO () Source #

peek :: Ptr (Vertex3 a) -> IO (Vertex3 a) Source #

poke :: Ptr (Vertex3 a) -> Vertex3 a -> IO () Source #

Ix a => Ix (Vertex3 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

range :: (Vertex3 a, Vertex3 a) -> [Vertex3 a] Source #

index :: (Vertex3 a, Vertex3 a) -> Vertex3 a -> Int Source #

unsafeIndex :: (Vertex3 a, Vertex3 a) -> Vertex3 a -> Int Source #

inRange :: (Vertex3 a, Vertex3 a) -> Vertex3 a -> Bool Source #

rangeSize :: (Vertex3 a, Vertex3 a) -> Int Source #

unsafeRangeSize :: (Vertex3 a, Vertex3 a) -> Int Source #

Read a => Read (Vertex3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods readsPrec :: Int -> ReadS (Vertex3 a) Source # readList :: ReadS [Vertex3 a] Source # readPrec :: ReadPrec (Vertex3 a) Source # readListPrec :: ReadPrec [Vertex3 a] Source #
Show a => Show (Vertex3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods showsPrec :: Int -> Vertex3 a -> ShowS Source # show :: Vertex3 a -> String Source # showList :: [Vertex3 a] -> ShowS Source #
Eq a => Eq (Vertex3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods (==) :: Vertex3 a -> Vertex3 a -> Bool Source # (/=) :: Vertex3 a -> Vertex3 a -> Bool Source #
Ord a => Ord (Vertex3 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

compare :: Vertex3 a -> Vertex3 a -> Ordering Source #

(<) :: Vertex3 a -> Vertex3 a -> Bool Source #

(<=) :: Vertex3 a -> Vertex3 a -> Bool Source #

(>) :: Vertex3 a -> Vertex3 a -> Bool Source #

(>=) :: Vertex3 a -> Vertex3 a -> Bool Source #

max :: Vertex3 a -> Vertex3 a -> Vertex3 a Source #

min :: Vertex3 a -> Vertex3 a -> Vertex3 a Source #

data Vertex4 a Source #

A fully-fledged four-dimensional vertex.

Constructors

Vertex4 !a !a !a !a |

#### Instances

Instances details

ControlPoint Vertex4 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.ControlPoint

Methods

map1Target :: Domain d => Vertex4 d -> GLenum

map2Target :: Domain d => Vertex4 d -> GLenum

enableCap1 :: Domain d => Vertex4 d -> EnableCap

enableCap2 :: Domain d => Vertex4 d -> EnableCap

numComponents :: Domain d => Vertex4 d -> Stride

peekControlPoint :: Domain d => Ptr (Vertex4 d) -> IO (Vertex4 d)

pokeControlPoint :: Domain d => Ptr (Vertex4 d) -> Vertex4 d -> IO ()

Applicative Vertex4 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods pure :: a -> Vertex4 a Source # (<*>) :: Vertex4 (a -> b) -> Vertex4 a -> Vertex4 b Source # liftA2 :: (a -> b -> c) -> Vertex4 a -> Vertex4 b -> Vertex4 c Source # (*>) :: Vertex4 a -> Vertex4 b -> Vertex4 b Source # (<*) :: Vertex4 a -> Vertex4 b -> Vertex4 a Source #
Functor Vertex4 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods fmap :: (a -> b) -> Vertex4 a -> Vertex4 b Source # (<$) :: a -> Vertex4 b -> Vertex4 a Source #
Foldable Vertex4 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

fold :: Monoid m => Vertex4 m -> m Source #

foldMap :: Monoid m => (a -> m) -> Vertex4 a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Vertex4 a -> m Source #

foldr :: (a -> b -> b) -> b -> Vertex4 a -> b Source #

foldr' :: (a -> b -> b) -> b -> Vertex4 a -> b Source #

foldl :: (b -> a -> b) -> b -> Vertex4 a -> b Source #

foldl' :: (b -> a -> b) -> b -> Vertex4 a -> b Source #

foldr1 :: (a -> a -> a) -> Vertex4 a -> a Source #

foldl1 :: (a -> a -> a) -> Vertex4 a -> a Source #

toList :: Vertex4 a -> [a] Source #

null :: Vertex4 a -> Bool Source #

length :: Vertex4 a -> Int Source #

elem :: Eq a => a -> Vertex4 a -> Bool Source #

maximum :: Ord a => Vertex4 a -> a Source #

minimum :: Ord a => Vertex4 a -> a Source #

sum :: Num a => Vertex4 a -> a Source #

product :: Num a => Vertex4 a -> a Source #

Traversable Vertex4 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods traverse :: Applicative f => (a -> f b) -> Vertex4 a -> f (Vertex4 b) Source # sequenceA :: Applicative f => Vertex4 (f a) -> f (Vertex4 a) Source # mapM :: Monad m => (a -> m b) -> Vertex4 a -> m (Vertex4 b) Source # sequence :: Monad m => Vertex4 (m a) -> m (Vertex4 a) Source #
RasterPosComponent a => RasterPos (Vertex4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.RasterPos Methods rasterPos :: Vertex4 a -> IO () Source # rasterPosv :: Ptr (Vertex4 a) -> IO () Source #
UniformComponent a => Uniform (Vertex4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform Methods uniform :: UniformLocation -> StateVar (Vertex4 a) Source # uniformv :: UniformLocation -> GLsizei -> Ptr (Vertex4 a) -> IO () Source #
VertexComponent a => Vertex (Vertex4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertex :: Vertex4 a -> IO () Source # vertexv :: Ptr (Vertex4 a) -> IO () Source #
VertexAttribComponent a => VertexAttrib (Vertex4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertexAttrib :: IntegerHandling -> AttribLocation -> Vertex4 a -> IO () Source # vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr (Vertex4 a) -> IO () Source #
Bounded a => Bounded (Vertex4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods minBound :: Vertex4 a Source # maxBound :: Vertex4 a Source #
Storable a => Storable (Vertex4 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

sizeOf :: Vertex4 a -> Int Source #

alignment :: Vertex4 a -> Int Source #

peekElemOff :: Ptr (Vertex4 a) -> Int -> IO (Vertex4 a) Source #

pokeElemOff :: Ptr (Vertex4 a) -> Int -> Vertex4 a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Vertex4 a) Source #

pokeByteOff :: Ptr b -> Int -> Vertex4 a -> IO () Source #

peek :: Ptr (Vertex4 a) -> IO (Vertex4 a) Source #

poke :: Ptr (Vertex4 a) -> Vertex4 a -> IO () Source #

Ix a => Ix (Vertex4 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

range :: (Vertex4 a, Vertex4 a) -> [Vertex4 a] Source #

index :: (Vertex4 a, Vertex4 a) -> Vertex4 a -> Int Source #

unsafeIndex :: (Vertex4 a, Vertex4 a) -> Vertex4 a -> Int Source #

inRange :: (Vertex4 a, Vertex4 a) -> Vertex4 a -> Bool Source #

rangeSize :: (Vertex4 a, Vertex4 a) -> Int Source #

unsafeRangeSize :: (Vertex4 a, Vertex4 a) -> Int Source #

Read a => Read (Vertex4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods readsPrec :: Int -> ReadS (Vertex4 a) Source # readList :: ReadS [Vertex4 a] Source # readPrec :: ReadPrec (Vertex4 a) Source # readListPrec :: ReadPrec [Vertex4 a] Source #
Show a => Show (Vertex4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods showsPrec :: Int -> Vertex4 a -> ShowS Source # show :: Vertex4 a -> String Source # showList :: [Vertex4 a] -> ShowS Source #
Eq a => Eq (Vertex4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods (==) :: Vertex4 a -> Vertex4 a -> Bool Source # (/=) :: Vertex4 a -> Vertex4 a -> Bool Source #
Ord a => Ord (Vertex4 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

compare :: Vertex4 a -> Vertex4 a -> Ordering Source #

(<) :: Vertex4 a -> Vertex4 a -> Bool Source #

(<=) :: Vertex4 a -> Vertex4 a -> Bool Source #

(>) :: Vertex4 a -> Vertex4 a -> Bool Source #

(>=) :: Vertex4 a -> Vertex4 a -> Bool Source #

max :: Vertex4 a -> Vertex4 a -> Vertex4 a Source #

min :: Vertex4 a -> Vertex4 a -> Vertex4 a Source #

newtype Vector1 a Source #

A one-dimensional vector.

Constructors

Vector1 a |

#### Instances

Instances details

Applicative Vector1 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods pure :: a -> Vector1 a Source # (<*>) :: Vector1 (a -> b) -> Vector1 a -> Vector1 b Source # liftA2 :: (a -> b -> c) -> Vector1 a -> Vector1 b -> Vector1 c Source # (*>) :: Vector1 a -> Vector1 b -> Vector1 b Source # (<*) :: Vector1 a -> Vector1 b -> Vector1 a Source #
Functor Vector1 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods fmap :: (a -> b) -> Vector1 a -> Vector1 b Source # (<$) :: a -> Vector1 b -> Vector1 a Source #
Foldable Vector1 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

fold :: Monoid m => Vector1 m -> m Source #

foldMap :: Monoid m => (a -> m) -> Vector1 a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Vector1 a -> m Source #

foldr :: (a -> b -> b) -> b -> Vector1 a -> b Source #

foldr' :: (a -> b -> b) -> b -> Vector1 a -> b Source #

foldl :: (b -> a -> b) -> b -> Vector1 a -> b Source #

foldl' :: (b -> a -> b) -> b -> Vector1 a -> b Source #

foldr1 :: (a -> a -> a) -> Vector1 a -> a Source #

foldl1 :: (a -> a -> a) -> Vector1 a -> a Source #

toList :: Vector1 a -> [a] Source #

null :: Vector1 a -> Bool Source #

length :: Vector1 a -> Int Source #

elem :: Eq a => a -> Vector1 a -> Bool Source #

maximum :: Ord a => Vector1 a -> a Source #

minimum :: Ord a => Vector1 a -> a Source #

sum :: Num a => Vector1 a -> a Source #

product :: Num a => Vector1 a -> a Source #

Traversable Vector1 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods traverse :: Applicative f => (a -> f b) -> Vector1 a -> f (Vector1 b) Source # sequenceA :: Applicative f => Vector1 (f a) -> f (Vector1 a) Source # mapM :: Monad m => (a -> m b) -> Vector1 a -> m (Vector1 b) Source # sequence :: Monad m => Vector1 (m a) -> m (Vector1 a) Source #
UniformComponent a => Uniform (Vector1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform Methods uniform :: UniformLocation -> StateVar (Vector1 a) Source # uniformv :: UniformLocation -> GLsizei -> Ptr (Vector1 a) -> IO () Source #
VertexAttribComponent a => VertexAttrib (Vector1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertexAttrib :: IntegerHandling -> AttribLocation -> Vector1 a -> IO () Source # vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr (Vector1 a) -> IO () Source #
Bounded a => Bounded (Vector1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods minBound :: Vector1 a Source # maxBound :: Vector1 a Source #
Storable a => Storable (Vector1 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

sizeOf :: Vector1 a -> Int Source #

alignment :: Vector1 a -> Int Source #

peekElemOff :: Ptr (Vector1 a) -> Int -> IO (Vector1 a) Source #

pokeElemOff :: Ptr (Vector1 a) -> Int -> Vector1 a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Vector1 a) Source #

pokeByteOff :: Ptr b -> Int -> Vector1 a -> IO () Source #

peek :: Ptr (Vector1 a) -> IO (Vector1 a) Source #

poke :: Ptr (Vector1 a) -> Vector1 a -> IO () Source #

Ix a => Ix (Vector1 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

range :: (Vector1 a, Vector1 a) -> [Vector1 a] Source #

index :: (Vector1 a, Vector1 a) -> Vector1 a -> Int Source #

unsafeIndex :: (Vector1 a, Vector1 a) -> Vector1 a -> Int Source #

inRange :: (Vector1 a, Vector1 a) -> Vector1 a -> Bool Source #

rangeSize :: (Vector1 a, Vector1 a) -> Int Source #

unsafeRangeSize :: (Vector1 a, Vector1 a) -> Int Source #

Read a => Read (Vector1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods readsPrec :: Int -> ReadS (Vector1 a) Source # readList :: ReadS [Vector1 a] Source # readPrec :: ReadPrec (Vector1 a) Source # readListPrec :: ReadPrec [Vector1 a] Source #
Show a => Show (Vector1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods showsPrec :: Int -> Vector1 a -> ShowS Source # show :: Vector1 a -> String Source # showList :: [Vector1 a] -> ShowS Source #
Eq a => Eq (Vector1 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods (==) :: Vector1 a -> Vector1 a -> Bool Source # (/=) :: Vector1 a -> Vector1 a -> Bool Source #
Ord a => Ord (Vector1 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

compare :: Vector1 a -> Vector1 a -> Ordering Source #

(<) :: Vector1 a -> Vector1 a -> Bool Source #

(<=) :: Vector1 a -> Vector1 a -> Bool Source #

(>) :: Vector1 a -> Vector1 a -> Bool Source #

(>=) :: Vector1 a -> Vector1 a -> Bool Source #

max :: Vector1 a -> Vector1 a -> Vector1 a Source #

min :: Vector1 a -> Vector1 a -> Vector1 a Source #

data Vector2 a Source #

A two-dimensional vector.

Constructors

Vector2 !a !a |

#### Instances

Instances details

Applicative Vector2 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods pure :: a -> Vector2 a Source # (<*>) :: Vector2 (a -> b) -> Vector2 a -> Vector2 b Source # liftA2 :: (a -> b -> c) -> Vector2 a -> Vector2 b -> Vector2 c Source # (*>) :: Vector2 a -> Vector2 b -> Vector2 b Source # (<*) :: Vector2 a -> Vector2 b -> Vector2 a Source #
Functor Vector2 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods fmap :: (a -> b) -> Vector2 a -> Vector2 b Source # (<$) :: a -> Vector2 b -> Vector2 a Source #
Foldable Vector2 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

fold :: Monoid m => Vector2 m -> m Source #

foldMap :: Monoid m => (a -> m) -> Vector2 a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Vector2 a -> m Source #

foldr :: (a -> b -> b) -> b -> Vector2 a -> b Source #

foldr' :: (a -> b -> b) -> b -> Vector2 a -> b Source #

foldl :: (b -> a -> b) -> b -> Vector2 a -> b Source #

foldl' :: (b -> a -> b) -> b -> Vector2 a -> b Source #

foldr1 :: (a -> a -> a) -> Vector2 a -> a Source #

foldl1 :: (a -> a -> a) -> Vector2 a -> a Source #

toList :: Vector2 a -> [a] Source #

null :: Vector2 a -> Bool Source #

length :: Vector2 a -> Int Source #

elem :: Eq a => a -> Vector2 a -> Bool Source #

maximum :: Ord a => Vector2 a -> a Source #

minimum :: Ord a => Vector2 a -> a Source #

sum :: Num a => Vector2 a -> a Source #

product :: Num a => Vector2 a -> a Source #

Traversable Vector2 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods traverse :: Applicative f => (a -> f b) -> Vector2 a -> f (Vector2 b) Source # sequenceA :: Applicative f => Vector2 (f a) -> f (Vector2 a) Source # mapM :: Monad m => (a -> m b) -> Vector2 a -> m (Vector2 b) Source # sequence :: Monad m => Vector2 (m a) -> m (Vector2 a) Source #
UniformComponent a => Uniform (Vector2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform Methods uniform :: UniformLocation -> StateVar (Vector2 a) Source # uniformv :: UniformLocation -> GLsizei -> Ptr (Vector2 a) -> IO () Source #
VertexAttribComponent a => VertexAttrib (Vector2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertexAttrib :: IntegerHandling -> AttribLocation -> Vector2 a -> IO () Source # vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr (Vector2 a) -> IO () Source #
Bounded a => Bounded (Vector2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods minBound :: Vector2 a Source # maxBound :: Vector2 a Source #
Storable a => Storable (Vector2 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

sizeOf :: Vector2 a -> Int Source #

alignment :: Vector2 a -> Int Source #

peekElemOff :: Ptr (Vector2 a) -> Int -> IO (Vector2 a) Source #

pokeElemOff :: Ptr (Vector2 a) -> Int -> Vector2 a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Vector2 a) Source #

pokeByteOff :: Ptr b -> Int -> Vector2 a -> IO () Source #

peek :: Ptr (Vector2 a) -> IO (Vector2 a) Source #

poke :: Ptr (Vector2 a) -> Vector2 a -> IO () Source #

Ix a => Ix (Vector2 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

range :: (Vector2 a, Vector2 a) -> [Vector2 a] Source #

index :: (Vector2 a, Vector2 a) -> Vector2 a -> Int Source #

unsafeIndex :: (Vector2 a, Vector2 a) -> Vector2 a -> Int Source #

inRange :: (Vector2 a, Vector2 a) -> Vector2 a -> Bool Source #

rangeSize :: (Vector2 a, Vector2 a) -> Int Source #

unsafeRangeSize :: (Vector2 a, Vector2 a) -> Int Source #

Read a => Read (Vector2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods readsPrec :: Int -> ReadS (Vector2 a) Source # readList :: ReadS [Vector2 a] Source # readPrec :: ReadPrec (Vector2 a) Source # readListPrec :: ReadPrec [Vector2 a] Source #
Show a => Show (Vector2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods showsPrec :: Int -> Vector2 a -> ShowS Source # show :: Vector2 a -> String Source # showList :: [Vector2 a] -> ShowS Source #
Eq a => Eq (Vector2 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods (==) :: Vector2 a -> Vector2 a -> Bool Source # (/=) :: Vector2 a -> Vector2 a -> Bool Source #
Ord a => Ord (Vector2 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

compare :: Vector2 a -> Vector2 a -> Ordering Source #

(<) :: Vector2 a -> Vector2 a -> Bool Source #

(<=) :: Vector2 a -> Vector2 a -> Bool Source #

(>) :: Vector2 a -> Vector2 a -> Bool Source #

(>=) :: Vector2 a -> Vector2 a -> Bool Source #

max :: Vector2 a -> Vector2 a -> Vector2 a Source #

min :: Vector2 a -> Vector2 a -> Vector2 a Source #

data Vector3 a Source #

A three-dimensional vector.

Constructors

Vector3 !a !a !a |

#### Instances

Instances details

Applicative Vector3 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods pure :: a -> Vector3 a Source # (<*>) :: Vector3 (a -> b) -> Vector3 a -> Vector3 b Source # liftA2 :: (a -> b -> c) -> Vector3 a -> Vector3 b -> Vector3 c Source # (*>) :: Vector3 a -> Vector3 b -> Vector3 b Source # (<*) :: Vector3 a -> Vector3 b -> Vector3 a Source #
Functor Vector3 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods fmap :: (a -> b) -> Vector3 a -> Vector3 b Source # (<$) :: a -> Vector3 b -> Vector3 a Source #
Foldable Vector3 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

fold :: Monoid m => Vector3 m -> m Source #

foldMap :: Monoid m => (a -> m) -> Vector3 a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Vector3 a -> m Source #

foldr :: (a -> b -> b) -> b -> Vector3 a -> b Source #

foldr' :: (a -> b -> b) -> b -> Vector3 a -> b Source #

foldl :: (b -> a -> b) -> b -> Vector3 a -> b Source #

foldl' :: (b -> a -> b) -> b -> Vector3 a -> b Source #

foldr1 :: (a -> a -> a) -> Vector3 a -> a Source #

foldl1 :: (a -> a -> a) -> Vector3 a -> a Source #

toList :: Vector3 a -> [a] Source #

null :: Vector3 a -> Bool Source #

length :: Vector3 a -> Int Source #

elem :: Eq a => a -> Vector3 a -> Bool Source #

maximum :: Ord a => Vector3 a -> a Source #

minimum :: Ord a => Vector3 a -> a Source #

sum :: Num a => Vector3 a -> a Source #

product :: Num a => Vector3 a -> a Source #

Traversable Vector3 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods traverse :: Applicative f => (a -> f b) -> Vector3 a -> f (Vector3 b) Source # sequenceA :: Applicative f => Vector3 (f a) -> f (Vector3 a) Source # mapM :: Monad m => (a -> m b) -> Vector3 a -> m (Vector3 b) Source # sequence :: Monad m => Vector3 (m a) -> m (Vector3 a) Source #
UniformComponent a => Uniform (Vector3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform Methods uniform :: UniformLocation -> StateVar (Vector3 a) Source # uniformv :: UniformLocation -> GLsizei -> Ptr (Vector3 a) -> IO () Source #
VertexAttribComponent a => VertexAttrib (Vector3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertexAttrib :: IntegerHandling -> AttribLocation -> Vector3 a -> IO () Source # vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr (Vector3 a) -> IO () Source #
Bounded a => Bounded (Vector3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods minBound :: Vector3 a Source # maxBound :: Vector3 a Source #
Storable a => Storable (Vector3 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

sizeOf :: Vector3 a -> Int Source #

alignment :: Vector3 a -> Int Source #

peekElemOff :: Ptr (Vector3 a) -> Int -> IO (Vector3 a) Source #

pokeElemOff :: Ptr (Vector3 a) -> Int -> Vector3 a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Vector3 a) Source #

pokeByteOff :: Ptr b -> Int -> Vector3 a -> IO () Source #

peek :: Ptr (Vector3 a) -> IO (Vector3 a) Source #

poke :: Ptr (Vector3 a) -> Vector3 a -> IO () Source #

Ix a => Ix (Vector3 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

range :: (Vector3 a, Vector3 a) -> [Vector3 a] Source #

index :: (Vector3 a, Vector3 a) -> Vector3 a -> Int Source #

unsafeIndex :: (Vector3 a, Vector3 a) -> Vector3 a -> Int Source #

inRange :: (Vector3 a, Vector3 a) -> Vector3 a -> Bool Source #

rangeSize :: (Vector3 a, Vector3 a) -> Int Source #

unsafeRangeSize :: (Vector3 a, Vector3 a) -> Int Source #

Read a => Read (Vector3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods readsPrec :: Int -> ReadS (Vector3 a) Source # readList :: ReadS [Vector3 a] Source # readPrec :: ReadPrec (Vector3 a) Source # readListPrec :: ReadPrec [Vector3 a] Source #
Show a => Show (Vector3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods showsPrec :: Int -> Vector3 a -> ShowS Source # show :: Vector3 a -> String Source # showList :: [Vector3 a] -> ShowS Source #
Eq a => Eq (Vector3 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods (==) :: Vector3 a -> Vector3 a -> Bool Source # (/=) :: Vector3 a -> Vector3 a -> Bool Source #
Ord a => Ord (Vector3 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

compare :: Vector3 a -> Vector3 a -> Ordering Source #

(<) :: Vector3 a -> Vector3 a -> Bool Source #

(<=) :: Vector3 a -> Vector3 a -> Bool Source #

(>) :: Vector3 a -> Vector3 a -> Bool Source #

(>=) :: Vector3 a -> Vector3 a -> Bool Source #

max :: Vector3 a -> Vector3 a -> Vector3 a Source #

min :: Vector3 a -> Vector3 a -> Vector3 a Source #

data Vector4 a Source #

A four-dimensional vector.

Constructors

Vector4 !a !a !a !a |

#### Instances

Instances details

Applicative Vector4 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods pure :: a -> Vector4 a Source # (<*>) :: Vector4 (a -> b) -> Vector4 a -> Vector4 b Source # liftA2 :: (a -> b -> c) -> Vector4 a -> Vector4 b -> Vector4 c Source # (*>) :: Vector4 a -> Vector4 b -> Vector4 b Source # (<*) :: Vector4 a -> Vector4 b -> Vector4 a Source #
Functor Vector4 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods fmap :: (a -> b) -> Vector4 a -> Vector4 b Source # (<$) :: a -> Vector4 b -> Vector4 a Source #
Foldable Vector4 Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

fold :: Monoid m => Vector4 m -> m Source #

foldMap :: Monoid m => (a -> m) -> Vector4 a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Vector4 a -> m Source #

foldr :: (a -> b -> b) -> b -> Vector4 a -> b Source #

foldr' :: (a -> b -> b) -> b -> Vector4 a -> b Source #

foldl :: (b -> a -> b) -> b -> Vector4 a -> b Source #

foldl' :: (b -> a -> b) -> b -> Vector4 a -> b Source #

foldr1 :: (a -> a -> a) -> Vector4 a -> a Source #

foldl1 :: (a -> a -> a) -> Vector4 a -> a Source #

toList :: Vector4 a -> [a] Source #

null :: Vector4 a -> Bool Source #

length :: Vector4 a -> Int Source #

elem :: Eq a => a -> Vector4 a -> Bool Source #

maximum :: Ord a => Vector4 a -> a Source #

minimum :: Ord a => Vector4 a -> a Source #

sum :: Num a => Vector4 a -> a Source #

product :: Num a => Vector4 a -> a Source #

Traversable Vector4 Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods traverse :: Applicative f => (a -> f b) -> Vector4 a -> f (Vector4 b) Source # sequenceA :: Applicative f => Vector4 (f a) -> f (Vector4 a) Source # mapM :: Monad m => (a -> m b) -> Vector4 a -> m (Vector4 b) Source # sequence :: Monad m => Vector4 (m a) -> m (Vector4 a) Source #
UniformComponent a => Uniform (Vector4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Uniform Methods uniform :: UniformLocation -> StateVar (Vector4 a) Source # uniformv :: UniformLocation -> GLsizei -> Ptr (Vector4 a) -> IO () Source #
VertexAttribComponent a => VertexAttrib (Vector4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexSpec Methods vertexAttrib :: IntegerHandling -> AttribLocation -> Vector4 a -> IO () Source # vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr (Vector4 a) -> IO () Source #
Bounded a => Bounded (Vector4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods minBound :: Vector4 a Source # maxBound :: Vector4 a Source #
Storable a => Storable (Vector4 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

sizeOf :: Vector4 a -> Int Source #

alignment :: Vector4 a -> Int Source #

peekElemOff :: Ptr (Vector4 a) -> Int -> IO (Vector4 a) Source #

pokeElemOff :: Ptr (Vector4 a) -> Int -> Vector4 a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Vector4 a) Source #

pokeByteOff :: Ptr b -> Int -> Vector4 a -> IO () Source #

peek :: Ptr (Vector4 a) -> IO (Vector4 a) Source #

poke :: Ptr (Vector4 a) -> Vector4 a -> IO () Source #

Ix a => Ix (Vector4 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

range :: (Vector4 a, Vector4 a) -> [Vector4 a] Source #

index :: (Vector4 a, Vector4 a) -> Vector4 a -> Int Source #

unsafeIndex :: (Vector4 a, Vector4 a) -> Vector4 a -> Int Source #

inRange :: (Vector4 a, Vector4 a) -> Vector4 a -> Bool Source #

rangeSize :: (Vector4 a, Vector4 a) -> Int Source #

unsafeRangeSize :: (Vector4 a, Vector4 a) -> Int Source #

Read a => Read (Vector4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods readsPrec :: Int -> ReadS (Vector4 a) Source # readList :: ReadS [Vector4 a] Source # readPrec :: ReadPrec (Vector4 a) Source # readListPrec :: ReadPrec [Vector4 a] Source #
Show a => Show (Vector4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods showsPrec :: Int -> Vector4 a -> ShowS Source # show :: Vector4 a -> String Source # showList :: [Vector4 a] -> ShowS Source #
Eq a => Eq (Vector4 a) Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Tensor Methods (==) :: Vector4 a -> Vector4 a -> Bool Source # (/=) :: Vector4 a -> Vector4 a -> Bool Source #
Ord a => Ord (Vector4 a) Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.Tensor

Methods

compare :: Vector4 a -> Vector4 a -> Ordering Source #

(<) :: Vector4 a -> Vector4 a -> Bool Source #

(<=) :: Vector4 a -> Vector4 a -> Bool Source #

(>) :: Vector4 a -> Vector4 a -> Bool Source #

(>=) :: Vector4 a -> Vector4 a -> Bool Source #

max :: Vector4 a -> Vector4 a -> Vector4 a Source #

min :: Vector4 a -> Vector4 a -> Vector4 a Source #