Thursday, June 6, 2002, 5:33:09 AM, you wrote:
I could use OpenGL under windows too - but am worried it’ll be unusably
slow due to lack of workable opengl implementation.
GG> The opengl Windows drivers are AT LEAST as fast and compatible as the linux
and to finish, it’s a challenge. I’m hoping to hear back from people
who’ve actually tried this or who have demonstrable proof this can’t be
GG> Maybe it can be done, using the SDL_WM_SysInfo struct to get low level
GG> implementation parameters, but I really don’t see the point in doing it.
GG> The Direct* APIs are terrible, not clean and badly documented (there is
GG> excess of documentation on how to do the simpler things but almost nothing
GG> on more complex stuff). Use OpenGL and your know how will be also more
GG> valuable for the future.
You’re right on all counts about the quality of DirectX APIs.
The huge difference is that under Windows, OpenGL is no longer
officially supported by Microsoft, and many vendors no longer support
I will quote liberally from an email I wrote recently:
OpenGL is getting worse again, not better. The Neomagic chips now
found in most of the big-brand laptops on the market (Sony, Toshiba)
suck little 3D rocks, and they don’t support OpenGL AT ALL. Period.
End of story.
Microsoft no longer ships OpenGL with their software – XP doesn’t
Today if you want to use OpenGL for a PC product, you have to:
a) Tell your user how to figure out what video card they have
b) Direct them to get from there to figuring out the web site for it,
which may or may not still be in operation.
c) Navigate the web site – many hardware manufacturers make this
d) Figure out which driver they need, which means knowing their OS,
video card make AND model.
e) Download the driver and then find it on the disk after it’s been
downloaded (don’t forget, this behavior has changed in EVERY version
f) Have them install it, which may or may not work. THey might need to
install DirectX to get their OpenGL driver to work (seriously).
This is assuming that the vendor still exists (you don’t want a list
of how many have gone out of business or changed names in the last
couple of years) and that they still support the customer’s video
card. It’s also assuming that the customer’s card supports OpenGL and
3D at all. You’d be amazed at how many 12-year-olds are running
computers that are almost as old as they are. S3 ViRGE, anyone?
And then there’s the whole question of setting up video modes. Opening
a window that reliably gets you a valid OpenGL context across versions
of Windows, video boards, and desktop video modes is a significant
challenge. When we built MindRover, we spent AT LEAST an entire
person-month on video initialization. Seriously.
Your alternative is to spend your time on learning D3D, ship the
DirectX installer on your CD, and largely forget about the support
Yes, it’s really that bad. I really wish this wasn’t the case, but on
Windows, anyway, Microsoft has successfully made OpenGL irrelevant.
So…if you want to make a game that real customers with money are
likely to be able to successfully play and then buy, you can’t do it
with OpenGL anymore.
So I’m thrilled that SDL supports DX5 for 2D stuff. One of these days,
I’d like to write the DX8 support as well and hook it in so it’s tried
first, then DX5, and finally the Win32 API. Haven’t had time yet.
Kent Quirk, CTO, CogniToy