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: Vasu Mahesh #2

Open
wants to merge 36 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e1dd3de
add: direct lighting
vasumahesh1 Sep 23, 2018
86e86a9
fix: annoying issue with incorrect bitangents and tangents for shapes
vasumahesh1 Sep 23, 2018
fc15fdf
add: two lights scene to test multiple lights
vasumahesh1 Sep 23, 2018
d86425e
fix: bugs with full lighting integ
vasumahesh1 Sep 23, 2018
e382d00
add: trowbridgereitz microfacet
vasumahesh1 Sep 23, 2018
99d2d2a
add: diffusemap support
vasumahesh1 Sep 23, 2018
0cabea1
get sphere working
vasumahesh1 Sep 23, 2018
08f1318
add: bump maps and emissive maps
vasumahesh1 Sep 23, 2018
d963dcb
add: direct lighting integrator
vasumahesh1 Sep 24, 2018
b364990
add: base code for mesh loading
vasumahesh1 Sep 24, 2018
ef882c8
add: tinyobj lib and changes to mesh loading
vasumahesh1 Sep 24, 2018
66f2716
fix: missing scene file from prev commit
vasumahesh1 Sep 24, 2018
05fa0a7
add: anti aliasing
vasumahesh1 Sep 25, 2018
8cc9311
add: specular btdf
vasumahesh1 Sep 25, 2018
1a866c2
add: glass bsdf
vasumahesh1 Sep 25, 2018
857f84b
add: mesh support
vasumahesh1 Sep 26, 2018
a6eef97
add: naive AABB culling for meshes
vasumahesh1 Sep 26, 2018
f96828c
add: define flag to toggle it
vasumahesh1 Sep 26, 2018
cb585ca
add: partial impl of KDTree
vasumahesh1 Sep 27, 2018
705d315
add: changes to mesh acceleration
vasumahesh1 Sep 27, 2018
a8f846e
add: fresnel conductor - for metals
vasumahesh1 Sep 27, 2018
334eaf7
change some conditions for scene mesh loading
vasumahesh1 Sep 27, 2018
1b67eee
optimize direct lighting
vasumahesh1 Sep 28, 2018
48989d6
add: roughness map & renders
vasumahesh1 Sep 28, 2018
a42a418
add: sphere lights
vasumahesh1 Sep 29, 2018
4585401
add: plastic material scene
vasumahesh1 Sep 29, 2018
1195df2
add: procedural textures
vasumahesh1 Sep 29, 2018
975a11f
add: final images and graphs
vasumahesh1 Sep 30, 2018
5636919
add: readme
vasumahesh1 Sep 30, 2018
7f3002b
fix: header font size
vasumahesh1 Sep 30, 2018
8bd09d6
add: missing images
vasumahesh1 Sep 30, 2018
c125f97
add: build instructions
vasumahesh1 Sep 30, 2018
df163e2
add: more info on PT basics
vasumahesh1 Sep 30, 2018
4974022
fix: broken link
vasumahesh1 Sep 30, 2018
6367a64
add: zip for meshes
vasumahesh1 Sep 30, 2018
43905e8
fix: image text
vasumahesh1 Sep 30, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ build
.LSOverride

# Icon must end with two \r
Icon
Icon


# Thumbnails
._*
Expand Down Expand Up @@ -189,7 +190,6 @@ install_manifest.txt
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
Expand Down
21 changes: 21 additions & 0 deletions BUILDING_INSTRUCTIONS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
CUDA Path Tracer - Building Instructions
======================

Please have a look at pathtrace.cu and intersections.h for flags.

Certain flags enable features. I initially had some stack overflow issues so I decided to stop certain features while I was debugging or implementing them. So, those flags are still active.

For the android scene, you might need to enable Plastic Material using the flags.

If you face similar issues related to overuse of registers, I would recommend either you downgrade the number of threads per block or disable some unused branches.

The final renders are in final_images. There are a ton of scenes available, the names should mostly help you figure out what scenes you need to render.

I had issues with compiling on my Laptop but Desktop ran fine! Not sure what is the issue.


#### KDTree

If you look through my code, you might see a KD Tree. Apparently it work in Debug mode, but doesn't run in Release mode :(

I decided to let that feature go, but I guess you can always try it out in Debug mode if you want to. It was hard to debug and I wasted a full day on it. So, I decided to implement other features instead!
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ list(APPEND CMAKE_LIBRARY_PATH "${EXTERNAL_LIB_PATH}")
set(GLFW_INCLUDE_DIR "${EXTERNAL}/include")
set(GLFW_LIBRARY_DIR "${CMAKE_LIBRARY_PATH}")
find_library(GLFW_LIBRARY "glfw3" HINTS "${GLFW_LIBRARY_DIR}")
find_library(TINY_OBJ_LOADER_LIBRARY "tinyobjloader" HINTS "${CMAKE_LIBRARY_PATH}")

set(GLEW_INCLUDE_DIR "${EXTERNAL}/include")
set(GLEW_LIBRARY_DIR "${CMAKE_LIBRARY_PATH}")
Expand All @@ -36,6 +37,7 @@ set(CORELIBS
"${GLFW_LIBRARY}"
"${OPENGL_LIBRARY}"
"${GLEW_LIBRARY}"
"${TINY_OBJ_LOADER_LIBRARY}"
)

# Enable C++11 for host code
Expand Down
Loading