1
我正在通過一個OpenGL教程,並在代碼示例中函數glGetUniformLocation
和glUseProgram
在主遊戲循環內被無條件地調用。爲什麼要在遊戲循環中設置着色器程序?
看起來像這樣做會浪費一次這個框架,並且程序在將此邏輯移至遊戲循環開始之前仍然正確行事。在遊戲循環中保留這個邏輯有什麼原因嗎?
我正在通過一個OpenGL教程,並在代碼示例中函數glGetUniformLocation
和glUseProgram
在主遊戲循環內被無條件地調用。爲什麼要在遊戲循環中設置着色器程序?
看起來像這樣做會浪費一次這個框架,並且程序在將此邏輯移至遊戲循環開始之前仍然正確行事。在遊戲循環中保留這個邏輯有什麼原因嗎?
只有當着色器初始化時才需要調用GetUniformLocation。如果稍後存儲哪個程序用於某個變量,glUseProgram可能會很有用。