AcademySoftwareFoundation / AcademySoftwareFoundation/MaterialX
Add temporal antialiasing to MaterialX Viewer
- Dominant language
- C++
- Stars
- 2.3k
- Forks
- 451
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 8
Description
The [MaterialX Viewer](https://github.com/AcademySoftwareFoundation/MaterialX/blob/main/documents/DeveloperGuide/Viewer.md) might benefit from a simple implementation of [temporal antialiasing](https://en.wikipedia.org/wiki/Temporal_anti-aliasing), where the camera transform is jittered each frame, and successive frames are blended together.
In the context of the MaterialX Viewer, no dynamic reprojection would need to be used, and the history buffer could simply be cleared when the user moves the camera.
This antialiasing technique might work particularly well in addressing aliasing of under-sampled MaterialX patterns, which commonly appear in comparisons between real-time and offline renders, and could additionally improve the effectiveness of Filtered Importance Sampling in the context of the viewer.
The following are a few resources that may be useful in this implementation:
- https://en.wikipedia.org/wiki/Temporal_anti-aliasing
- https://sugulee.wordpress.com/2021/06/21/temporal-anti-aliasingtaa-tutorial/
- https://bartwronski.com/2014/03/15/temporal-supersampling-and-antialiasing/
Contributor guide
Research direction
Start with documents/DeveloperGuide/Viewer.md to understand the MaterialX Viewer, then review the linked temporal antialiasing resources. The work is done when the viewer jitters the camera transform across frames, blends successive frames, clears history when the camera moves, and improves aliasing of under-sampled patterns.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100