How to start with OpenGL ?

Hi Guys!
I want start studying openGL!

Im actually working on my 2D game and learning a lot of it… Also, learning AI.
But now, i finished the 2D part of “KIller game Programming book” and since the java3D is kinda dead and will be replaced by javafx 3D , i wont study it.

Anyway, i want study something else now, i think openGL is a good thing.But i dont know how to start it.
I was checking the topics with resources but most books are deprecated or bad-spoke in amazon…
How did you guys learned it ?
I want a good Book to learn a lot of it…

For instance, this red book :http://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321552628/ref=zg_bs_3935_10
Check the comments, ppl are kinda raging…

And now , thios orange book will come…Should i buy it ?
http://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039/ref=zg_bs_3935_1

Anyone have another book recomendation that is not that old or deprecated … Can be something basic, at least for start… I have not a clue how to start with it.

Thanks guys!
XD

I kept searching but , i have another thing to ask.

Does it matter if its for java or C++ or anything else? Or OpenGl Methods are almost the same in any Language ?

For your 2nd question, I believe it is mostly the same. Most people who ask about learning opengl in java get told C tutorials or w/e will be fine. I think that JOGL and LWJGL all have mostly the same opengl commands, just a slightly different bit of setup/initialization code, nothing major though.

I will sya however that as a compeltely self taught (internet) programmer with no knowledge of any language but java I found it extremely difficult to learn from anything but java tutorials for opengl

Hi jester :stuck_out_tongue:
I downloaded lwjgl - 2.8.5 , but now i need some guide… Not sure where to find.

Which API you think is more complete and updated frequently ? lwjgl or JOGL ?

Btw, your name reminds me of California games ( Mega Drive)

loool I won’t er, recommend either because a certain developer will literally jump me.

I’m not the best person to answer, but first step is
http://www.lwjgl.org/wiki/index.php?title=Main_Page
the basics under tutorials. will get you started with at least a shape. goodluck

[quote]Recommend either because a certain developer will literally jump me.
[/quote]
Does he have another API which is better ?
Im kinda new here , so, you gotta update me up LOl :stuck_out_tongue:

LWJGL is more popular on this forum.

I too, will make no comment on which is more maintained.

I recommend LWJGL due to its awesome static API.

To learn OpenGL, here’s a really good tutorial I recommend: www.arcsynthesis.org/gltut
The code that goes along with it is in C++ so I ported it to Java+LWJGL: www.bitbucket.org/ra4king/lwjgl-shader-tutorials/

Let me join the party of LWJGL users! I am totally happy with it! :slight_smile:

Why the helpful comments are gone ?
I was going to check them… Weird.

Anyway, should i use Slick2D or simply start with LWJGL ?
If i use Slick2D, i need to learn LWJGL ?

What you guys recommend for me?
Im a begginner with games. What api should i use to start?
Im very, very noob with game programming. But i will put a lot effort into it, prommisse!

Ok, i found the topic.
It seems , that because of the flame war, part of the topic was moved heheh.

Ok, i found this : http://libgdx.badlogicgames.com/download.html

So , whats the road should i take?

Learn first LWJGL and then go for libgdx ?
Or go directly to libgdx?

What should i do ?

I will tell you what I would do if I were in your position and knew what I know now:
If I just wanted to start with game programming right away, I would definitly use LibGDX, because once set up (which is fairly easy thanks to the setup tool) you can read some tutorial and start right away. And there is a nice and often copied tutorial featuring a bucket and a raindrop. This might be perfect for you to start with:
http://code.google.com/p/libgdx/wiki/SimpleApp

This is just a hint. You don’t need to do it this way. Of course, learning OpenGL (doesn’t matter if JogAmp/JOGL or LWJGL) would help you, to better understand everything, but it is some hard work and might not help you that much depending on what you want to achieve.

If your main goal is to learn game programming, then LibGDX is the best choice.

If your main goal is to learn graphics programming and OpenGL, then LibGDX is still a good choice. At its core, it’s essentially just another OpenGL wrapper, like LWJGL, but with added utilities (shader compilation, image decoding, vector math, etc). It lets you jump into the important concepts, like writing GLSL or working with vertex data, without having to write hundreds of lines of boilerplate.

The most important “modern OpenGL” concepts to learn first, in my opinion, are Textures and shaders. Once you understand these, the rest of the pipeline will begin to make more sense. I’d suggest reading through some of my tutorials, and following along either with LibGDX or the lwjgl-basics API:

OpenGL, GLSL and LibGDX Tutorials

This will let you learn the concepts without dealing with boilerplate like VBOs and shader utilities. If at a later point you feel compelled to “reinvent the wheel,” you can get down to the wire with LWJGL and write your own VBO/texture/shader/etc utilities.

http://code.google.com/p/libgdx/wiki/SimpleApp

Thanks Guys!
I will print those two Tutorials and make a little Book for me to study.
Does that sound a good Plan ?

:stuck_out_tongue:

Yes, good idea, if You have got enough ink ::slight_smile: Also, try reading up The Coding Universe , he has got some goot tuts.