This summer, Blender had the privilege of welcoming eight talented contributors as part of the Google Summer of Code program. They worked on exciting projects, enhancing Blender’s compositor, Video Sequence editor, edit mesh, sculpting as well as improving regression test coverage and enhancing the render manager Flamenco.
This blog post highlights their work and presents an excerpt of the results. Most changes have been merged already and will be part of the upcoming Blender 5.0 release. You can find further details in the contributors final reports.
Improving Sampling in the Compositor
Final report by Benjamin Beilharz
In this GSOC project, I aimed to improve the general state of sampling in Blender’s compositor. This includes open issues in which some nodes did not expose the sampling methods – the interpolation types – nearest, bilinear, and bicubic are exposed to the node’s interface and accessible for the users. Furthermore, we needed extension mode handling, e.g., wrap modes such as
Benjamin BeilharzClip,ExtendandRepeatthat define how samples outside the image domain are handled. Lastly, the elliptical weighted average sampling (short EWA) required a fresh implementation. The problem with the old implementation was that the results across CPU and GPU were not identical. This is due to different implementations, where the CPU used an implementation close to the Heckbert’s original paper and the GPU had hardware level implementation (which also lead to different results across vendors). Therefore, the overall goal was, to improve the overall state of image sampling within the Compositor and implement EWA with identical results on CPU and GPU.

Improving Regression Test Coverage for the Compositor
The main goal of this project was to improve the code coverage of the Compositor’s regression tests, either by adding new tests or updating/fixing current tests. Tangentially, it also grew to cover reorganization of the folder structure and general pruning of the current directories. I worked with my mentor Habib to target different aspects of the testing suite, while also exploring relevant areas of the codebase, different types of tests, and experimenting with different varieties of node setups.
Ian Yoo

Compositor: Glare Node Enhancement
Final report by Mohamed Hassan
The primary goal was to enhance Blender’s Glare node by addressing both technical and usability limitations. The work focused on improving performance, ensuring stability, refining controls, and resolving long-standing user experience issues such as unintuitive parameters, resolution dependency, and performance.
Mohamed Hassan

Optimizing Mesh and Multires Sculpting Performance in Blender
This project made substantial performance optimizations to Blender’s sculpting system with a focus on spatially re-organizing meshes to improve cache coherency and compressing sculpt undo data to reduce memory overhead. Although the original proposal included investigation of multithreading, extensive tests showed no measurable gains in performance in sculpting operations.
Namit Bhutani

Create Keyframes in VSE Preview
My goal for this project was to enable the user to create keyframes directly in the VSE preview by pressing the I or K key. I wanted this feature to follow the same logic as in the 3D viewport. I also wanted to document these features.
Ramón Klauck

Edit-Mesh Mirror Improvements
The aim of this GSoC project was to implement mirroring support for edit mode operators. The problem that existed in Blender’s edit mode was that operators did not have inbuilt symmetry logic so turning any of the symmetry axes on (X,Y,Z) for majority of operators in edit mode did not do anything.
Tariq Sulley

Pitch Correction for Sound Playback in Sequencer
The goal of this GSOC project was to implement one thing – a pitch-correction toggle for Blender’s video sequence editor (VSE). And indeed this goal was met, and I learned a lot during these 3 months!
Kace

Adding handy features and UI improvements to Flamenco
The primary goal of the project was to implement a settings page. The secondary goal was to implement multi-selection and mass job selection. If time allowed, UI bug fixes and enhancements would also be implemented to improve the overall user experience with the web application.
Vivian Leung

That’s it! Make sure to check the contributors full reports for further details.
I want to thank all mentors, contributors and of course Google for accepting us into the GSoC program again. We will happily apply for next year again.
Support Blender
Development requires dedicated design and development resources.
Donate monthly or one-time to help make this happen.
