Google Summer of Code 2013

Google has granted us 15 slots for the 2013 Summer of Code edition!
During the next weeks the students have to time to meet with everyone and get familiar to our projects. Official start for work will be June 17th.

Everyone”s invited to feedback and monitor student”s progress on the SoC list:

We will take special attention to coupling students with the stakeholder users!

Below are the summaries of the projects:

Alex Kuznetsov – VSE Improvements
Mentor: Peter Schlaile
Video Sequence Editor will be redesigned and upgraded to be closely integrated with the rest of Blender, while having cleaner API. Underlying structure will be significantly modified for cleaner and optimizable code.

Alexander Pinzon – Sketch Mesh Editing
Mentor: Howard Trickey
This project proposes to implement a method for mesh editing based on sketching lines defines by user and preserving the geometric details of the surface.
Based on paper:

Antonis Riakiotakis  – Painting tool improvements
Mentor: Lukas Toenne
This proposal will target usability, feature and system design improvements for Blender”s paint system. Unification of symmetry and anchored and area stroke modes, curve driven strokes, sharpen tool, re-use code for Vertex/Weight paint, bucket fill, better texture selection, etc.

Daniel Stokes – BGE LOD and Bug Fixing/Polishing
Mentor: Joerg Mueller
This proposed project intends to be mostly a bug fixing and polishing project for the BGE, similar to some past Blender GSoC projects. It also contains a level of detail system to allow Game Engine artists to make more efficient use of system resources.

Gavin Howard – Cycles Deformation Motion Blur
Mentor: Stuart Broadfoot
My proposal is to add to the Cycles Render Engine the capability of blurring moving parts of deformed meshes, separate from the non-moving parts.

Ines Almeida – Improved OpenGL Debugging and Profiling
Mentor: Mitchel Stokes
This project aims to bring common profiling options to BGE, extending and improving the existing ones, namely: resources spent with user logic, rendering different objects and how much of the graphics card memory and capabilities is being used. Another objective of this project is to improve general Blender debugging using the new OpenGL debugging system.

Jason Wilkins – Viewport FX II
Mentor: Brecht van Lommel
This is a proposal to continue updating the way Blender draws to the screen. Blender relies on an older version of the OpenGL graphics library that is no longer fully supported by hardware providers. For this reason, when new generations of graphics cards are released, Blender would not fully benefit from the increases in capability and performance.

Joseph Mansfield – Expand and improve motion tracking
Mentor: Keir Mierle
I plan to focus on multicamera solving and reconstruction from footage with variable focal length. In addition, I will make various smaller improvements to the motion tracking workflow and interface.

Joshua Leung – Dependency Graph and Evaluation
Mentor: Ton Roosendaal
This project aims to investigate and resolve the various design issues involved in creating a new future-proof dependency graph system, and will result in an initial implementation of relevant core components.

Rafael Campos – Texturing for Volume Rendering in Cycles
Mentor: Brecht van Lommel
Volume Rendering can be divided in texturing and in shading – this project aims to implement part of the texturing required: creation of the 3D texture Voxel Data and integration of the OpenVDB library to use its grid representation for the volume data, all in the new rendering engine, Cycles.

Sergej Reich – Rigid Body Simulation Improvements
Mentor: Miika Hamalainen
Since version 2.66 blender has a rigid body simulation integrated with the animation system. While it works well for simple cases, there are several limitations that make more complicated setups difficult or even impossible. This projects aims at improving this system.

Sergey Sharybin – Threaded Object update for dependency graph
Mentor: Campbell Barton
Main goal of this project is to achieve Object animation updates to use multiple threads. For this project I could foresee changes in both dependency handling and the modifier stack code.

Thomas Dinges – Cycles: Add new shader nodes
Mentor: Stuart Broadfoot
I would like to add several new nodes to the shader nodes, to give the user more options and possibilities. Also, some shading features to give more control over shaders and the rendering. Most items are approved already and are listed on the Cycles ToDo list.

Vincent Akkermans – Towards a full User action replay system
Mentor: Ton Roosendaal
This proposed project aims to bring several enhancements to existing code with the objective of making full action replay possible in the future. More concretely it aims to finish the macro system, enhance RNA descriptions, fix operator re-execution by capturing contexts, and implement a user action log system for visualisation.

