diff --git a/src/scripts/hooks/use-globe-layer.ts b/src/scripts/hooks/use-globe-layer.ts index f58c76d32..b4b33bd14 100644 --- a/src/scripts/hooks/use-globe-layer.ts +++ b/src/scripts/hooks/use-globe-layer.ts @@ -30,10 +30,16 @@ export function useGlobeLayer( imageryProvider ); + const filterLinear = imageLayer.filter === 'linear'; + // @ts-ignore - newLayer.minificationFilter = TextureMinificationFilter.NEAREST; + newLayer.minificationFilter = filterLinear + ? TextureMinificationFilter.LINEAR + : TextureMinificationFilter.NEAREST; // @ts-ignore - newLayer.magnificationFilter = TextureMagnificationFilter.NEAREST; + newLayer.magnificationFilter = filterLinear + ? TextureMagnificationFilter.LINEAR + : TextureMagnificationFilter.NEAREST; newLayer.alpha = 1; // remove and destroy old layers if they exist diff --git a/src/scripts/libs/get-image-layer-data.ts b/src/scripts/libs/get-image-layer-data.ts index 784dd61a2..e5d687026 100644 --- a/src/scripts/libs/get-image-layer-data.ts +++ b/src/scripts/libs/get-image-layer-data.ts @@ -51,7 +51,8 @@ export function getImageLayerData( type: layer.type, url: replacedUrl, nextUrls, - zoomLevels: layer.zoomLevels || 0 + zoomLevels: layer.zoomLevels || 0, + filter: layer.filter }; } diff --git a/src/scripts/types/globe-image-layer-data.ts b/src/scripts/types/globe-image-layer-data.ts index ef18021d4..1f2ef7b1e 100644 --- a/src/scripts/types/globe-image-layer-data.ts +++ b/src/scripts/types/globe-image-layer-data.ts @@ -6,4 +6,5 @@ export interface GlobeImageLayerData { url: string; nextUrls: string[]; zoomLevels: number; + filter?: string; } diff --git a/src/scripts/types/layer.d.ts b/src/scripts/types/layer.d.ts index 194ba248b..cae11afb3 100644 --- a/src/scripts/types/layer.d.ts +++ b/src/scripts/types/layer.d.ts @@ -16,6 +16,7 @@ export interface Layer { minute?: 'numeric' | '2-digit'; second?: 'numeric' | '2-digit'; }; + filter?: string; minValue: number; maxValue: number; units: string;