我希望能夠在一個片段中混合三種不同的紋理,以便它們均等插值。在GLSL中的一個片段中插入三個紋理(webgl)
我設法得到兩個紋理(textureColor1,textureColor2)通過使用第三個紋理(textureColor3)跨越片段混合,這是一個黑色到白色的漸變。我想用三種紋理做類似的事情,但是如果能夠插入三個紋理而不需要包含另一個紋理作爲掩碼,那將會很棒。任何幫助是極大的讚賞。
vec4 textureColor1 = texture2D(uSampler, vec2(vTextureCoord1.s, vTextureCoord1.t));
vec4 textureColor2 = texture2D(uSampler2, vec2(vTextureCoord2.s, vTextureCoord2.t));
vec4 textureColor3 = texture2D(uSampler3, vec2(vTextureCoord1.s, vTextureCoord1.t));
vec4 finalColor = mix(textureColor2, textureColor1, textureColor3.a);
這並不完全清楚你想要實現什麼。當你說你想讓三種紋理「平等混合」時,你的意思是什麼? –
爲什麼不能將每個textureColorX除以3,然後添加這些值?或者手動任何你想要的「插值算法」。 –
感謝您的幫助!我希望能夠同樣地混合三種不同的紋理,着色器如何插入分配給每個頂點的三種不同顏色。目前我有一個手寫算法,基於它們的alpha來混合紋理。我正在尋找它來插入他們如上所述。 –