だから私はすでに反射部分を実装しました:
uniform sampler2D texture;
uniform vec2 resolution;
uniform vec3 overlayColor;
void main()
{
vec2 uv = gl_FragCoord.xy / resolution.xy;
if (uv.y > 0.3)// is air - no reflection or effect
{
gl_FragColor = texture2D(texture, vec2(uv.x, uv.y));
}
else
{
// Compute the mirror effect.
vec4 color = texture2D(texture, vec2(uv.x, 0.6 - uv.y));
//
vec4 finalColor = vec4(mix(color.rgb, overlayColor, 0.25), 1.0);
gl_FragColor = finalColor;
}
}
今問題は、これらの波紋がどのように実装されているかです。
これらのヒントをどうもありがとうございました。@LeFauveの実装を試した後、これが必要なことがわかりました。
—
cepro 2015年
time
値を使用しuv.xy
て、(sin(time),cos(time))
オフセットベクトルでをシフトできます。もちろん、正弦オフセットと余弦オフセットの振幅を把握する必要があります。uv.y
最初のオフセットから始めて、エフェクトをさらに調整する方法を確認します。