| Copyright | (c) Fumiaki Kinoshita 2014 | 
|---|---|
| License | BSD3 | 
| Maintainer | Fumiaki Kinoshita <fumiexcel@gmail.com> | 
| Stability | experimental | 
| Portability | non-portable | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Call.Sight
Description
- class Affine a where
 - class Affine a => Figure a where
 - newtype Picture = Picture {}
 - opacity :: Figure a => Float -> a -> a
 - bitmap :: Bitmap -> Picture
 - toward :: Vec3 -> Picture -> Scene
 - newtype Scene = Scene {}
 - transformScene :: M44 Float -> Scene -> Scene
 - vertices :: Bitmap -> PrimitiveMode -> Vector Vertex -> Scene
 - newtype Sight = Sight {}
 - viewPicture :: Picture -> Sight
 - viewScene :: Float -> Float -> Float -> Scene -> Sight
 - fromPerspective :: (Box V2 Float -> M44 Float) -> Scene -> Sight
 - data VFX r
- = SphericalAdd Bitmap r
 - | SphericalMultiply Bitmap r
 - | Diffuse (V4 Float) r
 - | EmbedIO (IO r)
 
 - applyVFX :: VFX Scene -> Scene
 - data PrimitiveMode :: *
 
Documentation
Constructors
| Scene | |
Constructors
| Sight | |
viewPicture :: Picture -> Sight Source
Constructors
| SphericalAdd Bitmap r | |
| SphericalMultiply Bitmap r | |
| Diffuse (V4 Float) r | |
| EmbedIO (IO r) | 
data PrimitiveMode :: *
Specification of the way the vertices given during renderPrimitive are
 interpreted. In the description of the constructors, n is an integer count
 starting at one, and N is the total number of vertices specified.
Constructors
| Points | Treats each vertex as a single point. Vertex n defines point n. N points are drawn.  | 
| Lines | Treats each pair of vertices as an independent line segment. Vertices 2n-1 and 2n define line n. N/2 lines are drawn.  | 
| LineLoop | Draws a connected group of line segments from the first vertex to the last, then back to the first. Vertices n and n+1 define line n. The last line, however, is defined by vertices N and 1. N lines are drawn.  | 
| LineStrip | Draws a connected group of line segments from the first vertex to the last. Vertices n and n+1 define line n. N-1 lines are drawn.  | 
| Triangles | Treats each triplet of vertices as an independent triangle. Vertices 3n-2, 3n-1, and 3n define triangle n. N/3 triangles are drawn.  | 
| TriangleStrip | Draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertices. For odd n, vertices n, n+1, and n+2 define triangle n. For even n, vertices n+1, n, and n+2 define triangle n. N-2 triangles are drawn.  | 
| TriangleFan | Draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertices. Vertices 1, n+1, and n+2 define triangle n. N-2 triangles are drawn.  | 
| Quads | Treats each group of four vertices as an independent quadrilateral. Vertices 4n-3, 4n-2, 4n-1, and 4n define quadrilateral n. N/4 quadrilaterals are drawn.  | 
| QuadStrip | Draws a connected group of quadrilaterals. One quadrilateral is defined for each pair of vertices presented after the first pair. Vertices 2n-1, 2n, 2n+2, and 2n+1 define quadrilateral n. N/2-1 quadrilaterals are drawn. Note that the order in which vertices are used to construct a quadrilateral from strip data is different from that used with independent data.  | 
| Polygon | Draws a single, convex polygon. Vertices 1 through N define this polygon.  | 
Instances