working on report
git-svn-id: svn://anubis/gvsu@404 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
parent
0081edb738
commit
9adc5a2136
@ -21,15 +21,6 @@
|
|||||||
background-color: #999;
|
background-color: #999;
|
||||||
}
|
}
|
||||||
hr { margin: 2em auto; }
|
hr { margin: 2em auto; }
|
||||||
tt {
|
|
||||||
display: block;
|
|
||||||
margin: 0.4em 0px;
|
|
||||||
padding: 0.1em 0.8ex;
|
|
||||||
background-color: #FFF;
|
|
||||||
border-style: dashed;
|
|
||||||
border-width: 1px;
|
|
||||||
border-color: #900;
|
|
||||||
}
|
|
||||||
img { border-style: none; }
|
img { border-style: none; }
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
@ -50,5 +41,85 @@
|
|||||||
<hr/>
|
<hr/>
|
||||||
<h2>FART Final Report</h2>
|
<h2>FART Final Report</h2>
|
||||||
|
|
||||||
|
<h4>Table of Contents</h4>
|
||||||
|
<ol>
|
||||||
|
<li><a href="#problem">The Problem</a></li>
|
||||||
|
<li><a href="#model">Model</a></li>
|
||||||
|
<li><a href="#design">Design</a></li>
|
||||||
|
<li><a href="#implementation">Implementation</a></li>
|
||||||
|
<li><a href="#evaluation">Evaluation</a></li>
|
||||||
|
<li><a href="#futurework">Future Work</a></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<a name="problem" />
|
||||||
|
<h4>The Problem</h4>
|
||||||
|
<p>
|
||||||
|
FART is my semester project for the Computer Science 658 class
|
||||||
|
at Grand Valley State University.
|
||||||
|
My goal is for FART to be a distributed, fault-tolerant,
|
||||||
|
object-oriented raytracer.
|
||||||
|
The name is a
|
||||||
|
<a href="http://en.wikipedia.org/wiki/Recursive_acronym">recursive acronym</a>
|
||||||
|
similar to GNU or LAME.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The input to the program will be a scene description file.
|
||||||
|
Scene description files are structured ASCII documents.
|
||||||
|
The format is a hierarchical layout of scene options and elements.
|
||||||
|
After the scene file is parsed, the scene will be raytraced
|
||||||
|
(rendered) according to the render options.
|
||||||
|
Some of these options can be specified on the command line and
|
||||||
|
others can be specified in the scene description file.
|
||||||
|
When a given option can be specified both places, the command-line
|
||||||
|
options will override what is in the scene file.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Rendering can be done using the built-in task distribution
|
||||||
|
infrastructure.
|
||||||
|
Command-line options will be utilized to specify a "hosts file"
|
||||||
|
which can contain a list of hosts to use while rendering the scene.
|
||||||
|
The algorithm is fault-tolerant so that if any of the worker
|
||||||
|
nodes goes down the tasks can be reorganized so other nodes
|
||||||
|
complete what the faulty nodes did not.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<a name="model" />
|
||||||
|
<h4>Model</h4>
|
||||||
|
<p>
|
||||||
|
I used an object-oriented model for the program.
|
||||||
|
Each displayable scene object is represented by a C++ object
|
||||||
|
which inherits from the <tt>Shape</tt> base-class, while light objects
|
||||||
|
inherit from a base <tt>Light</tt> class.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<tt>Shape</tt> objects implement an <tt>intersect()</tt> method.
|
||||||
|
Polymorphism is utilized so that when the scene attempts to
|
||||||
|
intersect a <tt>Ray</tt> with a shape object, it does not need
|
||||||
|
to know the actual type of shape object being intersected with.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The task distribution infrastructure is implemented in a class
|
||||||
|
called <tt>distrib</tt>.
|
||||||
|
This package contains methods to start up a server thread, launch
|
||||||
|
slave processes on the worker nodes, and connect back from the
|
||||||
|
slave processes to the master server.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<a name="design" />
|
||||||
|
<h4>Design</h4>
|
||||||
|
<p>
|
||||||
|
The design document for FART is available
|
||||||
|
<a href="design.html">here</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<a name="implementation" />
|
||||||
|
<h4>Implementation</h4>
|
||||||
|
|
||||||
|
<a name="evaluation" />
|
||||||
|
<h4>Evaluation</h4>
|
||||||
|
|
||||||
|
<a name="futurework" />
|
||||||
|
<h4>Future Work</h4>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user