<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Three框架</title>
<script src="libs/Three.js" data-ke-src="js/Three.js"></script>
<style type="text/css">
div#canvas-frame {
border: none;
cursor: pointer;
width: 100%;
height: 600px;
background-color: #EEEEEE;
}
</style>
<script>
var renderer;
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);
}
var camera;
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
});
}
var scene;
function initScene() {
scene = new THREE.Scene();
}
var light;
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();//声明一个几何体
var material = new THREE.LineBasicMaterial( { vertexColors: THREE.VertexColors} );
//定义一种线条的材质,使用THREE.LineBasicMaterial类型来定义
//使用了顶点颜色vertexColors: THREE.VertexColors,就是线条的颜色会根据顶点来计算
var color1 = new THREE.Color( 0x444444 ), color2 = new THREE.Color( 0xFF0000 );
//线的材质可以由2点的颜色决定 定义两种颜色,分别表示线条两个端点的颜色
var p1 = new THREE.Vector3( -100, 0, 100 );//定义2个顶点的位置,并放到geometry中
var p2 = new THREE.Vector3( 100, 0, -100 );
geometry.vertices.push(p1);
geometry.vertices.push(p2);
geometry.colors.push( color1, color2 );//为2个顶点设置不同的颜色
var line = new THREE.Line( geometry, material, THREE.LinePieces );//定义线条,使用THREE.Line类,几何体,线条材质,点的连接方式
scene.add(line);//将这条线加入到场景中
}
function render()
{
renderer.clear();
renderer.render(scene, camera);
requestAnimationFrame(render);
}
function threeStart() {
initThree();
initCamera();
initScene();
initLight();
initObject();
render();
}
</script>
</head>
<body onload="threeStart();">
<div id="canvas-frame"></div>
</body>
</html>
three.js 显示一条线
原创
©著作权归作者所有:来自51CTO博客作者Immortality1的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:three.js透视投影照相机

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
three.js学习 开始尝试使用
three.js学习 开始尝试使用
three three.js threejs WebGL -
【Three.js技术简介】什么是Three.js
部分内容参考自:(1)Three.js百度百科:https://baike.baidu.com/it
javascript 3d 百度 图例 -
Three.JS提升学习2:构建Three.js场景的基本组件
本文学习内容来自《Three.js开发指南:WebGL的JavaScript 3D库》创建场景一个场景想要显示任何东西,需要
webgl 对象 class 自定义 示例代码 -
Three.js遮罩多场景穿梭过渡
在靠近门时完全渲染一个场景 在穿过门的同时切换场景关系。渲染一个遮罩 亮的区域为需要显示另一个场景的区域。获取穿梭
javascript 前端 开发语言 sed Data