three实现三维海底光线散射波纹动画效果代码
代码语言:html
所属分类:三维
代码描述:three实现三维海底光线散射波纹动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
body{
overflow: hidden;
margin: 0;
}
</style>
</head>
<body translate="no">
<script type="importmap">
{
"imports": {
"three": "https://unpkg.com/three@0.173.0/build/three.module.js",
"three/addons/": "https://unpkg.com/three@0.173.0/examples/jsm/"
}
}
</script>
<script>
let noise = `// 3D simplex noise adapted from https://www.shadertoy.com/view/Ws23RD
// * Removed gradient normalization
vec4 mod289(vec4 x)
{
return x - floor(x / 289.0) * 289.0;
}
vec4 permute(vec4 x)
{
return mod289((x * 34.0 + 1.0) * x);
}
vec4 snoise(vec3 v)
{
const vec2 C = vec2(1.0 / 6.0, 1.0 / 3.0);
// First corner
vec3 i = floor(v + dot(v, vec3(C.y)));
vec3 x0 = v - i + dot(i, vec3(C.x));
// Other corners
vec3 g = step(x0.yzx, x0.xyz);
vec3 l = 1.0 - g;
vec3 i1 = min(g.xyz, l.zxy);
vec3 i2 = max(g.xyz, l.zxy);
vec3 x1 = x0 - i1 + C.x;
vec3 x2 = x0 - i2 + C.y;
vec3 x3 = x0 - 0.5;
// Permutations
vec4 p =
permute(permute(permute(i.z + vec4(0.0, i1.z, i2.z, 1.0))
+ i.y + vec4(0.0, i1.y, i2.y, 1.0))
.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0