1
我有以下情況: 我有一個材質有2個紋理-diffuse和alpha蒙版。 在大多數情況下不使用阿爾法遮掩,而在相關片段着色器取樣它仍然defined.It工作正常,但如果我打開GL調試輸出我得到以下警告:紋理狀態使用警告
嚴重性:低,消息:紋理狀態使用警告:紋理1基於 級別不一致。檢查紋理大小。
當alpha掩碼目標沒有綁定時產生警告。
我有2個問題:
- 這個警告可能對渲染任何負面影響?
- 如果第一個答案是「是」,那麼怎麼能不用的採樣器被禁用,因此,這種類型的警告沒有產生?(這是不使用的預處理器在GLSL,因爲它可以在運行時改變的東西)
我不想在這種情況下使用單獨的着色器,因爲它會明顯影響性能,因爲着色器管線切換。 –
@MichaelIV實際上取決於你的着色器,它可能會通過丟棄一些檢查是否使用alpha的分支代碼進行優化,GPU上的分支代價很高。它可以勝過着色器開關。 – Vasaka
我使用子程序逃避分支:) –