| |
ProgramOrganization
Page history last edited by Tim Lyakhovetskiy 3 yrs ago
Architecture
FirstIterationArchitecture
Utility Classes
- Vector3 - Describes a 3D vector.
- Matrix4 - Describes a 4x4 matrix. Useful for transformations (translation, projection, rotation, etc...)
- PreciseColor - Describes a color. We write our own class to better control precision.
- ImageChunk - A rectangular chunk of pixels, perhaps with information on which image it belongs to (for an animation).
Raytracer Core
- Camera - Describes a camera with a location, direction, field of view, exposure, etc...
- World (interface) - Describes a way to organize a scene in memory. Contains a method for intersecting a ray with the world. WorldInterface
- SimpleWorld - The world is arranged as just a list of objects.
- OctreeWorld - The world is divided into a recursive hierarchy of cubes.
- KDTreeWorld - The world is divided into a recursive hierarchy of axis-aligned planes.
- Deserializer (interface) - Describes how to deserialize a scene from disk (or any storage, really).
- Deserializer3ds - Deserializes a scene represented in the 3D Studio format.
- DeserializerXML - Deserializes a scene represented in XML.
- SceneObject (abstract class) - Describes an object in a scene.
- Light (interface) - Describes a light source. Has methods for calculating shading based on an incident ray.
- OmniLight - A light source represented by a point. Omnidirectional.
- SpotLight - A light source that acts in a cone-like fashion. (spotlight)
- Primitive (interface) - Describes a geometric primitive. Includes a method to intersect a ray.
- SpherePrimitive - Self-explanatory.
- PlanePrimitive - Self-explanatory
- BoxPrimitive - Self-explanatory
- Triangle - A triangle that indexes into a vertex list.
- Ray - Describes a ray with a starting point and a direction.
- RayIntersection - Stores information such as intersected color, shading, etc...
- Vertex - Describes a point in space with associated color, lighting, and mapping information.
- Material - Defines a material applied to a primitive. May include a texture reference.
- Texture (interface) - Describes an image that can be mapped onto a primitive
- FileTexture - Describes an image loaded from a file.
Application-related
- TraceSettings - Holds settings necessary for rendering a scene. Eg: max recursion depth, anti-aliasing, image size.
- TraceServer - The ray tracing server.
- TraceClient - The ray tracing client.
Utility
- RenderPanel - A class derived from JPanel that simplifies showing rendering progress.
- SimpleMemoryImage - Wraps several Java classes to create an in-memory image.
- RenderEvent - Describes an event such as a traced scanline or a finished render.
- RenderListener - A listener for rendering events.
ProgramOrganization
|
|
Tip: To turn text into a link, highlight the text, then click on a page or file from the list above.
|
|
|
Comments (0)
You don't have permission to comment on this page.