Dynamic molecular animation: GPU skinning for molecular data



Rigging and skinning are techniques used extensively in computer graphics, mainly when modeling human or animal figures. Both techniques are implemented in majority of modern 3D content creator tools like Maya, Blender, C4D, or Unity.

These tools have been extensively used in scientific content creation in the past to simulate organic behaviour using computer animation.

With the way cellVIEW renders molecules, we can't directly animate these molecules by taking the rigs animators have done and apply them


Implement loader of skeleton information from a file (probably FBX). You will need to create a rig in 3D program and then save/load the information about joints and bones into the application.

Implement a modified version of GPU skinning algorithm that works on atom data instead of mesh vertices. Part of this task is to come up with a way how to define which bones influences which atoms (with various weights too).


  • Knowledge of English language (source code comments and final report should be in English)
  • Knowledge of OpenGL and shaders
  • Knowledge of C++ is necessary, basic knowledge of Qt will be useful
  • Experience with 3D modeling and animation tools (Maya or similar) and their APIs welcomed


The project should be implemented as a standalone application, desktop or web-based (to be discussed).


For more information please contact David Kouřil (dvdkouril@cg.tuwien.ac.at) or Ivan Viola (viola@cg.tuwien.ac.at).