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