BSRay is a real time ray tracing system. It allows the user to preview the scene
with real time ray tracing. The scene can then be rendered with
high quality in high resolutions. With Iterative Image Refinement the rendering progress
of the scene can be observed and the rendering can be stopped when the desired quality
is reached.
Features:
- Rendering:
- Per-Pixel exact shadows, reflection and refraction
- Monte-Carlo Path-Tracing
- Iterative Image Refinement
- Acceleration Structures:
- SAH kd-tree
- SAH Binary BVH
- Voxel Octree (for Voxel Rendering)
- Lighting and Shading:
- Point Lights
- Arbitrary Light Sources
- Image Based Lighting
- Several Materials:
- Lambert
- Dielectric
- Mirror
- Glossy Mirror
- Light Emitting
- HDR Environment Maps
- Technical Specs:
- Coded in C++ with SSE for optimal performance
- OpenGL is used for displaying the image and post processing effects
- Multi-Threaded Ray Tracing using Intel TBB
Controls
WASD - Move
Mouse - Look
Q/E - Adjust Exposure
Space - Start/Stop Image Refinement
1 - Low Quality Preview
2 - High Quality
F1 - Save Image
Usage
Run BSRay.exe. BSRay will always load the file "scene.txt". After the scene has been loaded,
it is displayed in the low quality preview mode. You can now move through the scene until you
find a good camera position. Then switch to High Quality mode. The fps counter will
disappear and the camera will stay at its position. Start the image refinement. The quality
of the image should improve with time. When the desired quality is reached, stop the refinement.
Now you can save the image to disk. You can also refine and save the image in the preview mode.
Rendering your own scene
To render your own scene, open scene.txt and change the values listed in there. If you don't know
what a value means, do not change it, it could crash your pc. BSRay can read geometry from
.obj-files, however only the raw geometry is loaded, materials in the .obj-file are
ignored. For IBL you can load any .hdr-file in Latitude/Longitude-Format.
Acknowledgements & Credits