三维双面多角度折射不同图片效果

代码语言:html

所属分类:三维

代码描述:三维双面多角度折射不同图片效果

代码标签: 折射 不同 图片 效果

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

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

<style>
canvas {
    width: 100%;
    height: 100vh;
    display: block;
    cursor: -webkit-grab;
    cursor: grab;
}

body {
    height: 100vh;
}

a {
    position: fixed;
    top: 0;
    left: 0 ;
    padding: 5vmin;
}
</style>

</head>
<body translate="no">
<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/gsap.3.3.1.js"></script>
<script type="module">
import * as $ from '//unpkg.com/three@0.120.0/build/three.module.js'
import { OrbitControls } from '//unpkg.com/three@0.120.0/examples/jsm/controls/OrbitControls.js'

// ----
// Boot
// ----

const renderer = new $.WebGLRenderer({ alpha: true });
const scene = new $.Scene();
const camera = new $.PerspectiveCamera(75, 2, .1, 100);
const controls = new OrbitControls(camera, renderer.domElement);
window.addEventListener('resize', () => {
    const { clientWidth, clientHeight } = renderer.domElement;
    renderer.setPixelRatio(window.devicePixelRatio);
    renderer.setSize(clientWidth, clientHeight, false);
    camera.aspect = clientWidth / clientHeight;
    camera.updateProjectionMatrix();
});
document.body.prepend(renderer.domElement);
window.dispatchEvent(new Event('resize'));
renderer.setAnimationLoop(t => {
    renderer.render(scene, camera);
    controls.update();
});

// ----
// Main
// ----

const W = 10, H = 10, SW = W * 20, SH = H * 20;
const IMG_URLS = [
    "http://repo.bfw.wiki/bfwrepo/image/5d653bd0990d0.png",
    "http://repo.bfw.wiki/bfwrepo/image/5d653be845a41.png",
];

camera.position.set(0, 0, 8);

for (const { color, intensity, x, y, z } of [
    { color: 'white', intensity: 1, x: -W, y: 0, z: 0 },
    { color: 'white', intensity: 1, x: W, y: 0, z: 0 },
]) {
    const L = new $.SpotLight(color, intensity, W, Math.PI / 2, 0, 0);
    L.position.set(x, y, z);
    scene.add(L);
}

const vs = [];
for (let i = 0, I = SH; i < I; ++i) {
    vs[i] = [];
  .........完整代码请登录后点击上方下载按钮下载查看

网友评论0