Skip to content

UiPostEffectDefinition

Immutable specification of a post-processing effect with ordered shader passes.

Overview

UiPostEffectDefinition describes a named effect containing one or more shader passes (UiPostEffectPass) executed in sequence. Multi-pass effects (such as two-pass Gaussian blur or bloom) ping-pong between intermediate texture targets before writing to the final destination.

Building a Multi-Pass Effect

UiPostEffectDefinition customBloom = UiPostEffectDefinition.create("mymod:bloom")
    .pass("mymod:bright_pass")
    .pass("mymod:blur_h", uniforms -> uniforms.floatValue("radius", 4.0f))
    .pass("mymod:blur_v", uniforms -> uniforms.floatValue("radius", 4.0f))
    .build();
UiPostEffectRegistry.global().register(customBloom);

API

UiPostEffectDefinition::copy()

copy()

Returns an independent copy of this definition.

Returns UiPostEffectDefinition: Resulting UiPostEffectDefinition..

UiPostEffectDefinition::create(String)

create(String)

Begins building a new post-effect definition.

Parameter Type Description
id String Unique effect identifier.

Returns Builder: Resulting UiPostEffectDefinition.Builder..

UiPostEffectDefinition::enabledByDefault()

enabledByDefault()

Returns true if this effect is enabled by default in presets.

Returns boolean: Resulting boolean..

UiPostEffectDefinition::id()

id()

Returns the unique effect identifier.

Returns String: Resulting String..

UiPostEffectDefinition::passes()

passes()

Returns an unmodifiable list of shader passes.

Returns List: Resulting List..

UiPostEffectDefinition::singlePass(String)

singlePass(String)

Creates a single-pass definition using the effect ID as shader ID.

Parameter Type Description
id String Effect identifier.

Returns UiPostEffectDefinition: Resulting UiPostEffectDefinition..