0
我想用Alpha混合(SRC_ALPHA, ONE_MINUS_SRC_ALPHA)
,基本上是這樣的:CG着色器阿爾法混合
frag_out.aaaa * frag.out + ((1.0, 1.0, 1.0, 1.0) - frag_out.aaaa) * pixel_color
假設已經像素的顏色在屏幕上是(1.0, 1.0, 1.0, 1.0)
顏色我目前呈現爲(1.0, 1.0, 1.0, 0.4)
當我渲染時,屏幕上產生的顏色具有α0.76(儘管在之前它是完全不透明的)
確實:
(0.4, 0.4, 0.4, 0.4) * (1.0, 1.0, 1.0, 0.4) + (0.6, 0.6, 0.6, 0.6) * (1.0, 1.0, 1.0, 1.0) = (1.0, 1.0, 1.0, 0.76)
因此,基本上屏幕上的顏色是不透明的(白色),並且在透明精靈顯示在屏幕上方後,屏幕變得透明(0.76 alpha),並且我可以查看背景。這將是完美的,如果我可以這樣混合:
(0.4, 0.4, 0.4, 1.0) * (1.0, 1.0, 1.0, 0.4) + (0.6, 0.6, 0.6, 0.6) * (1.0, 1.0, 1.0, 1.0) = (1.0, 1.0, 1.0, 1.0)
是否有可能實現這一目標?如果是,如何?
謝謝!你知道如何在CG陰影語言中指定這種類型的混合嗎? – Terko
對不起,從未使用CG。 – BDL