旋转波浪shader

<languageVersion : 1.0;>

kernel NewFilter
< namespace : "gamecube";
vendor : "gamecube";
version : 1;
description : "your description";
>
{
input image4 src;
output pixel4 dst;

parameter float2 center
<
minValue : float2(1.0);
maxValue : float2(200.0);
defaultValue : float2(0.0);
>;

parameter float radius
<
minValue : 0.1;
maxValue : 50.0;
defaultValue : 4.0;
>;

    void
evaluatePixel()
{
float radians = 3.0;
float2 relativePos = outCoord() - center;
float distFromCenter = length(relativePos);
distFromCenter /= radius;

float sincWeight = sin(distFromCenter)*radians/distFromCenter;

float cosAngle = cos(sincWeight);
float sinAngle = sin(sincWeight);
float2x2 rotMat = float2x2(
cosAngle,sinAngle,
-sinAngle,cosAngle
);

relativePos *= rotMat;
dst = sampleNearest(src,relativePos);
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gamebox1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值