gloss-raster-accelerate-1.8.15.0: Parallel rendering of raster images using Accelerate

Safe HaskellNone
LanguageHaskell2010

Graphics.Gloss.Accelerate.Raster.Array

Contents

Description

Rendering of Accelerate arrays as raster images

Synopsis

Display functions

type Render = forall a b. (Arrays a, Arrays b) => (Acc a -> Acc b) -> a -> b Source

The type of executing Accelerate computations. The CUDA and Interpreter backends both provide a function run1 that can be used.

Some variants of the display functions take an argument of this type, which determine how computations are executed.

data Display :: *

Constructors

InWindow String (Int, Int) (Int, Int) 
FullScreen (Int, Int) 

animateArray Source

Arguments

:: Display

Display mode

-> (Int, Int)

Number of pixels to draw per point

-> (Exp Float -> Acc (Array DIM2 Color))

A function to construct an array of colours. The function should return an array of the same extent every time it is applied.

It is passed the time in seconds since the program started.

-> IO () 

Animate a bitmap generated by an Accelerate computation, using the default backend.

animateArrayWith Source

Arguments

:: Render

Method to render the array

-> Display

Display mode

-> (Int, Int)

Number of pixels to draw per point

-> (Exp Float -> Acc (Array DIM2 Color))

A function to construct an array of colours. The function should return an array of the same extent every time it is applied.

It is passed the time in seconds since the program started.

-> IO () 

Animate a bitmap generated by an Accelerate computation, specifying the backend used to render the image.

animateArrayIO Source

Arguments

:: Arrays world 
=> Display

Display mode

-> (Int, Int)

Number of pixels to draw per point

-> (Float -> IO world)

Extract world from time in seconds since the program started

-> (Acc world -> Acc (Array DIM2 Color))

A function to construct an array of colours. The function should return an array of the same extent every time it is applied.

It is passed the world

-> IO () 

Animate a bitmap generated by an Accelerate computation and IO actions, using the default backend.

animateArrayIOWith Source

Arguments

:: Arrays world 
=> Render

Method to render the array

-> Display

Display mode

-> (Int, Int)

Number of pixels to draw per point

-> (Float -> IO world)

Extract world from time in seconds since the program started

-> (Acc world -> Acc (Array DIM2 Color))

A function to construct an array of colours. The function should return an array of the same extent every time it is applied.

It is passed the world

-> IO () 

Animate a bitmap generated by an Accelerate computation and IO actions, specifying the backend used to render the image.

playArray Source

Arguments

:: Arrays world 
=> Display

Display mode

-> (Int, Int)

Number of pixels to draw per point

-> Int

Number of simulation steps to take for each second of real time

-> state

The initial state

-> (state -> world)

Extract the world state

-> (Acc world -> Acc (Array DIM2 Color))

Compute the colour of the world

-> (Event -> state -> state)

Handle input events

-> (Float -> state -> state)

Step the world one iteration. It is passed the time in seconds since the program started.

-> IO () 

Play with a bitmap generated by an Accelerate computation, using the default backend.

playArrayWith Source

Arguments

:: Arrays world 
=> Render

Method to render the world

-> Display

Display mode

-> (Int, Int)

Number of pixels to draw per point

-> Int

Number of simulation steps to take for each second of real time

-> state

The initial state

-> (state -> world)

Extract the world state

-> (Acc world -> Acc (Array DIM2 Color))

Compute the colour of the world

-> (Event -> state -> state)

Handle input events

-> (Float -> state -> state)

Step the world one iteration. It is passed the time in seconds since the program started.

-> IO () 

Play with a bitmap generated by an Accelerate computation, specifying the method used to render the world.

playArrayIO Source

Arguments

:: Arrays world 
=> Display

Display mode

-> (Int, Int)

Number of pixels to draw per point

-> Int

Number of simulation steps to take for each second of real time

-> state

The initial state

-> (state -> IO world)

Extract the world state

-> (Acc world -> Acc (Array DIM2 Color))

Compute the colour of the world

-> (Event -> state -> IO state)

Handle input events

-> (Float -> state -> IO state)

Step the world one iteration. It is passed the time in seconds since the program started.

-> IO () 

Play with a bitmap generated by an Accelerate computation and IO actions, using the default backend.

playArrayIOWith Source

Arguments

:: Arrays world 
=> Render

Method to render the world

-> Display

Display mode

-> (Int, Int)

Number of pixels to draw per point

-> Int

Number of simulation steps to take for each second of real time

-> state

The initial state

-> (state -> IO world)

Extract the world state

-> (Acc world -> Acc (Array DIM2 Color))

Compute the colour of the world

-> (Event -> state -> IO state)

Handle input events

-> (Float -> state -> IO state)

Step the world one iteration. It is passed the time in seconds since the program started.

-> IO () 

Play with a bitmap generated by an Accelerate computation and IO actions, specifying the method used to render the world.

Picture creation

makePicture Source

Arguments

:: Arrays world 
=> Render

method to compute the image

-> Int

pixel width

-> Int

pixel height

-> (Acc world -> Acc (Array DIM2 Color))

function to create the image

-> world -> Picture

new function that generates the picture

Lift an Accelerate computation from a world to an image into a real Haskell-land function that executes the computation of the image and wraps it as a Gloss picture ready for display.