Beginning OpenGL/LWJGL, First steps advice

Started by CrossKun, March 17, 2013, 20:17:08

Previous topic - Next topic

CrossKun

Hello everyone!
I would like to ask two to three nooby-questions about LWJGL and OpenGL
I started learning OpenGL/LWJGL via Ninjacave and "TheCodingUniverse" (currently at video #11) Tutorials. These are quite good tutorials HOW to program, but unfortunatly he doesn't explain often WHY certain methods are used, so I always need to do researches.

So, while doing researches, I found "vertex is deprecated, dont use it"-conversations, and began wondering if it's useful to learn from these tutorials IF they are using deprecated methods.

Also, it is said that it's possible to understand other OpenGL Tutorials (for C/C++ developers), but checking some out, I can't get into it.

So my questions are:
- Is it wise to continue looking for tutorials using deprecated methods?
- If it is: Shall I keep going with theCodingUniverse, even though it only covers OpenGL in 2D?
- Would you recommend certain beginnerfriendy-Tutorials/Books to start with?

(I checked many tuts/books, but can't figure out which are good to start with.)

I know that you can't become an OpenGL pro in a few weeks, but also would love to hear some advice which you could give a nooby on his first few steps :)

Thanks a lot for every answer, cause right now I feel a bit like a lost lamb.
(*PS: Of course I checked the search function, which already helped me solving some other issues)

quew8

It is fine to use the deprecated methods to gain an understanding of OpenGl. If you started off, trying to use only new methods, you simply couldn't cope. Once you do understand the basics (I haven't seen these coding universe tuts, but by 11 you probably know the basics) you should probably start weening off deprecation and fixed function in general.
My advice is always to check out the tutorials on the LWJGL wiki: http://www.lwjgl.org/wiki/index.php?title=Main_Page I found them no end of help on my learning curve.
In summary:
-Yes, for now.
-Yes, until you feel you can move on up.
-http://www.lwjgl.org/wiki/index.php?title=Main_Page

CrossKun

Great, I appreciate your advice, thanks a lot! :)

mattdesl

TheCodingUniverse is not a great introduction to LWJGL as it doesn't explain essential concepts -- like how the OpenGL pipeline works, or how to load textures. It relies on SlickUtil, which is old and deprecated, and encourages old-school OpenGL stuff.

In my opinion the best introduction to LWJGL is to write your own Texture wrapper. This gets you comfortable with standard LWJGL practices, like using NIO buffers, static imports, state management, display creation and app lifecycle, etc.

Some of my own tutorials:
Display
Texture Handling
Buffers & LWJGL

Once you are more comfortable with these basics, you can either continue to try and learn the programmable pipeline with LWJGL, by writing your own ShaderProgram class and SpriteBatcher. However, these concepts are a little advanced, and depend on a lot of knowledge for everything to come together.

Personally I would recommend learning the programmable pipeline using a "higher level" wrapper like LibGDX, or the API from my tutorials. This will let you learn GLSL and various OpenGL concepts (vertex attributes, fragment shaders, etc) without all the complicated boilerplate of low-level GL. This tutorial series covers the basics, and should get you started:
Intro to GLSL and Shader Programming

Then, if you decide you still want to "reinvent the wheel" (rather than use LibGDX), you will be much better prepared for it.

quew8

That actually sounds like very good advice. Where were you when I was learning? For the record, thinking outside the wheel is the new thinking outside the box.