Skip to content

decode.webgpu.Class.GainMapLoader

github-actions[bot] edited this page Nov 19, 2025 · 9 revisions

@monogrid/gainmap-js / decode/webgpu / GainMapLoader

Class: GainMapLoader

Defined in: src/decode/webgpu/loaders/GainMapLoader.ts:58

A Three.js Loader for the gain map format (WebGPU version).

Example

import { GainMapLoader } from '@monogrid/gainmap-js/webgpu'
import {
  EquirectangularReflectionMapping,
  Mesh,
  MeshBasicMaterial,
  PerspectiveCamera,
  PlaneGeometry,
  Scene,
  WebGPURenderer
} from 'three/webgpu'

const renderer = new WebGPURenderer()
await renderer.init()

const loader = new GainMapLoader(renderer)
  .setRenderTargetOptions({ mapping: EquirectangularReflectionMapping })

const result = await loader.loadAsync(['sdr.jpeg', 'gainmap.jpeg', 'metadata.json'])
// `result` can be used to populate a Texture

const scene = new Scene()
const mesh = new Mesh(
  new PlaneGeometry(),
  new MeshBasicMaterial({ map: result.renderTarget.texture })
)
scene.add(mesh)
renderer.render(scene, new PerspectiveCamera())

// Starting from three.js r159
// `result.renderTarget.texture` can
// also be used as Equirectangular scene background
//
// it was previously needed to convert it
// to a DataTexture with `result.toDataTexture()`
scene.background = result.renderTarget.texture

// result must be manually disposed
// when you are done using it
result.dispose()

Extends

  • LoaderBaseWebGPU<[string, string, string]>

Constructors

Constructor

new GainMapLoader(renderer?, manager?): GainMapLoader

Defined in: src/decode/webgpu/loaders/LoaderBaseWebGPU.ts:17

Parameters

renderer?

WebGPURenderer

manager?

LoadingManager

Returns

GainMapLoader

Inherited from

LoaderBaseWebGPU<[string, string, string]>.constructor

Properties

_config

protected _config: LoaderBaseConfig<WebGPURenderer, QuadRenderer<1016, GainMapDecoderMaterial>, GainMapDecoderMaterial>

Defined in: src/decode/shared/Loader.ts:45

Inherited from

LoaderBaseWebGPU._config


_internalLoadingManager

protected _internalLoadingManager: LoadingManager

Defined in: src/decode/shared/Loader.ts:44

Inherited from

LoaderBaseWebGPU._internalLoadingManager

Methods

createTextures()

protected createTextures(sdrImage, gainMapImage, needsFlip): object

Defined in: src/decode/shared/Loader.ts:121

Parameters

sdrImage

HTMLImageElement | ImageBitmap

gainMapImage

HTMLImageElement | ImageBitmap | undefined

needsFlip

boolean

Returns

object

gainMap

gainMap: Texture

sdr

sdr: Texture

Inherited from

LoaderBaseWebGPU.createTextures


load()

load(urls, onLoad?, onProgress?, onError?): QuadRenderer<1016, GainMapDecoderMaterial>

Defined in: src/decode/webgpu/loaders/GainMapLoader.ts:73

Loads a gainmap using separate data

  • sdr image
  • gain map image
  • metadata json

useful for webp gain maps

Parameters

urls

[string, string, string]

An array in the form of [sdr.jpg, gainmap.jpg, metadata.json]

onLoad?

(data) => void

Load complete callback, will receive the result

onProgress?

(event) => void

Progress callback, will receive a ProgressEvent

onError?

(err) => void

Error callback

Returns

QuadRenderer<1016, GainMapDecoderMaterial>

Overrides

LoaderBaseWebGPU.load


prepareQuadRenderer()

protected prepareQuadRenderer(): QuadRenderer

Defined in: src/decode/shared/Loader.ts:64

Returns

QuadRenderer

Inherited from

LoaderBaseWebGPU.prepareQuadRenderer


processImages()

protected processImages(sdrBuffer, gainMapBuffer?, imageOrientation?): Promise<{ gainMapImage: HTMLImageElement | ImageBitmap | undefined; needsFlip: boolean; sdrImage: HTMLImageElement | ImageBitmap; }>

Defined in: src/decode/shared/Loader.ts:93

Parameters

sdrBuffer

ArrayBuffer

gainMapBuffer?

ArrayBuffer

imageOrientation?

"flipY" | "from-image"

Returns

Promise<{ gainMapImage: HTMLImageElement | ImageBitmap | undefined; needsFlip: boolean; sdrImage: HTMLImageElement | ImageBitmap; }>

Inherited from

LoaderBaseWebGPU.processImages


setRenderer()

setRenderer(renderer): GainMapLoader

Defined in: src/decode/shared/Loader.ts:54

Parameters

renderer

WebGPURenderer

Returns

GainMapLoader

Inherited from

LoaderBaseWebGPU.setRenderer


setRenderTargetOptions()

setRenderTargetOptions(options): GainMapLoader

Defined in: src/decode/shared/Loader.ts:59

Parameters

options

QuadRendererTextureOptions

Returns

GainMapLoader

Inherited from

LoaderBaseWebGPU.setRenderTargetOptions


updateQuadRenderer()

protected updateQuadRenderer(quadRenderer, sdrImage, gainMap, sdr, metadata): void

Defined in: src/decode/shared/Loader.ts:155

Parameters

quadRenderer

QuadRenderer<1016, GainMapDecoderMaterial> & object

sdrImage

HTMLImageElement | ImageBitmap

gainMap

Texture

sdr

Texture

metadata

GainMapMetadata

Returns

void

Inherited from

LoaderBaseWebGPU.updateQuadRenderer

Clone this wiki locally