POLL:
What's your take on the new EXT_framebuffer_object extension?

Hallelujah!
Good, but not everything I hoped for
Stinks.
Haven't looked/not interested

 

Latest updates
Latest articles
Latest threads

June 7, 2005
I wrote a demo that does high dynamic range (HDR) rendering. It uses the EXT_framebuffer_object extension for its render-to-texture operations. The demo renders a scene into a floating point buffer, using a simple lighting model and some shadow mapping. The HDR portion of the image is then run through a separable gaussian blur filter and composited back onto the LDR portion, resulting in a fashionable-looking glow effect. You can get the demo right here. As usual, it may or may not run on anything other than a GeForce 6x00 :)

March 16, 2005
I updated GLinfo a bit, bringing it up to version 2.7. The new version provides some information regarding a few new extensions, and it also queries your OpenGL shading language version. Get it here.

February 16, 2005
An update?!? I must be dreaming! Yes, I'm still alive, and yes, I still write 3D demos every now and then :)

This time around, I've tackled "texture bombing", a technique that adds richness to a surface by randomly distributing small detail images onto it in texture space. For various reasons, the demo requires a GeForce 6x00 to run. If that doesn't scare you, you can get the demo right here.


September 22, 2004
The Khronos Group is holding an OpenGL ES programming contest, and has asked me to help spread the word. Here's a brief overview:

Khronos is pleased to announce the launch of the OpenGL ES 1.1 Coding Challenge. The contest will run in conjunction with the Khronos Developer University events beginning in Helsinki on Sept 17, 2004. The purpose of the contest is to create a library of sample code and applications for hardware accelerated OpenGL ES games, demos and screensavers that make people stop and stare with their mouths wide open, asking "That's running on a cell phone!?"

There are lots of cool prizes to be won, including a reindeer! If that's not enough incentive for you to start coding, I don't know what is! More details about the contest can be found here. Now who can manage to port one of my demos onto a mobile phone?


September 16, 2004
I got myself a shiny new GeForce 6800, and the first demo I've finished for it is a deferred shading demo. I've touched on this subject before, but this new implementation is a lot more elegant. The demo renders all sorts of information about the scene into a 16-component floating point buffer (actually a pbuffer with three aux buffers), and then performs lighting as an image postprocess, using this intermediate buffer as input. Get it here (requires GeForce 6x00).

July 7, 2004
I wrote a new article on all things bump mapping. The article starts by explaining the basic technique as introduced by Jim Blinn, and then goes on to discuss several realtime implementations of bump mapping. I also look at some advanced techniques, such as parallax mapping. The goal of the article is to introduce newcomers to some common realtime bump mapping techniques and to familiarize them with the buzz words they may encounter when looking for additional info on the web.

P.S.: I'm leaving on holidays next week and will not be able to answer e-mails or forum questions for the rest of the month.


June 17, 2004
I've posted a new demo, which renders an object with reflections and refractions. As an extra twist, the refractions are also blurred and tinted depending on the thickness of the object, resulting in an effect somewhat like frosted glass. You can see through it, but the thicker the object, the harder it gets to make out what's on the other side. The thickness is estimated by subtracting front-face and back-face depths. The demo requires a GeForce FX (mea culpa). You can download it here.

Shameless plug: may I subtly direct your attention to my other hobby? :-)


June 14, 2004
An update? Say it ain't so! I've posted a small update to GLinfo, the utility that powers my hardware registry. The new version displays some new information about the new NVidia extensions for the GeForce 6800, and it contains some behind-the-scenes modifications that make the incoming reports quicker and easier for me to process (I was starting to get seriously behind).

Sorry for the recent lack of new demos, but I have several in the pipeline, and you'll get the first one later this week. The others will have to wait until my GeForce 6800 arrives ;-)


April 8, 2004
I wrote a demo that implements a couple of variations on the Blinn and Phong lighting models, using the OpenGL Shading Language. The shaders were all based on RenderMan shaders that are available on the web, mostly from the Siggraph course notes at renderman.org. While very simple, the demo will hopefully serve as a nice introduction for people who want to get started with GLSL. Get the demo here.

February 12, 2004

I wrote a portal rendering engine that does a whole lot of pixel shading. There's quite a bit to it, so I'll just spare you the verbose description and give you a rundown of the features:

  • Portal rendering, with culling for both sectors and lights (i.e. sectors that are visible but unlit are also culled);
  • BSP-based raycaster used to determine the camera's current sector;
  • Lighting model with ambient, diffuse, specular and gloss mapping;
  • Scissor rectangles around portals and light sources to reduce overdraw;
  • Shadow mapping with cube maps, support for omnidirectional lights;
  • LOD system for shadow maps, cube map resolution is lowered for lights with a small on-screen area;
  • Separate code paths for ARB_fragment_program and NV_fragment_program, allowing for mixed precision modes on NVidia cards;
  • Reads a somewhat customized version of the Half-Life .MAP format (requires manual sector and portal placement)

The demo weighs in at just under 4.5 MB. If you have a beefy video card, grab it here.


Archives


This site is written and maintained by Tom Nuydens.
All comments, suggestions or questions are very welcome. Best viewed in 800x600 @ 16 bpp or better.