BRayTracer Version History
0.7
Bug fixes
-
Cones now work and they have superceded cylinders, which have been removed. (A
cylinder is just a special case of a cone)
-
Polygon normals corrected and they are double-sided
-
RayTraceSettings are now static and accessible to all objects
-
Vector3f.Normalize was returning backwards vectors
Enhancements
-
Display no longer updates every line, but when image is finished. Code has
ability to customize how often, but not worked into UI yet.
-
Polygon meshes serialize only the filename of the original mesh
-
Vectors and Colors can now be edited as strings and the program will parse them
into components
-
Color chooser dialog has been replaced by the system color picker
-
Rendering code has been split into a separate DLL. This will allow better unit
testing and prepare for future features.
New Features
-
Transformations are implemented. Currently, there are translation, scale,
rotation, and custom transformations available.
-
Transformations and matrices have their own GUI editor.
-
Camera can now be arbitrarily placed and pointed at a specific location
-
An NUnit project has been started. The tests are very incomplete, but they will
be used extensively on new features, while existing features are eventually
added. Unit tests for Vector3f are basically completed at this point.
Removal
-
No more "preview" mode. It just renders. It might be added back in the future
in a different form.
-
Remove ICloneable interface from shapes--not necessary anymore
-
No more BenWatson namespace. Root namespace is BRayTracer.
-
Object names no longer show up as sub-properties of objects
0.6
Bug fixes
-
Hooked up all menus and toolbar butons to commands
-
Meshes now serialize/deserialize better--saving just the filename, which must
be reloaded before rendering
Enhancements
-
Put scene object editor on main form instead of a separate dialog
-
DoPrerenderCalculations will now throw an exception if the object has errors
-
Ability to set render thread priority
New Features