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": "//repo.bfw.wiki/bfwrepo/js/module/three/build/170/three.module.js", "three/addons/": "//repo.bfw.wiki/bfwrepo/js/module/three/examples/170/jsm/" } } </script> <script> var lineVertShader = ` attribute float lineDistance; varying float vLineDistance; void main() { vLineDistance = lineDistance; vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 ); gl_Position = projectionMatrix * mvPosition; } `; var lineFragShader = ` uniform vec3 diffuse; uniform float opacity; uniform float time; // added time uniform uniform float dashSize; uniform float gapSize; uniform float dotSize; varying float vLineDistance; void main() { float totalSize = dashSize + gapSize; float moduloDash = mod( vLineDistance + time, totalSize ); // time added to vLineDistance float dotDistance = dashSize + (gapSize - dotSize) * .5; float moduloDot = mod(moduloDash, dotDistance); if ( moduloDash > dashSize && moduloDot > dotSize ) { discard; } gl_FragColor = vec4( diffuse, opacity ); } `; </script> <script type="module"> import * as THREE from "three"; import { OrbitControls } from "three/addons/controls/OrbitControls.js"; var scene = new.........完整代码请登录后点击上方下载按钮下载查看
网友评论0