HTML5画布知识:在Three.js文件实现WebGL Plane
2014-01-10 11:58
477 查看
创建一个WebGL Plane Three.js,我们可以实例化一个PlaneGeometry对象并定义其宽度沿x轴及其高度沿y轴。
<!DOCTYPE HTML>
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<div id="container"></div>
<script src="http://www.html5canvastutorials.com/libraries/three.min.js"></script>
<script defer="defer">
// revolutions per second
var angularSpeed = 0.2;
var lastTime = 0;
// this function is executed on each animation frame
function animate(){
// update
var time = (new Date()).getTime();
var timeDiff = time - lastTime;
var angleChange = angularSpeed * timeDiff * 2 * Math.PI / 1000;
plane.rotation.z += angleChange;
lastTime = time;
// render
renderer.render(scene, camera);
// request new frame
requestAnimationFrame(function(){
animate();
});
}
// renderer
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// camera
var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);
camera.position.y = -450;
camera.position.z = 400;
camera.rotation.x = 45 * (Math.PI / 180);
// scene
var scene = new THREE.Scene();
// plane
var plane = new THREE.Mesh(new THREE.PlaneGeometry(300, 300), new THREE.MeshNormalMaterial());
plane.overdraw = true;
scene.add(plane);
// start animation
animate();
</script>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<div id="container"></div>
<script src="http://www.html5canvastutorials.com/libraries/three.min.js"></script>
<script defer="defer">
// revolutions per second
var angularSpeed = 0.2;
var lastTime = 0;
// this function is executed on each animation frame
function animate(){
// update
var time = (new Date()).getTime();
var timeDiff = time - lastTime;
var angleChange = angularSpeed * timeDiff * 2 * Math.PI / 1000;
plane.rotation.z += angleChange;
lastTime = time;
// render
renderer.render(scene, camera);
// request new frame
requestAnimationFrame(function(){
animate();
});
}
// renderer
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// camera
var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);
camera.position.y = -450;
camera.position.z = 400;
camera.rotation.x = 45 * (Math.PI / 180);
// scene
var scene = new THREE.Scene();
// plane
var plane = new THREE.Mesh(new THREE.PlaneGeometry(300, 300), new THREE.MeshNormalMaterial());
plane.overdraw = true;
scene.add(plane);
// start animation
animate();
</script>
</body>
</html>
相关文章推荐
- HTML5画布WebGL,文件Three.js控制的锥
- html5中的input(type="file")的multiple属性,实现多文件上传,并用js控制文件大小,数量
- 使用HTML5画布实现的超棒javascript动画仪表板:gauge.js
- HTML5 WebGL Three.js 加载 3D模型文件
- 使用HTML5画布实现的超棒javascript动画仪表板:gauge.js
- HTML5 js实现拖拉上传文件功能
- HTML5_纯JS实现上传文件显示文件大小,文件信息,上传进度_不使用JS库
- HTML5画布Three.js环境照明 又一个不一样的感觉
- 用jspdf实现html5页面下载成pdf文件
- [开源应用]利用HTTPHandler+resumableJs+HTML5实现拖拽上传[大]文件
- HTML5画布WebGL Three.js球体
- html5加js实现本地文件读取和写入并获取本地文件路径
- HTML5画布Three.js图像纹理
- HTML5画布阅读Three js Phong材料
- 使用HTML5画布实现的超棒javascript动画仪表板:gauge.js
- HTML5 画布上的 Three.js 环境灯光(HTML5 Canvas Three.js Ambient Lighting)
- JS简单实现文件上传实例代码(无需插件)
- html5-文件:FileReader实现上传前预览
- 【转】HTML5拖拽文件到浏览器并实现文件上传下载
- kbengine + cocos2d-js实现html5 mmorpg游戏(源代码)