git.haldean.org artray / b819bc3
Update documentation Will Brown 10 years ago
13 changed file(s) with 75 addition(s) and 14 deletion(s). Raw diff Collapse all Expand all
1313 pixelColor size scene viewer (RelPoint2D hu hv) =
1414 colorAtRay scene ray 0 where ray = pointToRay viewer (RelPoint2D hu hv)
1515
16 colorFor :: Scene
17 -> Primitive -- | The shape to determine the color for
18 -> Material
19 -> Vec3 -- | The incident vector of the ray
20 -> Vec3 -- | The location of intersection
21 -> Int -- | The stack depth
22 -> ColorTriple -- | The color at that point
16 colorFor :: Scene
17 -- ^ The scene we're operating within
18 -> Primitive
19 -- ^ The shape to determine the color for
20 -> Material
21 -- ^ The material to examine (not necessarily the result of (material shape)
22 -> Vec3
23 -- ^ The incident vector of the ray
24 -> Vec3
25 -- ^ The location of intersection
26 -> Int
27 -- ^ The stack depth
28 -> ColorTriple
29 -- ^ The color at that point
2330 colorFor scene shape mat direction location depth =
2431 case mat of
2532 NullMaterial -> (0, 0, 0)
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay.Geometry</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
1 window.onload = function () {pageLoad();setSynopsis("mini_ArtRay-Geometry.html");};
2 //]]>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ArtRay: A Haskell Raytracer</p></div><div id="content"><div id="module-header"><p class="caption">ArtRay.Geometry</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:quadSolve" class="def">quadSolve</a> :: Double -&gt; Double -&gt; Double -&gt; (Double, Double)</p></div><div class="top"><p class="src"><a name="v:firstIntersection" class="def">firstIntersection</a> :: <a href="ArtRay-Primitives.html#t:Ray">Ray</a> -&gt; <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a> -&gt; Maybe (Double, Vec3, <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>)</p></div><div class="top"><p class="src"><a name="v:pointToRay" class="def">pointToRay</a> :: <a href="ArtRay-Primitives.html#t:Viewer">Viewer</a> -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a> -&gt; <a href="ArtRay-Primitives.html#t:Ray">Ray</a></p></div><div class="top"><p class="src"><a name="v:reflectAbout" class="def">reflectAbout</a> :: Vec3 -&gt; Vec3 -&gt; Vec3</p></div><div class="top"><p class="src"><a name="v:refractVector" class="def">refractVector</a> :: Double -&gt; Vec3 -&gt; Vec3 -&gt; Vec3</p></div><div class="top"><p class="src"><a name="v:normal" class="def">normal</a> :: <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a> -&gt; Vec3 -&gt; Vec3</p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay.Primitives</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
1 window.onload = function () {pageLoad();setSynopsis("mini_ArtRay-Primitives.html");};
2 //]]>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ArtRay: A Haskell Raytracer</p></div><div id="content"><div id="module-header"><p class="caption">ArtRay.Primitives</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Scene">Scene</a> = <a href="#v:Scene">Scene</a> {<ul class="subs"><li><a href="#v:background">background</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li><a href="#v:options">options</a> :: [<a href="ArtRay-Primitives.html#t:Option">Option</a>]</li><li><a href="#v:geom">geom</a> :: [<a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>]</li><li><a href="#v:lights">lights</a> :: [<a href="ArtRay-Primitives.html#t:Light">Light</a>]</li><li><a href="#v:viewer">viewer</a> :: <a href="ArtRay-Primitives.html#t:Viewer">Viewer</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:Option">Option</a> <ul class="subs"><li>= <a href="#v:Antialiased">Antialiased</a> Double </li><li>| <a href="#v:GlobalAmbient">GlobalAmbient</a> <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Primitive">Primitive</a> <ul class="subs"><li>= <a href="#v:Sphere">Sphere</a> { <ul class="subs"><li><a href="#v:center">center</a> :: Vec3</li><li><a href="#v:radius">radius</a> :: Double</li><li><a href="#v:material">material</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></li></ul> }</li><li>| <a href="#v:Plane">Plane</a> { <ul class="subs"><li><a href="#v:pnorm">pnorm</a> :: Vec3</li><li><a href="#v:point">point</a> :: Vec3</li><li><a href="#v:material">material</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></li></ul> }</li><li>| <a href="#v:RectPrism">RectPrism</a> { <ul class="subs"><li><a href="#v:corner">corner</a> :: Vec3</li><li><a href="#v:x">x</a> :: Vec3</li><li><a href="#v:y">y</a> :: Vec3</li><li><a href="#v:z">z</a> :: Vec3</li><li><a href="#v:material">material</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></li></ul> }</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Ray">Ray</a> = <a href="#v:Ray">Ray</a> {<ul class="subs"><li><a href="#v:direction">direction</a> :: Vec3</li><li><a href="#v:position">position</a> :: Vec3</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:ColorTriple">ColorTriple</a> = (Double, Double, Double)</li><li class="src short"><span class="keyword">data</span> <a href="#t:Light">Light</a> = <a href="#v:PhongLight">PhongLight</a> {<ul class="subs"><li><a href="#v:speclight">speclight</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li><a href="#v:difflight">difflight</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li><a href="#v:loclight">loclight</a> :: Vec3</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:CombinationModel">CombinationModel</a> <ul class="subs"><li>= <a href="#v:WeightSum">WeightSum</a> { <ul class="subs"><li><a href="#v:weight">weight</a> :: Double</li></ul> }</li><li>| <a href="#v:FlatSum">FlatSum</a> </li><li>| <a href="#v:Multiply">Multiply</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Material">Material</a> <ul class="subs"><li>= <a href="#v:ColorMaterial">ColorMaterial</a> { <ul class="subs"><li><a href="#v:basecolor">basecolor</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li></ul> }</li><li>| <a href="#v:ReflectiveMaterial">ReflectiveMaterial</a> { <ul class="subs"><li><a href="#v:base">base</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></li><li><a href="#v:reflectivity">reflectivity</a> :: Double</li></ul> }</li><li>| <a href="#v:PhongMaterial">PhongMaterial</a> { <ul class="subs"><li><a href="#v:specular">specular</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li><a href="#v:diffuse">diffuse</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li><a href="#v:ambient">ambient</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li><a href="#v:phongexp">phongexp</a> :: Int</li></ul> }</li><li>| <a href="#v:TransparentMaterial">TransparentMaterial</a> { <ul class="subs"><li><a href="#v:base">base</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></li><li><a href="#v:cmodel">cmodel</a> :: <a href="ArtRay-Primitives.html#t:CombinationModel">CombinationModel</a></li><li><a href="#v:refindex">refindex</a> :: Double</li></ul> }</li><li>| <a href="#v:NullMaterial">NullMaterial</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Viewer">Viewer</a> = <a href="#v:Viewer">Viewer</a> {<ul class="subs"><li><a href="#v:location">location</a> :: Vec3</li><li><a href="#v:u">u</a> :: Vec3</li><li><a href="#v:v">v</a> :: Vec3</li><li><a href="#v:f">f</a> :: Vec3</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:Point2D">Point2D</a> <ul class="subs"><li>= <a href="#v:Point2D">Point2D</a> Double Double </li><li>| <a href="#v:RelPoint2D">RelPoint2D</a> Double Double </li></ul></li><li class="src short"><a href="#v:transmittance">transmittance</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a> -&gt; Double</li><li class="src short"><a href="#v:glambient">glambient</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li class="src short"><a href="#v:subpixels">subpixels</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; Maybe Double</li><li class="src short"><a href="#v:p2d">p2d</a> :: Int -&gt; Int -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a></li><li class="src short"><a href="#v:color">color</a> :: Double -&gt; Double -&gt; Double -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li class="src short"><a href="#v:colorm">colorm</a> :: Double -&gt; Double -&gt; Double -&gt; <a href="ArtRay-Primitives.html#t:Material">Material</a></li><li class="src short"><a href="#v:toRelPoint">toRelPoint</a> :: Size -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a> -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a></li><li class="src short"><a href="#v:view">view</a> :: Vec3 -&gt; Double -&gt; Vec3 -&gt; Vec3 -&gt; <a href="ArtRay-Primitives.html#t:Viewer">Viewer</a></li><li class="src short"><a href="#v:colorFrom">colorFrom</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; Color</li><li class="src short"><a href="#v:combine">combine</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li class="src short"><a href="#v:scale">scale</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; Double -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li class="src short"><a href="#v:weightedCombine">weightedCombine</a> :: Double -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li class="src short"><a href="#v:sumLight">sumLight</a> :: [<a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a>] -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li class="src short"><a href="#v:sumColor">sumColor</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li class="src short"><a href="#v:meanColor">meanColor</a> :: [<a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a>] -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Scene" class="def">Scene</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Scene" class="def">Scene</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:background" class="def">background</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:options" class="def">options</a> :: [<a href="ArtRay-Primitives.html#t:Option">Option</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:geom" class="def">geom</a> :: [<a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:lights" class="def">lights</a> :: [<a href="ArtRay-Primitives.html#t:Light">Light</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:viewer" class="def">viewer</a> :: <a href="ArtRay-Primitives.html#t:Viewer">Viewer</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Scene" class="caption collapser" onclick="toggleSection('i:Scene')">Instances</p><div id="section.i:Scene" class="show"><table><tr><td class="src">Read <a href="ArtRay-Primitives.html#t:Scene">Scene</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Show <a href="ArtRay-Primitives.html#t:Scene">Scene</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Option" class="def">Option</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Antialiased" class="def">Antialiased</a> Double</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:GlobalAmbient" class="def">GlobalAmbient</a> <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Option" class="caption collapser" onclick="toggleSection('i:Option')">Instances</p><div id="section.i:Option" class="show"><table><tr><td class="src">Read <a href="ArtRay-Primitives.html#t:Option">Option</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Show <a href="ArtRay-Primitives.html#t:Option">Option</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Primitive" class="def">Primitive</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Sphere" class="def">Sphere</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:center" class="def">center</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:radius" class="def">radius</a> :: Double</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:material" class="def">material</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:Plane" class="def">Plane</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:pnorm" class="def">pnorm</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:point" class="def">point</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:material" class="def">material</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:RectPrism" class="def">RectPrism</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:corner" class="def">corner</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:x" class="def">x</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:y" class="def">y</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:z" class="def">z</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:material" class="def">material</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Primitive" class="caption collapser" onclick="toggleSection('i:Primitive')">Instances</p><div id="section.i:Primitive" class="show"><table><tr><td class="src">Eq <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Read <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Show <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Ray" class="def">Ray</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Ray" class="def">Ray</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:direction" class="def">direction</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:position" class="def">position</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Ray" class="caption collapser" onclick="toggleSection('i:Ray')">Instances</p><div id="section.i:Ray" class="show"><table><tr><td class="src">Show <a href="ArtRay-Primitives.html#t:Ray">Ray</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:ColorTriple" class="def">ColorTriple</a> = (Double, Double, Double)</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Light" class="def">Light</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PhongLight" class="def">PhongLight</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:speclight" class="def">speclight</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:difflight" class="def">difflight</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:loclight" class="def">loclight</a> :: Vec3</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Light" class="caption collapser" onclick="toggleSection('i:Light')">Instances</p><div id="section.i:Light" class="show"><table><tr><td class="src">Read <a href="ArtRay-Primitives.html#t:Light">Light</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Show <a href="ArtRay-Primitives.html#t:Light">Light</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:CombinationModel" class="def">CombinationModel</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:WeightSum" class="def">WeightSum</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:weight" class="def">weight</a> :: Double</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:FlatSum" class="def">FlatSum</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Multiply" class="def">Multiply</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:CombinationModel" class="caption collapser" onclick="toggleSection('i:CombinationModel')">Instances</p><div id="section.i:CombinationModel" class="show"><table><tr><td class="src">Eq <a href="ArtRay-Primitives.html#t:CombinationModel">CombinationModel</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Read <a href="ArtRay-Primitives.html#t:CombinationModel">CombinationModel</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Show <a href="ArtRay-Primitives.html#t:CombinationModel">CombinationModel</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Material" class="def">Material</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ColorMaterial" class="def">ColorMaterial</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:basecolor" class="def">basecolor</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:ReflectiveMaterial" class="def">ReflectiveMaterial</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:base" class="def">base</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:reflectivity" class="def">reflectivity</a> :: Double</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:PhongMaterial" class="def">PhongMaterial</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:specular" class="def">specular</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:diffuse" class="def">diffuse</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:ambient" class="def">ambient</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:phongexp" class="def">phongexp</a> :: Int</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:TransparentMaterial" class="def">TransparentMaterial</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:base" class="def">base</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:cmodel" class="def">cmodel</a> :: <a href="ArtRay-Primitives.html#t:CombinationModel">CombinationModel</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:refindex" class="def">refindex</a> :: Double</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:NullMaterial" class="def">NullMaterial</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Material" class="caption collapser" onclick="toggleSection('i:Material')">Instances</p><div id="section.i:Material" class="show"><table><tr><td class="src">Eq <a href="ArtRay-Primitives.html#t:Material">Material</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Read <a href="ArtRay-Primitives.html#t:Material">Material</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Show <a href="ArtRay-Primitives.html#t:Material">Material</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Viewer" class="def">Viewer</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Viewer" class="def">Viewer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:location" class="def">location</a> :: Vec3</dt><dd class="doc"><p>The location of the viewer
4 </p></dd><dt class="src"><a name="v:u" class="def">u</a> :: Vec3</dt><dd class="doc"><p>A vector pointing horizontally along the image plane
5 </p></dd><dt class="src"><a name="v:v" class="def">v</a> :: Vec3</dt><dd class="doc"><p>A vector pointing vertically along the image plane
6 </p></dd><dt class="src"><a name="v:f" class="def">f</a> :: Vec3</dt><dd class="doc"><p>A vector pointing from the viewer to the center of the image plane
7 </p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Viewer" class="caption collapser" onclick="toggleSection('i:Viewer')">Instances</p><div id="section.i:Viewer" class="show"><table><tr><td class="src">Read <a href="ArtRay-Primitives.html#t:Viewer">Viewer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Show <a href="ArtRay-Primitives.html#t:Viewer">Viewer</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Point2D" class="def">Point2D</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Point2D" class="def">Point2D</a> Double Double</td><td class="doc"><p>Describes a point in the image using pixel coordinates, allowing for
8 | fractional pixels for subpixel sampling.
9 </p></td></tr><tr><td class="src"><a name="v:RelPoint2D" class="def">RelPoint2D</a> Double Double</td><td class="doc"><p>Describes a point in the image using offsets from the center, where each
10 field goes from zero to one.
11 </p></td></tr></table></div><div class="subs instances"><p id="control.i:Point2D" class="caption collapser" onclick="toggleSection('i:Point2D')">Instances</p><div id="section.i:Point2D" class="show"><table><tr><td class="src">Show <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:transmittance" class="def">transmittance</a> :: <a href="ArtRay-Primitives.html#t:Material">Material</a> -&gt; Double</p></div><div class="top"><p class="src"><a name="v:glambient" class="def">glambient</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:subpixels" class="def">subpixels</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; Maybe Double</p></div><div class="top"><p class="src"><a name="v:p2d" class="def">p2d</a> :: Int -&gt; Int -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a></p></div><div class="top"><p class="src"><a name="v:color" class="def">color</a> :: Double -&gt; Double -&gt; Double -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:colorm" class="def">colorm</a> :: Double -&gt; Double -&gt; Double -&gt; <a href="ArtRay-Primitives.html#t:Material">Material</a></p></div><div class="top"><p class="src"><a name="v:toRelPoint" class="def">toRelPoint</a> :: Size -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a> -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a></p></div><div class="top"><p class="src"><a name="v:view" class="def">view</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: Vec3</td><td class="doc"><p>The location of the viewer
12 </p></td></tr><tr><td class="src">-&gt; Double</td><td class="doc"><p>The field of view of the viewer, in radians
13 </p></td></tr><tr><td class="src">-&gt; Vec3</td><td class="doc"><p>The vector from viewer to center of image plane
14 </p></td></tr><tr><td class="src">-&gt; Vec3</td><td class="doc"><p>Unit vector pointing vertically along the image plane
15 </p></td></tr><tr><td class="src">-&gt; <a href="ArtRay-Primitives.html#t:Viewer">Viewer</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Creates a viewer
16 </p></div></div><div class="top"><p class="src"><a name="v:colorFrom" class="def">colorFrom</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; Color</p></div><div class="top"><p class="src"><a name="v:combine" class="def">combine</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:scale" class="def">scale</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; Double -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:weightedCombine" class="def">weightedCombine</a> :: Double -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:sumLight" class="def">sumLight</a> :: [<a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a>] -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:sumColor" class="def">sumColor</a> :: <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:meanColor" class="def">meanColor</a> :: [<a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a>] -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay.RayTrace</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
1 window.onload = function () {pageLoad();setSynopsis("mini_ArtRay-RayTrace.html");};
2 //]]>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ArtRay: A Haskell Raytracer</p></div><div id="content"><div id="module-header"><p class="caption">ArtRay.RayTrace</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:pixelColor" class="def">pixelColor</a> :: Size -&gt; <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; <a href="ArtRay-Primitives.html#t:Viewer">Viewer</a> -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:colorFor" class="def">colorFor</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="ArtRay-Primitives.html#t:Scene">Scene</a></td><td class="doc"><p>The scene we're operating within
4 </p></td></tr><tr><td class="src">-&gt; <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a></td><td class="doc"><p>The shape to determine the color for
5 </p></td></tr><tr><td class="src">-&gt; <a href="ArtRay-Primitives.html#t:Material">Material</a></td><td class="doc"><p>The material to examine (not necessarily the result of (material shape)
6 </p></td></tr><tr><td class="src">-&gt; Vec3</td><td class="doc"><p>The incident vector of the ray
7 </p></td></tr><tr><td class="src">-&gt; Vec3</td><td class="doc"><p>The location of intersection
8 </p></td></tr><tr><td class="src">-&gt; Int</td><td class="doc"><p>The stack depth
9 </p></td></tr><tr><td class="src">-&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></td><td class="doc"><p>The color at that point
10 </p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:occluded" class="def">occluded</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a> -&gt; Vec3 -&gt; Vec3 -&gt; Double</p></div><div class="top"><p class="src"><a name="v:phongLight" class="def">phongLight</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a> -&gt; <a href="ArtRay-Primitives.html#t:Material">Material</a> -&gt; <a href="ArtRay-Primitives.html#t:Ray">Ray</a> -&gt; Vec3 -&gt; <a href="ArtRay-Primitives.html#t:Light">Light</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:colorAtRay" class="def">colorAtRay</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; <a href="ArtRay-Primitives.html#t:Ray">Ray</a> -&gt; Int -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:colorAtRay-39-" class="def">colorAtRay'</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; <a href="ArtRay-Primitives.html#t:Ray">Ray</a> -&gt; [<a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>] -&gt; Int -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p></div><div class="top"><p class="src"><a name="v:sortTuples" class="def">sortTuples</a> :: (Double, Vec3, <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>) -&gt; (Double, Vec3, <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>) -&gt; Ordering</p></div><div class="top"><p class="src"><a name="v:geomAtRay" class="def">geomAtRay</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; <a href="ArtRay-Primitives.html#t:Ray">Ray</a> -&gt; [<a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>] -&gt; Maybe (Vec3, <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>)</p></div><div class="top"><p class="src"><a name="v:intersectWithScene" class="def">intersectWithScene</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; <a href="ArtRay-Primitives.html#t:Ray">Ray</a> -&gt; [<a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>] -&gt; [(Double, Vec3, <a href="ArtRay-Primitives.html#t:Primitive">Primitive</a>)]</p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay.Render</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
1 window.onload = function () {pageLoad();setSynopsis("mini_ArtRay-Render.html");};
2 //]]>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ArtRay: A Haskell Raytracer</p></div><div id="content"><div id="module-header"><p class="caption">ArtRay.Render</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:rayTraceImage-39-">rayTraceImage'</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; Size -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li class="src short"><a href="#v:rayTraceImage">rayTraceImage</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; Size -&gt; Point -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></li><li class="src short"><a href="#v:applyToImage">applyToImage</a> :: (Size -&gt; Point -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a>) -&gt; Image -&gt; IO ()</li><li class="src short"><a href="#v:render">render</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; Int -&gt; String -&gt; IO ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:rayTraceImage-39-" class="def">rayTraceImage'</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; Size -&gt; <a href="ArtRay-Primitives.html#t:Point2D">Point2D</a> -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p><div class="doc"><p>Raytrace an image without antialiasing
4 </p></div></div><div class="top"><p class="src"><a name="v:rayTraceImage" class="def">rayTraceImage</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; Size -&gt; Point -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a></p><div class="doc"><p>Raytrace an image with antialiasing by subpixel sampling
5 </p></div></div><div class="top"><p class="src"><a name="v:applyToImage" class="def">applyToImage</a> :: (Size -&gt; Point -&gt; <a href="ArtRay-Primitives.html#t:ColorTriple">ColorTriple</a>) -&gt; Image -&gt; IO ()</p></div><div class="top"><p class="src"><a name="v:render" class="def">render</a> :: <a href="ArtRay-Primitives.html#t:Scene">Scene</a> -&gt; Int -&gt; String -&gt; IO ()</p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
00 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Main</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
11 window.onload = function () {pageLoad();setSynopsis("mini_Main.html");};
22 //]]>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Main</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:main" class="def">main</a> :: IO ()</p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ArtRay: A Haskell Raytracer</p></div><div id="content"><div id="module-header"><p class="caption">Main</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:main" class="def">main</a> :: IO ()</p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title> (Index)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay: A Haskell Raytracer (Index)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
11 window.onload = function () {pageLoad();};
22 //]]>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="index"><p class="caption">Index</p><table><tr><td class="src">direction</td><td class="module"><a href="TrayRacer-Primitives.html#v:direction">TrayRacer.Primitives</a></td></tr><tr><td class="src">f</td><td class="module"><a href="TrayRacer-Primitives.html#v:f">TrayRacer.Primitives</a></td></tr><tr><td class="src">firstIntersection</td><td class="module"><a href="TrayRacer-Geometry.html#v:firstIntersection">TrayRacer.Geometry</a></td></tr><tr><td class="src">intersectAlongRay</td><td class="module"><a href="TrayRacer-Geometry.html#v:intersectAlongRay">TrayRacer.Geometry</a></td></tr><tr><td class="src">location</td><td class="module"><a href="TrayRacer-Primitives.html#v:location">TrayRacer.Primitives</a></td></tr><tr><td class="src">main</td><td class="module"><a href="Main.html#v:main">Main</a></td></tr><tr><td class="src">pixelColor</td><td class="module">TrayRacer.RayTrace</td></tr><tr><td class="src">Point2D</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="TrayRacer-Primitives.html#t:Point2D">TrayRacer.Primitives</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="TrayRacer-Primitives.html#v:Point2D">TrayRacer.Primitives</a></td></tr><tr><td class="src">pointToRay</td><td class="module"><a href="TrayRacer-Geometry.html#v:pointToRay">TrayRacer.Geometry</a></td></tr><tr><td class="src">position</td><td class="module"><a href="TrayRacer-Primitives.html#v:position">TrayRacer.Primitives</a></td></tr><tr><td class="src">Primitive</td><td class="module"><a href="TrayRacer-Primitives.html#t:Primitive">TrayRacer.Primitives</a></td></tr><tr><td class="src">quadSolve</td><td class="module"><a href="TrayRacer-Geometry.html#v:quadSolve">TrayRacer.Geometry</a></td></tr><tr><td class="src">Ray</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="TrayRacer-Primitives.html#t:Ray">TrayRacer.Primitives</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="TrayRacer-Primitives.html#v:Ray">TrayRacer.Primitives</a></td></tr><tr><td class="src">RelPoint2D</td><td class="module"><a href="TrayRacer-Primitives.html#v:RelPoint2D">TrayRacer.Primitives</a></td></tr><tr><td class="src">Scene</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="TrayRacer-Primitives.html#t:Scene">TrayRacer.Primitives</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="TrayRacer-Primitives.html#v:Scene">TrayRacer.Primitives</a></td></tr><tr><td class="src">Sphere</td><td class="module"><a href="TrayRacer-Primitives.html#v:Sphere">TrayRacer.Primitives</a></td></tr><tr><td class="src">u</td><td class="module"><a href="TrayRacer-Primitives.html#v:u">TrayRacer.Primitives</a></td></tr><tr><td class="src">v</td><td class="module"><a href="TrayRacer-Primitives.html#v:v">TrayRacer.Primitives</a></td></tr><tr><td class="src">view</td><td class="module"><a href="TrayRacer-Primitives.html#v:view">TrayRacer.Primitives</a></td></tr><tr><td class="src">Viewer</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="TrayRacer-Primitives.html#t:Viewer">TrayRacer.Primitives</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="TrayRacer-Primitives.html#v:Viewer">TrayRacer.Primitives</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ArtRay: A Haskell Raytracer</p></div><div id="content"><div id="index"><p class="caption">Index</p><table><tr><td class="src">ambient</td><td class="module"><a href="ArtRay-Primitives.html#v:ambient">ArtRay.Primitives</a></td></tr><tr><td class="src">Antialiased</td><td class="module"><a href="ArtRay-Primitives.html#v:Antialiased">ArtRay.Primitives</a></td></tr><tr><td class="src">applyToImage</td><td class="module"><a href="ArtRay-Render.html#v:applyToImage">ArtRay.Render</a></td></tr><tr><td class="src">background</td><td class="module"><a href="ArtRay-Primitives.html#v:background">ArtRay.Primitives</a></td></tr><tr><td class="src">base</td><td class="module"><a href="ArtRay-Primitives.html#v:base">ArtRay.Primitives</a></td></tr><tr><td class="src">basecolor</td><td class="module"><a href="ArtRay-Primitives.html#v:basecolor">ArtRay.Primitives</a></td></tr><tr><td class="src">center</td><td class="module"><a href="ArtRay-Primitives.html#v:center">ArtRay.Primitives</a></td></tr><tr><td class="src">cmodel</td><td class="module"><a href="ArtRay-Primitives.html#v:cmodel">ArtRay.Primitives</a></td></tr><tr><td class="src">color</td><td class="module"><a href="ArtRay-Primitives.html#v:color">ArtRay.Primitives</a></td></tr><tr><td class="src">colorAtRay</td><td class="module"><a href="ArtRay-RayTrace.html#v:colorAtRay">ArtRay.RayTrace</a></td></tr><tr><td class="src">colorAtRay'</td><td class="module"><a href="ArtRay-RayTrace.html#v:colorAtRay-39-">ArtRay.RayTrace</a></td></tr><tr><td class="src">colorFor</td><td class="module"><a href="ArtRay-RayTrace.html#v:colorFor">ArtRay.RayTrace</a></td></tr><tr><td class="src">colorFrom</td><td class="module"><a href="ArtRay-Primitives.html#v:colorFrom">ArtRay.Primitives</a></td></tr><tr><td class="src">colorm</td><td class="module"><a href="ArtRay-Primitives.html#v:colorm">ArtRay.Primitives</a></td></tr><tr><td class="src">ColorMaterial</td><td class="module"><a href="ArtRay-Primitives.html#v:ColorMaterial">ArtRay.Primitives</a></td></tr><tr><td class="src">ColorTriple</td><td class="module"><a href="ArtRay-Primitives.html#t:ColorTriple">ArtRay.Primitives</a></td></tr><tr><td class="src">CombinationModel</td><td class="module"><a href="ArtRay-Primitives.html#t:CombinationModel">ArtRay.Primitives</a></td></tr><tr><td class="src">combine</td><td class="module"><a href="ArtRay-Primitives.html#v:combine">ArtRay.Primitives</a></td></tr><tr><td class="src">corner</td><td class="module"><a href="ArtRay-Primitives.html#v:corner">ArtRay.Primitives</a></td></tr><tr><td class="src">difflight</td><td class="module"><a href="ArtRay-Primitives.html#v:difflight">ArtRay.Primitives</a></td></tr><tr><td class="src">diffuse</td><td class="module"><a href="ArtRay-Primitives.html#v:diffuse">ArtRay.Primitives</a></td></tr><tr><td class="src">direction</td><td class="module"><a href="ArtRay-Primitives.html#v:direction">ArtRay.Primitives</a></td></tr><tr><td class="src">f</td><td class="module"><a href="ArtRay-Primitives.html#v:f">ArtRay.Primitives</a></td></tr><tr><td class="src">firstIntersection</td><td class="module"><a href="ArtRay-Geometry.html#v:firstIntersection">ArtRay.Geometry</a></td></tr><tr><td class="src">FlatSum</td><td class="module"><a href="ArtRay-Primitives.html#v:FlatSum">ArtRay.Primitives</a></td></tr><tr><td class="src">geom</td><td class="module"><a href="ArtRay-Primitives.html#v:geom">ArtRay.Primitives</a></td></tr><tr><td class="src">geomAtRay</td><td class="module"><a href="ArtRay-RayTrace.html#v:geomAtRay">ArtRay.RayTrace</a></td></tr><tr><td class="src">glambient</td><td class="module"><a href="ArtRay-Primitives.html#v:glambient">ArtRay.Primitives</a></td></tr><tr><td class="src">GlobalAmbient</td><td class="module"><a href="ArtRay-Primitives.html#v:GlobalAmbient">ArtRay.Primitives</a></td></tr><tr><td class="src">intersectWithScene</td><td class="module"><a href="ArtRay-RayTrace.html#v:intersectWithScene">ArtRay.RayTrace</a></td></tr><tr><td class="src">Light</td><td class="module"><a href="ArtRay-Primitives.html#t:Light">ArtRay.Primitives</a></td></tr><tr><td class="src">lights</td><td class="module"><a href="ArtRay-Primitives.html#v:lights">ArtRay.Primitives</a></td></tr><tr><td class="src">location</td><td class="module"><a href="ArtRay-Primitives.html#v:location">ArtRay.Primitives</a></td></tr><tr><td class="src">loclight</td><td class="module"><a href="ArtRay-Primitives.html#v:loclight">ArtRay.Primitives</a></td></tr><tr><td class="src">main</td><td class="module"><a href="Main.html#v:main">Main</a></td></tr><tr><td class="src">Material</td><td class="module"><a href="ArtRay-Primitives.html#t:Material">ArtRay.Primitives</a></td></tr><tr><td class="src">material</td><td class="module"><a href="ArtRay-Primitives.html#v:material">ArtRay.Primitives</a></td></tr><tr><td class="src">meanColor</td><td class="module"><a href="ArtRay-Primitives.html#v:meanColor">ArtRay.Primitives</a></td></tr><tr><td class="src">Multiply</td><td class="module"><a href="ArtRay-Primitives.html#v:Multiply">ArtRay.Primitives</a></td></tr><tr><td class="src">normal</td><td class="module"><a href="ArtRay-Geometry.html#v:normal">ArtRay.Geometry</a></td></tr><tr><td class="src">normalizeColor</td><td class="module">ArtRay.Primitives</td></tr><tr><td class="src">NullMaterial</td><td class="module"><a href="ArtRay-Primitives.html#v:NullMaterial">ArtRay.Primitives</a></td></tr><tr><td class="src">occluded</td><td class="module"><a href="ArtRay-RayTrace.html#v:occluded">ArtRay.RayTrace</a></td></tr><tr><td class="src">Option</td><td class="module"><a href="ArtRay-Primitives.html#t:Option">ArtRay.Primitives</a></td></tr><tr><td class="src">options</td><td class="module"><a href="ArtRay-Primitives.html#v:options">ArtRay.Primitives</a></td></tr><tr><td class="src">p2d</td><td class="module"><a href="ArtRay-Primitives.html#v:p2d">ArtRay.Primitives</a></td></tr><tr><td class="src">phongexp</td><td class="module"><a href="ArtRay-Primitives.html#v:phongexp">ArtRay.Primitives</a></td></tr><tr><td class="src">PhongLight</td><td class="module"><a href="ArtRay-Primitives.html#v:PhongLight">ArtRay.Primitives</a></td></tr><tr><td class="src">phongLight</td><td class="module"><a href="ArtRay-RayTrace.html#v:phongLight">ArtRay.RayTrace</a></td></tr><tr><td class="src">PhongMaterial</td><td class="module"><a href="ArtRay-Primitives.html#v:PhongMaterial">ArtRay.Primitives</a></td></tr><tr><td class="src">pixelColor</td><td class="module"><a href="ArtRay-RayTrace.html#v:pixelColor">ArtRay.RayTrace</a></td></tr><tr><td class="src">Plane</td><td class="module"><a href="ArtRay-Primitives.html#v:Plane">ArtRay.Primitives</a></td></tr><tr><td class="src">pnorm</td><td class="module"><a href="ArtRay-Primitives.html#v:pnorm">ArtRay.Primitives</a></td></tr><tr><td class="src">point</td><td class="module"><a href="ArtRay-Primitives.html#v:point">ArtRay.Primitives</a></td></tr><tr><td class="src">Point2D</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="ArtRay-Primitives.html#t:Point2D">ArtRay.Primitives</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="ArtRay-Primitives.html#v:Point2D">ArtRay.Primitives</a></td></tr><tr><td class="src">pointToRay</td><td class="module"><a href="ArtRay-Geometry.html#v:pointToRay">ArtRay.Geometry</a></td></tr><tr><td class="src">position</td><td class="module"><a href="ArtRay-Primitives.html#v:position">ArtRay.Primitives</a></td></tr><tr><td class="src">Primitive</td><td class="module"><a href="ArtRay-Primitives.html#t:Primitive">ArtRay.Primitives</a></td></tr><tr><td class="src">quadSolve</td><td class="module"><a href="ArtRay-Geometry.html#v:quadSolve">ArtRay.Geometry</a></td></tr><tr><td class="src">radius</td><td class="module"><a href="ArtRay-Primitives.html#v:radius">ArtRay.Primitives</a></td></tr><tr><td class="src">Ray</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="ArtRay-Primitives.html#t:Ray">ArtRay.Primitives</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="ArtRay-Primitives.html#v:Ray">ArtRay.Primitives</a></td></tr><tr><td class="src">rayTraceImage</td><td class="module"><a href="ArtRay-Render.html#v:rayTraceImage">ArtRay.Render</a></td></tr><tr><td class="src">rayTraceImage'</td><td class="module"><a href="ArtRay-Render.html#v:rayTraceImage-39-">ArtRay.Render</a></td></tr><tr><td class="src">RectPrism</td><td class="module"><a href="ArtRay-Primitives.html#v:RectPrism">ArtRay.Primitives</a></td></tr><tr><td class="src">refindex</td><td class="module"><a href="ArtRay-Primitives.html#v:refindex">ArtRay.Primitives</a></td></tr><tr><td class="src">reflectAbout</td><td class="module"><a href="ArtRay-Geometry.html#v:reflectAbout">ArtRay.Geometry</a></td></tr><tr><td class="src">ReflectiveMaterial</td><td class="module"><a href="ArtRay-Primitives.html#v:ReflectiveMaterial">ArtRay.Primitives</a></td></tr><tr><td class="src">reflectivity</td><td class="module"><a href="ArtRay-Primitives.html#v:reflectivity">ArtRay.Primitives</a></td></tr><tr><td class="src">refractVector</td><td class="module"><a href="ArtRay-Geometry.html#v:refractVector">ArtRay.Geometry</a></td></tr><tr><td class="src">RelPoint2D</td><td class="module"><a href="ArtRay-Primitives.html#v:RelPoint2D">ArtRay.Primitives</a></td></tr><tr><td class="src">render</td><td class="module"><a href="ArtRay-Render.html#v:render">ArtRay.Render</a></td></tr><tr><td class="src">scale</td><td class="module"><a href="ArtRay-Primitives.html#v:scale">ArtRay.Primitives</a></td></tr><tr><td class="src">Scene</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="ArtRay-Primitives.html#t:Scene">ArtRay.Primitives</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="ArtRay-Primitives.html#v:Scene">ArtRay.Primitives</a></td></tr><tr><td class="src">sortTuples</td><td class="module"><a href="ArtRay-RayTrace.html#v:sortTuples">ArtRay.RayTrace</a></td></tr><tr><td class="src">speclight</td><td class="module"><a href="ArtRay-Primitives.html#v:speclight">ArtRay.Primitives</a></td></tr><tr><td class="src">specular</td><td class="module"><a href="ArtRay-Primitives.html#v:specular">ArtRay.Primitives</a></td></tr><tr><td class="src">Sphere</td><td class="module"><a href="ArtRay-Primitives.html#v:Sphere">ArtRay.Primitives</a></td></tr><tr><td class="src">subpixels</td><td class="module"><a href="ArtRay-Primitives.html#v:subpixels">ArtRay.Primitives</a></td></tr><tr><td class="src">sumColor</td><td class="module"><a href="ArtRay-Primitives.html#v:sumColor">ArtRay.Primitives</a></td></tr><tr><td class="src">sumColor'</td><td class="module">ArtRay.Primitives</td></tr><tr><td class="src">sumLight</td><td class="module"><a href="ArtRay-Primitives.html#v:sumLight">ArtRay.Primitives</a></td></tr><tr><td class="src">toRelPoint</td><td class="module"><a href="ArtRay-Primitives.html#v:toRelPoint">ArtRay.Primitives</a></td></tr><tr><td class="src">tracei</td><td class="module">ArtRay.RayTrace</td></tr><tr><td class="src">transmittance</td><td class="module"><a href="ArtRay-Primitives.html#v:transmittance">ArtRay.Primitives</a></td></tr><tr><td class="src">TransparentMaterial</td><td class="module"><a href="ArtRay-Primitives.html#v:TransparentMaterial">ArtRay.Primitives</a></td></tr><tr><td class="src">u</td><td class="module"><a href="ArtRay-Primitives.html#v:u">ArtRay.Primitives</a></td></tr><tr><td class="src">v</td><td class="module"><a href="ArtRay-Primitives.html#v:v">ArtRay.Primitives</a></td></tr><tr><td class="src">view</td><td class="module"><a href="ArtRay-Primitives.html#v:view">ArtRay.Primitives</a></td></tr><tr><td class="src">Viewer</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="ArtRay-Primitives.html#t:Viewer">ArtRay.Primitives</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="ArtRay-Primitives.html#v:Viewer">ArtRay.Primitives</a></td></tr><tr><td class="src">viewer</td><td class="module"><a href="ArtRay-Primitives.html#v:viewer">ArtRay.Primitives</a></td></tr><tr><td class="src">weight</td><td class="module"><a href="ArtRay-Primitives.html#v:weight">ArtRay.Primitives</a></td></tr><tr><td class="src">weightedCombine</td><td class="module"><a href="ArtRay-Primitives.html#v:weightedCombine">ArtRay.Primitives</a></td></tr><tr><td class="src">WeightSum</td><td class="module"><a href="ArtRay-Primitives.html#v:WeightSum">ArtRay.Primitives</a></td></tr><tr><td class="src">x</td><td class="module"><a href="ArtRay-Primitives.html#v:x">ArtRay.Primitives</a></td></tr><tr><td class="src">y</td><td class="module"><a href="ArtRay-Primitives.html#v:y">ArtRay.Primitives</a></td></tr><tr><td class="src">z</td><td class="module"><a href="ArtRay-Primitives.html#v:z">ArtRay.Primitives</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay: A Haskell Raytracer</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
11 window.onload = function () {pageLoad();};
22 //]]>
3 </script></head><body id="mini"><div id="module-list"><p class="caption">Modules</p><ul><li class="module"><a href="Main.html" target="main">Main</a></li><li class="module"><a href="TrayRacer-Geometry.html" target="main">TrayRacer.Geometry</a></li><li class="module"><a href="TrayRacer-Primitives.html" target="main">TrayRacer.Primitives</a></li><li class="module"><a href="TrayRacer-RayTrace.html" target="main">TrayRacer.RayTrace</a></li></ul></div></body></html>
3 </script></head><body id="mini"><div id="module-list"><p class="caption">Modules</p><ul><li class="module"><a href="ArtRay-Geometry.html" target="main">ArtRay.Geometry</a></li><li class="module"><a href="ArtRay-Primitives.html" target="main">ArtRay.Primitives</a></li><li class="module"><a href="ArtRay-RayTrace.html" target="main">ArtRay.RayTrace</a></li><li class="module"><a href="ArtRay-Render.html" target="main">ArtRay.Render</a></li><li class="module"><a href="Main.html" target="main">Main</a></li></ul></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay: A Haskell Raytracer</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
11 window.onload = function () {pageLoad();};
22 //]]>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-list"><p class="caption">Modules</p><ul><li><span class="module"><a href="Main.html">Main</a></span></li><li><span id="control.n.2" class="module collapser" onclick="toggleSection('n.2')">TrayRacer</span><ul id="section.n.2" class="show"><li><span class="module"><a href="TrayRacer-Geometry.html">TrayRacer.Geometry</a></span></li><li><span class="module"><a href="TrayRacer-Primitives.html">TrayRacer.Primitives</a></span></li><li><span class="module"><a href="TrayRacer-RayTrace.html">TrayRacer.RayTrace</a></span></li></ul></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
3 </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ArtRay: A Haskell Raytracer</p></div><div id="content"><div id="module-list"><p class="caption">Modules</p><ul><li><span id="control.n.1" class="module collapser" onclick="toggleSection('n.1')">ArtRay</span><ul id="section.n.1" class="show"><li><span class="module"><a href="ArtRay-Geometry.html">ArtRay.Geometry</a></span></li><li><span class="module"><a href="ArtRay-Primitives.html">ArtRay.Primitives</a></span></li><li><span class="module"><a href="ArtRay-RayTrace.html">ArtRay.RayTrace</a></span></li><li><span class="module"><a href="ArtRay-Render.html">ArtRay.Render</a></span></li></ul></li><li><span class="module"><a href="Main.html">Main</a></span></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay.Geometry</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
1 window.onload = function () {pageLoad();};
2 //]]>
3 </script></head><body id="mini"><div id="module-header"><p class="caption">ArtRay.Geometry</p></div><div id="interface"><div class="top"><p class="src"><a href="ArtRay-Geometry.html#v:quadSolve" target="main">quadSolve</a></p></div><div class="top"><p class="src"><a href="ArtRay-Geometry.html#v:firstIntersection" target="main">firstIntersection</a></p></div><div class="top"><p class="src"><a href="ArtRay-Geometry.html#v:pointToRay" target="main">pointToRay</a></p></div><div class="top"><p class="src"><a href="ArtRay-Geometry.html#v:reflectAbout" target="main">reflectAbout</a></p></div><div class="top"><p class="src"><a href="ArtRay-Geometry.html#v:refractVector" target="main">refractVector</a></p></div><div class="top"><p class="src"><a href="ArtRay-Geometry.html#v:normal" target="main">normal</a></p></div></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay.Primitives</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
1 window.onload = function () {pageLoad();};
2 //]]>
3 </script></head><body id="mini"><div id="module-header"><p class="caption">ArtRay.Primitives</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="ArtRay-Primitives.html#t:Scene" target="main">Scene</a> </p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="ArtRay-Primitives.html#t:Option" target="main">Option</a> </p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="ArtRay-Primitives.html#t:Primitive" target="main">Primitive</a> </p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="ArtRay-Primitives.html#t:Ray" target="main">Ray</a> </p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="ArtRay-Primitives.html#t:ColorTriple" target="main">ColorTriple</a> </p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="ArtRay-Primitives.html#t:Light" target="main">Light</a> </p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="ArtRay-Primitives.html#t:CombinationModel" target="main">CombinationModel</a> </p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="ArtRay-Primitives.html#t:Material" target="main">Material</a> </p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="ArtRay-Primitives.html#t:Viewer" target="main">Viewer</a> </p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="ArtRay-Primitives.html#t:Point2D" target="main">Point2D</a> </p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:transmittance" target="main">transmittance</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:glambient" target="main">glambient</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:subpixels" target="main">subpixels</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:p2d" target="main">p2d</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:color" target="main">color</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:colorm" target="main">colorm</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:toRelPoint" target="main">toRelPoint</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:view" target="main">view</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:colorFrom" target="main">colorFrom</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:combine" target="main">combine</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:scale" target="main">scale</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:weightedCombine" target="main">weightedCombine</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:sumLight" target="main">sumLight</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:sumColor" target="main">sumColor</a></p></div><div class="top"><p class="src"><a href="ArtRay-Primitives.html#v:meanColor" target="main">meanColor</a></p></div></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay.RayTrace</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
1 window.onload = function () {pageLoad();};
2 //]]>
3 </script></head><body id="mini"><div id="module-header"><p class="caption">ArtRay.RayTrace</p></div><div id="interface"><div class="top"><p class="src"><a href="ArtRay-RayTrace.html#v:pixelColor" target="main">pixelColor</a></p></div><div class="top"><p class="src"><a href="ArtRay-RayTrace.html#v:colorFor" target="main">colorFor</a></p></div><div class="top"><p class="src"><a href="ArtRay-RayTrace.html#v:occluded" target="main">occluded</a></p></div><div class="top"><p class="src"><a href="ArtRay-RayTrace.html#v:phongLight" target="main">phongLight</a></p></div><div class="top"><p class="src"><a href="ArtRay-RayTrace.html#v:colorAtRay" target="main">colorAtRay</a></p></div><div class="top"><p class="src"><a href="ArtRay-RayTrace.html#v:colorAtRay-39-" target="main">colorAtRay'</a></p></div><div class="top"><p class="src"><a href="ArtRay-RayTrace.html#v:sortTuples" target="main">sortTuples</a></p></div><div class="top"><p class="src"><a href="ArtRay-RayTrace.html#v:geomAtRay" target="main">geomAtRay</a></p></div><div class="top"><p class="src"><a href="ArtRay-RayTrace.html#v:intersectWithScene" target="main">intersectWithScene</a></p></div></div></body></html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ArtRay.Render</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
1 window.onload = function () {pageLoad();};
2 //]]>
3 </script></head><body id="mini"><div id="module-header"><p class="caption">ArtRay.Render</p></div><div id="interface"><div class="top"><p class="src"><a href="ArtRay-Render.html#v:rayTraceImage-39-" target="main">rayTraceImage'</a></p></div><div class="top"><p class="src"><a href="ArtRay-Render.html#v:rayTraceImage" target="main">rayTraceImage</a></p></div><div class="top"><p class="src"><a href="ArtRay-Render.html#v:applyToImage" target="main">applyToImage</a></p></div><div class="top"><p class="src"><a href="ArtRay-Render.html#v:render" target="main">render</a></p></div></div></body></html>