π

Credits

  • Daniel Szymanski - Code
  • Andreas Rose - Code
  • Stefan Mader - Code

Libraries used

  • Trolltech qt
  • bass
  • Boost STL

What I did

  • Concept
  • Interaction design
  • Interface design
  • Additional c++ programming
  • Exporter scripts in Python
  • Betatesting

Tools I used

  • Streber PM
  • MS DevStudio
  • Photoshop

Tooll

Realtime content creation & editing

Tooll is a self made application for creating digital content in real-time. It was developed primarily for doing demo scene productions like demos and 64kb intros. It unites features from a lot of different other tools (e.g. Werkkzeug, Abobe After Effects, Maya, and more). We are using realtime rendering to do motion- and visual effects design.

Lots of windows (2008) - Screen from Tooll showing a scene from "Invoke"

Workflow

In Tooll you define data and render pipelines by stacking different types of operators. This interface concept has been introduced by Farbrausch with their release of Werkkzeug. It basically limits the connection of operators (i.E. nodes) to one default output and one or more default inputs. Connecting is done by stacking boxes on top of each other like lego blocks - no need for connecting nodes with lines. This not only cleans up the layout, it tremendously speeds up the creation of complex networks.

A common approach to content creation for 64kb intros is to extract small reusable building blocks of different types like Bitmap, Mesh, Scene and RenderEffects, etc.

We then place this content into a timeline to define an openGl scenegraph for each frame. Although this method requires a lot of background knowledge about the openGl render pipeline, it provides very high flexibility. You could set a render target, define a camera, render some parts of your scene to a texture render target, invert the z-buffer, render something different, apply post-render effects and render it to the screen.

Finally you can export a c++ header file and compile an engine executable.

We have developed Tooll over the last few years. It is implemented in c++ and uses OpenGl shader model3 technology.

Will it be released?

After having stopped being asked why we are doing this, the second question is, when we are going to release this application. Well, the short answer is: We won't release it. This is not because we do not like to share our stuff, it is because we cannot afford to invest time into support and documentation. We feel that releasing it as it comes would not provide any benefit because of Tooll´s overwhelming complexity. Our motivation was to make demos, not to start a business or another open source project. But of course we are always glad to share our ideas. So if you are interested, just drop us a mail or contact us at demo scene parties.

Future plans

Right now we are finishing the port to MacOS X. We also have plans to re-implement the interface to get the best benefits of operator-stacking and classical node networks. Besides this, we concentrate on adding Operators we need for new productions. Depending on the future of open-gl we will replace the render-layer with Direct-x.

Productions made with Tooll

Malewitsch (1st in 64kb-competition at BCN 2007)

Construction of the cube tower (2007) - Screenshot rendered with openGl
Greetings (2007) - Screenshot rendered with openGl

Ferner (1st in demo-competition at TUM 2008)

Feedback hell 4 (2007) - Screenshot rendered with openGl
Structures 2 (2007) - Screenshot rendered with openGl

Invoke (2nd in 64kb-competition at Breakpoint 2008)

Europe sure looks different (2008) - Screenshot of "Invoke" / rendered in open-gl
Shader madness (2008) - Screenshot of "Invoke" / rendered in open-gl

The Seeker (1st at Intel Demo Competition 2008)

The Seeker (2008) - Screenshot from final animation
Frozen (2008) - Screenshot from final animation

Passing (1st at Function 2008)

Road to nowhere (2008) - Screenshot from open-gl realtime animation
Passing traffic (2008) - Screenshot from open-gl realtime animation