opengl: add documentation related to matrices
authorSteve Lhomme <robux4@videolabs.io>
Wed, 9 Nov 2016 01:37:30 +0000 (02:37 +0100)
committerThomas Guillem <thomas@gllm.fr>
Thu, 10 Nov 2016 09:34:32 +0000 (10:34 +0100)
These added comments should make it easier to reason about the different
matrices used to do viewpoint related calculations.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
modules/video_output/opengl.c

index 26aaec9..134c5df 100644 (file)
@@ -1039,9 +1039,11 @@ static void getViewMatrix(GLfloat matrix[static 16]) {
      memcpy(matrix, m, sizeof(m));
 }
 
+/* rotation around the Y axis */
 static void getYRotMatrix(float teta, GLfloat matrix[static 16]) {
 
     const GLfloat m[] = {
+        /* x        y       z          w */
         cos(teta), 0.0f, -sin(teta), 0.0f,
         0.0f,      1.0f, 0.0f,       0.0f,
         sin(teta), 0.0f, cos(teta),  0.0f,
@@ -1051,9 +1053,11 @@ static void getYRotMatrix(float teta, GLfloat matrix[static 16]) {
     memcpy(matrix, m, sizeof(m));
 }
 
+/* rotation around the X axis */
 static void getXRotMatrix(float phi, GLfloat matrix[static 16]) {
 
     const GLfloat m[] = {
+        /* x        y       z          w */
         1.0f, 0.0f,      0.0f,     0.0f,
         0.0f, cos(phi),  sin(phi), 0.0f,
         0.0f, -sin(phi), cos(phi), 0.0f,
@@ -1066,6 +1070,7 @@ static void getXRotMatrix(float phi, GLfloat matrix[static 16]) {
 static void getZoomMatrix(float zoom, GLfloat matrix[static 16]) {
 
     const GLfloat m[] = {
+        /* x   y     z     w */
         1.0f, 0.0f, 0.0f, 0.0f,
         0.0f, 1.0f, 0.0f, 0.0f,
         0.0f, 0.0f, 1.0f, 0.0f,
@@ -1075,6 +1080,7 @@ static void getZoomMatrix(float zoom, GLfloat matrix[static 16]) {
     memcpy(matrix, m, sizeof(m));
 }
 
+/* perspective matrix see https://www.opengl.org/sdk/docs/man2/xhtml/gluPerspective.xml */
 static void getProjectionMatrix(float sar, GLfloat matrix[static 16]) {
 
     float f = 3;