Interesting insides from the GDC keynote
Seems like I study the right thing ![]()
Published on Feb 21st, 2008 —
Tags: Games, GDC, University
Comments (0)
digg it!
kick it
Escapa! How long can you survive?
Lloyd has posted a nice game on Channel 9: Escapa! How long can you survive? I was able to survive for 29.5 seconds (I admit that I had some luck). ![]()
Edelweiss: demonstrating some cool graphic effects
Martin Kinkelin (a friend of mine) and I have finished developing the graphic demo (see related posts: 1, 2). It shows a museum scene with a dinosaur (a raptor), four anubis statues sitting on stone bases and two dragons. The dragon model is taken from “The Stanford 3D Scanning Repository”.
Further, a commuting light source is positioned at the top of the room and generates some nice shadow effects. On the two sides (left and right) of the room there are two dragons that look at the opposite direction of each other:



We have implemented the following effects: Bloom, Shadow Maps, Normal Mapping, Parallax Mapping and animated objects. Try to spot them in the demo
Curious? Want to check it out? Download the demo from here.
Published on Jan 27th, 2008 —
Tags: Games, Graphic effects, OpenGL, University
Comments (0)
digg it!
kick it
Quake 3 Arena in managed C++
Greg Dolley has posted in his blog about his port of Quake 3 Arena to managed C++. Although he did “only” port it to managed C++ (and not C#) is it freaking awesome and a lot of work:
Furthermore, changing the settings to compile everything as C++, then fixing 3,000 compile errors, is also not, I repeat not, a .NET port. That is a native C++ port of Quake III to a different compiler. Lastly, taking the former C++ build I just mentioned, turning on the “/clr” Visual Studio option, fixing 28,000 compile errors with 4,000 warnings, patching all managed to native calls such that the first run doesn’t “blue-screen” your machine, and finally doing everything else necessary to be able to view the EXE with its supporting DLL’s under ILDASM (the .NET CLR disassembler), now THAT is a .NET port!

Bloom: a little bit of HDR
Another project that we (a friend of mine and I) are currently doing is a rendering engine in OpenGL that implements a selection of graphic effect. The title of the university exercise is “Echtzeitgraphik” and the goal is to implement some effects in a demo like fashion - it needs to be powered by a real-time game engine that needs also to be developed by the groups, which we did by recycling and enhancing the FishSalad engine
Right now the engine is featuring normal mapping and parallax mapping:
If you look at the dragon you might be able to see the normal mapping effect. We use a low polygon model and apply a normal map in the pixel shader to make it look like a high polygon model. The parallax mapping effect is visible on the box. The stones look very much 3D although it is a flat texture. The effect is a lot more visible if you move around in the game.
Adding the bloom
What I did the last two days was to implement the bloom effect. This effect is seen in a lot of the current games and was also introduced in Half-Life 2 with the famous Lost Coast level. The bloom effect isn’t a real HDR effect, it’s some kind of faked HDR and simulates looking from a darker standpoint into something very bright. You usually get dazzled by that bright light and the outlines of the object become very blurry.
The question was on how to achieve this effect. The bloom effect is a post-processing effect that means that you apply it when the scene has been already rendered. As I found out there are a few easy steps to perform the bloom effect. The theory looks very easy, but implementing it is another story:
- You render your scene into a texture: best is using the so called Frame Buffer Objects (FBO) because that avoids copying the data from the back buffer to a texture. FBOs allow you to directly render the scene into a texture.
- You use a pixel shader that extracts the more interesting parts of the scene, by darkening the darker parts and brightening the brighter parts. That’s done via a threshold. That result is rendered in another texture - it’s time to use a FBO that allows you to target multiple textures.
- Next you use a gaussian blur (in a pixel shader again) to blur the texture in one direction. The bigger the kernel, the better it looks like and the slower because you need to do a lot of texture lookups. The result is again rendered into a texture.
- The next step is to use the gaussian blur again. But this time in the other direction. As input the result of the previous step is taken. The result of this step is rendered in another texture and is a two way blurred image.
- The final step involves another pixel shader that merges the original scene with the blurred scene by doing an additional overblending (adding the both together). The brighter parts will brighten the original texture and generate a nice bloom effect.
Now if you do this on a 1280×1024 texture you can imagine how many texture lookups that are. But it is running quite fast on my older graphic card: it’s impressive how powerful even older graphic cards are… very impressive. I wonder how much this thing would fly on a 128 shader units card, like the Geforce 8800 GTS, GTX or Ultra.
The final result is shown in the image underneath:
Next on the plan for this little engine is shadow mapping. ![]()
Published on Dec 16th, 2007 —
Tags: bloom, Games, HDR, OpenGL, University
Comments (2)
digg it!
kick it
Dave Mitchell on what is in XNA 2.0
During the European XNA Tour I had the chance to speak with Dave Mitchell. He’s in the XNA team and I could finally ask all my questions on XNA that I had for a long time. We spoke also about the new features that are going to come with XNA 2.0 (that is right now available as BETA from creators.xna.com) and he gave me even some hints on what is going to come in later versions…
Dave showed me also a short trailer of the best games that were in the Dream.Build.Play. contest. I was so excited about it that I packed it right into the video before the actual interview. If you don’t like to watch that, skip the first and half minute to get straight to the interview.
XNA Studio 2.0 BETA is here
This week is a really busy week so far. A lot of new stuff to play with is coming out right now. Today the XNA team has released the first BETA version of XNA Studio 2.0.
What’s new?
They support the full version of Visual Studio 2005 (no 2008, I don’t know why they are still on Visual Studio 2005). It’s cool to have at least the support for the full version because you don’t need to install an Express Edition if you got the full version, for example, via MSDN AA.
They added also network support to XNA. You can finally play your games against other people over the network.
A list with all the new features can be found here.
An incredible cool Halo 3 review!
It’s awesome. Get it from here. I’ll not going to buy Halo 3 anymore ![]()





