Jus*_*tin 3 opengl macos glsl opengl-3 osx-mountain-lion
此片段着色器代码在Windows中编译,但在OS X(Mountain Lion,使用3.2核心上下文)中引发错误.
#version 150 core
in int vinstance_id;
uniform uint object_id[16];
out uint id_map;
void main() {
id_map = object_id[vinstance_id];
}
Run Code Online (Sandbox Code Playgroud)
错误是:
ERROR: 0:2: int can't be an in in the fragment shader
Run Code Online (Sandbox Code Playgroud)
我不认为这是正确的:在GLSL 1.50规范中,第4.3.4节说明片段着色器:
片段输入只能是有符号和无符号整数和整数向量,浮点数...
这是驱动程序错误吗?
Bar*_*icz 10
不,你没有彻底阅读规范.
必须使用插值限定符flat限定有符号或无符号整数或整数向量的片段着色器输入.
(大致位于链接文档第32页的中间,如果有人想验证的话)
归档时间: |
|
查看次数: |
779 次 |
最近记录: |