我有以下顶点着色器:
attribute vec4 Position;
attribute vec4 SourceColor;
varying vec4 DestinationColor;
uniform mat4 Projection;
void main(void) {
DestinationColor = SourceColor;
gl_Position = Projection * Position;
}
然后我尝试将以下矩阵应用于Projection
制服:
float matrix[16] = {
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f
};
glUniformMatrix4fv(projectionSlot, 1, GL_FALSE, matrix);
这不应该什么都不做?运行之后,我再也看不到屏幕上的物体......
答案 0 :(得分:1)
是的,它应该是无操作。如果你删除投影倍数然后你说它工作正常? 几个想法:
答案 1 :(得分:0)
我从未在编程中使用过矩阵,但我已经学了很多数学课程。不知道你使用的投影是如何工作的,但请记住,x投射到y上的投影与y投影到x上的情况大不相同。如果你没有,请尝试切换它们。