2011-11-23 126 views
2

我遇到一个比较奇怪的GLSL编译错误,而使用英特尔高清显卡3000英特尔和GLSL - 无法编译片段着色器

ERROR: 0:130: 'switch' : no matching overloaded function found (using implicit conversion)
ERROR: 0:131: '{' : syntax error parse error

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

任何想法可能会导致这个问题以及如何解决它?

回答

7

switch-statement被添加到GLSL 1.3版。

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

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