<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
html, body {
margin: 0;
padding: 0;
}
div#canvas-frame {
border: none;
cursor: pointer;
width: 100%;
height: 600px;
background-color: #EEEEEE;
}
</style>
</head>
<body>
<div id="canvas-frame"></div>
<script src="js/three.js"></script>
<script>
//定义一些需要的变量
var renderer, camera, scene, light, object;
var width, height;
//初始化three
function initThree(){
width = document.getElementById('canvas-frame').clientWidth;
height=document.getElementById('canvas-frame').clientHeight;
renderer= new THREE.WebGLRenderer({
antialias:true
});
renderer.setSize(width,height);
document.getElementById('canvas-frame').appendChild(renderer.domElement);
renderer.setClearColor(0xFFFFFF, 1.0);
}
//定义相机
function initCamera(){
camera = new THREE.PerspectiveCamera(45,width/height,1,10000);
camera.position.x=0;
camera.position.y=1000;
camera.position.z=0;
camera.up.x=0;
camera.up.y=0;
camera.up.z=1;
camera.lookAt({
x:0,
y:0,
z:0
});
}
//定义场景
function initScene(){
scene = new THREE.Scene();
}
//定义灯光
function initLight(){
light = new THREE.DirectionalLight(0xFF0000,1.0,0);
light.position.set(100,100,200);
scene.add(light);
}
var cube;
function initObject(){
var geometry = new THREE.Geometry();
geometry.vertices.push( new THREE.Vector3(-500,0,0));
geometry.vertices.push( new THREE.Vector3(500,0,0));
for(var i = 0;i<=20;i++){
var line = new THREE.Line(geometry,new THREE.LineBasicMaterial({color:0x000000,opacity:0.2}));
line.position.z=(i*50)-500;
scene.add(line);
var line = new THREE.Line(geometry,new THREE.LineBasicMaterial({color:0x000000,opacity:0.2}));
line.position.x = ( i * 50 ) - 500;
line.rotation.y = 90 * Math.PI / 180;
scene.add( line );
}
}
function threeStart() {
initThree();
initCamera();
initScene();
initLight();
initObject();
renderer.clear();
renderer.render(scene, camera);
}
window.onload = threeStart();
</script>
</body>
</html>