I know a little about video game engines and such, but I thought I'd submit this to my readers to see if maybe you could help me with the gaps in my knowledge. As some may know, I'm not happy with DRM and resource heavy Windows Vista and I'm wondering what might happen in the PC gaming world when Microsoft stops selling XP. Mainly, the question is, can OpenGL completely replace DirectX 10+? Mac, Unix, GNU, Linux all use OpenGL, but looking into DirectX, it would seem it's more powerful than OpenGL when matched with the right GPU (Graphics Processing Unit.) DirectX 10 is supposed to be fast and streamlined, which is cool, but it's only on Vista. The thing is, both OpenGL and Direct X use the same Shader Model. Does that mean OpenGL has the same abilities? I speak mainly of the amazing texturing and displacement mapping now possible with engines like the Unreal Engine 3. From what I have read, that engine was built for DirectX 9 (and patched to 10) so, I don't know how viable OpenGL is on "next generation" platforms. Then again, Call of Duty 4 is on Intel Macs and doesn't seem to take a hit graphically (although I've never played it on an Mac so, I'm not an authority.) So, anyone have the skinny this stuff?
Then, enter the Apple-lead OpenCL (Open Computing Language), the open source programming language that I've read will give unto us cross-platform goodness and unlock GPUs so they can be used by more applications and processes. The Wiki say " The purpose is to recall OpenGL and OpenAL, which are open industry standards for 3D graphics and computer audio respectively, to extend the power of the GPU beyond graphics." So, I know that GPUs are exceedingly fast and I love that physics in games (Physx on NVIDIA Series 8+) will be run by them, but is giving other apps access to them a good thing? Apple will implement OpenCL in Snow Leopard OS 10.6 (to be released in 2009) and a lot of companies are on board including IBM, Intel, AMD/ATI, NVIDIA, 3DLABS, Activision Blizzard, Codeplay, Electronic Arts, Ericsson, Motorola, Nokia and Samsung. But what will this do for graphics? Anything? What effect will it have on positional audio in games? And finally, will this make playing games without Microsoft truly viable?
Lastly, I'd like to mention another perhaps obvious question: What about multi-core processing in games? Sure, opening up GPU's will be great, but what about the 2-to-8 cores churning inside many PC cases? Could using multi-threading and breaking up processes within games to different cores speed performance? Are bus speeds a bottleneck?
Let me know your thoughts!