Glm :: ortho () est-il réellement faux?

Récemment, j'ai pensé que ce serait une bonne idée pour passer de l'ancien (obsolète) fonctionnalités OpenGL fournit, tels que les opérations matricielles et le fixe en fonction de pipeline.

Je suis en utilisant GLM que ma bibliothèque de matrice pour simplifier un peu les choses. Le problème est qu'il peut avoir causé plus de problèmes qu'il simplifiée...

Projection de Perspective a bien fonctionné avec mes shaders et de la configuration, mais quand j'ai essayé de passer à l'orthogonale, tout s'est écroulé. Mes points et simple quads ne s'est pas affichée. Lorsque j'ai utilisé l'ancien OpenGL, les matrices, les choses ont commencé à travailler à nouveau.

J'ai choisi de la matrice de projection. Voici comment je l'ai appelé:

glm::mat4 projMat = glm::ortho( 0, 400, 0, 400, -1, 1 );

J'ai comparé qu'à celui fourni par opengl une fois que ceci est appelé"

glOrtho( 0, 400, 0, 400, -1, 1 );

Les seules différences sont l' [0][0] élément et [1][1] element (qui, autant que je sache, être égal à "2/largeur" et "2/hauteur", respectivement). À partir de l'OpenGL de la matrice, les valeurs étaient exactement ça! Sur le glm de la matrice, cependant, les valeurs étaient de 0.

Une fois que j'ai commuté manuellement les valeurs de la glm matrice après que j'ai appelé glm::ortho, tout fonctionnait à nouveau!

Donc ma question: est ce que le glm::ortho() fonction vraiment cassé, ou je suis juste à l'aide de ce mal?

source d'informationauteur Jamie Syme