Note: the following dates have been changed, as the GSoC Timeline was updated due to COVID-19.
- Discuss with artists on Discord which effects they want the most
- Study the way multi-threading is accomplished in
GenericFrameRenderer
- Continue to contribute with PRs to get more familiar with the codebase
- Get familiar with the render pipeline
- Revise the effects added as stretch goals and their order of implementation to take the obtained feedback into consideration
- Get more familiar with Qt and the render viewer
- Evaluate what's the best approach to adding effects that could benefit from parelization: whether to use multi-threading, or if they could be applied with shaders (as it is done in Blender's EEVEE with GLSL, for example)
- Implement Unity's "Classic" Vignette
- Parallelize the effect implementation and get feedback from users
- Abstract and generalize multithreading on post-processing stages, without forcing each stage to have to reimplement it
- Start implementing Bloom
- Continue working on Bloom and check if the results are satisfactory to decide if more post-processing effects should be added or if it's worth it to attempt recreating UE4's "Bloom Convolution"
- Validate the concurrent implementation of effects and fix any bugs so that it's merged
- Finish Bloom implementation
- Create test scenes for Bloom and add documentation for the customizable settings
- Fix bugs
- Start Tonemapping implementation
- 🏁 GSoC mentor/student evaluations (June 29 - July 3)
- Continue Tonemapping implementation
- Create test scenes for the different tonemap operators added and add documentation
- Get preset tonemappers merged into appleseed
- Start implementing Chromatic Aberration
- Add test scenes and documentation to finish CA effect integration
- Brainstorm the most friendly way to expose post effects on interactive rendering
- Start coding post effects preview on interactive rendering
- Fix any remaining bugs on the implemented effects that may emerge
- 🏁 GSoC mentor/student evaluations (July 27 - 31)
- Create a test suite for the implementation of post effects on paused interactive renders
- Decide wheter to implement a few more straightforward effects (e.g. saturation and contrast) or to add a few improvements to the render viewer (as discussed in #feature-requests with Esteban)
- Begin final report
- Final polishes (i.e. testing and minor fixes)
- Bug fixing
- Compile the generated test scenes to demonstrate the effects of the new post-processing stages, so that they can easily be added in future release notes
- Create a few eye-candy renders that compile the implemented post-processing effects to illustrate the project's result (e.g. [4])
- Finalize the project report
- Project wrap-up
- 🏁 GSoC students submit their code, project summaries, and final evaluations of their mentors (August 24 - 31)
- 🏁 GSoC mentors review student code samples and determine if the students have successfully completed their project (August 31 - September 7)
- 🏁 GSoC results are announced (September 8)