Initial project import
This commit is contained in:
60
node_modules/@monogrid/gainmap-js/dist/decode/webgl/decode.d.ts
generated
vendored
Normal file
60
node_modules/@monogrid/gainmap-js/dist/decode/webgl/decode.d.ts
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
import { HalfFloatType, WebGLRenderer } from 'three';
|
||||
import { QuadRenderer } from '../../core/QuadRenderer';
|
||||
import { DecodeParametersWithRenderer } from '../shared';
|
||||
import { GainMapDecoderMaterial } from './materials/GainMapDecoderMaterial';
|
||||
/**
|
||||
* Decodes a gain map using a WebGL RenderTarget
|
||||
*
|
||||
* @category Decoding Functions
|
||||
* @group Decoding Functions
|
||||
* @example
|
||||
* import { decode } from '@monogrid/gainmap-js'
|
||||
* import {
|
||||
* Mesh,
|
||||
* MeshBasicMaterial,
|
||||
* PerspectiveCamera,
|
||||
* PlaneGeometry,
|
||||
* Scene,
|
||||
* TextureLoader,
|
||||
* WebGLRenderer
|
||||
* } from 'three'
|
||||
*
|
||||
* const renderer = new WebGLRenderer()
|
||||
*
|
||||
* const textureLoader = new TextureLoader()
|
||||
*
|
||||
* // load SDR Representation
|
||||
* const sdr = await textureLoader.loadAsync('sdr.jpg')
|
||||
* // load Gain map recovery image
|
||||
* const gainMap = await textureLoader.loadAsync('gainmap.jpg')
|
||||
* // load metadata
|
||||
* const metadata = await (await fetch('metadata.json')).json()
|
||||
*
|
||||
* const result = decode({
|
||||
* sdr,
|
||||
* gainMap,
|
||||
* // this allows to use `result.renderTarget.texture` directly
|
||||
* renderer,
|
||||
* // this will restore the full HDR range
|
||||
* maxDisplayBoost: Math.pow(2, metadata.hdrCapacityMax),
|
||||
* ...metadata
|
||||
* })
|
||||
*
|
||||
* const scene = new Scene()
|
||||
* // `result` can be used to populate a Texture
|
||||
* const mesh = new Mesh(
|
||||
* new PlaneGeometry(),
|
||||
* new MeshBasicMaterial({ map: result.renderTarget.texture })
|
||||
* )
|
||||
* scene.add(mesh)
|
||||
* renderer.render(scene, new PerspectiveCamera())
|
||||
*
|
||||
* // result must be manually disposed
|
||||
* // when you are done using it
|
||||
* result.dispose()
|
||||
*
|
||||
* @param params
|
||||
* @returns
|
||||
* @throws {Error} if the WebGLRenderer fails to render the gain map
|
||||
*/
|
||||
export declare const decode: (params: DecodeParametersWithRenderer<WebGLRenderer>) => InstanceType<typeof QuadRenderer<typeof HalfFloatType, InstanceType<typeof GainMapDecoderMaterial>>>;
|
||||
8
node_modules/@monogrid/gainmap-js/dist/decode/webgl/index.d.ts
generated
vendored
Normal file
8
node_modules/@monogrid/gainmap-js/dist/decode/webgl/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
export * from '../../core/QuadRenderer';
|
||||
export * from '../../core/types';
|
||||
export * from '../shared';
|
||||
export * from './decode';
|
||||
export * from './loaders/GainMapLoader';
|
||||
export * from './loaders/HDRJPGLoader';
|
||||
export { HDRJPGLoader as JPEGRLoader } from './loaders/HDRJPGLoader';
|
||||
export * from './materials/GainMapDecoderMaterial';
|
||||
68
node_modules/@monogrid/gainmap-js/dist/decode/webgl/loaders/GainMapLoader.d.ts
generated
vendored
Normal file
68
node_modules/@monogrid/gainmap-js/dist/decode/webgl/loaders/GainMapLoader.d.ts
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
import { HalfFloatType } from 'three';
|
||||
import { QuadRenderer } from '../../../core/QuadRenderer';
|
||||
import { GainMapDecoderMaterial } from '../materials/GainMapDecoderMaterial';
|
||||
import { LoaderBaseWebGL } from './LoaderBaseWebGL';
|
||||
/**
|
||||
* A Three.js Loader for the gain map format.
|
||||
*
|
||||
* @category Loaders
|
||||
* @group Loaders
|
||||
*
|
||||
* @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()
|
||||
*
|
||||
*/
|
||||
export declare class GainMapLoader extends LoaderBaseWebGL<[string, string, string]> {
|
||||
/**
|
||||
* Loads a gainmap using separate data
|
||||
* * sdr image
|
||||
* * gain map image
|
||||
* * metadata json
|
||||
*
|
||||
* useful for webp gain maps
|
||||
*
|
||||
* @param urls An array in the form of [sdr.jpg, gainmap.jpg, metadata.json]
|
||||
* @param onLoad Load complete callback, will receive the result
|
||||
* @param onProgress Progress callback, will receive a `ProgressEvent`
|
||||
* @param onError Error callback
|
||||
* @returns
|
||||
*/
|
||||
load([sdrUrl, gainMapUrl, metadataUrl]: [string, string, string], onLoad?: (data: QuadRenderer<typeof HalfFloatType, GainMapDecoderMaterial>) => void, onProgress?: (event: ProgressEvent) => void, onError?: (err: unknown) => void): QuadRenderer<typeof HalfFloatType, GainMapDecoderMaterial>;
|
||||
}
|
||||
64
node_modules/@monogrid/gainmap-js/dist/decode/webgl/loaders/HDRJPGLoader.d.ts
generated
vendored
Normal file
64
node_modules/@monogrid/gainmap-js/dist/decode/webgl/loaders/HDRJPGLoader.d.ts
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
import { HalfFloatType } from 'three';
|
||||
import { QuadRenderer } from '../../../core/QuadRenderer';
|
||||
import { GainMapDecoderMaterial } from '../materials/GainMapDecoderMaterial';
|
||||
import { LoaderBaseWebGL } from './LoaderBaseWebGL';
|
||||
/**
|
||||
* A Three.js Loader for a JPEG with embedded gainmap metadata.
|
||||
*
|
||||
* @category Loaders
|
||||
* @group Loaders
|
||||
*
|
||||
* @example
|
||||
* import { HDRJPGLoader } from '@monogrid/gainmap-js'
|
||||
* import {
|
||||
* EquirectangularReflectionMapping,
|
||||
* Mesh,
|
||||
* MeshBasicMaterial,
|
||||
* PerspectiveCamera,
|
||||
* PlaneGeometry,
|
||||
* Scene,
|
||||
* WebGLRenderer
|
||||
* } from 'three'
|
||||
*
|
||||
* const renderer = new WebGLRenderer()
|
||||
*
|
||||
* 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()
|
||||
*
|
||||
*/
|
||||
export declare class HDRJPGLoader extends LoaderBaseWebGL<string> {
|
||||
/**
|
||||
* Loads a JPEG containing gain map metadata
|
||||
* Renders a normal SDR image if gainmap data is not found
|
||||
*
|
||||
* @param url Path to a JPEG file containing embedded gain map metadata
|
||||
* @param onLoad Load complete callback, will receive the result
|
||||
* @param onProgress Progress callback, will receive a `ProgressEvent`
|
||||
* @param onError Error callback
|
||||
* @returns
|
||||
*/
|
||||
load(url: string, onLoad?: (data: QuadRenderer<typeof HalfFloatType, GainMapDecoderMaterial>) => void, onProgress?: (event: ProgressEvent) => void, onError?: (err: unknown) => void): QuadRenderer<typeof HalfFloatType, GainMapDecoderMaterial>;
|
||||
}
|
||||
20
node_modules/@monogrid/gainmap-js/dist/decode/webgl/loaders/LoaderBaseWebGL.d.ts
generated
vendored
Normal file
20
node_modules/@monogrid/gainmap-js/dist/decode/webgl/loaders/LoaderBaseWebGL.d.ts
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import { HalfFloatType, LoadingManager, type WebGLRenderer } from 'three';
|
||||
import { QuadRenderer } from '../../../core/QuadRenderer';
|
||||
import { type GainMapMetadata } from '../../../core/types';
|
||||
import { LoaderBaseShared } from '../../shared';
|
||||
import { GainMapDecoderMaterial } from '../materials/GainMapDecoderMaterial';
|
||||
/**
|
||||
* Base class for WebGL loaders
|
||||
* @template TUrl - The type of URL used to load resources
|
||||
*/
|
||||
export declare abstract class LoaderBaseWebGL<TUrl = string> extends LoaderBaseShared<WebGLRenderer, QuadRenderer<typeof HalfFloatType, GainMapDecoderMaterial>, GainMapDecoderMaterial, TUrl> {
|
||||
constructor(renderer?: WebGLRenderer, manager?: LoadingManager);
|
||||
/**
|
||||
* @private
|
||||
* @param quadRenderer
|
||||
* @param metadata
|
||||
* @param sdrBuffer
|
||||
* @param gainMapBuffer
|
||||
*/
|
||||
protected render(quadRenderer: QuadRenderer<typeof HalfFloatType, GainMapDecoderMaterial>, metadata: GainMapMetadata, sdrBuffer: ArrayBuffer, gainMapBuffer?: ArrayBuffer): Promise<void>;
|
||||
}
|
||||
70
node_modules/@monogrid/gainmap-js/dist/decode/webgl/materials/GainMapDecoderMaterial.d.ts
generated
vendored
Normal file
70
node_modules/@monogrid/gainmap-js/dist/decode/webgl/materials/GainMapDecoderMaterial.d.ts
generated
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
import { ShaderMaterial, Texture } from 'three';
|
||||
import { GainMapMetadata } from '../../../core/types';
|
||||
import { type GainmapDecodingParameters } from '../../shared';
|
||||
/**
|
||||
* A Material which is able to decode the Gainmap into a full HDR Representation
|
||||
*
|
||||
* @category Materials
|
||||
* @group Materials
|
||||
*/
|
||||
export declare class GainMapDecoderMaterial extends ShaderMaterial {
|
||||
private _maxDisplayBoost;
|
||||
private _hdrCapacityMin;
|
||||
private _hdrCapacityMax;
|
||||
/**
|
||||
*
|
||||
* @param params
|
||||
*/
|
||||
constructor({ gamma, offsetHdr, offsetSdr, gainMapMin, gainMapMax, maxDisplayBoost, hdrCapacityMin, hdrCapacityMax, sdr, gainMap }: GainMapMetadata & GainmapDecodingParameters & {
|
||||
sdr: Texture;
|
||||
gainMap: Texture;
|
||||
});
|
||||
get sdr(): Texture;
|
||||
set sdr(value: Texture);
|
||||
get gainMap(): Texture;
|
||||
set gainMap(value: Texture);
|
||||
/**
|
||||
* @see {@link GainMapMetadata.offsetHdr}
|
||||
*/
|
||||
get offsetHdr(): [number, number, number];
|
||||
set offsetHdr(value: [number, number, number]);
|
||||
/**
|
||||
* @see {@link GainMapMetadata.offsetSdr}
|
||||
*/
|
||||
get offsetSdr(): [number, number, number];
|
||||
set offsetSdr(value: [number, number, number]);
|
||||
/**
|
||||
* @see {@link GainMapMetadata.gainMapMin}
|
||||
*/
|
||||
get gainMapMin(): [number, number, number];
|
||||
set gainMapMin(value: [number, number, number]);
|
||||
/**
|
||||
* @see {@link GainMapMetadata.gainMapMax}
|
||||
*/
|
||||
get gainMapMax(): [number, number, number];
|
||||
set gainMapMax(value: [number, number, number]);
|
||||
/**
|
||||
* @see {@link GainMapMetadata.gamma}
|
||||
*/
|
||||
get gamma(): [number, number, number];
|
||||
set gamma(value: [number, number, number]);
|
||||
/**
|
||||
* @see {@link GainMapMetadata.hdrCapacityMin}
|
||||
* @remarks Logarithmic space
|
||||
*/
|
||||
get hdrCapacityMin(): number;
|
||||
set hdrCapacityMin(value: number);
|
||||
/**
|
||||
* @see {@link GainMapMetadata.hdrCapacityMin}
|
||||
* @remarks Logarithmic space
|
||||
*/
|
||||
get hdrCapacityMax(): number;
|
||||
set hdrCapacityMax(value: number);
|
||||
/**
|
||||
* @see {@link GainmapDecodingParameters.maxDisplayBoost}
|
||||
* @remarks Non Logarithmic space
|
||||
*/
|
||||
get maxDisplayBoost(): number;
|
||||
set maxDisplayBoost(value: number);
|
||||
private calculateWeight;
|
||||
}
|
||||
Reference in New Issue
Block a user