Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenGL versions

So I am wanting to start playing with OpenGL with a view to implement some game ideas I have had for a long time now, but I noticed there are several versions of OpenGL.

I ideally would like to support older computers too, so I was wondering if OpenGL 2.1 would be the best version to use. OpenGL 4 doesn't even work on my desktop machine :O

The type of minimum spec for the game would be DX9 era graphics cards, so basically most modern computers would run it (even the low end onboard graphics). I would be looking at JOGL for implementation as I know Java the best (have done Java3D in the past) and I would like to deploy to all 3 major OSs.

With this in mind what kind of books would you suggest to me? Would it be pointless getting a OpenGL 3 or 4 book as I have read that there are big changes? Should I settle for an older book on 2.1 instead?

like image 674
user859194 Avatar asked May 12 '12 12:05

user859194


People also ask

What is the best OpenGL version?

Short answer: a core OpenGL 3.3 profile. You'll get wide support across all major operating systems with this. OS X and Mesa will be your lowest-end target APIs, and they bottom out at GL 3.3 for the oldest and gimpiest.

What does OpenGL 2.0 mean?

OpenGL is an industry standard 3D graphics API. OpenGL drivers are usually installed together with the rest of the graphics driver and support software (such as DirectX). Inspera Exam Portal uses OpenGL 2.0 to render the user interface before the test session starts and the computer locks down.


2 Answers

Just out of curiosity, are you on Linux?

Linux is really the main bottleneck here, or rather, Linux systems running with opensource drivers are the bottle neck (systems with ATI or NVIDIA drivers are not a problem, they will support the latest and greatest). Things are shaping up on this front though, with the release of Mesa 8 earlier this year, there is finally a open source OpenGL 3 solution.

I'll certainty suggest you don't ignore shaders, if I was in your shoes, since you are using JOGL, I would consider implementing it using OpenGL ES 2 profile (since you are using java anyways, this will make everything quite easily portable to android as well if you should see fit)

Oh, and additionally, since you are shopping for books I would look at Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (the 6th edition).

I went though a earlier edition of this book many moons ago for a course at uni. And recently bought the 6th edition simply because I loved the old one so much, and its quality :)

like image 103
JustDanyul Avatar answered Sep 17 '22 01:09

JustDanyul


OpenGL 2.1 might be the best. as a comparison it has relatively the same compatibility as DirectX 9c, which is the latest Windows xp can get, and i know there are a lot of XP boxes out there. some of my friends still prefer xp.

Graphic cards that don't support these APIs at this point of time might very well be very obsolete.

If a user cannot run your game using 2.1 you might have to suggest the user to buy a newer computer. you might even want to use OpenGL 3.0, if you adopt this thinking.

In my opinion, i would try learning 2.1 first and getting some practice, and after that, start using 3.x and eventually 4.x. Big game companies usually dont care about compatibility and have the user buy new hardware.

like image 44
Basilio German Avatar answered Sep 17 '22 01:09

Basilio German