Skip to content

Conversation

thecapablesnakekeeper
Copy link

@thecapablesnakekeeper thecapablesnakekeeper commented Oct 10, 2023

Using 3 late days
Repo Link

Features Implemented

  • Core Features

    • Materials - diffuse, specular (perfect + imperfect)
    • Toggleable stream compaction for ray path termination
    • Toggleable caching of first bounces
    • Toggleable material sorting
  • Extra Features

    • Refraction
    • Stochastic Sampled Antialiasing (Toggleable)
    • Physically Based Depth of Field (Toggleable)
    • glTF mesh loading
    • albedo mapping
    • Bounding Volume Hierarchy (Toggleable)
    • Reinhard operator and gamma correction (Toggleable)
  • Modifications to CMakeLists.txt

    • Added tiny_gltf.h
  • Feedback

    • I and most other students ended up doing all the graphics-related extra credits, which in my opinion is not the aim of the course. It would have been better to give us a basic path tracer and ask us to specifically implement GPU-related optimization techniques such as streams and graphs. It would also have been better to cover those topics in earlier lectures- - they were covered 2 days before the project's due date, and that was not enough time to learn and implement such new concepts.
    • We already go in the depths of a path tracer in CIS5610, so I think Penn courses should not trip on each other and this homework should be switched to something more compute-based to avoid repetition of projects. Also, it is unfair to ask people with no graphics background to learn and implement a path tracer in less than 2 weeks. The learning curve is a lot of overhead for someone who is only interested in 'GPU Programming and Architecture', as the course name says.

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.

1 participant