Home Reference Source
import {LUT3DEffect} from 'postprocessing'
public class | source

LUT3DEffect

Extends:

three~EventDispatcherEffect → LUT3DEffect

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

lut

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

uniforms: Map<String, Uniform>

Shader uniforms.

protected

renderer: WebGLRenderer

this member was deprecated.

The renderer.

public

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

setSize(width: Number, height: Number)

Updates the size of this effect.

public

update(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, deltaTime: Number)

Updates this effect by performing supporting operations.

protected

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#constructor

Params:

NameTypeAttributeDescription
lut Texture

The lookup texture.

options Object
  • optional

The options.

options.blendFunction BlendFunction
  • optional
  • default: BlendFunction.SRC

The blend function of this effect.

options.tetrahedralInterpolation Boolean
  • optional
  • default: false

Enables or disables tetrahedral interpolation.

options.inputColorSpace ColorSpace
  • optional
  • default: SRGBColorSpace

The input color space.

Public Members

public inputColorSpace: * source

The input color space.

Override:

Effect#inputColorSpace

public get lut: Texture source

The LUT.

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.

public set tetrahedralInterpolation source

Public Methods

public getLUT(): Texture source

this method was deprecated. Use lut instead.

Returns the current LUT.

Return:

Texture

The LUT.

public setLUT(value: Texture) source

this method was deprecated. Use lut instead.

Sets the LUT.

Params:

NameTypeAttributeDescription
value Texture

The LUT.

public setTetrahedralInterpolationEnabled(value: Boolean) source

this method was deprecated. Use tetrahedralInterpolation instead.

Enables or disables tetrahedral interpolation.

Params:

NameTypeAttributeDescription
value Boolean

Whether tetrahedral interpolation should be enabled.