跳到主要內容
支援知識庫

在 Intel GPU 上使用直接插值參數時,OpenGL GLSL mix() 編譯錯誤

內容類型: 疑難排解   |   文章 ID: 000102994   |   最近查看日期: 2026 year 07 month 10 day

環境

作業系統

Windows 11* Family, Windows® 10 family

說明

這個問題出現在 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 廠商上表現正常,

解決方法

英特爾目前正在調查此問題。如需更多資訊,請聯絡英特爾客服。

免責聲明

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。