I’m just starting out learning OpenGL but my focus is on OpenGL ES because I want to develop apps for Android (using the NDK). So I don’t want to use any toolkit which has compatibility issues either with the OS (file access and windowing functions seem like they may be an issue there) or with OpenGL ES.

Looking at toolkits such as the Unofficial OpenGL SDK, there’s a lot of stuff in there I’d like to use (such as the GL Image library). In order not to waste a lot of time barking up the wrong tree with toolkits, can anybody tell me if there are compatibility issues, and maybe suggest any toolkits which have full OpenGL ES and NDK compatibility?

It is best to focus on Quaternions rather than Eulerian Rotational Matrices. For eg. Unity GL and VR are implemented purely in Quaterions. This interface is a common to GL and VR.

Simply put, Quaternions allow you to think in terms of vectors rather than Euler pitch, raw and roll angles which suffer from gimbal lock.

Make a pistol with your forefinger and thumb. Don’t point it at anyone. That is a Quaternion (forward and up vector - right is derived from the cross product)

Quaterions are an order of magnitude more efficient than Rotational Matrices and the calculus involved with Quaternions is also much more powerful than having to sweat through pages of highschool trig code.

There is some talk of implementing Quaternions directly in the GPU, allowing you to focus on more important things like Geometry Shaders.

Normalized Quaternions are excellent for rigid body physics (eg. GL models). Skew and sheer info is lost.

Quaternions were developed in the 18th century to speed artillery calculations over traditional Euler math (and also to avoid the dreaded gimbal lock).

Just remember: Euler gimbal locked, Quaternion pistol cocked.

If you are new in OpenGL maybe vr toolkit is not the best place to start learning opengl.

You could find this interesting ftp://ftp.informatik.hu-berlin.de/pub3/Linux/Qt/QT/developerguides/qtopengltutorial/OpenGLTutorial.pdf