我和我的budy正在尝试创建一个2D引擎,但我们无法让转换工作,这就是它现在的样子。我们已经为每个元素创建了矩阵,比如缩放,平移等。但是我们不能让四边形移动或做任何事情,我们做过任何数学错误吗?这就是我们现在得到的,我们只是渲染vbo而不是使用着色器。使用着色器我的意思是我们是GLSL。
变换
Matrix3f
Matrix4f
VBO
BasicShader
着色
VertexShader
FragmentShader
我们从哪里渲染和更新
我认为我搞砸了将着色器绑定到vbo,是吗?如果是这样,我该如何解决它......
另外,我只想在现代opengl中回答,所以没有glBegin()和glEnd()谢谢!
答案 0 :(得分:0)
在你的顶点着色器中,你写了gl_Position = in_Position * transform;
这应该返回一个矩阵,而不是一个向量。鉴于您的矩形是纯白色并且您已经为颜色做了准备,我会冒你的着色器根本无法编译的风险。
gl_Position = transform * in_Position;
是使用矩阵转换向量的正确顺序。