diagrams-lib-1.4.3: Embedded domain-specific language for declarative graphics

Copyright | (c) 2013 diagrams-lib team (see LICENSE)
License | BSD-style (see LICENSE)
Maintainer | diagrams-discuss@googlegroups.com
Safe Haskell | None
Language | Haskell2010

Diagrams.ThreeD.Light

Description

Types to specify lighting for 3D rendering.

Synopsis

- data PointLight n = PointLight (Point V3 n) (Colour Double)
- data ParallelLight n = ParallelLight (V3 n) (Colour Double)
- pointLight :: (Typeable n, Num n, Ord n, Renderable (PointLight n) b) => Colour Double -> QDiagram b V3 n Any
- parallelLight :: (Typeable n, OrderedField n, Renderable (ParallelLight n) b) => Direction V3 n -> Colour Double -> QDiagram b V3 n Any

# Documentation

data PointLight n Source #

A `PointLight` radiates uniformly in all directions from a given point.

Constructors

PointLight (Point V3 n) (Colour Double) |

#### Instances

Instances details

Fractional n => Transformable (PointLight n) Source # |
Instance details Defined in Diagrams.ThreeD.Light Methods transform :: Transformation (V (PointLight n)) (N (PointLight n)) -> PointLight n -> PointLight n Source #
type V (PointLight n) Source # |
Instance details Defined in Diagrams.ThreeD.Light type V (PointLight n) = V3
type N (PointLight n) Source # |
Instance details Defined in Diagrams.ThreeD.Light type N (PointLight n) = n

data ParallelLight n Source #

A `ParallelLight` casts parallel rays in the specified direction, from some distant location outside the scene.

Constructors

ParallelLight (V3 n) (Colour Double) |

#### Instances

Instances details

Transformable (ParallelLight n) Source # |
Instance details Defined in Diagrams.ThreeD.Light Methods transform :: Transformation (V (ParallelLight n)) (N (ParallelLight n)) -> ParallelLight n -> ParallelLight n Source #
type V (ParallelLight n) Source # |
Instance details Defined in Diagrams.ThreeD.Light type V (ParallelLight n) = V3
type N (ParallelLight n) Source # |
Instance details Defined in Diagrams.ThreeD.Light type N (ParallelLight n) = n

pointLight Source #

Arguments

:: (Typeable n, Num n, Ord n, Renderable (PointLight n) b) |
=> Colour Double | The color of the light
-> QDiagram b V3 n Any |

Construct a Diagram with a single PointLight at the origin, which takes up no space.

parallelLight Source #

Arguments

:: (Typeable n, OrderedField n, Renderable (ParallelLight n) b) |
=> Direction V3 n | The direction in which the light travels.
-> Colour Double | The color of the light.
-> QDiagram b V3 n Any |

Construct a Diagram with a single ParallelLight, which takes up no space.