95 lines
3.7 KiB
HTML
95 lines
3.7 KiB
HTML
|
**Homework 4**
|
||
|
|
||
|
Student name: Cedric Hölzl
|
||
|
|
||
|
Sciper number: 257844
|
||
|
|
||
|
Area lights (25 pts)
|
||
|
====================
|
||
|
|
||
|
I used as template other clases, having usualy a `sample()` function along a `eval()` function. Initialy I wasnt using the `eval()` but during refactoring I moved some code into it.
|
||
|
|
||
|
|
||
|
Distribution Ray Tracing (40 pts)
|
||
|
=================================
|
||
|
|
||
|
We can see the images match. There was at one point an issue with the shadows that was tedious to solve, it turned out to be me not using the bsdf sampling properly. Another issue are the furnace tests not passing, I managed to isolate the issue, being the way I handle intersections with "emiters", I didn't take into account the fact that an emiter can be diffuse and I just returned the `radiance` of the latter. Ignoring this special case, results are correct.
|
||
|
|
||
|
Concerning design decisions, I chose to use the PDF structure to be able to sample emitters easily, the other option being the one one coding myself a way to randomly select one.
|
||
|
|
||
|
Diffuse logo:
|
||
|
<div class="twentytwenty-container">
|
||
|
<img src="logo-diffuse-ref.png" alt="Reference">
|
||
|
<img src="logo-diffuse.png" alt="Mine">
|
||
|
</div>
|
||
|
|
||
|
Cornell box (distributed):
|
||
|
<div class="twentytwenty-container">
|
||
|
<img src="cbox-distributed-ref.png" alt="Reference">
|
||
|
<img src="cbox-distributed.png" alt="Mine">
|
||
|
</div>
|
||
|
|
||
|
|
||
|
Dielectrics (25 pts)
|
||
|
====================
|
||
|
|
||
|
No issues or major design choises had to be made to implement dielectrics.
|
||
|
|
||
|
|
||
|
Whitted-style ray tracing (10 pts)
|
||
|
==================================
|
||
|
|
||
|
Dielectric logo:
|
||
|
<div class="twentytwenty-container">
|
||
|
<img src="logo-dielectric-ref.png" alt="Reference">
|
||
|
<img src="logo-dielectric.png" alt="Mine">
|
||
|
</div>
|
||
|
|
||
|
Cornell box (Whitted):
|
||
|
<div class="twentytwenty-container">
|
||
|
<img src="cbox-whitted-ref.png" alt="Reference">
|
||
|
<img src="cbox-whitted.png" alt="Mine">
|
||
|
</div>
|
||
|
|
||
|
|
||
|
Artist Points (5 pts)
|
||
|
=====================
|
||
|
|
||
|
|
||
|
Metropolis (The City):
|
||
|
|
||
|
<img src="city.png" alt="City Render">
|
||
|
|
||
|
The objective was to create a minimalistic city with the goal of expressing the `feeling of urbanisation`, using grey as only color with `concrete`, `glass` and `metalic` textures for the towers. The whole scene and 3D models is created by `C. Hölzl` (myself).
|
||
|
|
||
|
|
||
|
Hacker Points (15 pts)
|
||
|
======================
|
||
|
|
||
|
Being Stuck on trying to fix the `furnace` test left no time to work on it.
|
||
|
|
||
|
Feedback
|
||
|
========
|
||
|
|
||
|
This part of the project is relativly time consuming and leaves space for many small errors that are unfortunately difficult and time-consuming to solve.
|
||
|
|
||
|
I spent in total 4h designing, 4h coding, 10h testing & debuging.
|
||
|
|
||
|
It would have been great to have a `wiki` containign images with the common issues with small hints to avoid spamming assistants with questions and have easier time debuging.
|
||
|
|
||
|
The hard part was mostly finding the small typos I made at multiple places. The ok-part was the angle calculation and logic implementation, which wasnt trivial but still manageable.
|
||
|
|
||
|
I enjoyed the artist points providing a more fun task in a workload heavy assignment.
|
||
|
|
||
|
|
||
|
<!-- Slider -->
|
||
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
||
|
<script src="../resources/jquery.event.move.js"></script>
|
||
|
<script src="../resources/jquery.twentytwenty.js"></script>
|
||
|
<link href="../resources/offcanvas.css" rel="stylesheet">
|
||
|
<link href="../resources/twentytwenty.css" rel="stylesheet" type="text/css" />
|
||
|
<script>var markdeepOptions = {onLoad: function() {$(".twentytwenty-container").twentytwenty({default_offset_pct: 0.5, move_slider_on_hover: true});} };</script>
|
||
|
<!-- Markdeep: -->
|
||
|
<script src="https://morgan3d.github.io/markdeep/latest/markdeep.min.js?" charset="utf-8"></script>
|
||
|
<script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
|