IMPRay is a simple object-oriented, class-based ray tracer developed using Microsoft's Visual Studio .NET 2003 (though so far the project uses only standard C++ code - nothing special such as MFC). Begun in October of 2006, it is a learning experience for me and a tutorial on rendering and C++ coding techniques for anyone out there who finds it interesting or helpful. Please contact me with any questions, comments, corrections, suggestions, etc. that you might have, and I thank you for your interest in and encouragement with this project.
Given a three-dimensional model of a scene and a viewpoint, rendering is the process of generating an image representing what the scene would look like when viewed from that particular location in space. Ray Tracing is a rendering technique that follows or "traces" rays of light from the viewpoint, through each pixel of a virtual screen, and into the scene until it intersects an object. The pixel receives the color of the object at the intersection point, taking into account such contributing factors as material properties, light sources, shadows, reflections, and refractions. For more details, see Wikipedia.
You are almost certainly going to need a vector class for your ray tracer. Here is mine: 3D Vector Class. As with everything else you will find on this page, source code, algorithms, Mathematics, etc., this is my own work. Feel free to use any or all of it if you find it useful, but please credit me if you do.
Input Files:
Source Code Project Files:
Output Files:
Current system features include:
To view a development image with an accompanying description, click on its icon below.
NEW: 18-Dec-2006: Debugged Local Lighting ^^^^^^^
Features currently in development include:
Potential future work includes:
Results - Performance
Appendices
Acknowledgements





Visitors to this Page Since 11/21/2006