0
必須對每個頂點數組對象上傳一次着色器制服(如不經常更改的投影矩陣)嗎?或者,綁定變量與激活的VAO無關,並且着色器在繪製時僅與頂點對象相連接?必須爲每個VAO上傳一次着色器制服嗎?
(例如做了着色器代表了自己,直到頂點數據通過繪圖命令發送給它,或者它在某種程度上必然要產生的VAO?)
必須對每個頂點數組對象上傳一次着色器制服(如不經常更改的投影矩陣)嗎?或者,綁定變量與激活的VAO無關,並且着色器在繪製時僅與頂點對象相連接?必須爲每個VAO上傳一次着色器制服嗎?
(例如做了着色器代表了自己,直到頂點數據通過繪圖命令發送給它,或者它在某種程度上必然要產生的VAO?)
校服都無關VAOs;他們是完全不同的數據。制服是程序對象狀態。 VAO是完全獨立的對象。
與大多數國家,統一的數據集中到一個程序將在更改之前保持這種方式。
想想他們的名字所暗示的制服,他們是統一的。 Vertex Arrays用於提供每個頂點的數據,但統一變量在GLSL的每個階段(着色器)的輸入數據的每個元素(例如頂點[VS],原始[GS],片段[PS])上是統一的程序工作。您可以將它們設置爲每個程序對象,並且可以在附加到該程序的每個階段中使用該值。 –