0
我理解是否正确:如果我只想更改顶点着色器并保留片段,我仍然需要创建全新的着色器程序并设置旧片段着色器和新顶点着色器?WebGL:我是否真的必须更改整个着色器程序才能更改一个着色器?
我理解是否正确:如果我只想更改顶点着色器并保留片段,我仍然需要创建全新的着色器程序并设置旧片段着色器和新顶点着色器?WebGL:我是否真的必须更改整个着色器程序才能更改一个着色器?
是的,你理解正确。
通常,您应该在初始化时创建所有需要的程序并将它们保留在周围,以便唯一要做的事情是context.useProgram(p)
。 useProgram相对便宜,但编译和链接可能非常慢(取决于平台),并且在渲染帧时不应该完成。