Skip to content

Conversation

brycej217
Copy link

@brycej217 brycej217 commented Oct 5, 2025

Repo Link

Core Features Completed

  • Shading kernel with BSDF evaluation (diffuse, perfect specular surfaces)
  • Stream compacted path termination
  • Sorting by material type
  • Stochastic sampled antialiasing

Extended Features Completed

  • Visual Improvements
    • Physically-based depth-of-field
    • Texture, normal, and roughness mapping
    • Imperfect specular reflection
  • Mesh Improvements
    • Arbitrary mesh, material, and texture loading (using Assimp library)
  • Performance Improvements
    • Bounding volume hierarchies

README Completion Checklist

  • Cover image in readme does not use Cornell Box
  • Descriptions, screenshots, debug images, side-by-side comparisons of features implemented
  • Analysis
  • Scenes and meshes included or linked
  • Third-party library changes or compilation changes documented
  • Bloopers (optional)

Late Days Used

Code Submission: 3 Late Days
README: 0 Late Days

Project feedback

This project's base code is slightly confusing, and approaches the path tracer in a way which I feel could be more streamlined. The major issue I feel is that in interactions.cu and our Materials struct, it seems like the project wishes for students to approach PBR, as when implementing diffuse we get linked to the PBR textbook site. However, the model that the base code uses is much simpler, and actually looking into PBR might confuse or mislead students. I think in the future the project should lean into either having students implement PBR materials, and modify the materials struct such that they can utilize things like roughness/metallic, or to keep this "PBR-lite" system and have simpler resources for students to implement perfectly diffuse surfaces.

Also I'm tired...

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