Files
2026-05-30 19:59:39 -03:00

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;
}