GSoC/GCI Archive
Google Summer of Code 2011

Blender Foundation

Web Page:

Mailing List:

Blender is a free 3D animation suite that allows the creation of anything you can imagine - for films, games, or any medium you like. In addition to animation tools; Blender has numerous modeling tools (digital sculpting as if you were working like clay; polygon modeling in traditional methods; NURBs, and metaballs); a powerful modifier system that can create complex objects with simple procedures; powerful texturing and painting system with advanced UV unwrapping; a complete simulation system (smoke and water fluids; physics; cloth; softbody; hair) and particle system to create amazing special effects; a built in game engine; powerful rendering; built in video editing and compositing; complete scripting language and a lot more.

The Blender Foundation is an independent non-profit organization, supporting and facilitating projects to further develop Blender as free and open source software.


  • 3D Audio This project will improve audio in blender further by improving the current system and adding new interesting features. The main goal for this project is to enable the user to place speakers into the 3D scene and render their animations with positioned audio sources and velocity dependent doppler-effects.
  • Animation System Polish This project will deliver a series of smaller developments and features, all with the goal of improving the animation experience in Blender based upon feedback from animators who have worked on previous Open Movie projects. Where time permits, improved support for handling motion captured (mocap) data will also be worked on.
  • API and 2D Tracker Improvements for libmv This project will have two major goals. First, I will improve libmv API so that Blender can easily leverage all features provided by libmv. This will ease the task of the developer tasked with Blender UI implementation. Then, My focus will be on completing the 2D tracker algorithms. Currently, libmv can only work as a completely automatic detector and tracker. However, real use cases will need to allow the user to provide additional inputs and tweak the results.
  • Automatic Seam Creation for UV Unwrapping When creating or using a texture map, a 3D model needs UVs. One way for making that is UV unwrapping. Ttil now, the process of creating those UVs has been a time consuming challenge for the artists. Currently blender uses ABF and LSCM( Least square conformal map ) which is a good way for doing that. Here I am proposing a better way that is semi-automatic with some interactive controls. This method works well for complex models also.
  • BGE Animation Improvements This is a proposal to include better control over animations in the BGE (mainly via a new Python API). It also combines the 3 old animation logic bricks into one new unified brick.
  • Camera tracking integration Make match moving workflow (point tracking, masking, camera tracking and so on) be available in Blender. libmv library would be used for tracking calculation. My main area would be Blender-side interface/operators.
  • Dynamic Paint Dynamic Paint is a new tool that allows a whole new way for Blender objects to interact. Basically you can make any object or particle system to become a 3D-brush that can paint on other objects. Dynamic paint will be a great help in making realistic animations where objects have to interact with each other or with the environment.
  • Full COLLADA Animation support for Blender This project will focus on implementing full COLLADA animation support, which includes importing animation elements from a COLLADA document in to blender and exporting all animation elements to a COLLADA document.
  • General Enhancements for Paint and Sculpt * Continue unfinished work from last summer. * Improve performance in some specific areas. * Cross port features from sculpt and paint. * Work towards refactoring and unifying sculpt and paint. * Miscellaneous new features. * Other cool stuff.
  • Improving Motion Capture Import & Workflow Motion capture animation is both faster and at times more realistic than a human animator, but it can hard to work with, for a variety of reasons. While Blender has had BVH import (a popular format for mocap data) for a while, it lacks tools to deal with this type of data properly. My proposal is to provide tools to streamline mocap data into a project’s workflow: conversion to f-curves, cycle and stride bone conversion and most importantly, retargeting the motion to a user-created rig.
  • Inferred Rendering in the Blender Game Engine Improve the Blender Game Engine's rendering, with an emphasize on inferred rendering.
  • International module of Blender Help blender support multiple languages, other than English only. We'll complete the International module with GNU gettext.
  • Mesh Retopology Tool Enhancements Including BMesh Semi Automated Topology Generation, Step-Building and Modifying I propose a concise suite of mesh retopology tools for Blender BMesh, building upon the existing tools. While Blender already offers an extensive suite of tools for creating and modifying meshes that will soon be improved by the release of BMesh, the proposed retopology tools are to focus on work flow and use. The intention is to make these functions more accessible to the user, and empower the artist with new and faster methods of common retopology tasks.
  • The Weight Painting Project Enhance Blender’s weight painting tools: 1) A bone’s weights will become lockable so that the relative ratios will remain unchanged during painting, 2) Multiple bones will be selectable so that the ratios of the weights of the selected vertex groups will remain relatively the same, 3) The automatic weighting system will be extended to post-process selected regions to avoid manual fine-tuning
  • UV tools This project is concerned with the development of additional tools for uv manipulation