GPipe-Core-0.2.3.0: Typesafe functional GPU graphics programming
Safe HaskellNone
LanguageHaskell2010

Graphics.GPipe.Internal.Compiler

Synopsis

Documentation

type WinId = Int Source #

mapDrawcall :: (s -> s') -> Drawcall s' -> Drawcall s Source #

compileDrawcalls :: (Monad m, MonadIO m, MonadException m, ContextHandler ctx) => [IO (Drawcall s)] -> RenderIOState s -> ContextT ctx os m (s -> Render os ()) Source #

May throw a GPipeException The multiple drawcalls to be compiled are intended to use the same environment s (and only one is selected dynamically when rendering). public

safeGenerateDrawcalls :: [IO (Drawcall s)] -> IO ([(Drawcall s, [Int], [Int], [Int], [Int])], [String]) Source #

innerCompile :: RenderIOState s -> (Drawcall s, [Int], [Int], [Int], [Int]) -> IO (Either String ((IORef GLuint, IO ()), s -> Render os ())) Source #

createRenderer :: RenderIOState s -> (Drawcall s, [Int], [Int], [Int], [Int]) -> GLuint -> Int -> IO ((IORef GLuint, IO ()), s -> Render os ()) Source #

createFeedbackRenderer :: RenderIOState s -> (Drawcall s, [Int], [Int], [Int], [Int]) -> GLuint -> (s -> IO (GLuint, GLuint, GLuint, GLuint)) -> Int -> IO ((IORef GLuint, IO ()), s -> Render os ()) Source #

addPrimitiveStreamUniform :: Word32 -> Int -> IntMap (s -> Binding -> IO ()) -> IntMap (s -> Binding -> IO ()) Source #

bind :: IntMap (s -> Binding -> IO x) -> [(Int, Int)] -> s -> (x -> IO Bool) -> IO Bool Source #

orderedUnion :: Ord a => [a] -> [a] -> [a] Source #

whenJust' :: (Monad m, Monoid b) => Maybe a -> (a -> m b) -> m b Source #

A whenJust that accepts a monoidal return value. private