4.21.2010

Thoughts about future 3D technology

I'm a very thoughtful guy, thinking about almost everything that's encountering me and it's wonder after finding Doom3 a good piece of game and atmosphere that my current thoughts are about future 3D technology. I never was a friend of special graphics hardware. I always enjoyed definitely working software solution - all you need is processing power. And ID Software's always developing technology (which is unfortunately not really a useful part of Doom3 except the shadow thingies) really is an inspiration for me. They're taking comprehensive critics to heart and develope technologies making their engines better and better. My goal is to develop hardware-independent technologies for my games and using them as core game feature. Some people might say that doesn't make a good game... well, everyone can make the games he/she/it wants to make. I'm always impressed by games with atmosphere-supporting tech, so this will always be the way to go for me. At the moment, all my hope lies in realtime raycasting. Although my own implementation isn't the best variant and more or less voxel-based, I think it's the best thing you can get. Just think about: Voxel vs. Polygon is like Vector vs. Bitmap. Vectors can be used for great smoothness and accuracy. But bitmaps are more versatile if it actually comes to what can be displayed. There are millions of filters, programs etc working with raster-based graphics. Bringing it to 3D enables you to benefit from most of these alghorithms, too! Ever imagined a blur on a Voxel model? No? Any idea how it looks? I can definitely say that it will look much more interesting than a super-smooth polygon/vector thing. Let's say there's an 8000x8000 voxels big rectangle. You rasterize a whole 3D vector model with textures, polygons, etc to this rectangle. We will have a huge bunch of voxels which we can again modify using filters like a blur (adding outfading, transparent pixels arent the base voxels) or applying a diffuse filter to add more height and bumps. It just depends on the alghorithm and filter chain you use... Of course, it needs a fucking lot of memory and CPU time. Well, can you do this vector that easy? No. You need to integrate and apply new effects and most of them will need special graphics hardware to execute. Using multiple floating point processors and enough memory we can do much more than just waiting for the new hardware generation of 3D acceleration. I believe we will at some point in time have one card design using a super-versatile software technology using always the same instructions/methods etc. And voxels plus raytracing is one possible way. I truly believe in it. I also guess it will make rasterization of Motion Capturing more simple - like voxel rasterization in medical areas etc. One day my dream will come true. With or without me! Meanwhile I'll work towards it. Who knows, I could be the one developing this new technology! The older you get as an developer, the more possibilities you get and the more you're capable of creating new, unseen stuff. One hint for those addicted to graphics hardware: it's not worth it. You'll learn much more by doing it by yourself. Even if you know how to setup all these fancy matrices, rendering technologies, etc... You won't do you a favor if it comes to flexibility. Take shadow casting for example. Such a waste! Raytracing is way more forward - one solution for everything.

Yeah, that's it. That's what I think is the future we need to achieve some day. I'll be there, dead or not... Voxels ftw vector suckers.

No comments: