Commit 06f93341 authored by Hui Wang's avatar Hui Wang
Browse files

Update overview.md

parent bee117ad
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
# PathTracer Overview # PathTracer Overview
**Warning: This part is UNTESTED!**
PathTracer is (as the name suggests) a simple path tracer that can render scenes with global illumination. The first part of the assignment will focus on providing an efficient implementation of **ray-scene geometry queries**. In the second half of the assignment you will **add the ability to simulate how light bounces around the scene**, which will allow your renderer to synthesize much higher-quality images. Much like in MeshEdit, input scenes are defined in COLLADA files, so you can create your own scenes to render using Scotty3D or other free software like [Blender](https://www.blender.org/). PathTracer is (as the name suggests) a simple path tracer that can render scenes with global illumination. The first part of the assignment will focus on providing an efficient implementation of **ray-scene geometry queries**. In the second half of the assignment you will **add the ability to simulate how light bounces around the scene**, which will allow your renderer to synthesize much higher-quality images. Much like in MeshEdit, input scenes are defined in COLLADA files, so you can create your own scenes to render using Scotty3D or other free software like [Blender](https://www.blender.org/).
<center><img src="figures/raytracing_diagram.png" style="height:240px"></center> <center><img src="figures/raytracing_diagram.png" style="height:240px"></center>
...@@ -25,7 +23,22 @@ Implementing the functionality of PathTracer is split into 7 tasks: ...@@ -25,7 +23,22 @@ Implementing the functionality of PathTracer is split into 7 tasks:
- (Task 7) [Environment Lighting](/docs/pathtracer/environment_lighting.md) - (Task 7) [Environment Lighting](/docs/pathtracer/environment_lighting.md)
--- # Operation Guide
1. Compile and run Scotty3D
2. In `Layout` mode (which is the default mode when you first open Scotty3D), click `Import Scene` to import the scene with the preset camera from `/media`. We recommand you to start with simple models as primary test cases, such as `cbox.dae`. To create your own scene, don't forget to add `New Light`.
3. Switch to `Render` mode, set the camera in `Camera Settings` menu. If you imported the scene from `/media`, there should be a preset camera rendered as the black wireframe in the window.
4. Select the object in `Menu` and adjust its pose, mesh and material in `Object Options`.
5. Open the render window by clicking `Open Render Window`, setup the render image.
6. Click `Start Render` to render your image.
- It may take some time to render your image, as the duration of the rendering process is highly dependent on the complexity of your scene (number of primitives), the image resolution, the number of samples per pixel, and the max ray depth. For example, rendering a `640x360` image of `cbox.dae` with 4 samples per pixel and 8 max ray depth takes 1.2s on an i7-8750H laptop, while rendering `cow.dae` with a single directional light under the same image setting takes approximately 57s.
- When debugging, we recommend rendering a coarse image with a low number of samples per pixel and a low image resolution, which could save a considerable amount of waiting time.
7. Once you have created your own scene, you can export it by clicking `Export Scene` in `Layout` mode.
See Render Mode for more details.
# Code Structure
The files that you will work with for PathTracer are all under `src/student` directory. Some of the particularly important ones are outlined below. Methods that we expect you to implement are marked with "TODO (PathTracer)", which you may search for. The files that you will work with for PathTracer are all under `src/student` directory. Some of the particularly important ones are outlined below. Methods that we expect you to implement are marked with "TODO (PathTracer)", which you may search for.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment