Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,6 @@ install_manifest.txt
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
Expand Down Expand Up @@ -276,7 +275,6 @@ artifacts/
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
Expand Down
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ endif()

include_directories(.)
#add_subdirectory(stream_compaction) # TODO: uncomment if using your stream compaction
add_subdirectory(tiny_obj_loader)
add_subdirectory(src)

cuda_add_executable(${CMAKE_PROJECT_NAME}
Expand All @@ -82,6 +83,7 @@ cuda_add_executable(${CMAKE_PROJECT_NAME}

target_link_libraries(${CMAKE_PROJECT_NAME}
src
tiny_obj_loader
#stream_compaction # TODO: uncomment if using your stream compaction
${CORELIBS}
)
Expand Down
56 changes: 49 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,55 @@
CUDA Path Tracer
================
# CUDA Path Tracer

**University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 3**

* (TODO) YOUR NAME HERE
* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab)
* Zichuan Yu
* [LinkedIn](https://www.linkedin.com/in/zichuan-yu/), [Behance](https://www.behance.net/zainyu717ebcc)
* Tested on: Windows 10.0.17134 Build 17134, i7-4710 @ 2.50GHz 16GB, GTX 980m 4096MB GDDR5

### (TODO: Your README)
<p align="middle">
<img src="img/cover1.png" width="432" />
<img src="img/cover2.png" width="432" />
</p>

*DO NOT* leave the README to the last minute! It is a crucial part of the
project, and we will not be able to grade you without a good README.
## Features

- Diffuse and perfectly specular shading kernel
- Path termination with stream compaction
- Sort by material
- Caching first bounce
- Refraction with fresnel term
- Stochastic sampled antialiasing
- OBJ file loading

## Feature Demo

### Antialiasing

![AA](img/AA_compare.jpg)

### Refraction with Fresnel

![refraction](img/refraction.png)

### OBJ Loading

![obj_loading](img/obj_loading.png)

## Analysis

### Cache First Bounce

![cache_first_bounce](img/cache_first_bounce.png)

### Sort by Material Analysis

![material_sort](img/material_sort.png)

### Stream Compaction Analysis

![stream_compaction](img/stream_compaction.png)

## Credits

- Android Model Credit: https://free3d.com/3d-model/android-44714.html
- tiny_obj_loader Credit: https://github.com/syoyo/tinyobjloader
Binary file added img/AA.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/AA_compare.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/cache_first_bounce.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/cover1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/cover2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/material_sort.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/nonAA.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/obj_loading.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/refraction.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/stream_compaction.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions mesh/android.mtl
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# File Created: 21.10.2014 16:39:03

newmtl wire_061135006
Ns 32
d 1
Tr 0
Tf 1 1 1
illum 2
Ka 0.239216 0.529412 0.023529
Kd 0.239216 0.529412 0.023529
Ks 0.350000 0.350000 0.350000

newmtl wire_255255255
Ns 32
d 1
Tr 0
Tf 1 1 1
illum 2
Ka 1.000000 1.000000 1.000000
Kd 1.000000 1.000000 1.000000
Ks 0.350000 0.350000 0.350000
Loading