2010-04-26 41 views

回答

6

着色器程序只有在安裝時纔有效。只有在程序安裝時繪製的調用將使用着色器。您必須安裝着色器,繪製對象,然後卸載着色器。

編輯:通過「安裝」着色器我的意思是使用glUseProgram與你的着色器的句柄。通過「卸載」我的意思是安裝另一個着色器或調用glUseProgram與參數0。請參閱glUseProgram。我的「安裝/卸載」術語來自那裏。

+0

呃你在說什麼?安裝?卸載?你對着色器的定義究竟是什麼? – 2010-04-26 17:47:54

+0

如何卸載着色器?通過glDetachShader?是否有與glUseProgram - > glDontUseProgram相反的東西? – Andrey 2010-04-26 17:48:02

+1

@Jonas,@Andrey,我的「安裝」/「卸載」術語來自'glUseProgram'的文檔。我編輯了我的回覆以澄清。 – 2010-04-26 17:52:36

2

在您的繪圖調用中繪製該着色器的對象,並在沒有它的情況下繪製其他對象;不能真的比這更簡單; P您可以在對象類中使用枚舉,您可以在其中指定啓用的着色器對於該對象,只有當它們應該穿過該着色器時...當然,如果它是全屏像素着色器,那麼當它處理每個像素並呈現新的圖像時,您都遇到麻煩。除非你有一種將對象作爲參數傳遞的方法,並且只有在該對象的位置上應用變更。

相關問題