我想兩個紋理着色器使用的OpenGL ES 2.0的如何兩個紋理沒有alpha混合使用GLSL
,你可以在截圖中看到合併合併,我想創建針對使用動態環境映射的後向對象的針反射。 但是,針的反射看起來是半透明的,它與我的環境地圖相融合。
這裏是我的片段着色器;
varying highp vec4 R;
uniform samplerCube cube_map1;
uniform samplerCube cube_map2;
void main()
{
mediump vec3 output_color1;
mediump vec3 output_color2;
output_color1 = textureCube(cube_map1 , R.xyz).rgb;
output_color2 = textureCube(cube_map2 , R.xyz).rgb;
gl_FragColor = mix(vec4(output_color1,1.0),vec4(output_color2,1.0),0.5);
}
但是,「混合」方法導致混合兩個紋理。
我也檢查了Texture Combiners的例子,但它也沒有幫助。
有什麼辦法可以將兩種紋理結合起來,而不會相互混合。
謝謝。
如何定義組合兩個紋理沒有alpha混合?應該輸出什麼,而不是你所得到的? – 2012-08-07 14:13:30
這沒有什麼意義。你如何結合紋理而不混合它們? – Roest 2012-08-07 14:16:03
我有兩個立方體貼圖和其中一個紋理動態創建,用於反射到場景中的其他對象。基本上我不想將動態地圖與我的環境地圖混合。好的,我會拍攝一個更好的解釋屏幕截圖。 – ytur 2012-08-07 14:17:04