Cocos Creator:WebGL 1.0 向下兼容支持

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

WebGL 1.0 向下兼容支持

由于 WebGL 1.0 仅支持 GLSL 100 标准语法,因此在 Cocos Shader 编译时会提供 GLSL 300 ES 转 GLSL 100 的向下兼容代码(fallback shader),开发者基本不需关心这层变化。

需要注意的是目前的自动向下兼容策略仅支持一些基本的格式转换,如果使用了 GLSL 300 ES 独有的函数(例如 texelFetchtextureGrad)或一些特有的扩展(extensions),推荐根据 __VERSION__ 宏定义判断 GLSL 版本,自行实现更稳定精确的向下兼容,代码示例如下:

#if __VERSION__ < 300
#ifdef GL_EXT_shader_texture_lod
  vec4 color = textureCubeLodEXT(envmap, R, roughness);
#else
  vec4 color = textureCube(envmap, R);
#endif
#else
  vec4 color = textureLod(envmap, R, roughness);
#endif

Cocos Shader 在编译时会解析所有已经是常量的宏控制流,生成不同版本的 GLSL Shader 代码。

3D建模学习工作室 翻译整理,转载请注明出处!

上一篇:Cocos Creator:UBO 内存布局策略 (mvrlink.com)

下一篇:Cocos Creator:VSCode 着色器插件 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号