three+webgl实现玻璃镜像折射动画效果代码

代码语言:html

所属分类:动画

代码描述:three+webgl实现玻璃镜像折射动画效果代码

代码标签: three webgl 玻璃 镜像 折射 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
 
<meta charset="UTF-8">
 

 
<style>
*{ margin: 0px;}
</style>

 
 
 
</head>

<body>
 
<div id="shader"></div>
<script id="vertex" type="x-shader/x-vertex">
  varying vec2 vUv
;
       
void main() { gl_Position = vec4(position, 1.0);
               vUv
= uv;
             
}
</script>

<script id="fragment" type="x-shader/x-fragment">
precision highp float;

uniform vec2 u_resolution;
uniform float u_time;
  varying vec2 vUv;
 
const float PI = 3.1415926535897932384626433832795;
const float TAU = PI * 2.;
const float HALF_PI = PI * .5;
 
float wiggly(float cx, float cy, float amplitude, float frequency, float spread){

  float w = sin(cx * amplitude * frequency * PI) * cos(cy * amplitude * frequency * PI) * spread;

  return w;
}


void coswarp(inout vec3 trip, float warpsScale ){

  trip.xyz += warpsScale * .1 * cos(3. * trip.yzx + (u_time * .25));
  trip.xyz += warpsScale * .05 * cos(11. * trip.yzx + (u_time * .25));
  trip.xyz += warpsScale * .025 * cos(17. * trip.yzx + (u_time * .25));
 
}


void uvRipple(inout vec2 uv, float intensity){

        vec2.........完整代码请登录后点击上方下载按钮下载查看

网友评论0