79 lines
2.5 KiB
TypeScript
79 lines
2.5 KiB
TypeScript
import { MeshBasicNodeMaterial, Texture } from 'three/webgpu';
|
|
import { GainMapMetadata } from '../../../core/types';
|
|
import { type GainmapDecodingParameters } from '../../shared';
|
|
/**
|
|
* A Material which is able to decode the Gainmap into a full HDR Representation using TSL (Three.js Shading Language)
|
|
*
|
|
* @category Materials
|
|
* @group Materials
|
|
*/
|
|
export declare class GainMapDecoderMaterial extends MeshBasicNodeMaterial {
|
|
private _maxDisplayBoost;
|
|
private _hdrCapacityMin;
|
|
private _hdrCapacityMax;
|
|
private _gammaUniform;
|
|
private _offsetHdrUniform;
|
|
private _offsetSdrUniform;
|
|
private _gainMapMinUniform;
|
|
private _gainMapMaxUniform;
|
|
private _weightFactorUniform;
|
|
private _sdrTexture;
|
|
private _gainMapTexture;
|
|
/**
|
|
*
|
|
* @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.hdrCapacityMax}
|
|
* @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;
|
|
}
|