I had the great joy of being hired as a student programmer at CAVI (Center of advance visualization and interaction )

Cavi panorama
Cavi panorama

I was in a tight spot and desperately needed some money to finish my master. And then my study buddy Thomas Mølhave got me in contact with Peter Møller Nielsen, who where responsible for the computer graphics course at Århus university. And he gave a me a job which changed my life and opened the possibility to work with computer graphics. We had to make a framework for the stereo (3d) panorama. Back in the days it was a big thing to see interactive stereo 3d, and there were some really cool in house produced demos. The story goes that Lego had purchased a Silicon graphics system for VR at a cost of  2.5 million euros. And the unfortunate guy who did the purchase  was fired (unconfirmed !!) but Cavi bought those towering computer beasts and build a curved surface panorama.

Actually the old SGI machine had an incredible feature, they could sort alpha blended fragment to achieve order independent transparency. Something that i have never heard about since, not even on modern graphics cards.

Peter Møller Nielsen was and probably still is, a creative programmer that did a lot of weird and interesting art projects.

The infamous Rooms demos Peter Møller did with Jette Gejl. Here you can see the order independent transparency working right out of the box.

But Sgi monster was expensive to maintain and cool! around 20000 euros pr year just for the cooling. So we started a new Linux based cluster with Nvidia Quadro graphics cards, and a unfriendly open source software called VRjuggler (  to run the show. And man did we struggle to get this running, but it was super unstable and there  was a blamegame going on there and everybody missed the old SGI’s.

After a year it turned out that the routers where wrongly configured, and no wonder the connection between the 3 Linux machines were a bit shaky.

Using the system i helped out building, the students would do a project in the Panorama with tracked interaction and 3D stereo rendering. And there where some amazing productions!

Panorama Fish

I did the fish tank based on the boids algorithm (mandatory) and the big fish above i modeled myself and as the only guy i used programmable shaders! and you could chase the other fish around.

I found this video thanks to 

It shows the setup. This is Runes demo not mine!

We did a lot of other Cavi related projects in the panorama. One of the more fun was primarily Thomas Mølhaves doing, but has a bit of relation to me as well. I am from Holstebro and it is a small city, but there has always been a great cultural involvement going on there. And Holstebro where trying to attract Peter Shcaufuss who is a world known ballet former dancer now teacher. And to maximize the creativity and productions they needed a way to optimize the building “Dansens Teater” before building it. And Cavi did a full scale interactive model of the building with live video texturing and immersion. Sometimes dance would drop by to be recorded in the “Blue studio” it was jaw dropping to see this at close, and the demo was succesfull. Danses teater was build, but after that it was a bit downhill from there..

For instance i did urban planning software and other stuff forgotten to mankind.

We also did some productions offsite. I did a firewall to a interactive experience place in Køge.

Fire walk with me
Fire walk with me ( 6 meter long back projection)

Where we (Peter “handyman” Friss) installed pressure sensors the would trigger there back projected fire rendering and sounds.

Another fun project was the Gumlink demo! Gumlink is what it is a gum manufacturing B2B company and they wanted a cool demo for a convention. So we (Morten Lervig, Kim Halskov) decided on some fancy head tracking and gum all over the place kind of thing. So i did some research and found out the openCV had some face tracking inside.. and Novodex (Physx) had some ridigbody physics and put together it look like this.

you could move two ball using head tracking and interact with gum, that we either hanging in a cloth or just falling for no particular reason.

Gumlink setup

Above is the setup, and it  worked great until the night before the convention started. Someone installed a flesh colored carpet all over. And the color guided tracking went totally nuts (year i now i was not perfect from the start). But no children or animals were harmed.

We went on to use the Tech for another demo later, using a thermal camera and everybody loved it.

Most important about the Cavi /Master period was learning computer graphics and meeting some very important people in my life. First of all Jesper Mosegaard had an office at Cavi with Thomas Sangild. And they did the most amazing surgical simulations and real time rendering. And Jesper turned out to be my master thesis main man, but thats another story. And i shared office with a lot of really smart guys. Among them Thomas Mølhave who is in a leaque of his own, but also Karsten Noe with whom i made a lot of projects and became close friends. Most of the Alexandra Computer graphics team where educated Cavi people.

Here a some random image from that period.

Word warrior typing game
Tank game with Karsten Noe
Tank game with Karsten Noe

Here a link to code and executable.

Please press space bar to see the totally awesome pr pixel normal lighting. believe me. It was pretty rad back in the days, about the game like most programmers the art sucks and gameplay there is close to none 🙂 But at least i tried something.

Sudoku solver

Sudoko solver. Sudoko give me a headache so to be clear of that we did a solver back in the days. It was fast it was brute force baby!

QT level editor for tank game
Best game ever. (my incredible hand drawn sprites)

Forget about Dark Souls.. Best game ever was unbeatable, there where this troll that you could beat but he never gave up and came back an killed you!

Rune stone modelling and texturing
Rune stone modelling and texturing
Temple of 3ds

As all CG programmers i worked intensely on my own stuff, often more than on the courses i attended. Above is some old screen of the engine that could be configured and load 3ds models. 3ds format is still lingering around and was one of the first attempts on bringing everything into one binary fileformat. Animations lights and geometry ..resulting in some pretty interesting mess 🙂