提交 1f544350 编写于 作者: M Mr.doob

Simplified webgl_camera_logarithmicdepthbuffer example.

上级 8d267bb0
......@@ -122,9 +122,9 @@
{ size: 3400000, scale: 1.0, label: "moon-sized (3,400 Km)", scale: 1 },
{ size: 12000000, scale: 1.0, label: "planet-sized (12,000 km)", scale: 1 },
{ size: 1400000000, scale: 1.0, label: "sun-sized (1,400,000 km)", scale: 1 },
{ size: 7.47e12, scale: 1.0, label: "solar system-sized (50Au)", scale: 1 },
{ size: 9.4605284e15, scale: 1.0, label: "gargantuan (1 light year)", scale: 1 },
{ size: 3.08567758e16, scale: 1.0, label: "ludicrous (1 parsec)", scale: 1 },
{ size: 7.47e12, scale: 1.0, label: "solar system-sized (50Au)", scale: 1 },
{ size: 9.4605284e15, scale: 1.0, label: "gargantuan (1 light year)", scale: 1 },
{ size: 3.08567758e16, scale: 1.0, label: "ludicrous (1 parsec)", scale: 1 },
{ size: 1e19, scale: 1.0, label: "mind boggling (1000 light years)", scale: 1 },
{ size: 1.135e21, scale: 1.0, label: "galaxy-sized (120,000 light years)", scale: 1 },
{ size: 9.46e23, scale: 1.0, label: "... (100,000,000 light years)", scale: 1 }
......@@ -183,6 +183,8 @@
var colorskip = ['black', 'antiquewhite', 'bisque', 'beige', 'blanchedalmond', 'darkblue', 'darkcyan'];
var colorkeys = Object.keys( THREE.ColorKeywords );
var geometry = new THREE.SphereBufferGeometry(0.5, 24, 12);
for (var i = 0; i < labeldata.length; i++) {
var scale = labeldata[i].scale || 1;
var labelgeo = new THREE.TextGeometry( labeldata[i].label, {
......@@ -204,24 +206,21 @@
var material = new THREE.MeshPhongMaterial( materialargs );
var group = new THREE.Group();
group.position.z = -labeldata[i].size * scale;
scene.add(group);
var textmesh = new THREE.Mesh( labelgeo, material );
textmesh.scale.set(scale, scale, scale);
textmesh.position.z = -labeldata[i].size * scale;
textmesh.position.y = labeldata[i].size / 4 * scale;
textmesh.updateMatrix();
group.add(textmesh);
var dotmesh = new THREE.Mesh(new THREE.SphereGeometry(labeldata[i].size * scale / 2, 24, 12), material);
var dotmesh = new THREE.Mesh(geometry, material);
dotmesh.position.y = -labeldata[i].size / 4 * scale;
dotmesh.updateMatrix();
var merged = new THREE.Geometry();
merged.merge( textmesh.geometry, textmesh.matrix );
merged.merge( dotmesh.geometry, dotmesh.matrix );
var mesh = new THREE.Mesh(merged, material);
mesh.position.z = -labeldata[i].size * 1 * scale;
dotmesh.scale.multiplyScalar(labeldata[i].size * scale);
group.add(dotmesh);
scene.add(mesh);
}
var renderer = new THREE.WebGLRenderer({ antialias: true, logarithmicDepthBuffer: logDepthBuf });
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册