decode.Class.GainMapLoader - MONOGRID/gainmap-js GitHub Wiki

@monogrid/gainmap-js / decode / GainMapLoader

Class: GainMapLoader

Defined in: src/decode/webgl/loaders/GainMapLoader.ts:57

A Three.js Loader for the gain map format.

Example

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

const renderer = new WebGLRenderer()

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

  • LoaderBaseWebGL<[string, string, string]>

Constructors

Constructor

new GainMapLoader(renderer?, manager?): GainMapLoader

Defined in: src/decode/webgl/loaders/LoaderBaseWebGL.ts:17

Parameters

renderer?

WebGLRenderer

manager?

LoadingManager

Returns

GainMapLoader

Inherited from

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

Properties

_config

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

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

Inherited from

LoaderBaseWebGL._config


_internalLoadingManager

protected _internalLoadingManager: LoadingManager

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

Inherited from

LoaderBaseWebGL._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

LoaderBaseWebGL.createTextures


load()

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

Defined in: src/decode/webgl/loaders/GainMapLoader.ts:72

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

LoaderBaseWebGL.load


prepareQuadRenderer()

protected prepareQuadRenderer(): QuadRenderer

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

Returns

QuadRenderer

Inherited from

LoaderBaseWebGL.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

LoaderBaseWebGL.processImages


setRenderer()

setRenderer(renderer): GainMapLoader

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

Parameters

renderer

WebGLRenderer

Returns

GainMapLoader

Inherited from

LoaderBaseWebGL.setRenderer


setRenderTargetOptions()

setRenderTargetOptions(options): GainMapLoader

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

Parameters

options

QuadRendererTextureOptions

Returns

GainMapLoader

Inherited from

LoaderBaseWebGL.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

LoaderBaseWebGL.updateQuadRenderer