[opengl errors] QOpenGLShader::compile(Fragment): 0(2) : error C0204
使用Qtcreator 写完 shader文件之后运行时出现标题的这个错误
报错信息如下:
QOpenGLShader::compile(Fragment): 0(2) : error C0204: version directive must be first statement and may not be repeated
*** Problematic Fragment shader source code ***
#ifdef GL_KHR_blend_equation_advanced
#extension GL_ARB_fragment_coord_conventions : enable
#extension GL_KHR_blend_equation_advanced : enable
#endif
#define lowp
#define mediump
#define highp
#line 1
???#version 330 core
out vec4 FragColor;
void main(void)
{
FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);
}
***
看到那三个问号了没???#version 330 core
,一开始我是怎么也没想明白,后来隐约觉得是编码问题,但是很纳闷,这三个问号从何而来呢?
赶紧看了下文件编码,是 uft-8 with BOM, 改成 utf-8 编码格式之后就没问题了。