@@ -31,11 +31,12 @@ export class PanoramaRenderer {
31
31
private readonly abortController = new AbortController ( )
32
32
private worldRenderer : WorldRendererCommon | WorldRendererThree | undefined
33
33
public WorldRendererClass = WorldRendererThree
34
+ public startTimes = new Map < THREE . MeshBasicMaterial , number > ( )
34
35
35
36
constructor ( private readonly documentRenderer : DocumentRenderer , private readonly options : GraphicsInitOptions , private readonly doWorldBlocksPanorama = false ) {
36
37
this . scene = new THREE . Scene ( )
37
- // dark blue background
38
- this . scene . background = new THREE . Color ( 0x00_22_11 )
38
+ // #324568
39
+ this . scene . background = new THREE . Color ( 0x32_45_68 )
39
40
40
41
// Add ambient light
41
42
this . ambientLight = new THREE . AmbientLight ( 0xcc_cc_cc )
@@ -73,13 +74,15 @@ export class PanoramaRenderer {
73
74
const panorGeo = new THREE . BoxGeometry ( 1000 , 1000 , 1000 )
74
75
const loader = new THREE . TextureLoader ( )
75
76
const panorMaterials = [ ] as THREE . MeshBasicMaterial [ ]
76
- const startTimes = new Map < THREE . MeshBasicMaterial , number > ( )
77
77
const fadeInDuration = 200
78
78
79
79
for ( const file of panoramaFiles ) {
80
+ // eslint-disable-next-line prefer-const
81
+ let material : THREE . MeshBasicMaterial
82
+
80
83
const texture = loader . load ( join ( 'background' , file ) , ( ) => {
81
84
// Start fade-in when texture is loaded
82
- startTimes . set ( material , Date . now ( ) )
85
+ this . startTimes . set ( material , Date . now ( ) )
83
86
} )
84
87
85
88
// Instead of using repeat/offset to flip, we'll use the texture matrix
@@ -93,7 +96,7 @@ export class PanoramaRenderer {
93
96
texture . minFilter = THREE . LinearFilter
94
97
texture . magFilter = THREE . LinearFilter
95
98
96
- const material = new THREE . MeshBasicMaterial ( {
99
+ material = new THREE . MeshBasicMaterial ( {
97
100
map : texture ,
98
101
transparent : true ,
99
102
side : THREE . DoubleSide ,
@@ -111,7 +114,7 @@ export class PanoramaRenderer {
111
114
112
115
// Time-based fade in animation for each material
113
116
for ( const material of panorMaterials ) {
114
- const startTime = startTimes . get ( material )
117
+ const startTime = this . startTimes . get ( material )
115
118
if ( startTime ) {
116
119
const elapsed = Date . now ( ) - startTime
117
120
const progress = Math . min ( 1 , elapsed / fadeInDuration )
0 commit comments