Opengl es OpenGL ES3:找不到与packUnorm2x16匹配的重载函数

Opengl es OpenGL ES3:找不到与packUnorm2x16匹配的重载函数,opengl-es,glsl,shader,glsles,Opengl Es,Glsl,Shader,Glsles,我正在尝试使用OpenGL ES3 GLSL的packUnorm2x16方法将2个浮点值打包成1个uint值。但是着色器的编译失败,出现'packUnorm2x16':未找到匹配的重载函数错误 这是我的片段着色器: varying highp vec2 vDisplacement; void main() { gl_FragColor = vec4(packUnorm2x16(vDisplacement), vec3(0.0)); } 我正在尝试将结果渲染到GL_R32UI纹理。自Op

我正在尝试使用OpenGL ES3 GLSL的
packUnorm2x16
方法将2个浮点值打包成1个uint值。但是着色器的编译失败,出现
'packUnorm2x16':未找到匹配的重载函数
错误

这是我的片段着色器:

varying highp vec2 vDisplacement;

void main() {
  gl_FragColor = vec4(packUnorm2x16(vDisplacement), vec3(0.0));
}

我正在尝试将结果渲染到GL_R32UI纹理。

自OpenGL ES 3.0以来一直受支持。您必须将版本限定符
#version 300 es
添加到片段着色器的第一个链接:

varying highp vec2 vDisplacement;

void main() {
  gl_FragColor = vec4(packUnorm2x16(vDisplacement), vec3(0.0));
}

#版本300 es
可变高电压矢量2 V位移;
void main(){
gl_FragColor=vec4(packUnorm2x16(vDisplacement),vec3(0.0));
}
自OpenGL ES 3.0以来一直受支持。您必须将版本限定符
#version 300 es
添加到片段着色器的第一个连字符中。