问题描述
我在一个webgl应用程序中有多个着色器,它们全部使用一些常用功能。
这些常用功能相当长,需要花费几秒钟的时间进行编译。
是否可以创建一种“库”着色器并从几个程序链接到它?
解决方法
否,无法预编译函数。
您可以使用字符串操作将函数插入GLSL,但是无法预编译或单独编译函数。
可能可以异步编译着色器。这不会使它们更快地编译,但至少不会冻结浏览器。参见:https://www.khronos.org/registry/webgl/extensions/KHR_parallel_shader_compile/