什么版本的 OpenGL 着色语言相当于 OpenGL ES 3.2 SL?

What version of OpenGL Shading Language is equivalent to OpenGL ES 3.2 SL?

什么版本的 GLSL 等同于 OpenGL ES 3.2 SL?它们具有完全相同的功能还是缺少某些功能?在学习做 ES 着色器(主要对计算着色器感兴趣)时依赖旧版本的橙皮书是否安全?

Compute Shaders are provided since OpenGL 4.3, respectively GpenGL Shading Language 4.30.
它们也可以通过扩展 ARB_compute_shader 获得。

没有与 ESSL 3.20 完全等效的桌面 GLSL 版本。有一些 GLSL 的特性根本没有进入 ES(着色器子例程,很好的摆脱)。还有一些功能,虽然在技术上属于两者的一部分,但只有在 ESSL 领域才真正重要(例如精度限定符)。

如果您不使用特定于 ESSL 的学习 material,您最好的办法是在引入新概念时参考 ESSL 3.20 规范,以确保它在 ESSL 中可用。

"What version of GLSL is equivalent to OpenGL ES 3.2 SL"

"do they have full parity or are there missing features"

  • 阅读规范,可能是第二个。

"safe to rely on an older version of The Orange book"

  • 你需要那种特定的探险家个性,把失败变成成功的经验和大量的时间。无论教程作为网络搜索结果出现在前三页上,我都会调用 "safe".