gpt4 book ai didi

3d - 使用深度缓冲使水边变得柔和

转载 作者:行者123 更新时间:2023-12-04 12:55:11 25 4
gpt4 key购买 nike

我想做软边水。所以我制作了一个渲染目标来保持场景的深度,然后我渲染水几何体。

并放水 alpha = ( SceneDepth - WaterDepth ) * Scale
看下图的结果,水的边缘变软了,但看起来很奇怪,像一个梯子。

那么如何处理呢?

非常感谢!

water alpha

最佳答案

我最近一直在研究类似的问题。

我使用透明度来柔化水的边缘。

为了利用水的深度来确定 alpha 值,我使用了 HLSL smoothstepclamp返回一个介于 0.75f 和 1.0f 之间的不透明度值的函数:

// colour can be whatever your lighting equations compute
float3 colour = (r, g, b);

if ( SeaDepth <= 0.2f )
discard;

float opacity = clamp(
smoothstep( 0.f, 12.f, SeaDepth ),
.75f, 1.f
);

return float4(colour.xyz, opacity);

关于3d - 使用深度缓冲使水边变得柔和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15540595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com