From 9adc5a21361372481a97ac10132cced63fb93768 Mon Sep 17 00:00:00 2001 From: josh Date: Wed, 15 Apr 2009 22:40:52 +0000 Subject: [PATCH] working on report git-svn-id: svn://anubis/gvsu@404 45c1a28c-8058-47b2-ae61-ca45b979098e --- cs658/html/report.html | 89 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 80 insertions(+), 9 deletions(-) diff --git a/cs658/html/report.html b/cs658/html/report.html index 93d1b2d..a510c91 100644 --- a/cs658/html/report.html +++ b/cs658/html/report.html @@ -21,15 +21,6 @@ background-color: #999; } 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; } @@ -50,5 +41,85 @@

FART Final Report

+

Table of Contents

+
    +
  1. The Problem
  2. +
  3. Model
  4. +
  5. Design
  6. +
  7. Implementation
  8. +
  9. Evaluation
  10. +
  11. Future Work
  12. +
+ + +

The Problem

+

+ 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 + recursive acronym + similar to GNU or LAME. +

+

+ 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. +

+

+ 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. +

+ + +

Model

+

+ I used an object-oriented model for the program. + Each displayable scene object is represented by a C++ object + which inherits from the Shape base-class, while light objects + inherit from a base Light class. +

+

+ Shape objects implement an intersect() method. + Polymorphism is utilized so that when the scene attempts to + intersect a Ray with a shape object, it does not need + to know the actual type of shape object being intersected with. +

+

+ The task distribution infrastructure is implemented in a class + called distrib. + 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. +

+ +
+

Design

+

+ The design document for FART is available + here. +

+ + +

Implementation

+ +
+

Evaluation

+ +
+

Future Work

+