为了我的游戏,我需要能够生成投影阴影。这种只跨越底部右侧的类型。就像这样(忽略蓝色正方形):
给定一个RGBA像素的二维数组,我怎么生成一个投影阴影位图呢?
谢谢。
这是通过对一个黑色方块进行高斯模糊来实现的。同样地,它也可以用于处理其他形状。
(c <= 0.0031308f) ? (c * 12.92f) : (std::pow(c, 1.0f / 2.4f) * 1.055f - 0.055f)
阴影是与投射阴影的物体形状相同、模糊且移位的黑色对象。这就是所有的内容。
(c <= 0.0031308f) ? (c * 12.92f) : (std::pow(c, 1.0f / 2.4f) * 1.055f - 0.055f)
- Cory Nelson