Project 3: Xuntong Liang#2
Open
PacosLelouch wants to merge 16 commits into
Open
Conversation
PacosLelouch
commented
Oct 5, 2021
- Repo Link
- Implemented a CUDA path tracer and completed some performance analysis.
- Implemented refraction, and non-perfect specular surfaces with Phong material and microfacet material with GGX normal distribution.
- Used stream compaction thrust::partition after shading to reduce the number of rays for further bounce, and completed performance analysis for this feature.
- Used sorting by material type before shading, and completed performance analysis for this feature.
- Implemented a toggleable option to cache the first bounce for re-using, and completed performance analysis for this feature.
- Implemented importance sampling of scattered ray with different materials.
- Implemented OBJ mesh loading with tinyObj.
- Implemented stochastic anti-aliasing.
- Implemented post processing such as outlining by stencil, and a simple version of ramp shading with a ramp texture.
- Implemented texture import and mapping with triangle meshes, and HDR image sky sphere.
- Implemented bounding volume hierarchy as a hierarchical spatial data structure for triangle meshes, and completed performance analysis for this feature.
- Feedback:
- This framework helps me a lot in how to do bounces separately, and how to use CUDA-OpenGL interop. However, the code structure of this framework seems not so unified. For example, the indents are different in different files. There may be some improvements.
- Also, I don't know if there are methods to separate the declarations and definitions of CUDA kernels or functions in header files and source files. What I know is that it is difficult to do this with templates, but I'm not sure if so it is with CUDA. A header-only implementation seems hard to maintain.
- Last but not least, it has a good interop with the guest lecture on Monday! I think there are some idea for further development on the path tracer.
Add sky sphere loading.
Update scenes, images, and readme.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.