1
我被卡住了片段着色器。我設法從上到下顯示一個線性漸變(cp。左圖)。目標是將徑向白色漸變疊加到此線性漸變上(如左圖所示的黑色虛線=>右圖所示爲目標)。如何在片段着色器內的線性漸變上疊加徑向漸變?
我知道我必須以某種方式組合x和y座標,但是迄今爲止所有的試驗都失敗了 - 我覺得數學太糟糕了 - /我也沒有想出如何混合藍色以實現白色陰影。
有人能幫我一個提示嗎?
這是當前着色器,讓左圖像結果(取決於顏色的制服):
// Precision
precision highp float;
// Uniforms
uniform vec2 uResolution;
// Colors
uniform vec3 uColor1;
uniform vec3 uColor2;
void main(void) {
vec2 position = gl_FragCoord.xy/uResolution;
vec3 color = vec3(uColor2.x+(uColor1.x-uColor2.x)*position.y, uColor2.y+(uColor1.y-uColor2.y)*position.y, uColor2.z+(uColor1.z-uColor2.z)*position.y);
gl_FragColor = vec4(color.x, color.y, color.z, 1.);
}
哇 - 非常非常感謝你!我沒有想到一個完整的解決方案:-D只是偉大的 - 你的代碼完美無瑕!正是我需要的。 – salocinx
很高興認識這個!如果你需要更多的「數學」解釋,我會很樂意提供幫助,只是告訴我你不瞭解的內容。 –
感謝您的報價。目前沒有更多的數學問題,我仍在試驗你的非常酷的着色器:-)但是我看到你是一個OpenGL ES專家 - 也許你可以幫我解決另一個我正在與之戰鬥的OpenGL問題:http:// stackoverflow。 COM /問題/ 32008308/OpenGL的ES-2-0-如何對提高幀率-的拉 - 精靈 – salocinx