three+webgl实现文字悬浮拖拽水滴效果代码
代码语言:html
所属分类:其他
代码描述:three+webgl实现文字悬浮拖拽水滴效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { margin: 0; overflow: hidden; position: fixed;} canvas { width: 100%; height: 100% } </style> </head> <body> <!-- partial:index.partial.html --> <script id="vertexShader" type="x-shader/x-vertex"> varying vec2 vUv; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); } </script> <script id="fragmentShader" type="x-shader/x-fragment"> varying vec2 vUv; uniform sampler2D texture; uniform sampler2D mask; uniform sampler2D blur; uniform float scale; uniform float frequency; uniform float amplitude; uniform float speed; uniform sampler2D uDistortionTexture; uniform float time; uniform float uDistortionFactor; // Factor used to control severity of the effect uniform float uRiseFactor; // Factor used to control how fast air rises void main() { vec2 uv = vUv; vec4 mask = texture2D(mask, uv); vec4 blur = texture2D(blur, uv); vec2 scaleCenter = vec2(0.5, 0.5); vec2 distMapUV = uv; // distMapUV.x -= time / 14.0;//* uRiseFactor; distMapUV.y -= time / 20.0;//* uRiseFactor; vec4 distMap = texture2D(uDistortionTexture, distMapUV); vec2 distPositionOffset = distMap.xy - vec2(0.1, 0.1); distPositionOffset -= vec2(0.25, 0.25); distPositionOffset.y *= 1.5; distPositionOffset.x *= -1.0; distPositionOffset *= 0.005 * (mask.a * 26.0); // distPositionOffset *= uDistortionFactor * 6.0 + (mask.a * 0.15); // distPositionOffset *= (mask.a) * (0.05 * 16.0);//uDistortionFactor * 16.0 + (mask.a * 0.55); vec2 distortedTextureCoordinate = uv.xy - vec2(0.0, 0.0) + distPositionOffset; vec4 final = texture2D(texture, (distortedTextureCoordinate - scaleCenter) * scale + scaleCenter ); gl_FragColor = final; } </script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.84.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/TweenMax.min.js"></script> <script > var mobileAndTabletcheck = function() { var check = false; (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga.........完整代码请登录后点击上方下载按钮下载查看
网友评论0