操作系统:Win7 VS 2012
显卡:Inter HD 4000
在没有任何计算的情况下生成图像没有问题。 但是,当我为预期投影添加p * vPosition时, 执行程序后,我的窗口立即打开和关闭。 谁能指出我做错了什么? 我的vshsader.glsl代码如下所示:
#version 150
in vec4 vPosition;
in vec4 vColor;
out vec4 color;
void main()
{
float d = -10.0;
mat4 p = mat4( 1.0, 0.0, 0.0, 0.0
0.0, 0.0, 1.0, 0.0
0.0, 0.0, 1.0, 0.0
0.0, 0.0, 1/d, 0.0);
gl_Position = p*vPosition;
color = vColor;
}
答案 0 :(得分:3)
在mat4构造函数的每行参数末尾都缺少逗号。
应该是:
mat4 p = mat4( 1.0, 0.0, 0.0, 0.0, // <- end with comma
0.0, 0.0, 1.0, 0.0, // <- end with comma
0.0, 0.0, 1.0, 0.0, // <- end with comma
0.0, 0.0, 1/d, 0.0);