编译问题,简单的GLSL着色器

斯蒂芬·迪米特洛夫(Stefan Dimitrov)

最近,我熟悉GLSL,然后编写了这个简单的着色器,用于在2D环境中绘制的多边形周围创建轮廓。但是,我似乎无法通过编译获取它,因为它使我感到困惑,并出现以下错误:

无法编译片段着色器:0(2):错误C0000:语法错误,意外的标识符,在标记“ tex”处期望为“ {” 0(3):语法错误,意外的)),在标记“处期望为:::” )”

这是有问题的着色器:

uniform vec2 stepSize;
uniform sampler2d tex;
vec4 borderEffect(vec4 col, vec2 texture Post, sampler2d texture) {
   float outlineIntensity = 4*texture2d(texture, texturePos).a 
   - texture2d(texture, texturePos + vec2(stepSize.x, 0.0)).a 
   - texture2d(texture, texturePos + vec2(-stepSize.x, 0.0)).a 
   - texture2d(texture, texturePos + vec2(0.0, stepSize.y)).a 
   - texture2d(texture, texturePos + vec2(0.0, -stepSize.y)).a;

   return mix(texture2d(texture, texturePos), col, outlineIntensity);
} 

void main() {
   gl_FragColor = gl_Color*borderEffect(vec4(0.0, 0.0, 0.0, 1.0), gl_TexCoord[0].xy, tex):
} 

所以,我的问题是,这些错误是什么意思,我该如何解决它们?

垃圾

它必须是统一的sampler2D,在第二行中有一个大的“ D”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章