Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project 3: Zhihao Ruan #6

Open
wants to merge 93 commits into
base: main
Choose a base branch
from
Open

Conversation

shineyruan
Copy link

@shineyruan shineyruan commented Oct 7, 2021

Repo link.

Highlights:
Finished path tracing core features:

  • diffuse shaders
  • perfect specular reflection
  • 1st-bounce ray intersection caching
  • radix sort by material type
  • path continuation/termination by Thrust stream compaction

Finished Advanced Features:

  • Refraction with Fresnel effects using Schlick's approximation
  • Stochastic sampled anti-aliasing
  • Physically-based depth of field
  • OBJ mesh loading with tinyobjloader

Used 1 late day.

Feedback:

  • Too many global variables across the base code which decreases code readability.

Zhihao Ruan and others added 30 commits September 24, 2021 15:58
- Ideal diffuse surface model for shading
- Ray continuation with stream compaction
- Thrust sort for memory coalescence
- perfect specular reflection
- ideal diffuse shading
- transition between half-reflection & half-diffuse
- avoid new ray colliding with the surface by increasing the floating point offset
* remove or move "using namespace std" into source

* finished part of core features

- Ideal diffuse surface model for shading
- Ray continuation with stream compaction
- Thrust sort for memory coalescence

* add `static` qualifier to device arrays

* increase hidpi scene resolution

* add `depth` to RNG generator in `shadeMaterial`

* add `const` qualifiers

* move extract material IDs to `computeIntersections`

* remove redundant `iterationComplete` variable

* finish core shading features

- perfect specular reflection
- ideal diffuse shading
- transition between half-reflection & half-diffuse

* increase lighting effects

* add Cornell variant -- multiple balls

* fix floating point issue in `getPointOnRay`

- avoid new ray colliding with the surface by increasing the floating point offset

* decrease light intensity

* move constants to static_config.h

* fix incorrect light rendering & reflections

* fix specular material color value in multiball scene

* add caching first depth ray trace intersections

* add sample img for core feature demo
- always normalize ray direction before calculation
- always use true_normal for reflection & diffusion
Zhihao Ruan and others added 30 commits October 19, 2021 14:32
- WIP on A-Trous denoiser debugging
- add weights debugging visualization besides GBuffer
- add interactive denoising from GUI
- switch to exactly following math equations in paper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant