如何使用taichi做出PS阴影控件的效果

PS里面有个对于前景加投影的控件,可以指定目标前景的投影程度,方向等

对于一张图,已知前景目标在二维平面上的位置(可乐),需要投影的方向,模糊度等参数,如何实现上图的投影效果


做一个渐变的阴影贴图?

请问,这个渐变贴图,生成逻辑是什么呢?

假设我已经知道上面这个可乐在二维图上的前景坐标,知道我想要投影阴影的角度,发散的范围,我需要怎样调用taichi的指令,生成一个透明背景的,你发的这样的阴影图? 有相关例程吗 请问

from taichi.math import *
import taichi as ti
ti.init(arch=ti.gpu)
image_resolution = (1080,720)
gui = ti.GUI('image', image_resolution)
image = ti.Vector.field(4, ti.f32, shape=image_resolution)
image.fill((1,1,1))
@ti.kernel
def render(start:vec2, end:vec2, length:ti.f32):
    mid  = (start+end)/2
    for i,j in image:
        if i > start.x and i < start.x+length and j <start.y and j > end.y:
            disx = (i - start.x)/length
            disy = (abs(j - mid.y))/(mid.y-end.y)
            image[i,j] =((disy**2+disx**2)/2)*(1,1,1)
while gui.running:
    render(vec2(300,500),vec2(300,200),400)
    gui.set_image(image)
    gui.show()
    gui.get_event()
    if gui.is_pressed(ti.ui.ESCAPE):break

这是简单写的长方形渐变,想要角度的话加个仿射矩阵,想要发散程度修改权重,想要透明背景的话应该要把图片格式改成4通道的

如果我想对这个阴影的边缘做成类似PCF方法的软投影,然后像上图中调整光度和透明度的话,在taichi上有办法吗,或者说上面的代码可直接添加点什么? 不好意思,我之前没做过CG, 比较小白,,非常感谢

阴影算法我也不太懂诶,taichi只是个工具,具体算法实现要自己写的

好的 收到,非常感谢

对于这个问题,有后续PCF PCSS等python实现方法的朋友,求继续指教,非常感谢