33 exciting GSoC2014 projects for creative professionals
Google Summer of Code keeps growing far and wide. The annual program that aims to bring students to free and open source project for a stipend just had its projects for 2014 published. We reviewed them and picked the ones you will find most interesting, if you do any serious work in 3D, graphic design, digital painting, photography, or engineering.
This year Inkscape has a more relaxed summer in comparison to past years: only two students will be working on the application.
Krzysztof Kosiński will create robust boolean and stroke-to-path operations for 2Geom along with API for end-user software. Boolean operations in Inkscape are not exactly perfect, and Krzysztof has been with the project for years, so this project is clearly something to look forward to.
LibreOffice continues its journey into the land of liberating users data. Anurag Kanungo will be adding an Adobe Pagemaker importer. Rest assured that Scribus developers will pick the libpagemaker library in no time.
Krisztián Pintér will focus on improving color selection throughout the office suite. It will be possible to use multiple color palettes and import them from .gpl files by GIMP and Inkscape.
With four projects Krita makes a further move towards establishing its reputation as a leading open source painting application.
Mohit Goyal will be improving the brush module in Krita in three ways: implementing the temporarily saving of tweaked settings of presets, adding the grouping of similar actions for cumulative undo/redo, and creating a master brush engine that would combine capabilities of various brushes in one single brush.
Spencer Brown will be working on two features for texture artists. First of all, he's going to make it possible to paint the right values associated with any given material on multiple layers with a single brush stroke. Spencer will also create a real-time 3D preview renderer that can import a UV-unwrapped OBJ model, plug the different layers as texture maps into a shader, and apply it to the model.
Somsubhra Bairi will attempt to complete his GSoC 2013 project that aimed to bring complete timeline/keyframe-based animation support in Krita.
Wenchao Li is going to have his take at variable width curves earlier investigated by Inkscape (PowerStroke LPE) and Synfig (Advanced Outline) developers. This will be implemented as a Calligra plugin, so it will be accessible beyond Krita and Karbon.
Two most interesting projects for this free photo management and editing software are:
Adding a quick access to colors and labels in dedicated tree-view. Mohamed Anwer will improve finding and collecting items with specific labels like “Rating, Color, and Picks”.
Port Greycstoration CImg interface to GMic. CImg stopped supporting Greycstoration algorithm for denoising since v1.3. Veaceslav Munteanu will migrate digiKam to GMic, thus makiig it the third application to use the much acclaimed plugin, GIMP and Krita being the first two.
Blender took a cut in amount of slots this year, to 7 from last year's 15. Nevertheless, there's a lot of excitement coming.
Jonathan deWerd will be breathing a new life into the corpse of the sadly departed NURBS support in Blender. He will be focusing on import/export compatibility for common NURBS-based CAD and modeling formats, as well as on adding industry-standard NURBS manipulation tools.
Alexander Pinzon Fernandez will create an interactive remeshing tool that generates a quad-dominant mesh based on harmonic functions. The student will be supposedly be reviving a 9 years old "Harmonic Functions for Quadrilateral Remeshing of Arbitrary Functions" paper by S.Dong, S.Kircher, and M. Hardland. Here's a relevant excerpt from that paper to give you idea:
Our goal is to take a given triangulated manifold of arbitrary genus and to produce a new quad-dominant mesh that both preserves the shape of the original and obeys a spacing function provided by the user.
Our scalar field construction allows users to exercise extensive control over the structure of the final mesh. The entire process is performed without computing a parametrization of the surface, and is thus applicable to manifolds of any genus without the need for cutting the surface into patches.
Relative shape keys workflow enhancements. Grigory Revzin is planning to introduce a new Shape Keys panel to improve relative shape key editing workflow and a simple commit workflow for shape keys.
BGE - Cleanup & Support. Inês Almeida will be dealing with some of the acknowledged issues in BGE and working on the interactive mode.
Viewport FX III. This is the third act of the Viewport staging that's being played in assorted source code repositories since GSoC 2012. Jason Wilkins will be focusing on optimization and testing to eliminate various bottlenecks that diminish drawing performance. Past critically acclaimed work by Jason includes an audacious take at the classic "Sculpting tools in Blender" drama in two acts (GSoC 2010 and 2011).
MantaFlow integration for fluid simulations. MantaFlow is an interesting extensible framework targeted at fluid simulation with a flexible particle system, FLIP advection, free surface simulations with levelsets etc. Roman Pogribnyi will be bringing these fetaures into Blender this summer.
Finally, Thomas Dinges will be working on his pet peeve: Cycles: Performance and Memory optimizations. Thomas is going to try some ideas such as fast inverse sqrt instructions (SSE) and an AVX2 kernel, as well as some memory/performance tradeoffs. Last year he successfully participated at GSoC, bringing new shader nodes to Cycles.
This is a particularly exciting year for free CAD systems. For this GSoC several organizations teamed up to work together: BRL-CAD, LibreCAD, STEPcode (formerly NIST's STEP Class Library), and OpenSCAD:
The main goal of this collaboration is to bring the projects closer together, and hopefully in future we can have these tools collaborate better. Not only on a human level, but also on a integration level for these projects.
So here are the projects for this summer.
Materials Database. A student will be working on a webapp for "easily storing/retrieving the properties or traits of materials". Albert will be using at least some of ideas from a somewhat abandoned code of a materials database from BRL-CAD.
Mesh Library Cleanup. Zhao Anqing will be cleaning up the existing n-manifold polygonal mesh library in BRL-CAD to improve its performance and adding missing Euler operations. He's also going to make it a standalone library called libnmg, ready for 3rd party use.
Creating a Geometry Conversion Library. Henry Curtis will be moving existing file format converters from BRL-CAD to a new library. Originally Henry aimed to turn BRL-CAD's DXF importer into an external library that could be used with OpenSCAD, but apparently he took a more global approach.
Online Geometry Viewer. During GSoC2013 a HTML5 Canvas and WebGL based online viewer for CAD 3D geometry was created with three.js. Inderpreet Singh will rewrite it with node.js as a backend and meteor as a framework.
Pulkit Mittal will attempt to make STEP Libraries threadsafe before implementing multi-threading to kick performance up a notch.
OpenSCAD UI Brushup. Shaina Sabarwal will revisit the user interface for OpenSCAD with and ax, a saw, and a bunch of nasty little tools to make the view pane detachable, improve/add source code and error highlighting, add customizable toolbar, change model colors for the better etc.
Embedding a framebuffer window. Vlad Bogolin will carry on with his GSoC project from last year that focused on creating a display manager as the primary means for BRL-CAD to graphically interact with geometry. This year he will create a new cross platform Qt framebuffer, then make a framebuffer window embed in the actual Qt display manager.
The project only got two GSoC students this year, but since developers are trying to raise funds for full-time employment to work on the video editor, it's not too bad.
Fabián Orccón will be working on a new feature: an image sequence clip that would be treated by Pitivi as a regular video clip (as opposed to merely generating a video clip from a sequence of images). The student lists stop-motion animation as one of practical applications for the feature.
Lubosz Sarnecki, who did a GSoC 2011 project for Pitivi, is returning to work on a two-fold project: completing the current work on the transformation user interface and creating an OpenGL-based transformation effect required to create things like the much abused Ken Burns effect. He's also going to implement a color picker user interface and use the alpha plugin for chroma keying.
The team behind, arguably, the most widely known free/libre score editor got 35 project proposals from students and apparently had a hard time picking just 4:
Accessibility with Focus on Visually Impaired Musicians. Andrei Tuicu will be adding accessibility to MuseScore for visually impaired musicians.
More flexible selection facility. Bartłomiej Lewandowski will be working on the selection tool to make it possible choosing what types of objects it can operate on.
Enhancing and Testing the Import of Guitar Pro Files in Musescore. MuseScore 2.0 will be shipping with initial support for tabulatures and Guitar Pro files. However GP6 files are not supported by the app yet. John Pirie will be fixing that.
Implementation of full JACK support for MuseScore. Maxim Grishin will be adding the currently missing JACK MIDI I/O and JACK Transport support to the application.
Surprisingly, the virtual DJ station got only two slots this year:
Marcos Cardinot will be adding cover art support to speed up the search of tracks for people with visually inclined memory.
Nicu Badescu, in his turn, will be extending the effects engine to add popular effects such as Phaser, Brake Gater, and Vocal Cut.
For a complete list of projects see this page at Google Melange. Programming officially starts next month, actually usable features are expected in August and onwards.