Skip to content

decode.webgpu.Class.HDRJPGLoader

github-actions[bot] edited this page Dec 20, 2025 · 13 revisions

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

Class: HDRJPGLoader

Defined in: src/decode/webgpu/loaders/HDRJPGLoader.ts:60

A Three.js Loader for a JPEG with embedded gainmap metadata (WebGPU version).

Example

import { HDRJPGLoader } 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 HDRJPGLoader(renderer)
  .setRenderTargetOptions({ mapping: EquirectangularReflectionMapping })

const result = await loader.loadAsync('gainmap.jpeg')
// `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>

Constructors

Constructor

new HDRJPGLoader(renderer?, manager?): HDRJPGLoader

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

Parameters

renderer?

WebGPURenderer

manager?

LoadingManager

Returns

HDRJPGLoader

Inherited from

LoaderBaseWebGPU<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(url, onLoad?, onProgress?, onError?): QuadRenderer<1016, GainMapDecoderMaterial>

Defined in: src/decode/webgpu/loaders/HDRJPGLoader.ts:71

Loads a JPEG containing gain map metadata Renders a normal SDR image if gainmap data is not found

Parameters

url

string

Path to a JPEG file containing embedded gain map metadata

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): HDRJPGLoader

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

Parameters

renderer

WebGPURenderer

Returns

HDRJPGLoader

Inherited from

LoaderBaseWebGPU.setRenderer


setRenderTargetOptions()

setRenderTargetOptions(options): HDRJPGLoader

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

Parameters

options

QuadRendererTextureOptions

Returns

HDRJPGLoader

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