not-gloss-0.3.0: Painless 3D graphics, no affiliation with gloss

Safe HaskellSafe-Infered

Vis.Interface

Synopsis

Documentation

display :: Real b => VisObject b -> IO ()Source

draw a static image

animate :: Real b => (Float -> VisObject b) -> IO ()Source

display an animation

animateIO :: Real b => (Float -> IO (VisObject b)) -> IO ()Source

display an animation impurely

simulateSource

Arguments

:: Real b 
=> Double

sample rate

-> world

initial state

-> (world -> VisObject b)

draw function

-> (Float -> world -> world)

state propogation function (takes current time and state as inputs)

-> IO () 

run a simulation

simulateIOSource

Arguments

:: Real b 
=> Double

sample rate

-> world

initial state

-> (world -> IO (VisObject b))

draw function

-> (Float -> world -> IO world)

state propogation function (takes current time and state as inputs)

-> IO () 

run a simulation impurely

playSource

Arguments

:: Real b 
=> Double

sample time

-> world

initial state

-> (world -> VisObject b)

draw function

-> (Float -> world -> world)

state propogation function (takes current time and state as inputs)

-> (world -> IO ())

set where camera looks

-> Maybe (world -> Key -> KeyState -> Modifiers -> Position -> world)

keyboard/mouse press callback

-> Maybe (world -> Position -> world)

mouse drag callback

-> Maybe (world -> Position -> world)

mouse move callback

-> IO () 

playIOSource

Arguments

:: Real b 
=> Double

sample time

-> world

initial state

-> (world -> IO (VisObject b))

draw function

-> (Float -> world -> IO world)

state propogation function (takes current time and state as inputs)

-> (world -> IO ())

set where camera looks

-> Maybe (world -> Key -> KeyState -> Modifiers -> Position -> world)

keyboard/mouse press callback

-> Maybe (world -> Position -> world)

mouse drag callback

-> Maybe (world -> Position -> world)

mouse move callback

-> IO ()