@@ -5,7 +5,8 @@ import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
5
5
let camera , scene , renderer , pointer , starGroup ;
6
6
const LIGHTYEAR_PER_PARSEC = 3.26156 ;
7
7
const canvasWidth = ( ) => {
8
- return Math . floor ( window . innerWidth * 3 / 4 ) ;
8
+ // return Math.floor(window.innerWidth*3/4);
9
+ return window . innerWidth ;
9
10
}
10
11
const canvasHeight = ( ) => {
11
12
return window . innerHeight ;
@@ -18,7 +19,7 @@ const distanceRange = document.getElementById("distanceRange");
18
19
const distanceRangeLabel = document . getElementById ( "distanceRangeLabel" ) ;
19
20
20
21
const universeMesh = new THREE . Mesh (
21
- new THREE . SphereGeometry ( Math . pow ( 10 , distanceRange . value ) , 16 , 16 ) ,
22
+ new THREE . SphereGeometry ( Math . pow ( 10 , distanceRange . value ) / LIGHTYEAR_PER_PARSEC , 16 , 16 ) ,
22
23
new THREE . MeshBasicMaterial ( {
23
24
color : 0xffffff ,
24
25
wireframe : true
@@ -38,13 +39,17 @@ distanceRange.addEventListener("change", async(event) => {
38
39
39
40
universeMesh . geometry = new THREE . SphereGeometry ( radius / LIGHTYEAR_PER_PARSEC , 16 , 16 ) ;
40
41
41
- console . log ( "before:" , scene ) ;
42
+ // console.log("before:", scene);
42
43
let starObj = scene . getObjectByName ( "stars" ) ;
43
- console . log ( starObj ) ;
44
- starObj . children . slice ( ) . forEach ( obj => starObj . remove ( obj ) )
44
+ // console.log(starObj);
45
+ starObj . children . slice ( ) . forEach ( obj => {
46
+ if ( obj . geometry ) obj . geometry . dispose ( ) ;
47
+ if ( obj . material ) obj . material . dispose ( ) ;
48
+ starObj . remove ( obj ) ;
49
+ } ) ;
45
50
starObj . removeFromParent ( ) ;
46
51
scene . remove ( starObj ) ;
47
- console . log ( "after:" , scene ) ;
52
+ // console.log("after:", scene);
48
53
starGroup = await createStarGroup ( radius / LIGHTYEAR_PER_PARSEC ) ;
49
54
50
55
scene . add ( starGroup ) ;
@@ -110,16 +115,7 @@ const createStarGroup = async(maxRadius) => {
110
115
return newStarGroup ;
111
116
}
112
117
113
- // const response = await fetch("public/closest_stars.json");
114
- // const json = await response.json();
115
- // const starGroup = new THREE.Group();
116
- // json.forEach(function (row) {
117
- // let newStar = createStarMesh(row['x'], row['y'], row['z'], row);
118
- // starGroup.add(newStar);
119
- // console.log(row['proper'], row['mag'], row["spect"]);
120
- // });
121
-
122
- starGroup = await createStarGroup ( Math . pow ( 10 , distanceRange . value ) ) ;
118
+ starGroup = await createStarGroup ( Math . pow ( 10 , distanceRange . value ) / LIGHTYEAR_PER_PARSEC ) ;
123
119
scene . add ( starGroup ) ;
124
120
console . log ( scene ) ;
125
121
const starInfo = document . getElementById ( 'star-info' ) ;
0 commit comments