Monday, December 3, 2007

Fractals

For the Fractals labratory course I developed two small applications. Both were set up on the Engine from the Jungle Rumble game.

Strange Attractors

This program displays the Lorenz or Roessler attractor. You can download it here.


DLA - Diffusion Limited Aggregation

This small application displays the DLA algorithm on a 3D grid. The spheres are rendered using billboards to enable fast rendering. You can download it here.

Saturday, June 30, 2007

Softshadows


In this project we tested an idea to create smooth soft shadows for tube like lights. The basic outline of the algorithm is as followed:

  • Render a shadowmap from the leftmost and rightmost point of the tube light
  • Compare both and use hardware occlusion queries to check if there is to much difference
  • If theres to much difference, generate in the middle of those a new shadowmap
The algorithm recursively generates shadowmaps (the next one is between left/middle and middle/right) according to an error threshold. To get better results the shadowmaps are projected back to camera view so that the real visible difference is taken into account.
This application was developted on top of the Jungle Rumble Engine. You can download a demo here.

Project Members:
  • Michael Schwärzler: Programming
  • Martin Knecht: Programming

Thursday, February 1, 2007

Flow Visualization

In the labratory course Visualization we had to develope two projects: The volume renderer (see topic below) and a program to display flow data sets. You can download it here. There is also a small webpage available that explains the main features. For copyright reasons I'm only allowed to link the website, that provides the volume data sets.


Project Members:
  • Michael Schwärzler
  • Martin Knecht

Volume Renderer

For another labratory course at the Vienna University of Technology we developed a volume renderer. It takes volume data from a CT and displays it using different algorithms. The rendering happens entirely on the GPU and is therefore pretty fast. You can download the application here. For copyright reasons I'm only allowed to link the website, that provides the volume data sets. There is also a webpage available that explains the main features.



Project Members:
  • Michael Schwärzler: Programming
  • Martin Knecht: Programming

Wednesday, January 31, 2007

Ageia PhysX integration into Coin3D

In the labratory course "Virtual and Augmented Reality" we developed a virtual Incredible Machine construction kit. You are able to define some objects and use them to design your own Incredible Machine. Ageia PhysX enabled us to make use of cool physical effects.



The application is based on the studierstube which uses the coin3d (open source implementation of the open inventor api) rendering engine.

Since we did not need every feature of PhysX and time was running out, the implementation is not complete. Although here is a small package with some sourcefiles and a description included.

Project Members:
  • Anita Stritzelberger: Modelling & VR setup
  • Felix Marchtrenker: Modelling & VR setup
  • Michael Schwaerzler: Programming & VR setup
  • Martin Knecht: PhysX integration & VR setup

Saturday, July 8, 2006

Beamtrees

Beamtree is a small project done for the information visualization labratory course. Based on the paper "Beamtrees: Compact Visualization of Large Hierarchies" from Frank van Ham and J. van Wijk. Beamtrees are an enhancement of the well known Treemaps.

Our program is capable of displaying parts of a filesystem as a Beamtree.

The application is build on top of the Jungle Rumble 3D engine which lead to a very short development time.
We used the ray-cylinder intersection algorithm presented at www.geometrictools.com.

Project Members:
  • Michael Schwaerzler: Programming
  • Martin Knecht: Programming

Thursday, June 29, 2006

Game: Jungle Rumble

The game Jungle Rumble is a clone of the Wuermer game. It was developed for the Gametools Project, which goal is to serve the european game industry with a leading edge 3D graphics library. Jungle Rumble should therefore demonstrate some effects in a real game environment.

Although it seems to be quite equal to Wuermer it's a total rewrite. We designed a 3D engine and build Jungle Rumble on top of it. For graphics output we used Direct3D. For physical support we integrated the Ageia PhysX engine.

You can control the nutshell by W, A, S, D and shoot by pressing the left mouse button. Choose your favourite weapon by pressing 1, 2, 3, 4 or 5!

The game shows two effects developed by GTP:
  • An approximate raytrace effect which allows us to render objects with reflection and refraction in realtime
Conventional Environment map

GTP Raytrace Effects

  • Depth imposters: They are used to omit artefacts when a particle intersects with other geometry.
Conventional Decal imposters

GTP Depth imposters

Technical Information:
  • Written in C++
  • Direct3D for graphics output
  • FMOD for some sound
  • PhysX from Ageia is used for everything that belongs to motion
  • Customizeable particlesystem similar to that from Cinema4D
  • Deformable Terrain
  • Materialsystem
  • Resourcemanagementsystem

Project Members:
  • Martin Knecht: Design & Programming
  • Michael Schwaerzler: Design & Programming
  • Jakob Karaszek: Design & Art
  • Markus Giegl: Gametools supervisor