Intel和GLSL - 无法编译片段着色器

时间:2011-11-23 15:53:47

标签: opengl glsl

使用Intel HD Graphics 3000时,我遇到了一个相当奇怪的GLSL编译错误。

  

错误:0:130:'switch':找不到匹配的重载函数(使用   隐式转换)
  错误:0:131:'{':语法错误解析错误

12  uniform int pixel_format;   
...
128 vec4 get_rgba_color()                                                               
129 {                                                                                   
130     switch(pixel_format)                                                            
131     {

任何想法可能导致这种情况以及如何解决这个问题?

1 个答案:

答案 0 :(得分:7)

switch语句已添加到GLSL 1.3版。

尝试在着色器源的顶部插入“#version 130”行。

如果这没有用,那么你的GPU不支持它,你需要使用嵌套的if语句。