Use 3d Hardware Acceleration!

Written by Inopia

Everybody is moaning about how demos aren't evolving. There just aren't any new effects around, no new stuff being tried. The 1998 demos weren't bad, they just weren't original. Some people tried MP3 and animation. Some people tried even more weird designs. But nothing really new happened in 1998, or the last six months for that matter. Don't get me wrong, I saw some really kickass demos, but nothing really revolutionary from the coding front.

In my opinion there's only one thing that can really change all that. I've said it before and I'll say it again. 3D hardware acceleration is the way of the future. I'll try to explain why exactly I am convinced of this in this article and I hope that after this you'll agree with me.

I'll first try to tackle some biases. It is said that 3D demos are boring. Yes, 3DS players tend to be boring, but then again, take a look at Toys by Gods. The modelling is superb. Faster and more powerful 3D hardware such as the Voodoo and RivaTNT series give the modeller more freedom. The scenes are filtered, wich makes a demo more accessable to non-sceners who are used to raytraced animations, and have Z-Buffering (for non-coders, this is a technique that allows polygons to intersect without bugging like in Tribes/Pulse where polygons kept disappearing and reappearing at random). Z-buffering is quite a treat for modellers, who don't have to worry about whether the engine will be able to handle a certain object with strange intersecting polys. All of this makes a scene nicer and more interesting to watch.

Another strong bias is that it is easy, and lame even to use 3D hardware acceleration. I agree that it's quite nice not having to code a zillion different polygon routines, but when you are using hardware polygons, there's a lot of other code you have to write. You have to write routines for uploading textures, you have to think about how to organise your engine so that you are talking to the 3D card as little as possible. Also a lot of people think that OpenGL is a ready-to-go 3D engine with some sort of "OpenGL_Load3DS(demo.3ds);" routine or something. Well, OpenGL, Glide and Direct3D only give you routines to draw polygons, and that's it. You still have to write your entire 3D engine, 3DS or Lightwave loader, etc.

So why is 3D hardware better than software? Well, it has some strong advantages over software. Sure, you can't do everything with your 3D card that you can do with software, where you have full control over your LFB. But we shouldn't be looking at what we CAN'T do, we should be looking at what we CAN do! Don't you just hate it when a potentially nice effect shows large pixels, or a freedir tunnel that isn't correctly interpolated? There's none of that with hardware 3D demos.

A certain ex-fellow groupmember complained in a certain phone conversation how 3D wasn't good for anything else than 3DS players. Well, a Voodoo for instance allows you to upload textures in a RGBA format. This way you can lay pictures over your effects. You can do all kinds of 2D effects too. And when we start talking AGP, the possibillities are limitless.

The problem is that people don't think hardware yet. The only hardware demos are demos that SUPPORT hardware. They were written for software, and happen to have Glide support. What we need to do is think hardware. Start exploring the new possibilities and write demos that are hardware only. We should start writing hardware demos instead of trying to create software demos with 3D hardware.

Pmode, CGA/EGA/VGA, GUS, Vesa2... They all revolutionized the scene. So why not add hardware acc. to the list?

- inopia, retired