<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>04.顶点立方体</title>
<link href="css/common.css" rel="stylesheet" />
<script src="js/three.js"></script>
</head>
<body>
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var light = new THREE.DirectionalLight(0xffffff);
light.position.set(10, 10, 10).normalize();
scene.add(light);
// 顶点
var geometry = new THREE.BufferGeometry();
var vertices = new Float32Array([
0, 0, 0, // 0
1.0, 0, 0, // 1
1.0, 1.0, 0, // 2
0, 1.0, 0, // 3
0, 0, 1.0, // 4
1.0, 0, 1.0, // 5
1.0, 1.0, 1.0, // 6
0, 1.0, 1.0 // 7
]);
geometry.addAttribute('position', new THREE.BufferAttribute(vertices, 3));
// 索引
var index = [
// 前面
0, 1, 2,
0, 2, 3,
// 后面
4, 7, 6,
4, 6, 5,
// 上面
3, 2, 6,
3, 6, 7,
// 下面
0, 4, 5,
0, 5, 1,
// 左面
0, 3, 7,
0, 7, 4,
// 右面
1, 5, 6,
1, 6, 2
];
geometry.setIndex(index);
var material = new THREE.MeshBasicMaterial({ color: 0xff0000 });
var mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
camera.position.set(0, 0, 10);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var render = function () {
requestAnimationFrame(render);
mesh.rotation.x += 0.01;
mesh.rotation.y += 0.01;
renderer.render(scene, camera);
}
render();
</script>
</body>
</html>
04、顶点立方体
创建日期:2024-07-08
更新日期:2024-07-08
简介
一个来自三线小城市的程序员开发经验总结。