在 Intel GPU 上使用直接插值參數時,OpenGL GLSL mix() 編譯錯誤
內容類型: 疑難排解 | 文章 ID: 000102994 | 最近查看日期: 2026 year 07 month 10 day
這個問題出現在 GLSL 著色器中,因為 mix(vec3, vec3, float) 會根據浮點權重的提供方式表現不同。直接呼叫,例如:
vec3 color = mix(a, b, 0.75);
可能會產生錯誤的結果,而使用輔助工具的邏輯等價版本則是:
vec3 color = mix(a, b, clamp01(0.75));
float clamp01(float x) {
return clamp(x, 0.0, 1.0);
}
在受影響的 Intel OpenGL 驅動程式上顯示正確行為。
著色器程式碼符合規範,類型相符且有效使用夾具,且在其他 GPU 廠商上表現正常,
英特爾目前正在調查此問題。如需更多資訊,請聯絡英特爾客服。