EG/RenderPipelineFile/rpplugins/ao/config.yaml
2025-12-12 16:16:15 +08:00

281 lines
8.8 KiB
YAML

settings: !!omap
- blur_quality:
type: enum
values: ["LOW", "MEDIUM", "HIGH", "ULTRA"]
default: "MEDIUM"
label: Blur quality
description: >
Controls the quality of the post-ao blur, higher values produce smoother
ambient occlusion, but also cost more performance.
# General settings
- blur_normal_factor:
type: float
range: [0.1, 10.0]
default: 1.2
shader_runtime: true
label: Bilateral Blur Normal Factor
description: >
This setting controls the normal influence for the bilateral blur.
A value of 0.0 means a normal blur, and a higher value will prevent
blurring over normals.
- blur_depth_factor:
type: float
range: [0.1, 10.0]
default: 0.9
shader_runtime: true
label: Biliteral Blur Depth Factor
description: >
This setting controls the depth influence for the bilateral blur.
If a pixel exceeds the distance to the mid pixel by this amount, it
will not get weighted.
- occlusion_strength:
type: float
range: [0.1, 6.0]
default: 1.6
shader_runtime: true
label: Occlusion Strength
description: >
This controls the strength of the occlusion. Higher values will make
the occlusion look darker, and lower values will make it less
noticeable. You most likely will have to adjust it differently for
every technique.
- clip_length:
type: int
range: [1, 16]
default: 2
shader_runtime: true
label: Clip length
description: >
Controls how long to keep AO samples in the history. Bigger values
will produce a smoother effect but might also produce artifacts,
especially when moving.
- technique:
type: enum
values: ["SSAO", "HBAO", "SSVO", "ALCHEMY", "UE4AO"]
default: SSAO
shader_runtime: true
label: Technique
description: >
The kernel to use for computing ambient occlusion. The settings below
depend on the kernel, so choose a kernel first!
# Settings for SSAO
- ssao_sample_radius:
display_if: {technique: "SSAO"}
type: float
range: [5, 400]
default: 80
shader_runtime: true
label: SSAO Sample Radius
description: >
Size of the sampling radius in pixels, higher values might look better,
but also perform worse due to less caching.
- ssao_sequence:
display_if: {technique: "SSAO"}
type: sample_sequence
dimension: 3
default: halton_3D_8
shader_runtime: true
label: SSAO Sample Sequence
description: >
Amount and type of samples to use. A higher amount of samples provides
a better quality but also a decrease in performance.
- ssao_bias:
display_if: {technique: "SSAO"}
type: float
range: [0.0, 0.5]
default: 0.0333
shader_runtime: true
label: SSAO Depth Bias
description: >
This is a small bias which prevents self-occlusion artifacts on
curved objects.
- ssao_max_distance:
display_if: {technique: "SSAO"}
type: float
range: [0.0, 15.0]
default: 6.9
shader_runtime: true
label: SSAO Max distance
description: >
Prevents halos by specifying the maximum distance between two
pixels to account for ambient occlusion. The distance should be
in world space.
# Settings for HBAO
- hbao_sample_radius:
display_if: {technique: "HBAO"}
type: float
range: [5, 400]
default: 255.0
shader_runtime: true
label: HBAO Sample Radius
description: >
Size of the sampling radius in pixels, higher values might look better,
but also perform worse due to less caching.
- hbao_ray_count:
display_if: {technique: "HBAO"}
type: int
range: [1, 8]
default: 4
shader_runtime: true
label: HBAO Ray count
description: >
Amount of rays to march from the pixel position.
- hbao_ray_steps:
display_if: {technique: "HBAO"}
type: int
range: [1, 16]
default: 3
shader_runtime: true
label: HBAO Ray steps
description: >
Amount of steps to perform for each ray.
- hbao_tangent_bias:
display_if: {technique: "HBAO"}
type: float
range: [0.0, 1.0]
default: 0.65
shader_runtime: true
label: HBAO Tangent bias
description: >
Used to prevent self-occlusion on curved objects, this increases the tangent angle
by a fixed value.
- hbao_max_distance:
display_if: {technique: "HBAO"}
type: float
range: [0.01, 25.0]
default: 11.5
shader_runtime: true
label: HBAO Max sample distance
description: >
Maximum distance of a sample to the pixel center in world space
# Settings for SSVO
- ssvo_sequence:
display_if: {technique: "SSVO"}
type: sample_sequence
dimension: 2
default: halton_2D_8
shader_runtime: true
label: SSVO Sample Sequence
description: >
Amount and type of samples to use. A higher amount of samples
provides a better quality but also a decrease in performance.
- ssvo_sphere_radius:
display_if: {technique: "SSVO"}
type: float
range: [0.1, 40.0]
default: 18.0
shader_runtime: true
label: SSVO Sphere sample radius
description: >
Size of the sphere in view space to integrate. High values may produce
artifacts.
- ssvo_max_distance:
display_if: {technique: "SSVO"}
type: float
range: [0.05, 10.0]
default: 0.82
shader_runtime: true
label: SSVO Max distance
description: >
Maximum distance until a sample gets rejected, in world space. This prevents halos arround objects.
# Settings for ALCHEMY
- alchemy_sample_radius:
display_if: {technique: "ALCHEMY"}
type: float
range: [5, 400]
default: 210.0
shader_runtime: true
label: ALCHEMY Sample Radius
description: >
Size of the sampling radius in pixels, higher values might look better,
but also perform worse due to less caching.
- alchemy_sequence:
display_if: {technique: "ALCHEMY"}
type: sample_sequence
dimension: 2
default: halton_2D_8
shader_runtime: true
label: ALCHEMY Sample Sequence
description: >
Amount and type of samples to use. A higher amount of samples provides
a better quality but also a decrease in performance.
- alchemy_max_distance:
display_if: {technique: "ALCHEMY"}
type: float
range: [0.1, 20.0]
default: 4.75
shader_runtime: true
label: ALCHEMY Maximum distance
description: >
Specifies the maximum distance between two samples until one sample
is rejected. This prevents halos arround objects.
# Settings for UE4AO
- ue4ao_sample_radius:
display_if: {technique: "UE4AO"}
type: float
range: [5, 400]
default: 110.5
shader_runtime: true
label: UE4AO Sample Radius
description: >
Size of the sampling radius in pixels, higher values might look better,
but also perform worse due to less caching.
- ue4ao_sample_sequence:
display_if: {technique: "UE4AO"}
type: sample_sequence
dimension: 2
default: halton_2D_8
shader_runtime: true
label: UE4AO Sample Sequence
description: >
Amount and type of samples to use. A higher amount of samples provides
a better quality but also a decrease in performance.
- ue4ao_max_distance:
display_if: {technique: "UE4AO"}
type: float
range: [0.1, 15.0]
default: 1.87
shader_runtime: true
label: UE4AO Maximum distance
description: >
Specifies the maximum distance between two samples until one sample
is rejected. This prevents halos arround objects.
daytime_settings: