LUT3DEffect
Extends:
Indirect Implements:
A LUT effect.
The tetrahedral interpolation algorithm was inspired by an implementation from OpenColorIO which is licensed under the BSD 3-Clause License.
The manual trilinear interpolation algorithm is based on an implementation by Garret Johnson which is licensed under the MIT License.
References: https://developer.nvidia.com/gpugems/gpugems2/part-iii-high-quality-rendering/chapter-24-using-lookup-tables-accelerate-color https://www.nvidia.com/content/GTC/posters/2010/V01-Real-Time-Color-Space-Conversion-for-High-Resolution-Video.pdf https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/master/src/OpenColorIO/ops/lut3d/ https://github.com/gkjohnson/threejs-sandbox/tree/master/3d-lut
Constructor Summary
Public Constructor | ||
public |
constructor(lut: Texture, options: Object) Constructs a new color grading effect. |
Member Summary
Public Members | ||
public |
|
|
public get |
lut: Texture The LUT. |
|
public set |
|
|
public get |
Indicates whether tetrahedral interpolation is enabled. |
|
public set |
|
Method Summary
Public Methods | ||
public |
getLUT(): Texture this method was deprecated. Use lut instead.
Returns the current LUT. |
|
public |
setLUT(value: Texture) this method was deprecated. Use lut instead.
Sets the LUT. |
|
public |
this method was deprecated. Use tetrahedralInterpolation instead.
Enables or disables tetrahedral interpolation. |
Inherited Summary
From class Effect | ||
public get |
inputColorSpace: ColorSpace this get is experimental.
The input color space. |
|
public set |
mainCamera: Camera Sets the main camera. |
|
public set |
mainScene: Scene Sets the main scene. |
|
public get |
outputColorSpace: ColorSpace this get is experimental.
The output color space. |
|
protected set |
inputColorSpace: ColorSpace this set is experimental.
|
|
protected set |
outputColorSpace: ColorSpace this set is experimental.
|
|
public |
The blend mode of this effect. |
|
public |
Preprocessor macro definitions. |
|
public |
WebGL extensions that are required by this effect. |
|
public |
The name of this effect. |
|
public |
Shader uniforms. |
|
protected |
renderer: WebGLRenderer this member was deprecated.
The renderer. |
|
public |
dispose() Performs a shallow search for properties that define a dispose method and deletes them. |
|
public |
Returns the effect attributes. |
|
public |
this method was deprecated. Use blendMode instead.
Returns the blend mode. |
|
public |
getDefines(): Map<String, String> this method was deprecated. Use defines instead.
Returns the preprocessor macro definitions. |
|
public |
this method was deprecated. Use extensions instead.
Returns the WebGL extensions that are required by this effect. |
|
public |
Returns the fragment shader. |
|
public |
this method was deprecated. Use name instead.
Returns the name of this effect. |
|
public |
getUniforms(): Map<String, Uniform> this method was deprecated. Use uniforms instead.
Returns the uniforms of this effect. |
|
public |
Returns the vertex shader. |
|
public |
initialize(renderer: WebGLRenderer, alpha: Boolean, frameBufferType: Number) Performs initialization tasks. |
|
public |
setDepthTexture(depthTexture: Texture, depthPacking: DepthPackingStrategies) Sets the depth texture. |
|
public |
setRenderer(renderer: WebGLRenderer) this method was deprecated.
Sets the renderer. |
|
public |
Updates the size of this effect. |
|
public |
Updates this effect by performing supporting operations. |
|
protected |
setAttributes(attributes: EffectAttribute) Sets the effect attributes. |
|
protected |
Informs the associated EffectPass that this effect requires a shader recompilation. |
|
protected |
setFragmentShader(fragmentShader: String) Sets the fragment shader. |
|
protected |
setVertexShader(vertexShader: String) Sets the vertex shader. |
Public Constructors
public constructor(lut: Texture, options: Object) source
Constructs a new color grading effect.
Override:
Effect#constructorParams:
Name | Type | Attribute | Description |
lut | Texture | The lookup texture. |
|
options | Object |
|
The options. |
options.blendFunction | BlendFunction |
|
The blend function of this effect. |
options.tetrahedralInterpolation | Boolean |
|
Enables or disables tetrahedral interpolation. |
options.inputColorSpace | ColorSpace |
|
The input color space. |
Public Members
public set lut source
public get tetrahedralInterpolation: Boolean source
Indicates whether tetrahedral interpolation is enabled. Requires a 3D LUT, disabled by default.
Tetrahedral interpolation produces highly accurate results but is slower than hardware interpolation.