0
我理解是否正確:如果我只想更改頂點着色器並保留片段,我仍然需要創建全新的着色器程序並設置舊片段着色器和新頂點着色器?WebGL:我是否真的必須更改整個着色器程序才能更改一個着色器?
我理解是否正確:如果我只想更改頂點着色器並保留片段,我仍然需要創建全新的着色器程序並設置舊片段着色器和新頂點着色器?WebGL:我是否真的必須更改整個着色器程序才能更改一個着色器?
是的,你理解正確。
通常,您應該在初始化時創建所有需要的程序並將它們保留在周圍,以便唯一要做的事情是context.useProgram(p)
。 useProgram相對便宜,但編譯和鏈接可能非常慢(取決於平臺),並且在渲染幀時不應該完成。