255 lines
8.7 KiB
YAML
255 lines
8.7 KiB
YAML
|
|
settings: !!omap
|
|
|
|
- max_distance:
|
|
type: float
|
|
range: [2.0, 6000.0]
|
|
default: 100.0
|
|
runtime: true
|
|
shader_runtime: true
|
|
label: Maximum shadow distance
|
|
description: >
|
|
This controls the maximum distance up to where shadows
|
|
are rendered. A higher distance means further shadows,
|
|
but also a worse shadow quality.
|
|
|
|
- logarithmic_factor:
|
|
type: float
|
|
range: [0.01, 3.0]
|
|
default: 2.4
|
|
runtime: true
|
|
shader_runtime: true
|
|
label: Logarithmic Factor
|
|
description: >
|
|
Controls the logarithmic factor of the splitting scheme. Lower
|
|
values mean a more linear distribution, while higher values will
|
|
move the splits closer to the camera.
|
|
|
|
- sun_distance:
|
|
type: float
|
|
range: [100.0, 10000.0]
|
|
default: 100.0
|
|
label: Sun distance
|
|
runtime: true
|
|
description: >
|
|
This controls how far the sun is away from the scene, to avoid
|
|
clipping objects outside of the frustum which still cast shadows.
|
|
Basically you don't need to adjust this setting, but in
|
|
case you get artifacts, try increasing this setting.
|
|
|
|
- split_count:
|
|
type: int
|
|
range: [1, 20]
|
|
default: 5
|
|
label: Amount of PSSM Splits / Cascades
|
|
description: >
|
|
This controls how many splits are used for the PSSM.
|
|
A higher amount of splits increases the shadow map
|
|
detail and quality, but also increases the performance
|
|
cost by a lot. For every split, the scene has to get
|
|
rendered again, so be careful when choosing high amount
|
|
of splits.
|
|
|
|
- resolution:
|
|
type: power_of_two
|
|
range: [128, 4096]
|
|
default: 1024
|
|
label: Shadowmap resolution
|
|
description: >
|
|
This controls the resolution of the individual shadowmaps
|
|
of the splits. If you choose a resolution of 512 for example,
|
|
and you have 10 splits, then that makes a total resolution
|
|
of 5120 * 512 for the shadow map. Be careful when choosing high
|
|
defaults, the shadow map will soon take a huge amount of VRam.
|
|
|
|
- border_bias:
|
|
type: float
|
|
range: [0.0, 0.35]
|
|
default: 0.058
|
|
label: Border Padding
|
|
runtime: true
|
|
shader_runtime: true
|
|
description: >
|
|
Increases the shadow map size of each cascade by a small factor, to
|
|
ensure seamless filtering between cascades. If you encounter artifacts
|
|
between cascades, increase this value.
|
|
|
|
- use_pcf:
|
|
type: bool
|
|
default: true
|
|
label: Use hardware filtering (PCF)
|
|
description: >
|
|
This setting turns Percentage Closer Filtering on or off (A simple
|
|
2x2 bilinear filter provided by the GPU).
|
|
It provides a better shadow quality, and theoretically a better
|
|
performance. However, not all GPU's seem to support it.
|
|
|
|
- filter_sequence:
|
|
type: sample_sequence
|
|
dimension: 2
|
|
default: halton_2D_16
|
|
shader_runtime: true
|
|
label: Filtering sequence
|
|
description: >
|
|
Amount and Type of samples to take for filtering the shadow. Higher
|
|
values provide a better shadow quality, but also are more expensive.
|
|
|
|
- filter_radius:
|
|
type: float
|
|
range: [0.05, 10.0]
|
|
default: 0.55
|
|
shader_runtime: true
|
|
label: Filtering radius
|
|
description: >
|
|
This setting controls the filter size, higher values mean a more
|
|
smooth penumbra. Too high values might (and will) produce artifacts.
|
|
This setting has almost no measureable impact on performance.
|
|
|
|
- fixed_bias:
|
|
type: float
|
|
range: [0.0, 2.0]
|
|
default: 0.48
|
|
shader_runtime: true
|
|
label: Depth Bias
|
|
description: >
|
|
Depth-Based bias. This avoids self-shadowing issues (also known)
|
|
as Shadow-Acne. Too high values will produce gaps in the shadows,
|
|
so try to find the lowest possible value.
|
|
|
|
- slope_bias:
|
|
type: float
|
|
range: [0.0, 5.0]
|
|
default: 0.11
|
|
shader_runtime: true
|
|
label: Slope Bias
|
|
description: >
|
|
Slope-Based bias. This avoid self-shadowing issues as well, but instead
|
|
of the fixed bias it adds bias based on the angle between the light
|
|
and the surface.
|
|
|
|
- normal_bias:
|
|
type: float
|
|
range: [0.0, 5.0]
|
|
default: 0.39
|
|
shader_runtime: true
|
|
label: Normal Bias
|
|
description: >
|
|
Normal-Based bias. This moves the sample position by a small amount
|
|
into the direction of the surface normal, to avoid self shadowing.
|
|
|
|
# PCSS settings
|
|
|
|
- use_pcss:
|
|
type: bool
|
|
default: false
|
|
shader_runtime: true
|
|
label: Use PCSS
|
|
description: >
|
|
PCSS adds support for variable penumbra size shadows. Without PCSS,
|
|
all shadows have the same penumbra size at all places. With PCSS,
|
|
the shadow penumbra size increases based on the distance. However,
|
|
PCSS requires additionally computations, and thus is slower than
|
|
regular filtering.
|
|
|
|
- pcss_sequence:
|
|
display_if: {use_pcss: true}
|
|
type: sample_sequence
|
|
dimension: 2
|
|
default: halton_2D_16
|
|
shader_runtime: true
|
|
label: PCSS Penumbra Samples
|
|
description: >
|
|
Amount and Type of samples to take for finding the penumbra size.
|
|
Higher values might produce better results at the cost of performance.
|
|
|
|
- pcss_penumbra_size:
|
|
display_if: {use_pcss: true}
|
|
type: float
|
|
range: [0.1, 300.0]
|
|
default: 11.0
|
|
shader_runtime: true
|
|
label: PCSS Penumbra scale
|
|
description: >
|
|
Scales the penumbra by a fixed factor. This is an artistic setting,
|
|
and does not affect performance much. Lower settings will cause a
|
|
smaller penumbra, while higher settings produce a bigger one. Too
|
|
high values might cause artifacts in the filtering.
|
|
|
|
- pcss_min_penumbra_size:
|
|
display_if: {use_pcss: true}
|
|
type: float
|
|
range: [0.1, 20.0]
|
|
default: 5.0
|
|
shader_runtime: true
|
|
label: PCSS Min. Penumbra scale
|
|
description: >
|
|
Specifies the minimum penumbra/filter size to avoid blocky shadows.
|
|
|
|
- use_distant_shadows:
|
|
type: bool
|
|
default: true
|
|
label: Render distant shadows
|
|
description: >
|
|
When this setting is enabled, an additional shadow map is generated
|
|
to render distant shadows, e.g. for terrain. This makes it possible
|
|
to set the pssm distance very small, but still recieve shadows from
|
|
big objects. If your scene is not big, this may not be required.
|
|
|
|
- dist_shadow_resolution:
|
|
display_if: {use_distant_shadows: true}
|
|
type: power_of_two
|
|
range: [128, 8192]
|
|
default: 1024
|
|
label: Distant Shadow Resolution
|
|
description: >
|
|
Controls the size of distant shadow map in pixels.
|
|
|
|
- dist_shadow_clipsize:
|
|
display_if: {use_distant_shadows: true}
|
|
type: float
|
|
range: [100.0, 20000.0]
|
|
default: 1000.0
|
|
runtime: true
|
|
label: Distant Shadow Range
|
|
description: >
|
|
Controls the range of the distant shadow map. Bigger values cover
|
|
a bigger part of the scene, but also decrease the effective resolution.
|
|
|
|
- dist_shadow_sundist:
|
|
display_if: {use_distant_shadows: true}
|
|
type: float
|
|
range: [100.0, 20000.0]
|
|
default: 500.0
|
|
label: Distant Shadow Sun Distance
|
|
runtime: true
|
|
description: >
|
|
Same as the Sun Distance, but for the distant shadow map.
|
|
|
|
- scene_shadow_resolution:
|
|
type: power_of_two
|
|
range: [128, 4096]
|
|
default: 512
|
|
label: Scene shadow Resolution
|
|
description: >
|
|
Controls the size of the shadow map which is used when rendering
|
|
environment probes.
|
|
|
|
- scene_shadow_sundist:
|
|
type: float
|
|
range: [100.0, 20000.0]
|
|
default: 100.0
|
|
label: Scene Shadow Sun Distance
|
|
runtime: true
|
|
description: >
|
|
Same as the Sun Distance, but for the scene shadow map.
|
|
|
|
daytime_settings:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|