Matrix 输出ModelView矩阵坐标
在应用了各种变换之后,我试图在程序中数学上遵循ModelView矩阵(以及其他一些矩阵)的坐标。我想让程序输出这些坐标,但我不能完全实现Matrix 输出ModelView矩阵坐标,matrix,opengl-es-2.0,Matrix,Opengl Es 2.0,在应用了各种变换之后,我试图在程序中数学上遵循ModelView矩阵(以及其他一些矩阵)的坐标。我想让程序输出这些坐标,但我不能完全实现 modelViewMatrix = GLKMatrix4MakeTranslation(-1.5f, 1.25f, -4.0f); modelViewMatrix = GLKMatrix4Scale(modelViewMatrix, 2.75, 2, 0); GLfloat MVMatrix[16]; if (not_printed) { g
modelViewMatrix = GLKMatrix4MakeTranslation(-1.5f, 1.25f, -4.0f);
modelViewMatrix = GLKMatrix4Scale(modelViewMatrix, 2.75, 2, 0);
GLfloat MVMatrix[16];
if (not_printed) {
glGetFloatv(GL_MODELVIEW_MATRIX, MVMatrix);
for (int i=0; i<16; i++) {
printf("%f ", MVMatrix[i]);
}
}
not_printed = 0;
modelViewMatrix=GLKMatrix4MakeTranslation(-1.5f,1.25f,-4.0f);
modelViewMatrix=GLKMatrix4Scale(modelViewMatrix,2.75,2,0);
GLM矩阵[16];
如果(未打印){
glGetFloatv(GL_MODELVIEW_矩阵,MVMatrix);
首先,GLK与OpenGL矩阵堆栈无关,它创建自己的矩阵,而不是与OpenGL的“当前”矩阵相乘
另一件我觉得特别奇怪的事情是,GL\u MODELVIEW\u MATRIX
甚至是在OpenGL ES 2.0上下文中定义的,这是非标准的行为。OpenGL ES 2.0没有当前的颜色、当前的矩阵等。当它强制独占使用可编程管道时,它将这些东西去掉了
相反,您要做的是:
modelViewMatrix=GLKMatrix4MakeTranslation(-1.5f,1.25f,-4.0f);
modelViewMatrix=GLKMatrix4Scale(modelViewMatrix,2.75,2,0);
如果(未打印){
对于(inti=0;iPerfect)。非常感谢!