canvasmanager+shaderbuilder+webgl实现宇宙黑洞动画效果代码
代码语言:html
所属分类:动画
代码描述:canvasmanager+shaderbuilder+webgl实现宇宙黑洞动画效果代码
代码标签: canvasmanager shaderbuilder webgl 宇宙 黑洞 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&display=swap'> <style> body { width: 100vw; height: 100vh; margin: 0; padding: 0; display: grid; place-items: center; overflow: hidden; background: #000; font: normal 400 1.3rem 'Rajdhani', sans-serif; } .credit { width: 200px; height: 60px; padding: 10px; position: fixed; bottom: 20px; right: 20px; border-radius: 10px; background: rgba(0, 0, 0, 0.35); border: 1px solid rgba(0, 0, 0, 0.5); color: #efefef; backdrop-filter: blur(20px); } .credit a { display: block; text-decoration: none; color: #ff8080 } </style> </head> <body translate="no"> <canvas id="simulation"></canvas> <script type="module"> import canvasManager from '//repo.bfw.wiki/bfwrepo/js/canvasmanager.module.js'; import { ShaderBuilder, RenderPipeline } from '//repo.bfw.wiki/bfwrepo/js/shaderbuilder.module.js'; import FPSCounter from '//repo.bfw.wiki/bfwrepo/js/fps.module.js'; const manager = canvasManager().attach('simulation'); const canvas = manager.el; const gl = manager.context('webgl2'); manager.resize('full', 'full').listen('resize'); const fps = new FPSCounter(); const discColor = { r: 0.22, g: 0.32, b: 1.0 }; const vsource = `#version 300 es precision highp float; in vec2 a_position; out vec2 v_texCoord; void main() { v_texCoord = a_position * 0.5 + 0.5; gl_Position = vec4(a_position, 0.0, 1.0); }`; const fsource = `#version 300 es precision highp float; in vec2 v_texCo.........完整代码请登录后点击上方下载按钮下载查看
网友评论0