- The tracking often jitters or worse gets lost for virtual objects
- The colors of virtual objects do not match the colors of the surrounding real objects
- The virtual objects have a perfect appearance while the real objects don't
- Camera artifacts introduce distortions to the real objects, but normally not to virtual ones as they are rendered on top of the video image
Sunday, October 7, 2012
ISMAR 2011
Having nice global illumination between real and virtual objects is not enough to get a plausible illusion. There are still some important points missing that make virtual objects easily distinguishable from real objects:
New Zealand
I had the luck to spend an awesome time in Christchurch, New Zealand at the famous HITLabNZ. During my three month stay we've developed a small user study that analyzed the influences of our differential instant radiosity method for specific task execution in mixed reality scenarios. However, for the chosen tasks no significant differences could be measured.
A big thanks goes to all the people at the HITLabNZ for such a great time!!!
Writing more about New Zealand is pretty much useless - you should pack your stuff and go there: IT IS ABSOLUTELY AMAZING!!! :-)
A big thanks goes to all the people at the HITLabNZ for such a great time!!!
Writing more about New Zealand is pretty much useless - you should pack your stuff and go there: IT IS ABSOLUTELY AMAZING!!! :-)
ISMAR 2010
The first work we tried to publish was called "Differential Instant Radiosity for Mixed Reality". On this paper Christoph Traxler, Werner Purgathofer, Michael Wimmer and myself were working on a real-time global illumination rendering system for mixed reality scenarios. My master thesis already dealed with real-time global illumination by using a method called instant radiosity. It basically places virtual point lights at positions where light hits a surface.
We submitted our work to the ISMAR 2010 conference held in Seoul, South Korea and were happy to hear that it got accepted. We also presented our method on a demo booth and were very happy again about the very positive feedback of the people. However, to our total surprise, we won the "Best Paper Award" for our method - YEAH!!! :-)
Main Features:
- Real and virtual objects cast shadows onto each other
- Real and virtual objects may cause indirect illumination onto each other
- Real and virtual spot light sources are supported
- Multiple light bounces
- Real geometry must be pre-modeled
- Double shadowing artifacts may occur
- Inconsistent color bleeding may occur
What happened so far....
Okay, so my master thesis was done and the blog - while never really alive - went completely dead.
However, since 2009 lots of stuff happened. One big change was the start of my PhD or Doctoral studies at the Vienna University of Technology. I got the chance to work on a very interesting project called RESHADE. RESHADE means "Reciprocal Shading for Mixed Reality". The main goal of this project is to develop methods that make virtual objects indistinguishable from real objects in mixed reality scenarios. You can find a more detailed description here: http://www.cg.tuwien.ac.at/projects/RESHADE/
Since I started working on this project I also managed to publish some work that I will present in follow up posts...
Tuesday, July 28, 2009
Saturday, April 4, 2009
Realtime Global Illumination using Temporal Coherence
I'm currently working on my master thesis which performs global illumination in realtime. The thesis is based on the "Imperfect Shadowmap" approach. I also use temporal coherence to reuse as much information as possible from the previous frame. The work is not finished yet, but here's a video with the first results. It was captured on an Intel i7 CPU system with 6GB RAM and two GTX295 graphic cards running in SLI mode. With 3 light bounces the application runs at 60fps.
Main Features:
Main Features:
- No preprocessing necessary
- Fully dynamic scenes and lighting
- Multiple Lightbounces
- Fast through exploiting temporal coherence
Sunday, August 31, 2008
Gruppenzwang - Realtime Graphics Demo

In the realtime rendering labratory course my brother Wolfgang and I developed the graphics demo called 'Gruppenzwang'. The fun part was, that we could implement whatever effects we wanted and I'm quite proud of the result and this list:
- Shadowmaps with softshadows
- Screen spaced ambient occlusion
- Parallax Occlusion Mapping
- Swarm simulation
- Splinemeshes
- Pixelperfect spheres (with raycasting)
- Volume renderer
- Microscope effect
- Normalmapping microscope effect
- Motionblur
- Flow simulation
- Dynamic cubemap environment mapping
- Screen distortion
>>> Download Demo <<<


Project Members:
- Wolfgang Knecht
- Martin Knecht
Sunday, April 6, 2008
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.
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
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:


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:
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:
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:
Our program is capable of displaying parts of a filesystem as a Beamtree.
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:

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
- Depth imposters: They are used to omit artefacts when a particle intersects with other geometry.

GTP Depth imposters
Technical Information:
Project Members:
- 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
Monday, April 3, 2006
zwischen Welten
In the labratory course "Multimedia I Productions" we had to make a film about the topic [an]other love story. Our contribution had the name "zwischen Welten". Hope you like it!
Project members:
Project members:
- Pia Wender: Actress
- Andreas Bonner: Actor
- Elvis: The dog
- Anja Konlechner: Music
- Martina Berlinger: Script, Director and Cut
- Lea Zalto: Script, Director and Cut
- Wolfgang Knecht: Script, Director and Cut
- Martin Knecht: Script, Director and Cut
Monday, January 31, 2005
Game: Wuermer
The game Wuermer was programmed in about 4 month for the Computergraphics 2 laboratory course at the Technical University of Vienna. It's a small game where you are a worm, riding in a nutshell, trying to shoot your oponent.
It made along with the game The Wacky Professor the first place.

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 or 3!
Technical Information:
It made along with the game The Wacky Professor the first place.

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 or 3!
Technical Information:
- Written in C++
- OpenGL for graphics output
- GLUT Library
- FMOD for some sound
- ColDet for collision detection
- Customizeable particlesystem similar to that from Cinema4D
- Deformable Terrain
- Materialsystem
- Resourcemanagementsystem
- Martin Knecht: Programming & Modeldesign
- Michael Schwaerzler: Programming & Leveldesign
- Wolfgang Knecht: Modeldesign
Subscribe to:
Posts (Atom)






