2013-06-26 25 views
1

我有以下情況: 我有一個材質有2個紋理-diffuse和alpha蒙版。 在大多數情況下不使用阿爾法遮掩,而在相關片段着色器取樣它仍然defined.It工作正常,但如果我打開GL調試輸出我得到以下警告:紋理狀態使用警告

嚴重性:低,消息:紋理狀態使用警告:紋理1基於 級別不一致。檢查紋理大小。

當alpha掩碼目標沒有綁定時產生警告。

我有2個問題:

  1. 這個警告可能對渲染任何負面影響?
  2. 如果第一個答案是「是」,那麼怎麼能不用的採樣器被禁用,因此,這種類型的警告沒有產生?(這是不使用的預處理器在GLSL,因爲它可以在運行時改變的東西)

回答

0

它不應該有任何影響,除非你點擊一些驅動程序優化voodoo的情況下,禁用此警告你可能希望使用單獨的着色器的情況下,當alpha綁定,並沒有約束力。

+0

我不想在這種情況下使用單獨的着色器,因爲它會明顯影響性能,因爲着色器管線切換。 –

+0

@MichaelIV實際上取決於你的着色器,它可能會通過丟棄一些檢查是否使用alpha的分支代碼進行優化,GPU上的分支代價很高。它可以勝過着色器開關。 – Vasaka

+0

我使用子程序逃避分支:) –

相關問題