2015-10-10 15 views
1

我正在通過一個OpenGL教程,並在代碼示例中函數glGetUniformLocationglUseProgram在主遊戲循環內被無條件地調用。爲什麼要在遊戲循環中設置着色器程序?

看起來像這樣做會浪費一次這個框架,並且程序在將此邏輯移至遊戲循環開始之前仍然正確行事。在遊戲循環中保留這個邏輯有什麼原因嗎?

回答

1

只有當着色器初始化時才需要調用GetUniformLocation。如果稍後存儲哪個程序用於某個變量,glUseProgram可能會很有用。