Safe Haskell | None |
---|---|
Language | Haskell2010 |
Draw and update filled in line graphs with OpenGL.
Example usage:
import Control.Monad import Control.Monad.Trans.Except import Control.Error.Util import Control.Concurrent import Control.Applicative import Pipes import qualified Pipes.Prelude as P import System.Random import Graphics.Rendering.OpenGL import Graphics.DynamicGraph.FillLine import Graphics.DynamicGraph.Window randomVect :: Producer [GLfloat] IO () randomVect = P.repeatM $ do res <- replicateM 1000 randomIO threadDelay 10000 return res main = exceptT putStrLn return $ do res <- lift setupGLFW unless res (throwE "Unable to initilize GLFW") lineGraph <- window 1024 480 $ pipeify <$> renderFilledLine 1000 jet_mod lift $ runEffect $ randomVect >-> lineGraph
Synopsis
- renderFilledLine :: IsPixelData a => Int -> [GLfloat] -> IO (a -> IO ())
- module Graphics.DynamicGraph.ColorMaps
Documentation
:: IsPixelData a | |
=> Int | The number of samples in each buffer passed to the rendering function. |
-> [GLfloat] | Color map for the vertical gradient of the fill. |
-> IO (a -> IO ()) | The function that does the rendering. Takes an instance of |
Returns a function that renders a filled in line graph into the current OpenGL context.
All OpenGL based initialization of the rendering function (loading of shaders, etc) is performed before the function is returned.
This function must be called with an OpenGL context currently set.