Walid Shouman –  Mesh Custom-Data Transfer
Mentor: Campbell Barton
A generic system to move custom-data (such as UV, seams) between different mesh objects. Support for different methods to transfer mesh data will be added. Spacial – find close points on both meshes. Ray-casting – do ray-trace lookups to identify similar geometry. Topology – 2 meshes with the same or similar topology.

A full list of all projects with links to wiki will published around the start of the GSoC project.

18 comments 12,280 Views
  1. Thanks for accepting my proposal! I look forward to the summer.

  2. More than the bells and whistles, I’m very glad you guys have several projects aimed at creating/improving core functionality that will pave the way for future power-users. Namely:

    Mesh Custom-Data Transfer
    –> I hope you can also look at streamlining user-defined custom mesh data. It would be terrifc to be able to store arbitrary custom data with vertices and edges (not just polygons, like currently). And if, like, in the Print3D toolbox mode, we could color the surface by our custom data, it would be nearly complete! These are somewhat tangential to mesh data transfer, but I hope it will get some love in the process!

    Towards a full User action replay system
    –> Also a tremendously good thing to work on. The operator system is really powerful, but all the context issues and undo functionality can be finnicky.

    Plus working on core dependency graph routines and updating OpenGL viewport draws. You’ve got a lot of terrific low-level ideas that will really pay off in the long-run.

    • @George Anderson, BMesh python api exposes int/float/string customdata.
      Its weak that we dont yet expose with regular mesh access yet.

      • So it’s not _exposed_ via the regular mesh API, but can it be saved with the regular mesh? Is the B-mesh custom data only persistent while the bmesh exists? If you do bm.to_mesh(me), and then free the bmesh, is the custom data lost? Or is it transferred to the regular mesh (albeit not accessible until you make a new bmesh from it)?

        Also, any news on NumPy?

        • The latter. it gets saved with the mesh (after bm.to_mesh(me)), its not lost. Numpy is mostly issue with platform maintainers who need to build/include it not sure what the holdup is.

  3. Great long !!! list here. Good luck there with all those wonderfull projects. I am not a programmer If I am I joined right away. 😉


  4. Improving the already existent set of tools is more desirable, good luck to everyone, I.m really for the Depsgraph recode, and everything OpenGl stuff

  5. Hi,
    Message to Campbell Barton : some time ago, I’ve made a script for Lightwave that do somthing similar ->

    Let me know if you are interested, I can share some experience on this topic 😉

  6. “Improving the already existent set of tools is more desirable, good luck to everyone, I.m really for the Depsgraph recode, and everything OpenGl stuff ”

    +1 !
    I’m really excited for opengl and depsgraph refactor, probably meaning a faster viewport in the future!
    Best wishes and congratulations to all the students

  7. Best wishes to All Students and Mentors of the Google summer of Code 2013.I also wish to be a student of blender summer of code in future. Currently, i am learning Python 3. Is deep knowledge of C is also essential criteria to become a student developer of Blender google summer of code project. Please let me know of the pre-requesite for a student developer of Blender summer of code project. I will greatly appreciate any guidance in this regard. Thank you devs.

  8. BGE BGE BGE BGE FTW. Could be something more ,but hopefully at least these would be implemented for real.

  9. hello,

    I am very sad, no research about the particle engine :((

  10. One thing I am hoping to see is that when the VSE is re-coded, PLEASE oh please add audio metering. Or at least some way of seeing our volume levels so we know whether it is too loud and what not. At the moment I am relying on JACK audio and JACK enabled meters, which is fine. But blender would benefit from this.

  11. Hi Ton,

    Can an incomplete project from GSOC 2012 be carried over?

    I am referring to Sushi branch (Luke Frisken’s precision modeling tools) which seem to have reached a dead end. For the last 7 months, there is no Sushi-related submission at GraphicAll. No updates are available over the same period.

    It would be nice if the project can be taken up afresh this time.


  12. I hope sende the strip from VSE to compositer。
    I hope, I need,,,

  13. I’ve noticed that in the last version of 2 of Blender, the Project Paint feature isn’t an additional option but is instead the only option when texture painting in the 3d view. I for one used the ‘legacy’ mode just as often as project paint for certain situations. So I’d like to cast a vote to bring back the ‘legacy’ mode and keeping project paint as an additional option.

    Besides that I’m very excited to see the improvements to come from GSOC!

  1. Leave a Reply

    Your email address will not be published. Required fields are marked *


share this story on