Stefan Habel

Visual Effects Software Developer
Home
Photo from Flickr: Marylebone Rain Drops

frapper -- Filmakademie Application Framework

An object-oriented C++ framework for applications

Last updated: 2 February 2022

My role: Software Engineer, UI Designer
Languages/Frameworks used: C++, Qt, OpenGL

frapper is a framework for applications that we started developing at the Institute of Animation in 2009. frapper is built using Qt, and provides applications with a flexible panel-oriented user interface that is tailored to the particular needs typical of 3D packages.

The different kinds of panels act as views onto the same 3D scene data. The main panel types are:

Panel Purpose
Viewport View the scene data as a 3D render
based on the scene-oriented, flexible 3D rendering engine OGRE or OpenGL
Hierarchy Editor Organize the objects of a 3D scene, like geometries, lights and cameras
Network Editor Create networks of nodes representing scene objects
Parameter Editor Edit parameters of selected scene objects
Timeline Manipulate time for creating animations

In addition to the main panel types listed above there are panels for displaying log messages like warnings and errors and for navigating through the history of commands executed by the user, implementing easy access to the application's undo/redo queue.

The classes that make frapper were originally created for the aQtree project and were extracted so that other applications currently in development at the Institute of Animation could be built upon the same UI base.
In the same way the internal data structure for the hierarchy of scene objects was extracted from aQtree and put into a separate project named Node Framework.

animationsinstitut.de/en/research
animationsinstitut.de/en/research/tools/frapper
github.com/FilmakademieRnd/Frapper
Screenshot of aQtree (07/28/2008), an application based on frapper