我想两个纹理着色器使用的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