Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
type GeometrizationName = Int Source #
type LayoutName = Text Source #
data GeometryStreamData Source #
newtype GeometryStream a Source #
GeometryStream [(a, GeometryStreamData)] |
Instances
Functor GeometryStream Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream fmap :: (a -> b) -> GeometryStream a -> GeometryStream b # (<$) :: a -> GeometryStream b -> GeometryStream a # | |
Semigroup (GeometryStream a) Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream (<>) :: GeometryStream a -> GeometryStream a -> GeometryStream a # sconcat :: NonEmpty (GeometryStream a) -> GeometryStream a # stimes :: Integral b => b -> GeometryStream a -> GeometryStream a # | |
Monoid (GeometryStream a) Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream mempty :: GeometryStream a # mappend :: GeometryStream a -> GeometryStream a -> GeometryStream a # mconcat :: [GeometryStream a] -> GeometryStream a # |
newtype ToGeometry a b Source #
ToGeometry (Kleisli (State (Int, Int)) a b) |
Instances
Arrow ToGeometry Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream arr :: (b -> c) -> ToGeometry b c # first :: ToGeometry b c -> ToGeometry (b, d) (c, d) # second :: ToGeometry b c -> ToGeometry (d, b) (d, c) # (***) :: ToGeometry b c -> ToGeometry b' c' -> ToGeometry (b, b') (c, c') # (&&&) :: ToGeometry b c -> ToGeometry b c' -> ToGeometry b (c, c') # | |
Category ToGeometry Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream id :: forall (a :: k). ToGeometry a a # (.) :: forall (b :: k) (c :: k) (a :: k). ToGeometry b c -> ToGeometry a b -> ToGeometry a c # |
class (AnotherVertexInput a, PrimitiveTopology p) => GeometryInput p a where Source #
toGeometry :: ToGeometry a (Geometry p a) Source #
Instances
AnotherVertexInput a => GeometryInput TrianglesWithAdjacency a Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream | |
AnotherVertexInput a => GeometryInput Triangles a Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream toGeometry :: ToGeometry a (Geometry Triangles a) Source # | |
AnotherVertexInput a => GeometryInput LinesWithAdjacency a Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream toGeometry :: ToGeometry a (Geometry LinesWithAdjacency a) Source # | |
AnotherVertexInput a => GeometryInput Lines a Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream toGeometry :: ToGeometry a (Geometry Lines a) Source # | |
AnotherVertexInput a => GeometryInput Points a Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream toGeometry :: ToGeometry a (Geometry Points a) Source # |
newtype ToAnotherVertex a b Source #
Instances
Arrow ToAnotherVertex Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream arr :: (b -> c) -> ToAnotherVertex b c # first :: ToAnotherVertex b c -> ToAnotherVertex (b, d) (c, d) # second :: ToAnotherVertex b c -> ToAnotherVertex (d, b) (d, c) # (***) :: ToAnotherVertex b c -> ToAnotherVertex b' c' -> ToAnotherVertex (b, b') (c, c') # (&&&) :: ToAnotherVertex b c -> ToAnotherVertex b c' -> ToAnotherVertex b (c, c') # | |
Category ToAnotherVertex Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream id :: forall (a :: k). ToAnotherVertex a a # (.) :: forall (b :: k) (c :: k) (a :: k). ToAnotherVertex b c -> ToAnotherVertex a b -> ToAnotherVertex a c # |
class AnotherVertexInput a where Source #
toAnotherVertex :: ToAnotherVertex a a Source #
Instances
makeAnotherVertex :: Text -> SType -> (b -> ExprM Text) -> (S c a -> b) -> ToAnotherVertex b b Source #
geometrize :: forall p a s os f. GeometryInput p a => PrimitiveStream p a -> Shader os s (GeometryStream (Geometry p a)) Source #
emitVertex :: GeometryExplosive a => a -> GGenerativeGeometry p a -> GGenerativeGeometry p a Source #
emitVertexPosition :: GeometryExplosive a => (VPos, a) -> GGenerativeGeometry p (VPos, a) -> GGenerativeGeometry p (VPos, a) Source #
emitVertexLayer :: GeometryExplosive a => (VInt, a) -> GGenerativeGeometry p (VInt, a) -> GGenerativeGeometry p (VInt, a) Source #
emitVertexPositionAndLayer :: GeometryExplosive a => ((VPos, VInt), a) -> GGenerativeGeometry p ((VPos, VInt), a) -> GGenerativeGeometry p ((VPos, VInt), a) Source #
endPrimitive :: GGenerativeGeometry p a -> GGenerativeGeometry p a Source #
class FragmentInput a => GeometryExplosive a where Source #
exploseGeometry :: a -> Int -> ExprM Int Source #
Instances
defaultExploseGeometry :: (Show b, Num b) => (t -> S x a) -> t -> b -> SNMapReaderT [Text] (StateT ExprState IO) b Source #
defaultDeclareGeometry :: forall (m :: Type -> Type) a p. (Monad m, Num a, Show a) => SType -> p -> StateT a m (WriterT Text Identity ()) Source #
defaultEnumerateVaryings :: forall (m :: Type -> Type) a p. (Monad m, Num a, Show a) => p -> StateT a m [Text] Source #
newtype ToFragmentFromGeometry a b Source #
ToFragmentFromGeometry (Kleisli (State Int) a b) |
Instances
Arrow ToFragmentFromGeometry Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream arr :: (b -> c) -> ToFragmentFromGeometry b c # first :: ToFragmentFromGeometry b c -> ToFragmentFromGeometry (b, d) (c, d) # second :: ToFragmentFromGeometry b c -> ToFragmentFromGeometry (d, b) (d, c) # (***) :: ToFragmentFromGeometry b c -> ToFragmentFromGeometry b' c' -> ToFragmentFromGeometry (b, b') (c, c') # (&&&) :: ToFragmentFromGeometry b c -> ToFragmentFromGeometry b c' -> ToFragmentFromGeometry b (c, c') # | |
Category ToFragmentFromGeometry Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream id :: forall (a :: k). ToFragmentFromGeometry a a # (.) :: forall (b :: k) (c :: k) (a :: k). ToFragmentFromGeometry b c -> ToFragmentFromGeometry a b -> ToFragmentFromGeometry a c # |
class FragmentInputFromGeometry p a where Source #
toFragmentFromGeometry :: ToFragmentFromGeometry (GGenerativeGeometry p (b, a)) (FragmentFormat a) Source #
Instances
generateAndRasterize :: forall p b a s os f. (FragmentInputFromGeometry p a, PrimitiveTopology p) => (s -> (Side, PolygonMode, ViewPort, DepthRange)) -> Int -> GeometryStream (GGenerativeGeometry p (b, a)) -> Shader os s (FragmentStream (FragmentFormat a)) Source #
newtype ToAnotherFragment a b Source #
ToAnotherFragment (Kleisli (State Int) a b) |
Instances
Arrow ToAnotherFragment Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream arr :: (b -> c) -> ToAnotherFragment b c # first :: ToAnotherFragment b c -> ToAnotherFragment (b, d) (c, d) # second :: ToAnotherFragment b c -> ToAnotherFragment (d, b) (d, c) # (***) :: ToAnotherFragment b c -> ToAnotherFragment b' c' -> ToAnotherFragment (b, b') (c, c') # (&&&) :: ToAnotherFragment b c -> ToAnotherFragment b c' -> ToAnotherFragment b (c, c') # | |
Category ToAnotherFragment Source # | |
Defined in Graphics.GPipe.Internal.GeometryStream id :: forall (a :: k). ToAnotherFragment a a # (.) :: forall (b :: k) (c :: k) (a :: k). ToAnotherFragment b c -> ToAnotherFragment a b -> ToAnotherFragment a c # |
class FragmentInput a => AnotherFragmentInput a where Source #
toFragment2 :: ToAnotherFragment a (FragmentFormat a) Source #
Instances
makeAnotherFragment :: Text -> SType -> (a -> ExprM Text) -> ToAnotherFragment a (S c a1) Source #
class AnotherFragmentInput a => FragmentCreator a where Source #
createFragment :: State Int a Source #