@@ -110,6 +110,7 @@ class MapEngine implements MapHandle {
110110 private markerCount : number
111111 private markerCapacityWarned = false
112112 private readonly markerColor : Float32Array
113+ private haloColor : Float32Array
113114 private readonly markerIntensity : Float32Array
114115 private readonly markerIntensityTarget : Float32Array
115116 private readonly markerIndexById : Map < string , number >
@@ -158,6 +159,7 @@ class MapEngine implements MapHandle {
158159 this . markerData = new Float32Array ( MARKER_CAPACITY * 4 )
159160 this . markerCount = this . packMarkers ( this . markerPoints , this . markerData )
160161 this . markerColor = new Float32Array ( options . theme . marker )
162+ this . haloColor = new Float32Array ( options . theme . halo )
161163 this . markerIntensity = new Float32Array ( MARKER_CAPACITY )
162164 this . markerIntensityTarget = new Float32Array ( MARKER_CAPACITY )
163165 this . markerIndexById = new Map ( )
@@ -197,6 +199,7 @@ class MapEngine implements MapHandle {
197199 this . seaColor . set ( colors . sea )
198200 this . landColor . set ( colors . land )
199201 this . markerColor . set ( colors . marker )
202+ this . haloColor . set ( colors . halo )
200203 }
201204
202205 setActiveMarker ( id : string | null ) {
@@ -647,6 +650,14 @@ class MapEngine implements MapHandle {
647650 this . markerColor [ 1 ] ,
648651 this . markerColor [ 2 ] ,
649652 )
653+ setUniform3f (
654+ gl ,
655+ this . dotsProgram ,
656+ "uHaloColor" ,
657+ this . haloColor [ 0 ] ,
658+ this . haloColor [ 1 ] ,
659+ this . haloColor [ 2 ] ,
660+ )
650661 setUniform1i ( gl , this . dotsProgram , "uMarkerCount" , this . markerCount )
651662 gl . activeTexture ( gl . TEXTURE0 )
652663 gl . bindTexture ( gl . TEXTURE_2D , this . landTexture )
0 commit comments