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

Copyright[2013..2020] Trevor L. McDonell
LicenseBSD3
MaintainerTrevor L. McDonell <trevor.mcdonell@gmail.com>
Stabilityexperimental
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Graphics.Gloss.Accelerate.Raster.Array

Contents

Description

Rendering of Accelerate arrays as raster images

Synopsis

Documentation

Display functions

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

The type for executing Accelerate computations. This matches the run1 style of executing programs.

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

data Display #

Describes how Gloss should display its output.

Constructors

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

Display in a window with the given name, size and position.

FullScreen

Display full screen.

Instances
Eq Display 
Instance details

Defined in Graphics.Gloss.Data.Display

Methods

(==) :: Display -> Display -> Bool #

(/=) :: Display -> Display -> Bool #

Read Display 
Instance details

Defined in Graphics.Gloss.Data.Display

Show Display 
Instance details

Defined in Graphics.Gloss.Data.Display

animateArrayWith Source #

Arguments

:: Render

Method to render the array (backend run1 function to use)

-> Display

Display mode

-> (Int, Int)

Number of pixels to draw per point

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

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.

animateArrayIOWith Source #

Arguments

:: Arrays world 
=> Render

Method to render the array (backend run1 function)

-> 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 Colour))

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.

playArrayWith Source #

Arguments

:: Arrays world 
=> Render

Method to render the world (backend run1 function)

-> 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 Colour))

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.

playArrayIOWith Source #

Arguments

:: Arrays world 
=> Render

Method to render the world (backend run1 function)

-> 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 Colour))

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 Colour))

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.