与其使用WebGlProgram
创建新的gl.createProgram()
,而是继续重复使用它,是一个好主意吗?
我列出了要重用的步骤:
答案 0 :(得分:1)
您想做什么?所有GPU应用程序中有99.9%会创建着色器程序并完成。他们可能赚1,可能赚5000,但是他们从来没有考虑过您的问题。那么,您到底想做什么?
少数几个允许您编辑着色器的应用程序(shadertoy,glslsandbox,vertexshaderart等)可以制作新的并删除旧的或重复使用。彼此之间没有好处,这只是风格问题。
是的,您可以保留着色器。您可以将着色器与多个程序一起使用。这样做很常见。
如果更改着色器,则不会影响程序,除非/直到您将该程序与gl.linkProgram
重新链接。任何时候调用gl.linkProgram
都会成功,该程序以前所有的统一位置都已过时,您必须查询新的位置。