Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C OpenGL ES 2.0:对象在旋转时变平_C_Opengl Es 2.0 - Fatal编程技术网

C OpenGL ES 2.0:对象在旋转时变平

C OpenGL ES 2.0:对象在旋转时变平,c,opengl-es-2.0,C,Opengl Es 2.0,我有个问题。我正在用OpenGLES2.0在Raspberry Pi上旋转屏幕上的一个对象。旋转的一部分似乎工作正常,但另一部分完全使对象变平?到目前为止,我已经尝试了两个旋转函数,得到了完全相同的结果。深度缓冲区也已启用和设置。我开始认为我的投影矩阵可能是这里的问题,但我不确定。现在有太多的代码要发布,当有人能够缩小这种行为的来源时,我会用代码更新这个问题 以下是上述问题的视频: 提前谢谢。所以我终于解决了我的问题。。。我自己写的矩阵乘法函数。问题是,我将乘法分配给一个原始矩阵,导致结果向下

我有个问题。我正在用OpenGLES2.0在Raspberry Pi上旋转屏幕上的一个对象。旋转的一部分似乎工作正常,但另一部分完全使对象变平?到目前为止,我已经尝试了两个旋转函数,得到了完全相同的结果。深度缓冲区也已启用和设置。我开始认为我的投影矩阵可能是这里的问题,但我不确定。现在有太多的代码要发布,当有人能够缩小这种行为的来源时,我会用代码更新这个问题

以下是上述问题的视频:


提前谢谢。

所以我终于解决了我的问题。。。我自己写的矩阵乘法函数。问题是,我将乘法分配给一个原始矩阵,导致结果向下扭曲

void matrix_multiply(GLfloat * matrix1, GLfloat * matrix2) {

    matrix1[0] = matrix1[0] * matrix2[0] + matrix1[4] * matrix2[1] ... // etc

    [...]

    matrix1[4] = matrix1[0] * matrix2[4] + ... //etc

}
现在,如果您注意到,matrix1[0]的值已经更改并重新分配


新手犯了错误。

那个视频是私人的。但是下意识的猜测:你是在每一帧都重新生成旋转矩阵,还是在对现有矩阵进行变异?@Tommy我在每一帧都从一个身份矩阵生成。@Tommy视频也被改为公开。@ReX357你在使用消隐吗?@whiteFang我不是,但我刚刚尝试过使用它,这让事情变得更糟。