gl-matrix+webgl实现可调参数的三维物体运行动画效果代码

代码语言:html

所属分类:三维

代码描述:gl-matrix+webgl实现可调参数的三维物体运行动画效果代码

代码标签: gl-matrix webgl 调参数 三维 物体 运行 动画

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

<!DOCTYPE html>
<html lang="en" >

<head>
 
<meta charset="UTF-8">
 

 
 
 
<style>
@import url("https://fonts.googleapis.com/css2?family=Space+Mono&display=swap");

body
,
html
{
       
margin: 0;
       
padding: 0;
       
width: 100%;
       
height: 100%;
       
overflow: hidden;
       
background: #000;
       
font-family: "Space Mono", monospace;
       
font-size: 1rem;
}
canvas
{
       
width: 100%;
       
height: 100%;
}
#ui {
       
position: absolute;
       
top: 10px;
       
left: 10px;
       
color: white;
       
background: rgba(0, 0, 0, 0.7);
       
padding: 10px;
       
border-radius: 5px;
       
max-width: 460px;
}
.control {
       
margin-bottom: 10px;
}
label
{
       
display: inline-block;
       
width: 120px;
}
input
[type="range"] {
       
width: 260px;
}
input
[type="color"] {
       
vertical-align: middle;
}
#togglePanel {
       
cursor: pointer;
       
user-select: none;
       
font-size: 20px;
       
margin-bottom: 0;
}
.colorBtn {
       
margin-left: 5px;
       
cursor: pointer;
       
font-family: "Space Mono", monospace;
       
font-size: 1rem;
}
button
,
input
{
       
font-family: "Space Mono", monospace;
       
font-size: 1rem;
}
.sliderValue {
       
display: inline-block;
       
width: 40px;
       
text-align: right;
       
margin-left: 5px;
}
#fullscreenBtn {
       
margin-top: 10px;
       
width: 100%;
       
padding: 5px 10px;
       
background: rgba(255, 255, 255, 0.2);
       
color: white;
       
border: none;
       
border-radius: 5px;
       
cursor: pointer;
}
</style>


 
</head>

<body translate="no">
 
<canvas id="glCanvas"></canvas>

<div id="ui">
       
<div id="togglePanel"></div>
       
<div id="controls">
               
<div class="control">
                       
<label for="zoomLevel">Zoom:</label>
                       
<input type="range" id="zoomLevel" min="0.1" max="3" step="0.1" value="1">
                       
<span id="zoomValue" class="sliderValue">1.00</span>
               
</div>
               
<div class="control">
                       
<label for="rotationSpeed">Rotation:</label>
                       
<input type="range" id="rotationSpeed" min="0" max="3" step="0.01" value="0.3">
                       
<span id="rotationValue" class="sliderValue">0.30</span>
               
</div>
               
<div class="control">
                       
<label for="waveSpeed">Wave:</label>
                       
<input type="range" id="waveSpeed" min="0" max="2" step="0.01" value="0.1">
                       
<span id="waveValue" class="sliderValue">0.10</span>
               
</div>
               
<div class="control">
                       
<label for="cubeColor">Cube Color:</label>
                       
<input type="color" id="cubeColor" value="#b8934a">
                       
<button class="colorBtn" id="cubeRandom">Random</button>
                       
<button class="colorBtn" id="cubeRainbow">Rainbow</button>
               
</div>
                <div class=&q.........完整代码请登录后点击上方下载按钮下载查看

网友评论0