I have written a graphics program using DirectX 9, and it worked like a charm. Very consistent results across different windows platforms, it just runs smooth and fast. However, most of my code and the robustness there was for lost device handling and resource management. Now with DirectX 10 we don;t have to worry about resetting and restoring devices unless something disastrous happens which in this case all you need is to restart the machine. But again anyway, is not this simplicity already there in OpenGL since a decade? And now DirectX is catching with how things should work.
Many developers think the new DirectX is the way hardware operates and that it reelects the recent changes in how accelerators internally work.
Simply put not true. Both APIs support shaders and with OpenGL 3.0 forthcoming it will support more shader features besides the internals of video cards by extensions, a capability never existed din DX, and now they just removed the Caps bits queries where we used to claim it's very important feature of DX that distinguishes it from OGL.
The need of immediate mode. Yes. OpenGL should keep on supporting this native feature, which I consider the straight to the metal triangle command. Yes. Most decent hardwares are designed to work this way, you just fill up registers and that's it. Nothing must travel across physically distant memories (video and system) to draw a few triangles.
Buffering is the old way indeed, what about punching cards then?
I see here OpenGL is old but evolving and was designed by mathematicians, so it can fit there easily, and it's the standard.
Regretfully one of the 3D modeling program vendors say the opposite.
Myself I dropped all my DX project and now switched to OGL. It just rocks!


