(On Topic again)

Am 04.12.2013 um 17:53 schrieb Sean Harmer <sean.har...@kdab.com>:

>  It does however mean learning about buffer objects 
> (vertex buffer objects (VBOs) and maybe index buffers (IBOs)) as well as 
> shaders.

And to make things slightly more confusing (at least for me when I touched that 
shady shader language): since its introduction of the GLSL it had its own 
versioning. So when you talked e.g. about OpenGL 3.1 you were then referring to 
GLSL 1.5 (or whatever - numbers might be wrong here and are for illustration 
purposes only -> Wikipedia gives a nice overview).

Only since OpenGL 3.2 (or 3.3) was the GLSL version "in sync" with the OpenGL 
API version.

Needless to say that the GLSL syntax changed noticeably somewhere in between, 
especially when it comes to "input/output" parameter declaration. I think most 
(if not all) Qt OpenGL examples use the "older" (outdated?) syntax (GLSL 1.5?), 
but that might simply be such that the shaders work on both (desktop) OpenGL 
and OpenGL ES 2. Because what I said mainly refers to the *desktop* OpenGL 
version ;)

Best thing: buy a recent OpenGL 4.x book (which usually also shows the changes 
done to previous GLSL versions, and usually also the differences to OpenGL ES). 

:)

Cheers,
  Oliver

P.S. Qt 5 has more and more "helper classes" which implement lots of GL "boiler 
plate" code which lets you create a GL context, compile GLSL shaders (including 
binding parameters with a Qt style API) etc. - some/most of those Qt classes 
even work on both OpenGL/ES - but it is still useful to understand how a 
"shader program" works on how "vertex data" gets transfered from RAM to VRAM 
(keyword: "vertex buffers").

By the way: if you find glVertex ("immediate mode") or glMatrixMult calls and 
the sort in any GL example/tutorial code: ignore it! That's definitively not 
the way anymore! The way to go are GLSL shaders which manipulate vertex data 
and "fragments" ("colour") etc., "buffer objects" and yes, OpenGL API 
deprecated all matrix operations such as multiplication, translation etc.. 
Coincidentally Qt offers nice matrix classes since several versions ;)
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to