Having tinkering with DirectX and looking at OpenGl code, It seems OpenGl is a lot easier to read. I like coding in a C manner with the least amount of OOP and COM. Im thinking of trying out OpenGl(learning something new can''t hurt). My only concern is that OpenGl is not as supported as much as DirectX.
1)Will OpenGl work on a really crappy card with out 3d acceleration(software mode?).
2)Tell me what array of cards you used it on and how it performed.
Regardless of what people say I will still try it, but wondering.
Be warned.. OpenGL will NOT work at all well with any card not specifically designed for it. It has nowhere near the compatibility of DX. Running it at software rendering will give you horrible framerates. There are enough people with compatible cards to make it a very good api though. So just keep in mine that some people (like me! =) won''t be able to use anything you make in GL. Seems like an awesome 3D api though, if it works for you
Strangely enough, out of those three, the first one worked the best for opengl... My agp board, with a OpenGL recommended chipset, gives me terrible framerates. Haven''t used the ATI board enough to give you any idea of performance.
Also, I would advise learning both OpenGL and DirectX I think ShiningKnight will agree with me on that :D...
> Be warned.. OpenGL will NOT work at all well with any card not specifically designed for it
This is wrong. First, it is not the card that makes a bit, every card available on the market can be well suited for OpenGL, the drivers make the difference. Nowadays, all major 3D card manufacturers have understood the importance of OGL and deliver good to excellent (nVidia) OpenGL drivers, that are 100% compatible with the SGI reference model. Older cards may have bad OGL drivers (or no OGL drivers at all), but the main reasons why some OGL games/apps do not work well on older cards are: A) they use features that weren''t well supported by the old card. Like framebuffer readback on the Voodoo boards was horrible. But this would be the same with D3D. B) They are poorly coded. See the first OGL release of Unreal Tournament as an example, how to NOT do it.
If you use fallback mechanisms in your code (you should also do that, if you code in D3D, btw.), and the lowest level is simply triangle rendering without fancy effects, then it should decently work on any 3D card with an OGL driver. Software rendering is also quite fast, if your geometry isn''t too complex, and you do NOT use the Micro$oft reference drivers (opengl32.dll), it is a shame, how badly those are coded. Use Scitechs MGL as a good alternative, if you really need software rendering.
I run my ogl engine with 40.000 triangles and fog on a 486 with a 1MB cirrus logic VGA... Ok, 1 fps, but the image quality was EXACTLY the same than on my nvidia gf2 gts pro... And ogl is slow on 3dcardless computer because ogl is a generic 3d interface and not a hugly optimized one for a specifi task liky those used in games such quake family... ogl is, for me, the BEST 3d api solution available now for pc. [Sorry for my english, I am italian]
Don''t let these guys con you into thinking that OpenGL sucks on most video cards, it in fact, does not suck at all. Sure, *VERY LITTLE* cards don''t support it, but there are a lot of games out there that use OpenGL. Just, when you make your game, know what audience you are looking at (if you are planning on making an ultra gory FPS... then use OpenGL all the way, as all FPS player''s systems have great specs). Of course, if you''re making a strategy game about dolphins, teddy bears, and cute cats, then expect your user to have a 300mhz system with a 2mb graphics card (aka. NO opengl for them).