なにかお手伝いできることがあればご連絡ください。
お問い合わせはこちらから
※Googleフォームが表示されます
ゆらゆらテクスチャをやってみたいと思います。
最終目標はこちらですが、まずは簡単なのからやっていきたいと思います。
#ifdef GL_ES
precision mediump float;
#endif
varying vec2 vUv;
uniform float time;
uniform sampler2D tDiffuse;
void main( void )
{
//揺れの波の数
const float shakeLength = 0.1;
//揺れの幅
const float shakeWidth = 0.01;
//揺れのスピード
const float speed = 1.0;
float offsetX = sin(gl_FragCoord.x * shakeLength + time * speed) * shakeWidth;
vec4 color = texture2D(tDiffuse, vec2(vUv.x+ offsetX , vUv.y));
gl_FragColor = color;
}
#ifdef GL_ES
precision mediump float;
#endif
varying vec2 vUv;
uniform float time;
uniform sampler2D tDiffuse;
void main( void )
{
//揺れの波の数
const float shakeLength = 0.1;
//揺れの幅
const float shakeWidth = 0.01;
//揺れのスピード
const float speed = 1.0;
float offsetX = sin(gl_FragCoord.x * shakeLength + time * speed) * shakeWidth;
float offsetY = cos(gl_FragCoord.y * shakeLength + time * speed) * shakeWidth;
vec4 color = texture2D(tDiffuse, vec2(vUv.x + offsetX , vUv.y + offsetY));
gl_FragColor = color;
}
uv座標をゆがめるだけで面白い表現ができました。 実際の動きはこちらを見てください。
なにかお手伝いできることがあればご連絡ください。
※Googleフォームが表示されます