# Bryan Chadwick
# 3/20/2006
# Csg140 :: Assignment 3

Intro:
    The files are arranged into my own package, as before, so it should be the
       same sequence as before.
    
       The base dir 'chadwick' contains this file and the scene, pillars.scn.  
           Inside is the individual packages:
    
       chadwick.util     :  Vector and Util, same as Other Assignments
       chadwick.image    :  Imaging classes, also the same
       chadwick.raytrace :  Pretty much the same as before (mod. objects)
       chadwick.objects  :  Contains all the Basic Objects and some Interfaces
       chadwick.objects.texture :  Contains all the Texture and Bumpmap stuff
       chadwick.scene    :  Contains some changes to scene.g

Files (New/Changed ones):
    chadwick.objects:
             Quadric.java: Implements the generic quadric, including intersection.  I didn't
                              have time to find a u/v conversion for the general equation, so
                              I implemented a temp mapping for simple bumps.
                           The 3D textures work fin though, since we have intersection points

    chadwick.object.texture:
    AlgebraicTexture.java: I added TurbulenceTexture3D.  This is a 3D version of the samples
                              you gave, with a few tweaks.  I store colors in three dimensions
                              and use various Lerp functions.
                           The noise array is static, because it took alot of memory once
                              there are a few textured objects.
                           Also Wood and Marble textures.  These are all parameterized by color
                              so it's easy to get interesting results.
        
Compile/Running:
    The project should be all set... you can just copy these files over the old
      project... but I'd say clean it first since some files have been moved/deleted

    These are here for reference...
    
    javac -cp scene/antlr.jar util\*.java image\*.java raytrace\*.java 
               objects\*.java objects\texture\*.java scene\*.java
    
    And Run with:
    
    java -cp ..;scene\antlr.jar chadwick.raytrace.RayTracerFrame
    
    The scene takes about 14 sec to trace.
     
Scene File:  
  Note: You can comment/uncomment the antialiasing, but it's not really computationally
          expensive, just a little memory intensive.
        Also, the textures are random, and all draw from the same noise array, so you'll
          notice that the marble on the pillars looks a little similar... I tweaked a few
          other parameters to minimize the similarities, but it's still slightly noticeable.
    
    pillars.scn : some marble pillars, on a 'wood' like surface with parabolic light caps.
          My favorite pile of spheres in the middle, each with a different colored 3D random
          texture.  The top is straight noise, while the others are variations on the
          marble/cloud like theme.