三维立体波纹效果
代码语言:html
所属分类:三维
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
html, body {
margin: 0;
}
canvas {
display: block;
}
</style>
</head>
<body translate="no">
<canvas id="canvas"></canvas>
<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/three.109.js"></script>
<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/OrbitControls.min.js"></script>
<script>
function App() {
const conf = {
el: 'canvas',
fov: 75,
cameraZ: 100,
background: 0xffffff };
let renderer, scene, camera, cameraCtrl;
let width, height, cx, cy, wWidth, wHeight;
const { randFloat: rnd, randFloatSpread: rndFS } = THREE.Math;
let ripple;
let gridWWidth, gridWHeight, gridWidth, gridHeight;
const mouse = new THREE.Vector2();
const mousePlane = new THREE.Plane(new THREE.Vector3(0, 0, 1), 0);
const mousePosition = new THREE.Vector3();
const raycaster = new THREE.Raycaster();
let mouseOver = false;
init();
function init() {
renderer = new THREE.WebGLRenderer({ canvas: document.getElementById(conf.el), antialias: true });
// if (!renderer.extensions.get('OES_texture_float')) {
// alert('no floating point texture support');
// return;
// }
camera = new THREE.PerspectiveCamera(conf.fov);
camera.position.z = conf.cameraZ;
updateSize();
window.addEventListener('resize', updateSize, false);
gridWWidth = wWidth;
gridWHeight = wHeight;
gridWidth = gridWWidth * width / wWidth;
gridHeight = gridWHeight * height / wHeight;
ripple = new RippleEffect(renderer, gridWidth, gridHeight, 1 / 5).........完整代码请登录后点击上方下载按钮下载查看
















网友评论1