算法生成阴影?

8

为了我的游戏,我需要能够生成投影阴影。这种只跨越底部右侧的类型。就像这样(忽略蓝色正方形):

给定一个RGBA像素的二维数组,我怎么生成一个投影阴影位图呢?

谢谢。

2个回答

12

这是通过对一个黑色方块进行高斯模糊来实现的。同样地,它也可以用于处理其他形状。


1
不要忘记对线性值执行高斯模糊,并在您想要显示它们时将它们转换回伽马压缩值。这对于获得适当的光混合非常重要! - Cory Nelson
1
线性->sRGB伽马的公式:(c <= 0.0031308f) ? (c * 12.92f) : (std::pow(c, 1.0f / 2.4f) * 1.055f - 0.055f) - Cory Nelson

4

阴影是与投射阴影的物体形状相同、模糊且移位的黑色对象。这就是所有的内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接