Google Summer of Code 2022

Blender gets four slots for Google Summer of Code 2022! Let’s take a look at the projects that contributors will work on this summer.


3D Text Usability Improvements

The need for more easy-to-use features to edit text has been felt with the increased use of 3D text in Blender. This project aims at enhancing the usability of 3D text by providing easier ways to select and format text. The improvements made the text editor more flexibility and allow for easier text formatting. New tools and features will be added for better and faster formatting of text.

Contributor: Yash Dabhade
Mentor: Campbell Barton

Integrating Many Lights Sampling into Cycles

The Many Lights Sampling project has been a long-standing project over the course of Blender’s development. It is meant to improve Cycles render times in scenes with many lights, so that artists may be more flexible when it comes to creating and lighting environments. Although a lot of work has already been completed in regards to the Many Lights Sampling algorithm, the goal of this project is to merge this work into the main branch after sufficient testing and user feedback.

Contributor: Jeffrey Liu
Mentor: Brecht Van Lommel

Soft Bodies Simulation using Extended Position-Based Dynamics

We are surrounded by deformable objects that can’t be accurately simulated in Blender yet. This project proposes to build a new solver that would take as input a surface mesh and simulate the object as a soft body. The goal is to build a modular pipeline that will convert a surface mesh into a volumetric tetrahedral mesh using “Incremental Delaunay Method” that will be passed to the “Extended Position Based Dynamics (XPBD)” solver to simulate soft bodies.

Contributor: Aarnav Dhanuka
Mentor: Sebastian Parborg

Waveform Drawing Improvements

This project focuses on waveform drawing improvements in the Video Sequence Editor, to improve the video editing workflow. The main goal is to optimize the waveform drawing process so that it can be parallelized and parts of waveform will be drawn if they are available. As well, waveform can be cached on local disk to avoid waveform regeneration when the project starts up next time.

Contributor: Ming Xu
Mentor: Richard Antalík

A warm welcome to all contributors and good luck!

If you like to follow the projects progress in the coming weeks, their proposals and weekly reports will be added to the Wiki.

14 comments 4,589 views
  1. I would love to see the experimental features set in Cycles be completed, particularly Adaptive Subdivision. It’s such a fantastic idea, and looks so wonderful, but it’s sad when it doesn’t actually subdivide the mesh when Subdiv is applied.

  2. Good luck to all for Google summer of code 2022 !

  3. Does that many lights feature also allow to edit lighting after the render has finished? Like in Maxwell?

    • this is light groups and it’s already in master

  4. Can we hope, that one day the actual algorithm for generating text geometry will be revamped? At the moment, text tool in Blender is almost useless not because of formating and editing tools, but because you can’t do much with awful triangulated geometry, whether you want to add a bevel or deform the text somehow – it almost immediately ends with messed up geometry

    • I think it’s more likely that either

      1.VDB libraries are integrated and used for this kind of purpose : converting to VDB, applying a smooth operator then converting back to mesh

      2.Quad remeshing with feature and sharpness preservation is implemented as a node, making text characters actually deformable

  5. The prospect of having XPBD solver in blender is tantalizing to say the least!

    Having worked with several tools that already use XPBD I would say its a much bigger task at creating the tool-set and workflows to get the full benefit of XPBD is a much larger project than just implementing a solver.

    You would need to have ways of explicitly and procedural generating and removing constraints through something like geometry nodes.

    Also, XPBD isn’t just for soft bodies, its also used for
    * Hair and strand simulation
    * Cloth simulation
    * Fluid simulations (!)

    It would be a great candidate to use XPBD as the first of many (hopefully!) solvers for blender right in geometry nodes! 🙂

    Good luck to everyone involved!

  6. It would be nice if you add supporting more complex texts:
    – OpenType feature tags
    https://helpx.adobe.com/fonts/using/open-type-syntax.html
    – Vertical (top-to-bottom) texts
    https://www.w3.org/International/articles/vertical-text/
    – Ruby character
    https://en.wikipedia.org/wiki/Ruby_character

  7. for text in hope that we can write math expressions easy .. like power and fractions by using sth like TextBox that exist already and adding rotation parameter for each textbox and scale textBoxand that make also the bexed text be scaled ….so hopefully needed

    • While this kind of improvement isn’t totally outside the scope of the GSOC project, it’s not currently planned.

      • Maybe for the future, if the plan for GSOC is already complete, I second the hope for better Math typesetting in Blender, maybe with direct possibility to insert Latex expressions. To my knowledge, at present it is necessary a quite convoluted passage through Inkscape.
        In this period I am evaluating Blender for didactic projects about Math and Physics, comparing it also to other Python based solutions, as the spectacular Manim library, originally created by Grant Sanderson (3Blue1Brown on YT). A better management of scientific text directly in Blender would be really welcome.
        Thanks

  8. By the way i thinks is a good idea to introduce in the same time in the triangulate modifier the new topology called “tetrahedral” because is better for animation / simulation 🙂

  9. About text: Is a more lenient way of rendering slightly buggy fonts part of this GSoC? Or otherwise adressed? Because it happens pretty often to me, that a font will render some fonts incorrect (small “t” a prime example, generally), while they render correct in other software.

    I researched a bit and it seems to be that blender implements the specs 100% correct, while many other software doesn’t, and when font designers test against that software, the bug goes unnoticed into the final font release.

    Technically that is not blenders fault, but practically it does look so.

    • This would be good to resolve & would allow us to support tessellation of self intersecting curves/grease-pencil too (something which Blender doesn’t support). It’s quite an advanced project though and could easily be an entire GSOC.

In order to prevent spam, comments are closed 45 days after the post is published.
Feel free to resume the conversation on the forums.