decode.webgpu.Class.GainMapLoader - MONOGRID/gainmap-js GitHub Wiki
@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()
protectedcreateTextures(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()
protectedprepareQuadRenderer():QuadRenderer
Defined in: src/decode/shared/Loader.ts:64
Returns
Inherited from
LoaderBaseWebGPU.prepareQuadRenderer
processImages()
protectedprocessImages(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
Returns
GainMapLoader
Inherited from
LoaderBaseWebGPU.setRenderTargetOptions
updateQuadRenderer()
protectedupdateQuadRenderer(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
Returns
void
Inherited from
LoaderBaseWebGPU.updateQuadRenderer