Skip to content

Project 4: Utkarsh Dwivedi#12

Open
utkarshdwivedi3997 wants to merge 79 commits into
CIS565-Fall-2023:base-codefrom
utkarshdwivedi3997:base-code
Open

Project 4: Utkarsh Dwivedi#12
utkarshdwivedi3997 wants to merge 79 commits into
CIS565-Fall-2023:base-codefrom
utkarshdwivedi3997:base-code

Conversation

@utkarshdwivedi3997

@utkarshdwivedi3997 utkarshdwivedi3997 commented Oct 21, 2023

Copy link
Copy Markdown

Repo Link
Features

  • G-buffer for position, normal, depth
  • ATrous edge-avoiding wavelet transform denoiser

Feedback

  • The amount of time given to implement a lot in project 3 and the amount of time given to implement this incredibly simple, and outdated, denoiser, is extremely unbalanced.
  • The code base and instructions need to be updated and is simply wrong in a few places:
    • the gbufferToPBO() kernel incorrectly multiplies the normalised 0 to 1 t value by 256.0f. This is beyond the colour range and should be 255.0f.
    • the normals buffer that is shown in the instructions uses abs(normal) instead of the correct way of visualising normals (normal + 1) / 2. Taking an abs makes walls pointing in either left or right directions appear red. This is incorrect and threw me off for a bit while I was working on this assignment, especially since this is coming directly from the image in the instructions!
    • The source code in the paper has the following line when calculating normal weightage: dist2 = max(dot(t,t)/(stepwidth*stepwidth),0.0); but I found that changing it to simply dist2 = dot(t,t); yields MUCH better results.
  • This is a very old paper that describes a very outdated denoising technique, and doesn't even have the need to use any of CUDA's advanced optimisation features. This assignment should be completely replaced with something more up-to-date.
  • The results of this technique are not impressive for the current times. The recommendation to integrate it into our path tracers should be removed, because with complex materials it simply made my renders look worse.

shehzan10 and others added 30 commits January 16, 2021 09:33
…structions-2021

Update instructions for Fall 2021
Updated dates
Added GUIDataContainer Class to bridge data communication between pathtrace.cu and preview.cpp
Currently it's impossible to "unfocus" the GUI because a bool variable is not updated correctly.
Fix a bug that causes MouseOverImGuiWindow() to not work
…565-Project4-CUDA-Denoiser into denoiser

# Conflicts:
#	INSTRUCTION.md
#	src/interactions.h
#	src/main.cpp
#	src/pathtrace.cu
#	src/preview.cpp
#	src/sceneStructs.h
…565-Project4-CUDA-Denoiser into mergeProj3

# Conflicts:
#	src/interactions.h
#	src/main.cpp
#	src/pathtrace.cu
#	src/preview.cpp
#	src/sceneStructs.h
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.

6 participants