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

ron*_*nag 2 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     {
Run Code Online (Sandbox Code Playgroud)

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

Vil*_*nde 7

switch语句已添加到GLSL 1.3版.

尝试在着色器源的顶部插入"#version 130"行.

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