Skip to content

Commit

Permalink
fix build issue
Browse files Browse the repository at this point in the history
  • Loading branch information
HummaWhite committed Oct 7, 2022
1 parent a57b32a commit f567d0c
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 9 deletions.
19 changes: 14 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This is our third project of CIS 565 Fall 2022. In this project, we implemented

![](./img/photo_realistic.jpg)

<p align="center">"Photoly" realistic!</p>
<p align="center">A virtual camera is capturing another virtual camera</p>

| Scene Specs | [[./scenes/pbr_texture.txt]](./scenes/pbr_texture.txt) |
| ----------------------- | ------------------------------------------------------ |
Expand All @@ -27,13 +27,22 @@ This is our third project of CIS 565 Fall 2022. In this project, we implemented
| Render Time | < 7 minutes (> 7.5 frames per second) |
| Million Rays Per Second | > 32.4 |
| Triangle Count | 25637 |
| Lighting | HDR Environment Map |

![](./img/sponza_pano.jpg)

<p align="center">Twisted Sponza rendered with panorama camera</p>

| Scene Specs | |
| ----------------------- | ----------- |
| Resolution | 2400 x 1200 |
| Samples Per Pixel | 8000 |
| Render Time | 38 minutes |
| Million Rays Per Second | 10 |
| Triangle Count | 262193 |

![](./img/aperture_custom.jpg)

<p align="center">Star-shaped bokehs</p>
<p align="center">Lens effect: star-shaped bokehs</p>



Expand Down Expand Up @@ -112,7 +121,7 @@ Implementing gamma correction is very trivial. But it is necessary if we want ou

#### Fast Intersection: Stackless SAH-Based Bounding Volume Hierarchy

Ray-scene intersection is probably the best time consuming part of
Ray-scene intersection is probably the best time consuming part of of ray tracing process. In a naive method we try to intersect every ray with every object in the scene, which is

I did two levels of optimization.

Expand Down Expand Up @@ -144,7 +153,7 @@ In general, it's a tradeoff between thread concurrency and time spent accessing

There is a paper stressing this point, from which I also got the idea to additionally implement a single kernel tracer

- [[Progressive Light Transport Simulation on the GPU: Survey and Improvements]](https://cgg.mff.cuni.cz/~jaroslav/papers/2014-gpult/2014-gpult-paper.pdf)
- [*Progressive Light Transport Simulation on the GPU: Survey and Improvements*](https://cgg.mff.cuni.cz/~jaroslav/papers/2014-gpult/2014-gpult-paper.pdf)



Expand Down
Binary file added img/sponza_pano.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ struct Settings {

struct State {
static bool camChanged;
};
};
2 changes: 0 additions & 2 deletions src/pathtrace.cu
Original file line number Diff line number Diff line change
Expand Up @@ -597,8 +597,6 @@ struct RemoveInvalidPaths {
}
};

static

void pathTrace(uchar4* pbo, int frame, int iter) {
const Camera& cam = hstScene->camera;
const int pixelCount = cam.resolution.x * cam.resolution.y;
Expand Down
2 changes: 1 addition & 1 deletion src/preview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ void RenderImGui() {
State::camChanged = true;
}

if (ImGui::DragFloat("Apature", &cam.lensRadius, .01f, 0.f, 3.f)) {
if (ImGui::DragFloat("Aperture", &cam.lensRadius, .01f, 0.f, 3.f)) {
State::camChanged = true;
}
if (ImGui::DragFloat("Focal", &cam.focalDist, .1f, 0.f, FLT_MAX, "%.1f m")) {
Expand Down

0 comments on commit f567d0c

Please sign in to comment.