The Discordant Opposition Journal Issue 11 - File 7
DirectX8
By: Strykar
Direct X is an applications programming interface or API. This software is incorporated into Microsoft's operating system and it gives a bridge over which applications and games can access the various features that are supported by multimedia hardware such as 3D accelerators, soundcards, input devices such as joysticks, etc. If a particular graphics card can support a plethora of radically new features, it would amount to nothing if the API cannot support these functions.
The primary aim of Direct X was to create a set of tools and interfaces that provides programmers with the building blocks neccesary for developing applications that run independent of the hardware upon which these programs are run. This allows developers to concentrate more on the features of the application without bothering about hardware issues.
Prior to Direct X, coders had to develop products to work well on a variety of hardware configurations and there was no real standard for doing this. Direct X provides what is called a Hardware Abstraction Layer (HAL), which makes use of software drivers to communicate with the application and the hardware.
So if software developers write a code to work with Direct X, they don't care about which hardware platforms it can run on, as all hardware that supports Direct X will run the software.
Direct X provides control to a set of tools that control low-level functions such as 2D graphic acceleration, sound generation mixing and reproduction and support for input devices such as mice and joysticks.
All these low-level functions are supported by various components that together make up the foundation of Direct X: Microsoft Direct Draw, Microsoft Direct3D, Microsoft Direct Input, Microsoft Direct Sound, Microsoft Direct Play and Microsoft Direct Music.
At first glance you'll see that the new features supported here are strikingly similar to those that have been implemented in the GEForce3. In fact nVidia has licensed many of its technologies to Microsoft for the development of Direct X 8.0. Little wonder that as of now, GEForce3 is the only fully Direct X 8 compliant chip around.
New Features:
Programmable Vertex Shaders:
This feature will allow programmable control over the transform and lighting portion of the graphics processor. Using this, game developers will be able to simulate far more realistic effects when dealing in objects of skin and cloth and the deformations that are associated with such objects.
Using this feature developers will be able to impart a different 'feel' to each of they're games by making the 3D objects in each behave and react differently.
Programmable Pixel Shaders:
Thanks to cards that ship with this feature such as the GEForce3, game developers will now be able to create combined effects such as bump maps with reflections and textures. This makes effects such as water ripples and corrugated metallic surfaces more realistic than ever.
Multi Sample Rendering:
Using this feature multiple instances of a 3D scene can be rendered in different frame buffers and are then displayed in the manner desired by the application creator. this allows for effects such as anti-aliasing, motion blur, depth of field, soft shadows etc.
Volumetric Textures:
This feature ties in with the Programmable Pixel Shader Feature. Here, textures will be assigned one more dimension, giving that extra sense of realism.
N-Patches:
This allows the complexity of a model to be increased to greater levels. It does by using special curves called Beizer curves to increase the smoothness in the curved areas of the 3D model. N-Patches allow a relatively simple model to appear much more detailed.
Texture Compression:
Textures are one of the major tangents used in 3D scenes, and they are often the cause of bottlenecks associated with the graphic cards memory. Direct X 8.0 has incorporated support for texture compression. Compressing all these large texture files will increase the efficiency of the memory bandwidth, resulting in very significant jumps in performance and visual quality.
Matrix Palette Skinning:
Much like vertex skinning, MPS is a feature that allows far more realism in transforming objects that are skimmed with 'textures'. It is used to generate effects such as wrinkles in cloth or skin, this method provides greater fluidity than vertex skinning as there are more control points used here.
Verdict:
The GEForce3 coupled with Direct X 8.0 promises games that are going to greatly blur the dividing line between games and movies. It looks like the catchword for the next generation of graphic accelerators is not just pure frame rates, but also realism. So the next time you gun the 600BHP+ engine in that Ferrari racing simulation, the visual quality of the game and its special effects might be so intense that you might actually smell the burning rubber! :)
EOF
Regards to everyone in #Hackerzlair on DALnet and especially to The_Guru.