OpenGL running in DirectX 8+

Archives Forums/Win32 Discussion/OpenGL running in DirectX 8+

Shagwana(Posted 2005) [#1]
Come across this link on another forum. Its a tool to let those that dont have hardware accelerated drivers for OpenGL to run there stuff using the acceleration of DirectX (v8.0+)!.
SciTech GLDirect is the utility package for Windows 95/98/Me/2000/XP that combines the power of the OpenGL API with the wide availability of Direct3D hardware drivers. It accomplishes this by enabling OpenGL based games and applications to access 3D hardware acceleration through the Direct3D drivers provided by your graphics hardware manufacturer. The OpenGL API is the cross-platform, high performance standard for 3D graphics applications.
Anyone have any experience with it?


dmoc(Posted 2005) [#2]
Doesn't your radeon support opengl!? I've steered well clear of opengl-on-top-of-directx stuff because it's gonna be slow and, most importantly, opengl drivers SHOULD be provided. If not then the card ain't worth buying.


Bot Builder(Posted 2005) [#3]
I'm sure his does, but it might be worthwhile for people who dont


Shagwana(Posted 2005) [#4]
Of course my Radeon supports OpenGL. I ask, because I want to know if its a valid choice to point potential customers at for those that have problems running my games. (even after updating there drivers).


dmoc(Posted 2005) [#5]
If your programs are opengl-based and you are making money from them, then show due support for opengl: tell them to buy a different gfx card. Now I know that's a no-no where good customer relations is concerned but I've just checked and GLDirect is $20. So that's $20 towards a low-end card that *does* support opengl. With respect, if you understand what opengl is all about then you will also understand that it's people like you (and me) that have to help promote opengl at any/every opportunity. It's fair to say that even by using opengl in your progs (assuming you are explicit about it) you *are* promoting it but then to suggest something like GLDirect sort of defeats the whole exercise.

PS: I have nothing against GLDirect. I'm sure it has it's uses but it does not help opengl.org and provides a cop-out for hw manufacturers and driver developers. Thankfully your post is the first mention of it I have seen for years.


Shagwana(Posted 2005) [#6]
This is not about pride (of using OpenGL), its about business. So dont try and make this tread into some opengl vs directx api thread, its not. Im here to make money (and great games!), not promote OpenGL at any and every opportunity.

Belive it or not, there still people out there who are unable to run OpenGL games, let alone version 1.2 of it. Yet many of these same people are able to run DirectX. This can be because of software implementation of the api or just real shitty drivers (yep, they do exist).

Some computers cant even have there graphics cards upgraded (laptops and some motherboards with built in cards). But they still want to play games.

People will be people, many are unwilling to upgrade there hardware, let alone there drivers!. As its deamed "messing with the machine". They fear it, thinking there will end up breaking something. Esp mums and dads who dont feel confident enought or feel they lack knowledge about it.

Just have a read of the thread I posted about in my 1st post, and you will see. A few choice quotes from that thread for you to mull over in the mean time...
A big problem with OpenGL is that there isn't a single specific place I can send the user for updated drivers. It depends on their video card manufacturer.
We simply expected OpenGL 1.2 to be pretty much everywhere, and it turned out it wasn't.
According to my stats, 72% of my downloaders have hardware accelerated GL drivers capable of playing any of our games


Im sure you dont need me to say that the more people able to run our games, the bigger the market. Thats just common sense. If providing a link to the application I posted about, lets another person run my game who could not before. Then great, another potential customer for us all!.

So, back to keeping this on topic. Anyone out there had any experience of using this application (or maybe even another app like it?)


smilertoo(Posted 2005) [#7]
usually the people who wont upgrade their machines are the same ones who dont play games.


Shagwana(Posted 2005) [#8]
usually the people who wont upgrade their machines are the same ones who dont play games.
Thats unfounded from what I can tell. Theres many sites out there that make a shed load of money of low spec games. www.dexterity.com for one. Just because there not willing to upgrade there computer, dont mean then dont know how to have fun.

Those people will play games, but not if they dont work on there computer.


PowerPC603(Posted 2005) [#9]

usually the people who wont upgrade their machines are the same ones who dont play games.



I completely agree with this statement.

A while back, I bought Settlers IV, which required to have at least a 4Mb graphics card.
I had a 4Mb graphics card, but the game wouldn't run, because when Windows is launched, I didn't have 4Mb left for the game to run.
So the next day I went to a shop and bought a 32Mb graphics card, just to play this game.

A while after that, I bought another game: Turok Evolution.
It didn't run either, because my 32Mb card didn't have something (I think it was some form of shader-support or something like that), which the game engine required.
Again I bought a new gfx card, which I still own today (ATI Radeon 9700Pro 256Mb).


Dreamora(Posted 2005) [#10]
People that have problems running your stuff should be pointed towards Mesa3D. This is a very good software opengl driver so in the end it should work better than a OGL - DX Crosslink.


John Pickford(Posted 2005) [#11]
Why will a software driver work better than an accellerated solution?


Dreamora(Posted 2005) [#12]
because a loopback of opengl to DX will be software controlled as well which does take away some of the profit of hardware acceleration.

Beside the fact that hardware that does not support opengl in hardware won't have any real kind of hardware acceleration in DirectX as well which makes the usage of 2 graphical APIs next to useless ...


Shagwana(Posted 2005) [#13]
Only reason I could see software to be faster then hardware is only when there is no hardware to use. All depend how well coded the opengl->directx wrapper is coded.


Im still not convinced that "usually the people who wont upgrade their machines are the same ones who dont play games." is true.

PowerPC603 - you upgraded your hardware to play the game(s). So by definition your not one of those that did't upgrade and don't play!.

Now imagine this, if you could have spent a fraction of what that graphic card(s) cost, you could play a load of games you could't before. I bet you would have taken that option!.


Gabriel(Posted 2005) [#14]
usually the people who wont upgrade their machines are the same ones who dont play games.


Got any stats to back this up or is just the standard forum trick of using "usually" to describe something you want to be true without actually doing any research to see if it is?

I completely agree with this statement.

A while back, I bought Settlers IV, which required to have at least a 4Mb graphics card.
I had a 4Mb graphics card, but the game wouldn't run, because when Windows is launched, I didn't have 4Mb left for the game to run.
So the next day I went to a shop and bought a 32Mb graphics card, just to play this game.

A while after that, I bought another game: Turok Evolution.
It didn't run either, because my 32Mb card didn't have something (I think it was some form of shader-support or something like that), which the game engine required.
Again I bought a new gfx card, which I still own today (ATI Radeon 9700Pro 256Mb).



I do love when people use the experience of one person ( invariably themselves ) to make sweeping statements about hundreds of millions of people. One is not generally considered a representative sample.


Im still not convinced that "usually the people who wont upgrade their machines are the same ones who dont play games." is true.


Nor should you be. People on this forum are not your audience and 99% of them have absolutely no information about your audience. Sadly it won't stop them telling you otherwise.

A surprisingly large number of my customers and prospective customers have onboard video ( Intel mostly, but a significant number of SIS too ) and they certainly do play games. Why shouldn't they? The developers like PopCap and others you find on RealArcade and BigFish are writing games that will work for them. So they don't see any reason why you shouldn't too. These onboard ones are the most likely to have trouble finding OpenGL drivers for too ( particularly SIS since I think SIS are out of business now, they're website has been down for yonks anyway )


I think it's an interesting little program, but I'd need convincing that it was actually going to make a big enough difference. I don't agree with Dreamora that it's not possible for it to be a big improvement over software rendering, but on the flip side, it's certainly possible that it isn't a big improvement. Without getting a few old PC's together and trying, it's hard to say. I know I wouldn't want to recommend it to my customers until I knew it gave good results.


Shagwana(Posted 2005) [#15]
:) Now i dont feel like im banging my head against a wall.
I know I wouldn't want to recommend it to my customers until I knew it gave good results.
Hence why this thread was created!.


AdrianT(Posted 2005) [#16]
I know the developers of outpost kaloki found that a lot of people had no GL 1.2 support so they ended up gong back to 1.1 to get the best comaptibility. Got this info from the indiegamer forums.


In our latest release, we support OpenGL 1.1. The Microsoft software drivers report 1.1 and the game runs on such a system, but excruciatingly slowly. So, we added a message to the game saying something like "it looks like you have generic software opengl drivers - you should go download updated drivers for your video card."



and from another post in the same thread

Originally Posted by stay
We simply expected OpenGL 1.2 to be pretty much everywhere, and it turned out it wasn't.
-----------------------


If anyone has stats on the install base of various versions of OpenGL, I sure would be interested in hearing about it.


I've got stat's. Let's have a look...

Code:

Failed 4558
1.1 1842
1.2 532
1.3 4167
1.4 3628
1.5 1573
2.0 154
Notes: the 1.1 drivers are hardware accelerated; that is, we count Microsoft software rendering as a failure. All other logs are from successful unique game installs where the game has been played at least once.

Unlike DirectX programming in OpenGL you must always check for the availability of an extension and furthermore it is always strongly recommended to provide a basic OpenGL 1.1 rendering path as a baseline. According to my stats, 72% of my downloaders have hardware accelerated GL drivers capable of playing any of our games.


Craig Watson(Posted 2005) [#17]
Er, SIS are still in business. Their website is here: http://www.sis.com/

They also more recently have drivers that support OpenGL.


xlsior(Posted 2005) [#18]
Which brings up another point again:
An alternative module which would compile using DirectX graphics instead of OpenGL would be an extremely welcome addition, to maximize your program's compatiblity...


Craig Watson(Posted 2005) [#19]
Except DirectX only works on Windows. Not that it's a bad idea or anything, but OpenGL is vastly more compatible than DirectX when you consider we're compiling for 3 different OSs these days.

The modular system BlitzMax uses means that it's quite possible to have a DirectX based engine as well, but more than likely this would be a 3rd party effort.

The whole DirectX/OpenGL thing was argued out ages ago now, so I'd rather not get into it. Let's just say there are benefits to having support for both and keep our fingers crossed we'll get both some day.

The good news is that the prospects of finding OpenGL support these days is vastly improved, even on the crappy chipset integrated video boards. The problem more or less for Windows is that Windows install/Windows Update drivers for the less high-end cards typically don't include the OpenGL drivers.


Shagwana(Posted 2005) [#20]
Except DirectX only works on Windows
Desirable because windows is the biggest market!

Im sure im not the only one with there fingers crossed, hoping someone will take the time to make a direct x version of all the max2d commands.


Michael Reitzenstein(Posted 2005) [#21]
Except DirectX only works on Windows. Not that it's a bad idea or anything, but OpenGL is vastly more compatible than DirectX when you consider we're compiling for 3 different OSs these days.

Yeah, but you don't ship the same binaries to each platform, so you can compile a DirectX version for Windows and OpenGL versions for Linux and Mac.


Craig Watson(Posted 2005) [#22]
That's not what I meant at all.

OpenGL is more compatible because it works on three platforms. DirectX works on one. That's why OpenGL was the first choice.

It has nothing to do with binary compatibility. That's a given.


xlsior(Posted 2005) [#23]
OpenGL is more compatible because it works on three platforms. DirectX works on one. That's why OpenGL was the first choice.


Of course.

But consider this: Since OpenGL is only a viable choice on maybe 2/3 of the windows market, there is still a major incentive for a DirectX option as well.

Seriously, consider the following example. I have a 600MHz laptop.

Not a high-end machine these days, but by no means a paperweight yet. There are *many* machines on the market of similar or lower specs that people are happily using, including for playing games. Heck, I can still run Warcraft 3 on it (640x480, low detail), and that's in full 3D.

Anyway: a very basic test of displaying a full screen background image in a loop and moving a smaller sprite around on it worked at about 500 FPS on that machine using the the original BlitzBasic.

With the BlitzMax Win32 Beta, a very similar test program gave me 5 FPS with the videodrivers that were installed automatically with Win2K.

After upgrading to the latest drivers directly from compaq (the manufacturer), that actually *dropped* to 0.2 FPS.

Yes. That's a between a hundred to a whopping two-and-a-half-thousand times slower than the DirectX equivalent using the same hardware, same OS depending on the drivers used.

Now imagine having to explain to a non-techie customer that yes, while their computer is good enough to play Warcraft 3, your 2D pacman or tetris game takes 5 seconds to render each frame?

Yes, things run amazingly great if you have a videocard that supports hardware accelerated OpenGL, and has decent drivers as well.
I can get hundreds of FPS again on my Radeon 9600Pro with the BlitzMax example. But there are still a great many systems on the market for which that is not the case -- just consider how many modern, fairly powerful machines come with a budget cheapo on-board video chip that don't have any hardware openGL support.

Software rendering is slow. VERY slow, on machines that aren't in the multi-gigahertz range.

OpenGL *is* the obvious choice for Apple and Linux, by all means... But on windows, DirectX is king, and openGL an afterthought at best.

Oh well, I guess that once people actually start distributing executables into the real world, outside of their own development PC's, the above will become obvious fairly quickly.

All I can do is hope that someone will fill the void and work on a DirectX module so one can reclaim compatibility with the win32 market that's not running on top-of-the-line hardware.


Craig Watson(Posted 2005) [#24]
Bleh.

I already said a DirectX module WOULD be a good idea. I already addressed some of the comments about cheapo on-board video chips (the majority of which do have hardware OpenGL support nowadays, older ones of course still won't.)

FYI HP/Compaq don't actually manufacture any kind of video chipset, so your best bet is to find some drivers from the actual manufacturer. That said, given the age of the thing, this is unlikely to help much. But then, you have no need to justify asking for DirectX support, because I _already agree with you_.

The only issue I can see is that basic DirectX 2D support won't do some of the more advanced 2D in 3D OpenGL stuff. You could do a 2D in 3D engine in DirectX also, but then you'd be removing any advantage you had of supporting DirectX at all, which is presumably for crappy PCs with no real 3D acceleration. Still this would be better than nothing at all I guess.

How well does your laptop run Warcraft 3 anyway? If a system has a graphics chipset capable of running Warcraft 3, it's more than likely to have OpenGL drivers available.

And as for OpenGL being an afterthought on Windows, that's a really ridiculous comment. How have people been playing ID software games on Windows all these years exactly?

As for "just consider how many modern, fairly powerful machines come with a budget cheapo on-board video chip that don't have any hardware openGL support." Please do some research. You'll find 99.9% of them do have hardware OpenGL support. The concern for DirectX is more to do with much older systems and laptops that probably don't even have real 3D acceleration.


xlsior(Posted 2005) [#25]
FYI HP/Compaq don't actually manufacture any kind of video chipset, so your best bet is to find some drivers from the actual manufacturer.


It's an ATI graphics adapter, but (surprise surprise), they don't actually have any drivers for this model available on their website for download. they simply tell you to go to the company that assembled/sold the system instead.


Craig Watson(Posted 2005) [#26]
What model is it?


xlsior(Posted 2005) [#27]
Armada E500, using ATI Rage Mobility Pro


Mr. Write Errors Man(Posted 2005) [#28]
What is needed for BlitzMax is a wrapper for some multi-platform library like SDL. You could still compile the same BlitzMax source for both Windows, Mac and Linux, while SDL (or whatever) would be using DirectX in Windows and OpenGL in Mac and Linux.

I would be doing a wrapper myself if I could spare the time and energy, but instead I chose to first do the Windows version of my project with B+ and then do the Mac one with BlitzMax.


Craig Watson(Posted 2005) [#29]
Take a look here. Some of the links don't work, but you should be able to find something to suit. You should probably look here if you're having trouble installing the official Rage Pro drivers.

Otherwise look here at ATI. The standard Rage Pro drivers should work for the Mobility chip also. Let me know if you have any problems, I'd be interested to see how it turns out.

All Rage Pro type cards DO have OpenGL support, it's just a matter of finding the drivers.


xlsior(Posted 2005) [#30]
Thanks for the links, but No change. :-/

I tried several of their suggested Win2K drivers , which supposedly contain the hardware OpenGL support, but all of them give the same extremely slow <1 FPS, with a bunch of glitches on the side.

Looks like Compaq opted for the 'stripped down' version of the graphics adapter, ATI's website mentioned that not all manufcaturers implemented the full (hardware) feature set. The standard Win2000 software OpenGL drivers are still the best so far, giving me ~5 FPS tops.

But oh well, it was worth a shot.


gman(Posted 2005) [#31]
maybe you mentioned this but i missed it... im curious xlsior, did you happen to try the demo program from the original topic of this thread? it would be interesting to see how your laptop performs using the opengl to directx software.


Sledge(Posted 2005) [#32]

Seriously, consider the following example. I have a 600MHz laptop.

Not a high-end machine these days, but by no means a paperweight yet. There are *many* machines on the market of similar or lower specs that people are happily using, including for playing games. Heck, I can still run Warcraft 3 on it (640x480, low detail), and that's in full 3D.

Anyway: a very basic test of displaying a full screen background image in a loop and moving a smaller sprite around on it worked at about 500 FPS on that machine using the the original BlitzBasic.

With the BlitzMax Win32 Beta, a very similar test program gave me 5 FPS with the videodrivers that were installed automatically with Win2K.

After upgrading to the latest drivers directly from compaq (the manufacturer), that actually *dropped* to 0.2 FPS.

Yes. That's a between a hundred to a whopping two-and-a-half-thousand times slower than the DirectX equivalent using the same hardware, same OS depending on the drivers used.

Now imagine having to explain to a non-techie customer that yes, while their computer is good enough to play Warcraft 3, your 2D pacman or tetris game takes 5 seconds to render each frame?



Isn't the fairly obvious answer to this to write the Mac version of your game in BlitzMax then port it to Win32 using B3D? It's one thing for Id to use OpenGL, knowing that their reputation is such that people who want to play their games will (i) have high(er) end rigs and (ii) be comfortable getting their drivers in order, but wouldn't you have to be a bit of a spanner to use OGL for shareware aimed at PC people who typically own weaker machines and who think that updating drivers is some sort of witchcraft?


JoshK(Posted 2005) [#33]
Why waste effort trying to support users who have **** graphics cards?


Panno(Posted 2005) [#34]
ok .
its more a time question as a moral,money or a technical question i mean .
all days will come a new gfx card and some user will upgrade ,some not .


Sledge(Posted 2005) [#35]

Why waste effort trying to support users who have **** graphics cards?



Their money is just as good as anybody else's and their limited machines reduce your competition.


Shagwana(Posted 2005) [#36]
Why waste effort trying to support users who have **** graphics cards?

The no1 reason...

The more machines your games run on the more potential customers you have.


Now, some other common "things"...

People with old cards / machines dont play computer games

Many authors who make there living off shareware will tell you otherwise. Old machines are still out there and being used to play computer games with. Just not the triple A type.

Just tell them to upgrade there hardware!

People are lazy, they would just go else where for there fun. If there not lazy, then there scared or unwilling to spend extra money to do it. "Esp for a shareware game"


Tracer(Posted 2005) [#37]
People won't 'upgrade' for a shareware game unless they were already planning on doing an upgrade or replacing the entire computer.

This is the same deal as when the demo of your game doesn't run.. Most people won't bother to try to figure out why it won't work or even remotely think of e-mailing the author of the game, they simply delete it.

(this is one of the things that puts me off of OpenGL use for shareware games, many many computers will give problems with it)

Tracer


xlsior(Posted 2005) [#38]
People won't 'upgrade' for a shareware game unless they were already planning on doing an upgrade or replacing the entire computer.


Exactly.

Until someone here really does start throwing together games that beat the look & feel of HalfLife 2 / Quake 3 ;-)