Enumerationmigueldeicaza.swiftgodot 0.46.0SwiftGodot
AmbientSource
Environment.swift:59enum AmbientSource
Cases
case bg
Gather ambient light from whichever source is specified as the background.
case disabled
Disable ambient light. This provides a slight performance boost over .sky.
case color
Specify a specific
Color
for ambient light. This provides a slight performance boost over .sky.case sky
Gather ambient light from the
Sky
regardless of what the background is.
Other members in extension
View members
Hide members
This section is hidden by default because it contains too many (100) members.
Types
Type members
Instance members
var adjustmentBrightness: Double
The global brightness value of the rendered scene. Effective only if
adjustmentEnabled
istrue
.var adjustmentColorCorrection: Texture?
The
Texture2D
orTexture3D
lookup table (LUT) to use for the built-in post-process color grading. Can use aGradientTexture1D
for a 1-dimensional LUT, or aTexture3D
for a more complex LUT. Effective only ifadjustmentEnabled
istrue
.var adjustmentContrast: Double
The global contrast value of the rendered scene (default value is 1). Effective only if
adjustmentEnabled
istrue
.var adjustmentEnabled: Bool
If
true
, enables theadjustment_*
properties provided by this resource. Iffalse
, modifications to theadjustment_*
properties will have no effect on the rendered scene.var adjustmentSaturation: Double
The global color saturation value of the rendered scene (default value is 1). Effective only if
adjustmentEnabled
istrue
.var ambientLightColor: Color
The ambient light’s
Color
. Only effective ifambientLightSkyContribution
is lower than1.0
(exclusive).var ambientLightEnergy: Double
The ambient light’s energy. The higher the value, the stronger the light. Only effective if
ambientLightSkyContribution
is lower than1.0
(exclusive).var ambientLightSkyContribution: Double
Defines the amount of light that the sky brings on the scene. A value of
0.0
means that the sky’s light emission has no effect on the scene illumination, thus all ambient illumination is provided by the ambient light. On the contrary, a value of1.0
means that all the light that affects the scene is provided by the sky, thus the ambient light parameter has no effect on the scene.var ambientLightSource: Environment.AmbientSource
The ambient light source to use for rendering materials and global illumination.
var backgroundCameraFeedId: Int32
The ID of the camera feed to show in the background.
var backgroundCanvasMaxLayer: Int32
The maximum layer ID to display. Only effective when using the .bgCanvas background mode.
var backgroundColor: Color
The
Color
displayed for clear areas of the scene. Only effective when using the .bgColor background mode.var backgroundEnergyMultiplier: Double
Multiplier for background energy. Increase to make background brighter, decrease to make background dimmer.
var backgroundIntensity: Double
Luminance of background measured in nits (candela per square meter). Only used when
ProjectSettings/rendering/lightsAndShadows/usePhysicalLightUnits
is enabled. The default value is roughly equivalent to the sky at midday.var backgroundMode: Environment.BGMode
The background mode. See
BGMode
for possible values.var fogAerialPerspective: Double
If set above
0.0
(exclusive), blends between the fog’s color and the color of the backgroundSky
. This has a small performance cost when set above0.0
. Must havebackgroundMode
set to .bgSky.var fogDensity: Double
The fog density to be used. This is demonstrated in different ways depending on the
fogMode
mode chosen:var fogDepthBegin: Double
The fog’s depth starting distance from the camera. Only available when
fogMode
is set to .depth.var fogDepthCurve: Double
The fog depth’s intensity curve. A number of presets are available in the Inspector by right-clicking the curve. Only available when
fogMode
is set to .depth.var fogDepthEnd: Double
The fog’s depth end distance from the camera. If this value is set to
0
, it will be equal to the current camera’sfar
value. Only available whenfogMode
is set to .depth.var fogEnabled: Bool
If
true
, fog effects are enabled.var fogHeight: Double
The height at which the height fog effect begins.
var fogHeightDensity: Double
The density used to increase fog as height decreases. To make fog increase as height increases, use a negative value.
var fogLightColor: Color
The fog’s color.
var fogLightEnergy: Double
The fog’s brightness. Higher values result in brighter fog.
var fogMode: Environment.FogMode
The fog mode. See
FogMode
for possible values.var fogSkyAffect: Double
The factor to use when affecting the sky with non-volumetric fog.
1.0
means that fog can fully obscure the sky. Lower values reduce the impact of fog on sky rendering, with0.0
not affecting sky rendering at all.var fogSunScatter: Double
If set above
0.0
, renders the scene’s directional light(s) in the fog color depending on the view angle. This can be used to give the impression that the sun is “piercing” through the fog.var glowBlendMode: Environment.GlowBlendMode
The glow blending mode.
var glowBloom: Double
The bloom’s intensity. If set to a value higher than
0
, this will make glow visible in areas darker than theglowHdrThreshold
.var glowEnabled: Bool
If
true
, the glow effect is enabled. This simulates real world eye/camera behavior where bright pixels bleed onto surrounding pixels.var glowHdrLuminanceCap: Double
The higher threshold of the HDR glow. Areas brighter than this threshold will be clamped for the purposes of the glow effect.
var glowHdrScale: Double
The bleed scale of the HDR glow.
var glowHdrThreshold: Double
The lower threshold of the HDR glow. When using the Mobile rendering method (which only supports a lower dynamic range up to
2.0
), this may need to be below1.0
for glow to be visible. A value of0.9
works well in this case. This value also needs to be decreased below1.0
when using glow in 2D, as 2D rendering is performed in SDR.var glowIntensity: Double
The overall brightness multiplier of the glow effect. When using the Mobile rendering method (which only supports a lower dynamic range up to
2.0
), this should be increased to1.5
to compensate.var glowMap: Texture?
The texture that should be used as a glow map to multiply the resulting glow color according to
glowMapStrength
. This can be used to create a “lens dirt” effect. The texture’s RGB color channels are used for modulation, but the alpha channel is ignored.var glowMapStrength: Double
How strong of an impact the
glowMap
should have on the overall glow effect. A strength of0.0
means the glow map has no effect on the overall glow effect. A strength of1.0
means the glow has a full effect on the overall glow effect (and can turn off glow entirely in specific areas of the screen if the glow map has black areas).var glowMix: Double
When using the .mix
glowBlendMode
, this controls how much the source image is blended with the glow layer. A value of0.0
makes the glow rendering invisible, while a value of1.0
is equivalent to .replace.var glowNormalized: Bool
If
true
, glow levels will be normalized so that summed together their intensities equal1.0
.var glowStrength: Double
The strength of the glow effect. This applies as the glow is blurred across the screen and increases the distance and intensity of the blur. When using the Mobile rendering method, this should be increased to compensate for the lower dynamic range.
var reflectedLightSource: Environment.ReflectionSource
The reflected (specular) light source.
var sdfgiBounceFeedback: Double
The energy multiplier applied to light every time it bounces from a surface when using SDFGI. Values greater than
0.0
will simulate multiple bounces, resulting in a more realistic appearance. IncreasingsdfgiBounceFeedback
generally has no performance impact. See alsosdfgiEnergy
.var sdfgiCascade0Distance: Double
var sdfgiCascades: Int32
The number of cascades to use for SDFGI (between 1 and 8). A higher number of cascades allows displaying SDFGI further away while preserving detail up close, at the cost of performance. When using SDFGI on small-scale levels,
sdfgiCascades
can often be decreased between1
and4
to improve performance.var sdfgiEnabled: Bool
If
true
, enables signed distance field global illumination for meshes that have theirgiMode
set to ``GeometryInstance3D/GIMode/`static```. SDFGI is a real-time global illumination technique that works well with procedurally generated and user-built levels, including in situations where geometry is created during gameplay. The signed distance field is automatically generated around the camera as it moves. Dynamic lights are supported, but dynamic occluders and emissive surfaces are not.var sdfgiEnergy: Double
The energy multiplier to use for SDFGI. Higher values will result in brighter indirect lighting and reflections. See also
sdfgiBounceFeedback
.var sdfgiMaxDistance: Double
The maximum distance at which SDFGI is visible. Beyond this distance, environment lighting or other sources of GI such as
ReflectionProbe
will be used as a fallback.var sdfgiMinCellSize: Double
The cell size to use for the closest SDFGI cascade (in 3D units). Lower values allow SDFGI to be more precise up close, at the cost of making SDFGI updates more demanding. This can cause stuttering when the camera moves fast. Higher values allow SDFGI to cover more ground, while also reducing the performance impact of SDFGI updates.
var sdfgiNormalBias: Double
The normal bias to use for SDFGI probes. Increasing this value can reduce visible streaking artifacts on sloped surfaces, at the cost of increased light leaking.
var sdfgiProbeBias: Double
The constant bias to use for SDFGI probes. Increasing this value can reduce visible streaking artifacts on sloped surfaces, at the cost of increased light leaking.
var sdfgiReadSkyLight: Bool
If
true
, SDFGI takes the environment lighting into account. This should be set tofalse
for interior scenes.var sdfgiUseOcclusion: Bool
If
true
, SDFGI uses an occlusion detection approach to reduce light leaking. Occlusion may however introduce dark blotches in certain spots, which may be undesired in mostly outdoor scenes.sdfgiUseOcclusion
has a performance impact and should only be enabled when needed.var sdfgiYScale: Environment.SDFGIYScale
The Y scale to use for SDFGI cells. Lower values will result in SDFGI cells being packed together more closely on the Y axis. This is used to balance between quality and covering a lot of vertical ground.
sdfgiYScale
should be set depending on how vertical your scene is (and how fast your camera may move on the Y axis).var sky: Sky?
The
Sky
resource used for thisEnvironment
.var skyCustomFov: Double
If set to a value greater than
0.0
, overrides the field of view to use for sky rendering. If set to0.0
, the same FOV as the currentCamera3D
is used for sky rendering.var skyRotation: Vector3
The rotation to use for sky rendering.
var ssaoAoChannelAffect: Double
The screen-space ambient occlusion intensity on materials that have an AO texture defined. Values higher than
0
will make the SSAO effect visible in areas darkened by AO textures.var ssaoDetail: Double
Sets the strength of the additional level of detail for the screen-space ambient occlusion effect. A high value makes the detail pass more prominent, but it may contribute to aliasing in your final image.
var ssaoEnabled: Bool
If
true
, the screen-space ambient occlusion effect is enabled. This darkens objects’ corners and cavities to simulate ambient light not reaching the entire object as in real life. This works well for small, dynamic objects, but baked lighting or ambient occlusion textures will do a better job at displaying ambient occlusion on large static objects. Godot uses a form of SSAO called Adaptive Screen Space Ambient Occlusion which is itself a form of Horizon Based Ambient Occlusion.var ssaoHorizon: Double
The threshold for considering whether a given point on a surface is occluded or not represented as an angle from the horizon mapped into the
0.0-1.0
range. A value of1.0
results in no occlusion.var ssaoIntensity: Double
The primary screen-space ambient occlusion intensity. Acts as a multiplier for the screen-space ambient occlusion effect. A higher value results in darker occlusion.
var ssaoLightAffect: Double
The screen-space ambient occlusion intensity in direct light. In real life, ambient occlusion only applies to indirect light, which means its effects can’t be seen in direct light. Values higher than
0
will make the SSAO effect visible in direct light.var ssaoPower: Double
The distribution of occlusion. A higher value results in darker occlusion, similar to
ssaoIntensity
, but with a sharper falloff.var ssaoRadius: Double
The distance at which objects can occlude each other when calculating screen-space ambient occlusion. Higher values will result in occlusion over a greater distance at the cost of performance and quality.
var ssaoSharpness: Double
The amount that the screen-space ambient occlusion effect is allowed to blur over the edges of objects. Setting too high will result in aliasing around the edges of objects. Setting too low will make object edges appear blurry.
var ssilEnabled: Bool
If
true
, the screen-space indirect lighting effect is enabled. Screen space indirect lighting is a form of indirect lighting that allows diffuse light to bounce between nearby objects. Screen-space indirect lighting works very similarly to screen-space ambient occlusion, in that it only affects a limited range. It is intended to be used along with a form of proper global illumination like SDFGI orVoxelGI
. Screen-space indirect lighting is not affected by individual light’slightIndirectEnergy
.var ssilIntensity: Double
The brightness multiplier for the screen-space indirect lighting effect. A higher value will result in brighter light.
var ssilNormalRejection: Double
Amount of normal rejection used when calculating screen-space indirect lighting. Normal rejection uses the normal of a given sample point to reject samples that are facing away from the current pixel. Normal rejection is necessary to avoid light leaking when only one side of an object is illuminated. However, normal rejection can be disabled if light leaking is desirable, such as when the scene mostly contains emissive objects that emit light from faces that cannot be seen from the camera.
var ssilRadius: Double
The distance that bounced lighting can travel when using the screen space indirect lighting effect. A larger value will result in light bouncing further in a scene, but may result in under-sampling artifacts which look like long spikes surrounding light sources.
var ssilSharpness: Double
The amount that the screen-space indirect lighting effect is allowed to blur over the edges of objects. Setting too high will result in aliasing around the edges of objects. Setting too low will make object edges appear blurry.
var ssrDepthTolerance: Double
The depth tolerance for screen-space reflections.
var ssrEnabled: Bool
If
true
, screen-space reflections are enabled. Screen-space reflections are more accurate than reflections fromVoxelGI
s orReflectionProbe
s, but are slower and can’t reflect surfaces occluded by others.var ssrFadeIn: Double
The fade-in distance for screen-space reflections. Affects the area from the reflected material to the screen-space reflection. Only positive values are valid (negative values will be clamped to
0.0
).var ssrFadeOut: Double
The fade-out distance for screen-space reflections. Affects the area from the screen-space reflection to the “global” reflection. Only positive values are valid (negative values will be clamped to
0.0
).var ssrMaxSteps: Int32
The maximum number of steps for screen-space reflections. Higher values are slower.
var tonemapExposure: Double
The default exposure used for tonemapping. Higher values result in a brighter image. See also
tonemapWhite
.var tonemapMode: Environment.ToneMapper
The tonemapping mode to use. Tonemapping is the process that “converts” HDR values to be suitable for rendering on an LDR display. (Godot doesn’t support rendering on HDR displays yet.)
var tonemapWhite: Double
The white reference value for tonemapping (also called “whitepoint”). Higher values can make highlights look less blown out, and will also slightly darken the whole scene as a result. Only effective if the
tonemapMode
isn’t set to .linear. See alsotonemapExposure
.var volumetricFogAlbedo: Color
The
Color
of the volumetric fog when interacting with lights. Mist and fog have an albedo close toColor(1, 1, 1, 1)
while smoke has a darker albedo.var volumetricFogAmbientInject: Double
Scales the strength of ambient light used in the volumetric fog. A value of
0.0
means that ambient light will not impact the volumetric fog.volumetricFogAmbientInject
has a small performance cost when set above0.0
.var volumetricFogAnisotropy: Double
The direction of scattered light as it goes through the volumetric fog. A value close to
1.0
means almost all light is scattered forward. A value close to0.0
means light is scattered equally in all directions. A value close to-1.0
means light is scattered mostly backward. Fog and mist scatter light slightly forward, while smoke scatters light equally in all directions.var volumetricFogDensity: Double
The base exponential density of the volumetric fog. Set this to the lowest density you want to have globally.
FogVolume
s can be used to add to or subtract from this density in specific areas. Fog rendering is exponential as in real life.var volumetricFogDetailSpread: Double
The distribution of size down the length of the froxel buffer. A higher value compresses the froxels closer to the camera and places more detail closer to the camera.
var volumetricFogEmission: Color
The emitted light from the volumetric fog. Even with emission, volumetric fog will not cast light onto other surfaces. Emission is useful to establish an ambient color. As the volumetric fog effect uses single-scattering only, fog tends to need a little bit of emission to soften the harsh shadows.
var volumetricFogEmissionEnergy: Double
The brightness of the emitted light from the volumetric fog.
var volumetricFogEnabled: Bool
Enables the volumetric fog effect. Volumetric fog uses a screen-aligned froxel buffer to calculate accurate volumetric scattering in the short to medium range. Volumetric fog interacts with
FogVolume
s and lights to calculate localized and global fog. Volumetric fog uses a PBR single-scattering model based on extinction, scattering, and emission which it exposes to users as density, albedo, and emission.var volumetricFogGiInject: Double
Scales the strength of Global Illumination used in the volumetric fog’s albedo color. A value of
0.0
means that Global Illumination will not impact the volumetric fog.volumetricFogGiInject
has a small performance cost when set above0.0
.var volumetricFogLength: Double
The distance over which the volumetric fog is computed. Increase to compute fog over a greater range, decrease to add more detail when a long range is not needed. For best quality fog, keep this as low as possible. See also
ProjectSettings/rendering/environment/volumetricFog/volumeDepth
.var volumetricFogSkyAffect: Double
The factor to use when affecting the sky with volumetric fog.
1.0
means that volumetric fog can fully obscure the sky. Lower values reduce the impact of volumetric fog on sky rendering, with0.0
not affecting sky rendering at all.var volumetricFogTemporalReprojectionAmount: Double
The amount by which to blend the last frame with the current frame. A higher number results in smoother volumetric fog, but makes “ghosting” much worse. A lower value reduces ghosting but can result in the per-frame temporal jitter becoming visible.
var volumetricFogTemporalReprojectionEnabled: Bool
Enables temporal reprojection in the volumetric fog. Temporal reprojection blends the current frame’s volumetric fog with the last frame’s volumetric fog to smooth out jagged edges. The performance cost is minimal; however, it leads to moving
FogVolume
s andLight3D
s “ghosting” and leaving a trail behind them. When temporal reprojection is enabled, try to avoid movingFogVolume
s orLight3D
s too fast. Short-lived dynamic lighting effects should havelightVolumetricFogEnergy
set to0.0
to avoid ghosting.func getGlowLevel(idx: Int32
) -> Double Returns the intensity of the glow level
idx
.func setGlowLevel(idx: Int32, intensity: Double
) Sets the intensity of the glow level
idx
. A value above0.0
enables the level. Each level relies on the previous level. This means that enabling higher glow levels will slow down the glow effect rendering, even if previous levels aren’t enabled.
Citizens in SwiftGodot
Conformances
protocol CaseIterable
A type that provides a collection of all of its values.
protocol CustomDebugStringConvertible
A type with a customized textual representation suitable for debugging purposes.
protocol Equatable
A type that can be compared for value equality.
protocol Hashable
A type that can be hashed into a
Hasher
to produce an integer hash value.protocol RawRepresentable<RawValue>
A type that can be converted to and from an associated raw value.
Type members
Instance members
var debugDescription: String
A textual representation of this instance, suitable for debugging
Type features
static func != (lhs: Self, rhs: Self
) -> Bool Returns a Boolean value indicating whether two values are not equal.