1 /**
2 Resource for environment nodes (like $(D WorldEnvironment)) that define multiple rendering options.
3 
4 Copyright:
5 Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur.  
6 Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md)  
7 Copyright (c) 2017-2018 Godot-D contributors  
8 
9 License: $(LINK2 https://opensource.org/licenses/MIT, MIT License)
10 
11 
12 */
13 module godot.environment;
14 import std.meta : AliasSeq, staticIndexOf;
15 import std.traits : Unqual;
16 import godot.d.traits;
17 import godot.core;
18 import godot.c;
19 import godot.d.bind;
20 import godot.d.reference;
21 import godot.globalenums;
22 import godot.object;
23 import godot.classdb;
24 import godot.resource;
25 import godot.texture;
26 import godot.sky;
27 /**
28 Resource for environment nodes (like $(D WorldEnvironment)) that define multiple rendering options.
29 
30 Resource for environment nodes (like $(D WorldEnvironment)) that define multiple environment operations (such as background $(D Sky) or $(D Color), ambient light, fog, depth-of-field...). These parameters affect the final render of the scene. The order of these operations is:
31 - Depth of Field Blur
32 - Glow
33 - Tonemap (Auto Exposure)
34 - Adjustments
35 These effects will only apply when the $(D Viewport)'s intended usage is "3D" or "3D Without Effects". This can be configured for the root Viewport with $(D ProjectSettings.rendering/quality/intendedUsage/framebufferAllocation), or for specific Viewports via the $(D Viewport.usage) property.
36 */
37 @GodotBaseClass struct Environment
38 {
39 	package(godot) enum string _GODOT_internal_name = "Environment";
40 public:
41 @nogc nothrow:
42 	union { /** */ godot_object _godot_object; /** */ Resource _GODOT_base; }
43 	alias _GODOT_base this;
44 	alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses);
45 	package(godot) __gshared bool _classBindingInitialized = false;
46 	package(godot) static struct GDNativeClassBinding
47 	{
48 		__gshared:
49 		@GodotName("get_adjustment_brightness") GodotMethod!(double) getAdjustmentBrightness;
50 		@GodotName("get_adjustment_color_correction") GodotMethod!(Texture) getAdjustmentColorCorrection;
51 		@GodotName("get_adjustment_contrast") GodotMethod!(double) getAdjustmentContrast;
52 		@GodotName("get_adjustment_saturation") GodotMethod!(double) getAdjustmentSaturation;
53 		@GodotName("get_ambient_light_color") GodotMethod!(Color) getAmbientLightColor;
54 		@GodotName("get_ambient_light_energy") GodotMethod!(double) getAmbientLightEnergy;
55 		@GodotName("get_ambient_light_sky_contribution") GodotMethod!(double) getAmbientLightSkyContribution;
56 		@GodotName("get_background") GodotMethod!(Environment.BGMode) getBackground;
57 		@GodotName("get_bg_color") GodotMethod!(Color) getBgColor;
58 		@GodotName("get_bg_energy") GodotMethod!(double) getBgEnergy;
59 		@GodotName("get_camera_feed_id") GodotMethod!(long) getCameraFeedId;
60 		@GodotName("get_canvas_max_layer") GodotMethod!(long) getCanvasMaxLayer;
61 		@GodotName("get_dof_blur_far_amount") GodotMethod!(double) getDofBlurFarAmount;
62 		@GodotName("get_dof_blur_far_distance") GodotMethod!(double) getDofBlurFarDistance;
63 		@GodotName("get_dof_blur_far_quality") GodotMethod!(Environment.DOFBlurQuality) getDofBlurFarQuality;
64 		@GodotName("get_dof_blur_far_transition") GodotMethod!(double) getDofBlurFarTransition;
65 		@GodotName("get_dof_blur_near_amount") GodotMethod!(double) getDofBlurNearAmount;
66 		@GodotName("get_dof_blur_near_distance") GodotMethod!(double) getDofBlurNearDistance;
67 		@GodotName("get_dof_blur_near_quality") GodotMethod!(Environment.DOFBlurQuality) getDofBlurNearQuality;
68 		@GodotName("get_dof_blur_near_transition") GodotMethod!(double) getDofBlurNearTransition;
69 		@GodotName("get_fog_color") GodotMethod!(Color) getFogColor;
70 		@GodotName("get_fog_depth_begin") GodotMethod!(double) getFogDepthBegin;
71 		@GodotName("get_fog_depth_curve") GodotMethod!(double) getFogDepthCurve;
72 		@GodotName("get_fog_depth_end") GodotMethod!(double) getFogDepthEnd;
73 		@GodotName("get_fog_height_curve") GodotMethod!(double) getFogHeightCurve;
74 		@GodotName("get_fog_height_max") GodotMethod!(double) getFogHeightMax;
75 		@GodotName("get_fog_height_min") GodotMethod!(double) getFogHeightMin;
76 		@GodotName("get_fog_sun_amount") GodotMethod!(double) getFogSunAmount;
77 		@GodotName("get_fog_sun_color") GodotMethod!(Color) getFogSunColor;
78 		@GodotName("get_fog_transmit_curve") GodotMethod!(double) getFogTransmitCurve;
79 		@GodotName("get_glow_blend_mode") GodotMethod!(Environment.GlowBlendMode) getGlowBlendMode;
80 		@GodotName("get_glow_bloom") GodotMethod!(double) getGlowBloom;
81 		@GodotName("get_glow_hdr_bleed_scale") GodotMethod!(double) getGlowHdrBleedScale;
82 		@GodotName("get_glow_hdr_bleed_threshold") GodotMethod!(double) getGlowHdrBleedThreshold;
83 		@GodotName("get_glow_hdr_luminance_cap") GodotMethod!(double) getGlowHdrLuminanceCap;
84 		@GodotName("get_glow_intensity") GodotMethod!(double) getGlowIntensity;
85 		@GodotName("get_glow_strength") GodotMethod!(double) getGlowStrength;
86 		@GodotName("get_sky") GodotMethod!(Sky) getSky;
87 		@GodotName("get_sky_custom_fov") GodotMethod!(double) getSkyCustomFov;
88 		@GodotName("get_sky_orientation") GodotMethod!(Basis) getSkyOrientation;
89 		@GodotName("get_sky_rotation") GodotMethod!(Vector3) getSkyRotation;
90 		@GodotName("get_sky_rotation_degrees") GodotMethod!(Vector3) getSkyRotationDegrees;
91 		@GodotName("get_ssao_ao_channel_affect") GodotMethod!(double) getSsaoAoChannelAffect;
92 		@GodotName("get_ssao_bias") GodotMethod!(double) getSsaoBias;
93 		@GodotName("get_ssao_blur") GodotMethod!(Environment.SSAOBlur) getSsaoBlur;
94 		@GodotName("get_ssao_color") GodotMethod!(Color) getSsaoColor;
95 		@GodotName("get_ssao_direct_light_affect") GodotMethod!(double) getSsaoDirectLightAffect;
96 		@GodotName("get_ssao_edge_sharpness") GodotMethod!(double) getSsaoEdgeSharpness;
97 		@GodotName("get_ssao_intensity") GodotMethod!(double) getSsaoIntensity;
98 		@GodotName("get_ssao_intensity2") GodotMethod!(double) getSsaoIntensity2;
99 		@GodotName("get_ssao_quality") GodotMethod!(Environment.SSAOQuality) getSsaoQuality;
100 		@GodotName("get_ssao_radius") GodotMethod!(double) getSsaoRadius;
101 		@GodotName("get_ssao_radius2") GodotMethod!(double) getSsaoRadius2;
102 		@GodotName("get_ssr_depth_tolerance") GodotMethod!(double) getSsrDepthTolerance;
103 		@GodotName("get_ssr_fade_in") GodotMethod!(double) getSsrFadeIn;
104 		@GodotName("get_ssr_fade_out") GodotMethod!(double) getSsrFadeOut;
105 		@GodotName("get_ssr_max_steps") GodotMethod!(long) getSsrMaxSteps;
106 		@GodotName("get_tonemap_auto_exposure") GodotMethod!(bool) getTonemapAutoExposure;
107 		@GodotName("get_tonemap_auto_exposure_grey") GodotMethod!(double) getTonemapAutoExposureGrey;
108 		@GodotName("get_tonemap_auto_exposure_max") GodotMethod!(double) getTonemapAutoExposureMax;
109 		@GodotName("get_tonemap_auto_exposure_min") GodotMethod!(double) getTonemapAutoExposureMin;
110 		@GodotName("get_tonemap_auto_exposure_speed") GodotMethod!(double) getTonemapAutoExposureSpeed;
111 		@GodotName("get_tonemap_exposure") GodotMethod!(double) getTonemapExposure;
112 		@GodotName("get_tonemap_white") GodotMethod!(double) getTonemapWhite;
113 		@GodotName("get_tonemapper") GodotMethod!(Environment.ToneMapper) getTonemapper;
114 		@GodotName("is_adjustment_enabled") GodotMethod!(bool) isAdjustmentEnabled;
115 		@GodotName("is_dof_blur_far_enabled") GodotMethod!(bool) isDofBlurFarEnabled;
116 		@GodotName("is_dof_blur_near_enabled") GodotMethod!(bool) isDofBlurNearEnabled;
117 		@GodotName("is_fog_depth_enabled") GodotMethod!(bool) isFogDepthEnabled;
118 		@GodotName("is_fog_enabled") GodotMethod!(bool) isFogEnabled;
119 		@GodotName("is_fog_height_enabled") GodotMethod!(bool) isFogHeightEnabled;
120 		@GodotName("is_fog_transmit_enabled") GodotMethod!(bool) isFogTransmitEnabled;
121 		@GodotName("is_glow_bicubic_upscale_enabled") GodotMethod!(bool) isGlowBicubicUpscaleEnabled;
122 		@GodotName("is_glow_enabled") GodotMethod!(bool) isGlowEnabled;
123 		@GodotName("is_glow_level_enabled") GodotMethod!(bool, long) isGlowLevelEnabled;
124 		@GodotName("is_ssao_enabled") GodotMethod!(bool) isSsaoEnabled;
125 		@GodotName("is_ssr_enabled") GodotMethod!(bool) isSsrEnabled;
126 		@GodotName("is_ssr_rough") GodotMethod!(bool) isSsrRough;
127 		@GodotName("set_adjustment_brightness") GodotMethod!(void, double) setAdjustmentBrightness;
128 		@GodotName("set_adjustment_color_correction") GodotMethod!(void, Texture) setAdjustmentColorCorrection;
129 		@GodotName("set_adjustment_contrast") GodotMethod!(void, double) setAdjustmentContrast;
130 		@GodotName("set_adjustment_enable") GodotMethod!(void, bool) setAdjustmentEnable;
131 		@GodotName("set_adjustment_saturation") GodotMethod!(void, double) setAdjustmentSaturation;
132 		@GodotName("set_ambient_light_color") GodotMethod!(void, Color) setAmbientLightColor;
133 		@GodotName("set_ambient_light_energy") GodotMethod!(void, double) setAmbientLightEnergy;
134 		@GodotName("set_ambient_light_sky_contribution") GodotMethod!(void, double) setAmbientLightSkyContribution;
135 		@GodotName("set_background") GodotMethod!(void, long) setBackground;
136 		@GodotName("set_bg_color") GodotMethod!(void, Color) setBgColor;
137 		@GodotName("set_bg_energy") GodotMethod!(void, double) setBgEnergy;
138 		@GodotName("set_camera_feed_id") GodotMethod!(void, long) setCameraFeedId;
139 		@GodotName("set_canvas_max_layer") GodotMethod!(void, long) setCanvasMaxLayer;
140 		@GodotName("set_dof_blur_far_amount") GodotMethod!(void, double) setDofBlurFarAmount;
141 		@GodotName("set_dof_blur_far_distance") GodotMethod!(void, double) setDofBlurFarDistance;
142 		@GodotName("set_dof_blur_far_enabled") GodotMethod!(void, bool) setDofBlurFarEnabled;
143 		@GodotName("set_dof_blur_far_quality") GodotMethod!(void, long) setDofBlurFarQuality;
144 		@GodotName("set_dof_blur_far_transition") GodotMethod!(void, double) setDofBlurFarTransition;
145 		@GodotName("set_dof_blur_near_amount") GodotMethod!(void, double) setDofBlurNearAmount;
146 		@GodotName("set_dof_blur_near_distance") GodotMethod!(void, double) setDofBlurNearDistance;
147 		@GodotName("set_dof_blur_near_enabled") GodotMethod!(void, bool) setDofBlurNearEnabled;
148 		@GodotName("set_dof_blur_near_quality") GodotMethod!(void, long) setDofBlurNearQuality;
149 		@GodotName("set_dof_blur_near_transition") GodotMethod!(void, double) setDofBlurNearTransition;
150 		@GodotName("set_fog_color") GodotMethod!(void, Color) setFogColor;
151 		@GodotName("set_fog_depth_begin") GodotMethod!(void, double) setFogDepthBegin;
152 		@GodotName("set_fog_depth_curve") GodotMethod!(void, double) setFogDepthCurve;
153 		@GodotName("set_fog_depth_enabled") GodotMethod!(void, bool) setFogDepthEnabled;
154 		@GodotName("set_fog_depth_end") GodotMethod!(void, double) setFogDepthEnd;
155 		@GodotName("set_fog_enabled") GodotMethod!(void, bool) setFogEnabled;
156 		@GodotName("set_fog_height_curve") GodotMethod!(void, double) setFogHeightCurve;
157 		@GodotName("set_fog_height_enabled") GodotMethod!(void, bool) setFogHeightEnabled;
158 		@GodotName("set_fog_height_max") GodotMethod!(void, double) setFogHeightMax;
159 		@GodotName("set_fog_height_min") GodotMethod!(void, double) setFogHeightMin;
160 		@GodotName("set_fog_sun_amount") GodotMethod!(void, double) setFogSunAmount;
161 		@GodotName("set_fog_sun_color") GodotMethod!(void, Color) setFogSunColor;
162 		@GodotName("set_fog_transmit_curve") GodotMethod!(void, double) setFogTransmitCurve;
163 		@GodotName("set_fog_transmit_enabled") GodotMethod!(void, bool) setFogTransmitEnabled;
164 		@GodotName("set_glow_bicubic_upscale") GodotMethod!(void, bool) setGlowBicubicUpscale;
165 		@GodotName("set_glow_blend_mode") GodotMethod!(void, long) setGlowBlendMode;
166 		@GodotName("set_glow_bloom") GodotMethod!(void, double) setGlowBloom;
167 		@GodotName("set_glow_enabled") GodotMethod!(void, bool) setGlowEnabled;
168 		@GodotName("set_glow_hdr_bleed_scale") GodotMethod!(void, double) setGlowHdrBleedScale;
169 		@GodotName("set_glow_hdr_bleed_threshold") GodotMethod!(void, double) setGlowHdrBleedThreshold;
170 		@GodotName("set_glow_hdr_luminance_cap") GodotMethod!(void, double) setGlowHdrLuminanceCap;
171 		@GodotName("set_glow_intensity") GodotMethod!(void, double) setGlowIntensity;
172 		@GodotName("set_glow_level") GodotMethod!(void, long, bool) setGlowLevel;
173 		@GodotName("set_glow_strength") GodotMethod!(void, double) setGlowStrength;
174 		@GodotName("set_sky") GodotMethod!(void, Sky) setSky;
175 		@GodotName("set_sky_custom_fov") GodotMethod!(void, double) setSkyCustomFov;
176 		@GodotName("set_sky_orientation") GodotMethod!(void, Basis) setSkyOrientation;
177 		@GodotName("set_sky_rotation") GodotMethod!(void, Vector3) setSkyRotation;
178 		@GodotName("set_sky_rotation_degrees") GodotMethod!(void, Vector3) setSkyRotationDegrees;
179 		@GodotName("set_ssao_ao_channel_affect") GodotMethod!(void, double) setSsaoAoChannelAffect;
180 		@GodotName("set_ssao_bias") GodotMethod!(void, double) setSsaoBias;
181 		@GodotName("set_ssao_blur") GodotMethod!(void, long) setSsaoBlur;
182 		@GodotName("set_ssao_color") GodotMethod!(void, Color) setSsaoColor;
183 		@GodotName("set_ssao_direct_light_affect") GodotMethod!(void, double) setSsaoDirectLightAffect;
184 		@GodotName("set_ssao_edge_sharpness") GodotMethod!(void, double) setSsaoEdgeSharpness;
185 		@GodotName("set_ssao_enabled") GodotMethod!(void, bool) setSsaoEnabled;
186 		@GodotName("set_ssao_intensity") GodotMethod!(void, double) setSsaoIntensity;
187 		@GodotName("set_ssao_intensity2") GodotMethod!(void, double) setSsaoIntensity2;
188 		@GodotName("set_ssao_quality") GodotMethod!(void, long) setSsaoQuality;
189 		@GodotName("set_ssao_radius") GodotMethod!(void, double) setSsaoRadius;
190 		@GodotName("set_ssao_radius2") GodotMethod!(void, double) setSsaoRadius2;
191 		@GodotName("set_ssr_depth_tolerance") GodotMethod!(void, double) setSsrDepthTolerance;
192 		@GodotName("set_ssr_enabled") GodotMethod!(void, bool) setSsrEnabled;
193 		@GodotName("set_ssr_fade_in") GodotMethod!(void, double) setSsrFadeIn;
194 		@GodotName("set_ssr_fade_out") GodotMethod!(void, double) setSsrFadeOut;
195 		@GodotName("set_ssr_max_steps") GodotMethod!(void, long) setSsrMaxSteps;
196 		@GodotName("set_ssr_rough") GodotMethod!(void, bool) setSsrRough;
197 		@GodotName("set_tonemap_auto_exposure") GodotMethod!(void, bool) setTonemapAutoExposure;
198 		@GodotName("set_tonemap_auto_exposure_grey") GodotMethod!(void, double) setTonemapAutoExposureGrey;
199 		@GodotName("set_tonemap_auto_exposure_max") GodotMethod!(void, double) setTonemapAutoExposureMax;
200 		@GodotName("set_tonemap_auto_exposure_min") GodotMethod!(void, double) setTonemapAutoExposureMin;
201 		@GodotName("set_tonemap_auto_exposure_speed") GodotMethod!(void, double) setTonemapAutoExposureSpeed;
202 		@GodotName("set_tonemap_exposure") GodotMethod!(void, double) setTonemapExposure;
203 		@GodotName("set_tonemap_white") GodotMethod!(void, double) setTonemapWhite;
204 		@GodotName("set_tonemapper") GodotMethod!(void, long) setTonemapper;
205 	}
206 	/// 
207 	pragma(inline, true) bool opEquals(in Environment other) const
208 	{ return _godot_object.ptr is other._godot_object.ptr; }
209 	/// 
210 	pragma(inline, true) typeof(null) opAssign(typeof(null) n)
211 	{ _godot_object.ptr = n; return null; }
212 	/// 
213 	pragma(inline, true) bool opEquals(typeof(null) n) const
214 	{ return _godot_object.ptr is n; }
215 	/// 
216 	size_t toHash() const @trusted { return cast(size_t)_godot_object.ptr; }
217 	mixin baseCasts;
218 	/// Construct a new instance of Environment.
219 	/// Note: use `memnew!Environment` instead.
220 	static Environment _new()
221 	{
222 		static godot_class_constructor constructor;
223 		if(constructor is null) constructor = _godot_api.godot_get_class_constructor("Environment");
224 		if(constructor is null) return typeof(this).init;
225 		return cast(Environment)(constructor());
226 	}
227 	@disable new(size_t s);
228 	/// 
229 	enum SSAOBlur : int
230 	{
231 		/**
232 		No blur for the screen-space ambient occlusion effect (fastest).
233 		*/
234 		ssaoBlurDisabled = 0,
235 		/**
236 		1×1 blur for the screen-space ambient occlusion effect.
237 		*/
238 		ssaoBlur1x1 = 1,
239 		/**
240 		2×2 blur for the screen-space ambient occlusion effect.
241 		*/
242 		ssaoBlur2x2 = 2,
243 		/**
244 		3×3 blur for the screen-space ambient occlusion effect (slowest).
245 		*/
246 		ssaoBlur3x3 = 3,
247 	}
248 	/// 
249 	enum ToneMapper : int
250 	{
251 		/**
252 		Linear tonemapper operator. Reads the linear data and passes it on unmodified.
253 		*/
254 		toneMapperLinear = 0,
255 		/**
256 		Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: `color = color / (1 + color)`.
257 		*/
258 		toneMapperReinhardt = 1,
259 		/**
260 		Filmic tonemapper operator.
261 		*/
262 		toneMapperFilmic = 2,
263 		/**
264 		Academy Color Encoding System tonemapper operator.
265 		*/
266 		toneMapperAces = 3,
267 	}
268 	/// 
269 	enum GlowBlendMode : int
270 	{
271 		/**
272 		Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources.
273 		*/
274 		glowBlendModeAdditive = 0,
275 		/**
276 		Screen glow blending mode. Increases brightness, used frequently with bloom.
277 		*/
278 		glowBlendModeScreen = 1,
279 		/**
280 		Soft light glow blending mode. Modifies contrast, exposes shadows and highlights (vivid bloom).
281 		*/
282 		glowBlendModeSoftlight = 2,
283 		/**
284 		Replace glow blending mode. Replaces all pixels' color by the glow value. This can be used to simulate a full-screen blur effect by tweaking the glow parameters to match the original image's brightness.
285 		*/
286 		glowBlendModeReplace = 3,
287 	}
288 	/// 
289 	enum BGMode : int
290 	{
291 		/**
292 		Clears the background using the clear color defined in $(D ProjectSettings.rendering/environment/defaultClearColor).
293 		*/
294 		bgClearColor = 0,
295 		/**
296 		Clears the background using a custom clear color.
297 		*/
298 		bgColor = 1,
299 		/**
300 		Displays a user-defined sky in the background.
301 		*/
302 		bgSky = 2,
303 		/**
304 		Clears the background using a custom clear color and allows defining a sky for shading and reflection. This mode is slightly faster than $(D constant BG_SKY) and should be preferred in scenes where reflections can be visible, but the sky itself never is (e.g. top-down camera).
305 		*/
306 		bgColorSky = 3,
307 		/**
308 		Displays a $(D CanvasLayer) in the background.
309 		*/
310 		bgCanvas = 4,
311 		/**
312 		Keeps on screen every pixel drawn in the background. This is the fastest background mode, but it can only be safely used in fully-interior scenes (no visible sky or sky reflections). If enabled in a scene where the background is visible, "ghost trail" artifacts will be visible when moving the camera.
313 		*/
314 		bgKeep = 5,
315 		/**
316 		Displays a camera feed in the background.
317 		*/
318 		bgCameraFeed = 6,
319 		/**
320 		Represents the size of the $(D bgmode) enum.
321 		*/
322 		bgMax = 7,
323 	}
324 	/// 
325 	enum SSAOQuality : int
326 	{
327 		/**
328 		Low quality for the screen-space ambient occlusion effect (fastest).
329 		*/
330 		ssaoQualityLow = 0,
331 		/**
332 		Low quality for the screen-space ambient occlusion effect.
333 		*/
334 		ssaoQualityMedium = 1,
335 		/**
336 		Low quality for the screen-space ambient occlusion effect (slowest).
337 		*/
338 		ssaoQualityHigh = 2,
339 	}
340 	/// 
341 	enum DOFBlurQuality : int
342 	{
343 		/**
344 		Low depth-of-field blur quality (fastest).
345 		*/
346 		dofBlurQualityLow = 0,
347 		/**
348 		Medium depth-of-field blur quality.
349 		*/
350 		dofBlurQualityMedium = 1,
351 		/**
352 		High depth-of-field blur quality (slowest).
353 		*/
354 		dofBlurQualityHigh = 2,
355 	}
356 	/// 
357 	enum Constants : int
358 	{
359 		bgClearColor = 0,
360 		glowBlendModeAdditive = 0,
361 		ssaoBlurDisabled = 0,
362 		dofBlurQualityLow = 0,
363 		toneMapperLinear = 0,
364 		ssaoQualityLow = 0,
365 		bgColor = 1,
366 		toneMapperReinhardt = 1,
367 		ssaoQualityMedium = 1,
368 		dofBlurQualityMedium = 1,
369 		glowBlendModeScreen = 1,
370 		ssaoBlur1x1 = 1,
371 		glowBlendModeSoftlight = 2,
372 		bgSky = 2,
373 		ssaoQualityHigh = 2,
374 		toneMapperFilmic = 2,
375 		ssaoBlur2x2 = 2,
376 		dofBlurQualityHigh = 2,
377 		glowBlendModeReplace = 3,
378 		bgColorSky = 3,
379 		ssaoBlur3x3 = 3,
380 		toneMapperAces = 3,
381 		bgCanvas = 4,
382 		bgKeep = 5,
383 		bgCameraFeed = 6,
384 		bgMax = 7,
385 	}
386 	/**
387 	
388 	*/
389 	double getAdjustmentBrightness() const
390 	{
391 		checkClassBinding!(typeof(this))();
392 		return ptrcall!(double)(GDNativeClassBinding.getAdjustmentBrightness, _godot_object);
393 	}
394 	/**
395 	
396 	*/
397 	Ref!Texture getAdjustmentColorCorrection() const
398 	{
399 		checkClassBinding!(typeof(this))();
400 		return ptrcall!(Texture)(GDNativeClassBinding.getAdjustmentColorCorrection, _godot_object);
401 	}
402 	/**
403 	
404 	*/
405 	double getAdjustmentContrast() const
406 	{
407 		checkClassBinding!(typeof(this))();
408 		return ptrcall!(double)(GDNativeClassBinding.getAdjustmentContrast, _godot_object);
409 	}
410 	/**
411 	
412 	*/
413 	double getAdjustmentSaturation() const
414 	{
415 		checkClassBinding!(typeof(this))();
416 		return ptrcall!(double)(GDNativeClassBinding.getAdjustmentSaturation, _godot_object);
417 	}
418 	/**
419 	
420 	*/
421 	Color getAmbientLightColor() const
422 	{
423 		checkClassBinding!(typeof(this))();
424 		return ptrcall!(Color)(GDNativeClassBinding.getAmbientLightColor, _godot_object);
425 	}
426 	/**
427 	
428 	*/
429 	double getAmbientLightEnergy() const
430 	{
431 		checkClassBinding!(typeof(this))();
432 		return ptrcall!(double)(GDNativeClassBinding.getAmbientLightEnergy, _godot_object);
433 	}
434 	/**
435 	
436 	*/
437 	double getAmbientLightSkyContribution() const
438 	{
439 		checkClassBinding!(typeof(this))();
440 		return ptrcall!(double)(GDNativeClassBinding.getAmbientLightSkyContribution, _godot_object);
441 	}
442 	/**
443 	
444 	*/
445 	Environment.BGMode getBackground() const
446 	{
447 		checkClassBinding!(typeof(this))();
448 		return ptrcall!(Environment.BGMode)(GDNativeClassBinding.getBackground, _godot_object);
449 	}
450 	/**
451 	
452 	*/
453 	Color getBgColor() const
454 	{
455 		checkClassBinding!(typeof(this))();
456 		return ptrcall!(Color)(GDNativeClassBinding.getBgColor, _godot_object);
457 	}
458 	/**
459 	
460 	*/
461 	double getBgEnergy() const
462 	{
463 		checkClassBinding!(typeof(this))();
464 		return ptrcall!(double)(GDNativeClassBinding.getBgEnergy, _godot_object);
465 	}
466 	/**
467 	
468 	*/
469 	long getCameraFeedId() const
470 	{
471 		checkClassBinding!(typeof(this))();
472 		return ptrcall!(long)(GDNativeClassBinding.getCameraFeedId, _godot_object);
473 	}
474 	/**
475 	
476 	*/
477 	long getCanvasMaxLayer() const
478 	{
479 		checkClassBinding!(typeof(this))();
480 		return ptrcall!(long)(GDNativeClassBinding.getCanvasMaxLayer, _godot_object);
481 	}
482 	/**
483 	
484 	*/
485 	double getDofBlurFarAmount() const
486 	{
487 		checkClassBinding!(typeof(this))();
488 		return ptrcall!(double)(GDNativeClassBinding.getDofBlurFarAmount, _godot_object);
489 	}
490 	/**
491 	
492 	*/
493 	double getDofBlurFarDistance() const
494 	{
495 		checkClassBinding!(typeof(this))();
496 		return ptrcall!(double)(GDNativeClassBinding.getDofBlurFarDistance, _godot_object);
497 	}
498 	/**
499 	
500 	*/
501 	Environment.DOFBlurQuality getDofBlurFarQuality() const
502 	{
503 		checkClassBinding!(typeof(this))();
504 		return ptrcall!(Environment.DOFBlurQuality)(GDNativeClassBinding.getDofBlurFarQuality, _godot_object);
505 	}
506 	/**
507 	
508 	*/
509 	double getDofBlurFarTransition() const
510 	{
511 		checkClassBinding!(typeof(this))();
512 		return ptrcall!(double)(GDNativeClassBinding.getDofBlurFarTransition, _godot_object);
513 	}
514 	/**
515 	
516 	*/
517 	double getDofBlurNearAmount() const
518 	{
519 		checkClassBinding!(typeof(this))();
520 		return ptrcall!(double)(GDNativeClassBinding.getDofBlurNearAmount, _godot_object);
521 	}
522 	/**
523 	
524 	*/
525 	double getDofBlurNearDistance() const
526 	{
527 		checkClassBinding!(typeof(this))();
528 		return ptrcall!(double)(GDNativeClassBinding.getDofBlurNearDistance, _godot_object);
529 	}
530 	/**
531 	
532 	*/
533 	Environment.DOFBlurQuality getDofBlurNearQuality() const
534 	{
535 		checkClassBinding!(typeof(this))();
536 		return ptrcall!(Environment.DOFBlurQuality)(GDNativeClassBinding.getDofBlurNearQuality, _godot_object);
537 	}
538 	/**
539 	
540 	*/
541 	double getDofBlurNearTransition() const
542 	{
543 		checkClassBinding!(typeof(this))();
544 		return ptrcall!(double)(GDNativeClassBinding.getDofBlurNearTransition, _godot_object);
545 	}
546 	/**
547 	
548 	*/
549 	Color getFogColor() const
550 	{
551 		checkClassBinding!(typeof(this))();
552 		return ptrcall!(Color)(GDNativeClassBinding.getFogColor, _godot_object);
553 	}
554 	/**
555 	
556 	*/
557 	double getFogDepthBegin() const
558 	{
559 		checkClassBinding!(typeof(this))();
560 		return ptrcall!(double)(GDNativeClassBinding.getFogDepthBegin, _godot_object);
561 	}
562 	/**
563 	
564 	*/
565 	double getFogDepthCurve() const
566 	{
567 		checkClassBinding!(typeof(this))();
568 		return ptrcall!(double)(GDNativeClassBinding.getFogDepthCurve, _godot_object);
569 	}
570 	/**
571 	
572 	*/
573 	double getFogDepthEnd() const
574 	{
575 		checkClassBinding!(typeof(this))();
576 		return ptrcall!(double)(GDNativeClassBinding.getFogDepthEnd, _godot_object);
577 	}
578 	/**
579 	
580 	*/
581 	double getFogHeightCurve() const
582 	{
583 		checkClassBinding!(typeof(this))();
584 		return ptrcall!(double)(GDNativeClassBinding.getFogHeightCurve, _godot_object);
585 	}
586 	/**
587 	
588 	*/
589 	double getFogHeightMax() const
590 	{
591 		checkClassBinding!(typeof(this))();
592 		return ptrcall!(double)(GDNativeClassBinding.getFogHeightMax, _godot_object);
593 	}
594 	/**
595 	
596 	*/
597 	double getFogHeightMin() const
598 	{
599 		checkClassBinding!(typeof(this))();
600 		return ptrcall!(double)(GDNativeClassBinding.getFogHeightMin, _godot_object);
601 	}
602 	/**
603 	
604 	*/
605 	double getFogSunAmount() const
606 	{
607 		checkClassBinding!(typeof(this))();
608 		return ptrcall!(double)(GDNativeClassBinding.getFogSunAmount, _godot_object);
609 	}
610 	/**
611 	
612 	*/
613 	Color getFogSunColor() const
614 	{
615 		checkClassBinding!(typeof(this))();
616 		return ptrcall!(Color)(GDNativeClassBinding.getFogSunColor, _godot_object);
617 	}
618 	/**
619 	
620 	*/
621 	double getFogTransmitCurve() const
622 	{
623 		checkClassBinding!(typeof(this))();
624 		return ptrcall!(double)(GDNativeClassBinding.getFogTransmitCurve, _godot_object);
625 	}
626 	/**
627 	
628 	*/
629 	Environment.GlowBlendMode getGlowBlendMode() const
630 	{
631 		checkClassBinding!(typeof(this))();
632 		return ptrcall!(Environment.GlowBlendMode)(GDNativeClassBinding.getGlowBlendMode, _godot_object);
633 	}
634 	/**
635 	
636 	*/
637 	double getGlowBloom() const
638 	{
639 		checkClassBinding!(typeof(this))();
640 		return ptrcall!(double)(GDNativeClassBinding.getGlowBloom, _godot_object);
641 	}
642 	/**
643 	
644 	*/
645 	double getGlowHdrBleedScale() const
646 	{
647 		checkClassBinding!(typeof(this))();
648 		return ptrcall!(double)(GDNativeClassBinding.getGlowHdrBleedScale, _godot_object);
649 	}
650 	/**
651 	
652 	*/
653 	double getGlowHdrBleedThreshold() const
654 	{
655 		checkClassBinding!(typeof(this))();
656 		return ptrcall!(double)(GDNativeClassBinding.getGlowHdrBleedThreshold, _godot_object);
657 	}
658 	/**
659 	
660 	*/
661 	double getGlowHdrLuminanceCap() const
662 	{
663 		checkClassBinding!(typeof(this))();
664 		return ptrcall!(double)(GDNativeClassBinding.getGlowHdrLuminanceCap, _godot_object);
665 	}
666 	/**
667 	
668 	*/
669 	double getGlowIntensity() const
670 	{
671 		checkClassBinding!(typeof(this))();
672 		return ptrcall!(double)(GDNativeClassBinding.getGlowIntensity, _godot_object);
673 	}
674 	/**
675 	
676 	*/
677 	double getGlowStrength() const
678 	{
679 		checkClassBinding!(typeof(this))();
680 		return ptrcall!(double)(GDNativeClassBinding.getGlowStrength, _godot_object);
681 	}
682 	/**
683 	
684 	*/
685 	Ref!Sky getSky() const
686 	{
687 		checkClassBinding!(typeof(this))();
688 		return ptrcall!(Sky)(GDNativeClassBinding.getSky, _godot_object);
689 	}
690 	/**
691 	
692 	*/
693 	double getSkyCustomFov() const
694 	{
695 		checkClassBinding!(typeof(this))();
696 		return ptrcall!(double)(GDNativeClassBinding.getSkyCustomFov, _godot_object);
697 	}
698 	/**
699 	
700 	*/
701 	Basis getSkyOrientation() const
702 	{
703 		checkClassBinding!(typeof(this))();
704 		return ptrcall!(Basis)(GDNativeClassBinding.getSkyOrientation, _godot_object);
705 	}
706 	/**
707 	
708 	*/
709 	Vector3 getSkyRotation() const
710 	{
711 		checkClassBinding!(typeof(this))();
712 		return ptrcall!(Vector3)(GDNativeClassBinding.getSkyRotation, _godot_object);
713 	}
714 	/**
715 	
716 	*/
717 	Vector3 getSkyRotationDegrees() const
718 	{
719 		checkClassBinding!(typeof(this))();
720 		return ptrcall!(Vector3)(GDNativeClassBinding.getSkyRotationDegrees, _godot_object);
721 	}
722 	/**
723 	
724 	*/
725 	double getSsaoAoChannelAffect() const
726 	{
727 		checkClassBinding!(typeof(this))();
728 		return ptrcall!(double)(GDNativeClassBinding.getSsaoAoChannelAffect, _godot_object);
729 	}
730 	/**
731 	
732 	*/
733 	double getSsaoBias() const
734 	{
735 		checkClassBinding!(typeof(this))();
736 		return ptrcall!(double)(GDNativeClassBinding.getSsaoBias, _godot_object);
737 	}
738 	/**
739 	
740 	*/
741 	Environment.SSAOBlur getSsaoBlur() const
742 	{
743 		checkClassBinding!(typeof(this))();
744 		return ptrcall!(Environment.SSAOBlur)(GDNativeClassBinding.getSsaoBlur, _godot_object);
745 	}
746 	/**
747 	
748 	*/
749 	Color getSsaoColor() const
750 	{
751 		checkClassBinding!(typeof(this))();
752 		return ptrcall!(Color)(GDNativeClassBinding.getSsaoColor, _godot_object);
753 	}
754 	/**
755 	
756 	*/
757 	double getSsaoDirectLightAffect() const
758 	{
759 		checkClassBinding!(typeof(this))();
760 		return ptrcall!(double)(GDNativeClassBinding.getSsaoDirectLightAffect, _godot_object);
761 	}
762 	/**
763 	
764 	*/
765 	double getSsaoEdgeSharpness() const
766 	{
767 		checkClassBinding!(typeof(this))();
768 		return ptrcall!(double)(GDNativeClassBinding.getSsaoEdgeSharpness, _godot_object);
769 	}
770 	/**
771 	
772 	*/
773 	double getSsaoIntensity() const
774 	{
775 		checkClassBinding!(typeof(this))();
776 		return ptrcall!(double)(GDNativeClassBinding.getSsaoIntensity, _godot_object);
777 	}
778 	/**
779 	
780 	*/
781 	double getSsaoIntensity2() const
782 	{
783 		checkClassBinding!(typeof(this))();
784 		return ptrcall!(double)(GDNativeClassBinding.getSsaoIntensity2, _godot_object);
785 	}
786 	/**
787 	
788 	*/
789 	Environment.SSAOQuality getSsaoQuality() const
790 	{
791 		checkClassBinding!(typeof(this))();
792 		return ptrcall!(Environment.SSAOQuality)(GDNativeClassBinding.getSsaoQuality, _godot_object);
793 	}
794 	/**
795 	
796 	*/
797 	double getSsaoRadius() const
798 	{
799 		checkClassBinding!(typeof(this))();
800 		return ptrcall!(double)(GDNativeClassBinding.getSsaoRadius, _godot_object);
801 	}
802 	/**
803 	
804 	*/
805 	double getSsaoRadius2() const
806 	{
807 		checkClassBinding!(typeof(this))();
808 		return ptrcall!(double)(GDNativeClassBinding.getSsaoRadius2, _godot_object);
809 	}
810 	/**
811 	
812 	*/
813 	double getSsrDepthTolerance() const
814 	{
815 		checkClassBinding!(typeof(this))();
816 		return ptrcall!(double)(GDNativeClassBinding.getSsrDepthTolerance, _godot_object);
817 	}
818 	/**
819 	
820 	*/
821 	double getSsrFadeIn() const
822 	{
823 		checkClassBinding!(typeof(this))();
824 		return ptrcall!(double)(GDNativeClassBinding.getSsrFadeIn, _godot_object);
825 	}
826 	/**
827 	
828 	*/
829 	double getSsrFadeOut() const
830 	{
831 		checkClassBinding!(typeof(this))();
832 		return ptrcall!(double)(GDNativeClassBinding.getSsrFadeOut, _godot_object);
833 	}
834 	/**
835 	
836 	*/
837 	long getSsrMaxSteps() const
838 	{
839 		checkClassBinding!(typeof(this))();
840 		return ptrcall!(long)(GDNativeClassBinding.getSsrMaxSteps, _godot_object);
841 	}
842 	/**
843 	
844 	*/
845 	bool getTonemapAutoExposure() const
846 	{
847 		checkClassBinding!(typeof(this))();
848 		return ptrcall!(bool)(GDNativeClassBinding.getTonemapAutoExposure, _godot_object);
849 	}
850 	/**
851 	
852 	*/
853 	double getTonemapAutoExposureGrey() const
854 	{
855 		checkClassBinding!(typeof(this))();
856 		return ptrcall!(double)(GDNativeClassBinding.getTonemapAutoExposureGrey, _godot_object);
857 	}
858 	/**
859 	
860 	*/
861 	double getTonemapAutoExposureMax() const
862 	{
863 		checkClassBinding!(typeof(this))();
864 		return ptrcall!(double)(GDNativeClassBinding.getTonemapAutoExposureMax, _godot_object);
865 	}
866 	/**
867 	
868 	*/
869 	double getTonemapAutoExposureMin() const
870 	{
871 		checkClassBinding!(typeof(this))();
872 		return ptrcall!(double)(GDNativeClassBinding.getTonemapAutoExposureMin, _godot_object);
873 	}
874 	/**
875 	
876 	*/
877 	double getTonemapAutoExposureSpeed() const
878 	{
879 		checkClassBinding!(typeof(this))();
880 		return ptrcall!(double)(GDNativeClassBinding.getTonemapAutoExposureSpeed, _godot_object);
881 	}
882 	/**
883 	
884 	*/
885 	double getTonemapExposure() const
886 	{
887 		checkClassBinding!(typeof(this))();
888 		return ptrcall!(double)(GDNativeClassBinding.getTonemapExposure, _godot_object);
889 	}
890 	/**
891 	
892 	*/
893 	double getTonemapWhite() const
894 	{
895 		checkClassBinding!(typeof(this))();
896 		return ptrcall!(double)(GDNativeClassBinding.getTonemapWhite, _godot_object);
897 	}
898 	/**
899 	
900 	*/
901 	Environment.ToneMapper getTonemapper() const
902 	{
903 		checkClassBinding!(typeof(this))();
904 		return ptrcall!(Environment.ToneMapper)(GDNativeClassBinding.getTonemapper, _godot_object);
905 	}
906 	/**
907 	
908 	*/
909 	bool isAdjustmentEnabled() const
910 	{
911 		checkClassBinding!(typeof(this))();
912 		return ptrcall!(bool)(GDNativeClassBinding.isAdjustmentEnabled, _godot_object);
913 	}
914 	/**
915 	
916 	*/
917 	bool isDofBlurFarEnabled() const
918 	{
919 		checkClassBinding!(typeof(this))();
920 		return ptrcall!(bool)(GDNativeClassBinding.isDofBlurFarEnabled, _godot_object);
921 	}
922 	/**
923 	
924 	*/
925 	bool isDofBlurNearEnabled() const
926 	{
927 		checkClassBinding!(typeof(this))();
928 		return ptrcall!(bool)(GDNativeClassBinding.isDofBlurNearEnabled, _godot_object);
929 	}
930 	/**
931 	
932 	*/
933 	bool isFogDepthEnabled() const
934 	{
935 		checkClassBinding!(typeof(this))();
936 		return ptrcall!(bool)(GDNativeClassBinding.isFogDepthEnabled, _godot_object);
937 	}
938 	/**
939 	
940 	*/
941 	bool isFogEnabled() const
942 	{
943 		checkClassBinding!(typeof(this))();
944 		return ptrcall!(bool)(GDNativeClassBinding.isFogEnabled, _godot_object);
945 	}
946 	/**
947 	
948 	*/
949 	bool isFogHeightEnabled() const
950 	{
951 		checkClassBinding!(typeof(this))();
952 		return ptrcall!(bool)(GDNativeClassBinding.isFogHeightEnabled, _godot_object);
953 	}
954 	/**
955 	
956 	*/
957 	bool isFogTransmitEnabled() const
958 	{
959 		checkClassBinding!(typeof(this))();
960 		return ptrcall!(bool)(GDNativeClassBinding.isFogTransmitEnabled, _godot_object);
961 	}
962 	/**
963 	
964 	*/
965 	bool isGlowBicubicUpscaleEnabled() const
966 	{
967 		checkClassBinding!(typeof(this))();
968 		return ptrcall!(bool)(GDNativeClassBinding.isGlowBicubicUpscaleEnabled, _godot_object);
969 	}
970 	/**
971 	
972 	*/
973 	bool isGlowEnabled() const
974 	{
975 		checkClassBinding!(typeof(this))();
976 		return ptrcall!(bool)(GDNativeClassBinding.isGlowEnabled, _godot_object);
977 	}
978 	/**
979 	Returns `true` if the glow level `idx` is specified, `false` otherwise.
980 	*/
981 	bool isGlowLevelEnabled(in long idx) const
982 	{
983 		checkClassBinding!(typeof(this))();
984 		return ptrcall!(bool)(GDNativeClassBinding.isGlowLevelEnabled, _godot_object, idx);
985 	}
986 	/**
987 	
988 	*/
989 	bool isSsaoEnabled() const
990 	{
991 		checkClassBinding!(typeof(this))();
992 		return ptrcall!(bool)(GDNativeClassBinding.isSsaoEnabled, _godot_object);
993 	}
994 	/**
995 	
996 	*/
997 	bool isSsrEnabled() const
998 	{
999 		checkClassBinding!(typeof(this))();
1000 		return ptrcall!(bool)(GDNativeClassBinding.isSsrEnabled, _godot_object);
1001 	}
1002 	/**
1003 	
1004 	*/
1005 	bool isSsrRough() const
1006 	{
1007 		checkClassBinding!(typeof(this))();
1008 		return ptrcall!(bool)(GDNativeClassBinding.isSsrRough, _godot_object);
1009 	}
1010 	/**
1011 	
1012 	*/
1013 	void setAdjustmentBrightness(in double brightness)
1014 	{
1015 		checkClassBinding!(typeof(this))();
1016 		ptrcall!(void)(GDNativeClassBinding.setAdjustmentBrightness, _godot_object, brightness);
1017 	}
1018 	/**
1019 	
1020 	*/
1021 	void setAdjustmentColorCorrection(Texture color_correction)
1022 	{
1023 		checkClassBinding!(typeof(this))();
1024 		ptrcall!(void)(GDNativeClassBinding.setAdjustmentColorCorrection, _godot_object, color_correction);
1025 	}
1026 	/**
1027 	
1028 	*/
1029 	void setAdjustmentContrast(in double contrast)
1030 	{
1031 		checkClassBinding!(typeof(this))();
1032 		ptrcall!(void)(GDNativeClassBinding.setAdjustmentContrast, _godot_object, contrast);
1033 	}
1034 	/**
1035 	
1036 	*/
1037 	void setAdjustmentEnable(in bool enabled)
1038 	{
1039 		checkClassBinding!(typeof(this))();
1040 		ptrcall!(void)(GDNativeClassBinding.setAdjustmentEnable, _godot_object, enabled);
1041 	}
1042 	/**
1043 	
1044 	*/
1045 	void setAdjustmentSaturation(in double saturation)
1046 	{
1047 		checkClassBinding!(typeof(this))();
1048 		ptrcall!(void)(GDNativeClassBinding.setAdjustmentSaturation, _godot_object, saturation);
1049 	}
1050 	/**
1051 	
1052 	*/
1053 	void setAmbientLightColor(in Color color)
1054 	{
1055 		checkClassBinding!(typeof(this))();
1056 		ptrcall!(void)(GDNativeClassBinding.setAmbientLightColor, _godot_object, color);
1057 	}
1058 	/**
1059 	
1060 	*/
1061 	void setAmbientLightEnergy(in double energy)
1062 	{
1063 		checkClassBinding!(typeof(this))();
1064 		ptrcall!(void)(GDNativeClassBinding.setAmbientLightEnergy, _godot_object, energy);
1065 	}
1066 	/**
1067 	
1068 	*/
1069 	void setAmbientLightSkyContribution(in double energy)
1070 	{
1071 		checkClassBinding!(typeof(this))();
1072 		ptrcall!(void)(GDNativeClassBinding.setAmbientLightSkyContribution, _godot_object, energy);
1073 	}
1074 	/**
1075 	
1076 	*/
1077 	void setBackground(in long mode)
1078 	{
1079 		checkClassBinding!(typeof(this))();
1080 		ptrcall!(void)(GDNativeClassBinding.setBackground, _godot_object, mode);
1081 	}
1082 	/**
1083 	
1084 	*/
1085 	void setBgColor(in Color color)
1086 	{
1087 		checkClassBinding!(typeof(this))();
1088 		ptrcall!(void)(GDNativeClassBinding.setBgColor, _godot_object, color);
1089 	}
1090 	/**
1091 	
1092 	*/
1093 	void setBgEnergy(in double energy)
1094 	{
1095 		checkClassBinding!(typeof(this))();
1096 		ptrcall!(void)(GDNativeClassBinding.setBgEnergy, _godot_object, energy);
1097 	}
1098 	/**
1099 	
1100 	*/
1101 	void setCameraFeedId(in long camera_feed_id)
1102 	{
1103 		checkClassBinding!(typeof(this))();
1104 		ptrcall!(void)(GDNativeClassBinding.setCameraFeedId, _godot_object, camera_feed_id);
1105 	}
1106 	/**
1107 	
1108 	*/
1109 	void setCanvasMaxLayer(in long layer)
1110 	{
1111 		checkClassBinding!(typeof(this))();
1112 		ptrcall!(void)(GDNativeClassBinding.setCanvasMaxLayer, _godot_object, layer);
1113 	}
1114 	/**
1115 	
1116 	*/
1117 	void setDofBlurFarAmount(in double intensity)
1118 	{
1119 		checkClassBinding!(typeof(this))();
1120 		ptrcall!(void)(GDNativeClassBinding.setDofBlurFarAmount, _godot_object, intensity);
1121 	}
1122 	/**
1123 	
1124 	*/
1125 	void setDofBlurFarDistance(in double intensity)
1126 	{
1127 		checkClassBinding!(typeof(this))();
1128 		ptrcall!(void)(GDNativeClassBinding.setDofBlurFarDistance, _godot_object, intensity);
1129 	}
1130 	/**
1131 	
1132 	*/
1133 	void setDofBlurFarEnabled(in bool enabled)
1134 	{
1135 		checkClassBinding!(typeof(this))();
1136 		ptrcall!(void)(GDNativeClassBinding.setDofBlurFarEnabled, _godot_object, enabled);
1137 	}
1138 	/**
1139 	
1140 	*/
1141 	void setDofBlurFarQuality(in long intensity)
1142 	{
1143 		checkClassBinding!(typeof(this))();
1144 		ptrcall!(void)(GDNativeClassBinding.setDofBlurFarQuality, _godot_object, intensity);
1145 	}
1146 	/**
1147 	
1148 	*/
1149 	void setDofBlurFarTransition(in double intensity)
1150 	{
1151 		checkClassBinding!(typeof(this))();
1152 		ptrcall!(void)(GDNativeClassBinding.setDofBlurFarTransition, _godot_object, intensity);
1153 	}
1154 	/**
1155 	
1156 	*/
1157 	void setDofBlurNearAmount(in double intensity)
1158 	{
1159 		checkClassBinding!(typeof(this))();
1160 		ptrcall!(void)(GDNativeClassBinding.setDofBlurNearAmount, _godot_object, intensity);
1161 	}
1162 	/**
1163 	
1164 	*/
1165 	void setDofBlurNearDistance(in double intensity)
1166 	{
1167 		checkClassBinding!(typeof(this))();
1168 		ptrcall!(void)(GDNativeClassBinding.setDofBlurNearDistance, _godot_object, intensity);
1169 	}
1170 	/**
1171 	
1172 	*/
1173 	void setDofBlurNearEnabled(in bool enabled)
1174 	{
1175 		checkClassBinding!(typeof(this))();
1176 		ptrcall!(void)(GDNativeClassBinding.setDofBlurNearEnabled, _godot_object, enabled);
1177 	}
1178 	/**
1179 	
1180 	*/
1181 	void setDofBlurNearQuality(in long level)
1182 	{
1183 		checkClassBinding!(typeof(this))();
1184 		ptrcall!(void)(GDNativeClassBinding.setDofBlurNearQuality, _godot_object, level);
1185 	}
1186 	/**
1187 	
1188 	*/
1189 	void setDofBlurNearTransition(in double intensity)
1190 	{
1191 		checkClassBinding!(typeof(this))();
1192 		ptrcall!(void)(GDNativeClassBinding.setDofBlurNearTransition, _godot_object, intensity);
1193 	}
1194 	/**
1195 	
1196 	*/
1197 	void setFogColor(in Color color)
1198 	{
1199 		checkClassBinding!(typeof(this))();
1200 		ptrcall!(void)(GDNativeClassBinding.setFogColor, _godot_object, color);
1201 	}
1202 	/**
1203 	
1204 	*/
1205 	void setFogDepthBegin(in double distance)
1206 	{
1207 		checkClassBinding!(typeof(this))();
1208 		ptrcall!(void)(GDNativeClassBinding.setFogDepthBegin, _godot_object, distance);
1209 	}
1210 	/**
1211 	
1212 	*/
1213 	void setFogDepthCurve(in double curve)
1214 	{
1215 		checkClassBinding!(typeof(this))();
1216 		ptrcall!(void)(GDNativeClassBinding.setFogDepthCurve, _godot_object, curve);
1217 	}
1218 	/**
1219 	
1220 	*/
1221 	void setFogDepthEnabled(in bool enabled)
1222 	{
1223 		checkClassBinding!(typeof(this))();
1224 		ptrcall!(void)(GDNativeClassBinding.setFogDepthEnabled, _godot_object, enabled);
1225 	}
1226 	/**
1227 	
1228 	*/
1229 	void setFogDepthEnd(in double distance)
1230 	{
1231 		checkClassBinding!(typeof(this))();
1232 		ptrcall!(void)(GDNativeClassBinding.setFogDepthEnd, _godot_object, distance);
1233 	}
1234 	/**
1235 	
1236 	*/
1237 	void setFogEnabled(in bool enabled)
1238 	{
1239 		checkClassBinding!(typeof(this))();
1240 		ptrcall!(void)(GDNativeClassBinding.setFogEnabled, _godot_object, enabled);
1241 	}
1242 	/**
1243 	
1244 	*/
1245 	void setFogHeightCurve(in double curve)
1246 	{
1247 		checkClassBinding!(typeof(this))();
1248 		ptrcall!(void)(GDNativeClassBinding.setFogHeightCurve, _godot_object, curve);
1249 	}
1250 	/**
1251 	
1252 	*/
1253 	void setFogHeightEnabled(in bool enabled)
1254 	{
1255 		checkClassBinding!(typeof(this))();
1256 		ptrcall!(void)(GDNativeClassBinding.setFogHeightEnabled, _godot_object, enabled);
1257 	}
1258 	/**
1259 	
1260 	*/
1261 	void setFogHeightMax(in double height)
1262 	{
1263 		checkClassBinding!(typeof(this))();
1264 		ptrcall!(void)(GDNativeClassBinding.setFogHeightMax, _godot_object, height);
1265 	}
1266 	/**
1267 	
1268 	*/
1269 	void setFogHeightMin(in double height)
1270 	{
1271 		checkClassBinding!(typeof(this))();
1272 		ptrcall!(void)(GDNativeClassBinding.setFogHeightMin, _godot_object, height);
1273 	}
1274 	/**
1275 	
1276 	*/
1277 	void setFogSunAmount(in double amount)
1278 	{
1279 		checkClassBinding!(typeof(this))();
1280 		ptrcall!(void)(GDNativeClassBinding.setFogSunAmount, _godot_object, amount);
1281 	}
1282 	/**
1283 	
1284 	*/
1285 	void setFogSunColor(in Color color)
1286 	{
1287 		checkClassBinding!(typeof(this))();
1288 		ptrcall!(void)(GDNativeClassBinding.setFogSunColor, _godot_object, color);
1289 	}
1290 	/**
1291 	
1292 	*/
1293 	void setFogTransmitCurve(in double curve)
1294 	{
1295 		checkClassBinding!(typeof(this))();
1296 		ptrcall!(void)(GDNativeClassBinding.setFogTransmitCurve, _godot_object, curve);
1297 	}
1298 	/**
1299 	
1300 	*/
1301 	void setFogTransmitEnabled(in bool enabled)
1302 	{
1303 		checkClassBinding!(typeof(this))();
1304 		ptrcall!(void)(GDNativeClassBinding.setFogTransmitEnabled, _godot_object, enabled);
1305 	}
1306 	/**
1307 	
1308 	*/
1309 	void setGlowBicubicUpscale(in bool enabled)
1310 	{
1311 		checkClassBinding!(typeof(this))();
1312 		ptrcall!(void)(GDNativeClassBinding.setGlowBicubicUpscale, _godot_object, enabled);
1313 	}
1314 	/**
1315 	
1316 	*/
1317 	void setGlowBlendMode(in long mode)
1318 	{
1319 		checkClassBinding!(typeof(this))();
1320 		ptrcall!(void)(GDNativeClassBinding.setGlowBlendMode, _godot_object, mode);
1321 	}
1322 	/**
1323 	
1324 	*/
1325 	void setGlowBloom(in double amount)
1326 	{
1327 		checkClassBinding!(typeof(this))();
1328 		ptrcall!(void)(GDNativeClassBinding.setGlowBloom, _godot_object, amount);
1329 	}
1330 	/**
1331 	
1332 	*/
1333 	void setGlowEnabled(in bool enabled)
1334 	{
1335 		checkClassBinding!(typeof(this))();
1336 		ptrcall!(void)(GDNativeClassBinding.setGlowEnabled, _godot_object, enabled);
1337 	}
1338 	/**
1339 	
1340 	*/
1341 	void setGlowHdrBleedScale(in double scale)
1342 	{
1343 		checkClassBinding!(typeof(this))();
1344 		ptrcall!(void)(GDNativeClassBinding.setGlowHdrBleedScale, _godot_object, scale);
1345 	}
1346 	/**
1347 	
1348 	*/
1349 	void setGlowHdrBleedThreshold(in double threshold)
1350 	{
1351 		checkClassBinding!(typeof(this))();
1352 		ptrcall!(void)(GDNativeClassBinding.setGlowHdrBleedThreshold, _godot_object, threshold);
1353 	}
1354 	/**
1355 	
1356 	*/
1357 	void setGlowHdrLuminanceCap(in double amount)
1358 	{
1359 		checkClassBinding!(typeof(this))();
1360 		ptrcall!(void)(GDNativeClassBinding.setGlowHdrLuminanceCap, _godot_object, amount);
1361 	}
1362 	/**
1363 	
1364 	*/
1365 	void setGlowIntensity(in double intensity)
1366 	{
1367 		checkClassBinding!(typeof(this))();
1368 		ptrcall!(void)(GDNativeClassBinding.setGlowIntensity, _godot_object, intensity);
1369 	}
1370 	/**
1371 	Enables or disables the glow level at index `idx`. 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.
1372 	*/
1373 	void setGlowLevel(in long idx, in bool enabled)
1374 	{
1375 		checkClassBinding!(typeof(this))();
1376 		ptrcall!(void)(GDNativeClassBinding.setGlowLevel, _godot_object, idx, enabled);
1377 	}
1378 	/**
1379 	
1380 	*/
1381 	void setGlowStrength(in double strength)
1382 	{
1383 		checkClassBinding!(typeof(this))();
1384 		ptrcall!(void)(GDNativeClassBinding.setGlowStrength, _godot_object, strength);
1385 	}
1386 	/**
1387 	
1388 	*/
1389 	void setSky(Sky sky)
1390 	{
1391 		checkClassBinding!(typeof(this))();
1392 		ptrcall!(void)(GDNativeClassBinding.setSky, _godot_object, sky);
1393 	}
1394 	/**
1395 	
1396 	*/
1397 	void setSkyCustomFov(in double scale)
1398 	{
1399 		checkClassBinding!(typeof(this))();
1400 		ptrcall!(void)(GDNativeClassBinding.setSkyCustomFov, _godot_object, scale);
1401 	}
1402 	/**
1403 	
1404 	*/
1405 	void setSkyOrientation(in Basis orientation)
1406 	{
1407 		checkClassBinding!(typeof(this))();
1408 		ptrcall!(void)(GDNativeClassBinding.setSkyOrientation, _godot_object, orientation);
1409 	}
1410 	/**
1411 	
1412 	*/
1413 	void setSkyRotation(in Vector3 euler_radians)
1414 	{
1415 		checkClassBinding!(typeof(this))();
1416 		ptrcall!(void)(GDNativeClassBinding.setSkyRotation, _godot_object, euler_radians);
1417 	}
1418 	/**
1419 	
1420 	*/
1421 	void setSkyRotationDegrees(in Vector3 euler_degrees)
1422 	{
1423 		checkClassBinding!(typeof(this))();
1424 		ptrcall!(void)(GDNativeClassBinding.setSkyRotationDegrees, _godot_object, euler_degrees);
1425 	}
1426 	/**
1427 	
1428 	*/
1429 	void setSsaoAoChannelAffect(in double amount)
1430 	{
1431 		checkClassBinding!(typeof(this))();
1432 		ptrcall!(void)(GDNativeClassBinding.setSsaoAoChannelAffect, _godot_object, amount);
1433 	}
1434 	/**
1435 	
1436 	*/
1437 	void setSsaoBias(in double bias)
1438 	{
1439 		checkClassBinding!(typeof(this))();
1440 		ptrcall!(void)(GDNativeClassBinding.setSsaoBias, _godot_object, bias);
1441 	}
1442 	/**
1443 	
1444 	*/
1445 	void setSsaoBlur(in long mode)
1446 	{
1447 		checkClassBinding!(typeof(this))();
1448 		ptrcall!(void)(GDNativeClassBinding.setSsaoBlur, _godot_object, mode);
1449 	}
1450 	/**
1451 	
1452 	*/
1453 	void setSsaoColor(in Color color)
1454 	{
1455 		checkClassBinding!(typeof(this))();
1456 		ptrcall!(void)(GDNativeClassBinding.setSsaoColor, _godot_object, color);
1457 	}
1458 	/**
1459 	
1460 	*/
1461 	void setSsaoDirectLightAffect(in double amount)
1462 	{
1463 		checkClassBinding!(typeof(this))();
1464 		ptrcall!(void)(GDNativeClassBinding.setSsaoDirectLightAffect, _godot_object, amount);
1465 	}
1466 	/**
1467 	
1468 	*/
1469 	void setSsaoEdgeSharpness(in double edge_sharpness)
1470 	{
1471 		checkClassBinding!(typeof(this))();
1472 		ptrcall!(void)(GDNativeClassBinding.setSsaoEdgeSharpness, _godot_object, edge_sharpness);
1473 	}
1474 	/**
1475 	
1476 	*/
1477 	void setSsaoEnabled(in bool enabled)
1478 	{
1479 		checkClassBinding!(typeof(this))();
1480 		ptrcall!(void)(GDNativeClassBinding.setSsaoEnabled, _godot_object, enabled);
1481 	}
1482 	/**
1483 	
1484 	*/
1485 	void setSsaoIntensity(in double intensity)
1486 	{
1487 		checkClassBinding!(typeof(this))();
1488 		ptrcall!(void)(GDNativeClassBinding.setSsaoIntensity, _godot_object, intensity);
1489 	}
1490 	/**
1491 	
1492 	*/
1493 	void setSsaoIntensity2(in double intensity)
1494 	{
1495 		checkClassBinding!(typeof(this))();
1496 		ptrcall!(void)(GDNativeClassBinding.setSsaoIntensity2, _godot_object, intensity);
1497 	}
1498 	/**
1499 	
1500 	*/
1501 	void setSsaoQuality(in long quality)
1502 	{
1503 		checkClassBinding!(typeof(this))();
1504 		ptrcall!(void)(GDNativeClassBinding.setSsaoQuality, _godot_object, quality);
1505 	}
1506 	/**
1507 	
1508 	*/
1509 	void setSsaoRadius(in double radius)
1510 	{
1511 		checkClassBinding!(typeof(this))();
1512 		ptrcall!(void)(GDNativeClassBinding.setSsaoRadius, _godot_object, radius);
1513 	}
1514 	/**
1515 	
1516 	*/
1517 	void setSsaoRadius2(in double radius)
1518 	{
1519 		checkClassBinding!(typeof(this))();
1520 		ptrcall!(void)(GDNativeClassBinding.setSsaoRadius2, _godot_object, radius);
1521 	}
1522 	/**
1523 	
1524 	*/
1525 	void setSsrDepthTolerance(in double depth_tolerance)
1526 	{
1527 		checkClassBinding!(typeof(this))();
1528 		ptrcall!(void)(GDNativeClassBinding.setSsrDepthTolerance, _godot_object, depth_tolerance);
1529 	}
1530 	/**
1531 	
1532 	*/
1533 	void setSsrEnabled(in bool enabled)
1534 	{
1535 		checkClassBinding!(typeof(this))();
1536 		ptrcall!(void)(GDNativeClassBinding.setSsrEnabled, _godot_object, enabled);
1537 	}
1538 	/**
1539 	
1540 	*/
1541 	void setSsrFadeIn(in double fade_in)
1542 	{
1543 		checkClassBinding!(typeof(this))();
1544 		ptrcall!(void)(GDNativeClassBinding.setSsrFadeIn, _godot_object, fade_in);
1545 	}
1546 	/**
1547 	
1548 	*/
1549 	void setSsrFadeOut(in double fade_out)
1550 	{
1551 		checkClassBinding!(typeof(this))();
1552 		ptrcall!(void)(GDNativeClassBinding.setSsrFadeOut, _godot_object, fade_out);
1553 	}
1554 	/**
1555 	
1556 	*/
1557 	void setSsrMaxSteps(in long max_steps)
1558 	{
1559 		checkClassBinding!(typeof(this))();
1560 		ptrcall!(void)(GDNativeClassBinding.setSsrMaxSteps, _godot_object, max_steps);
1561 	}
1562 	/**
1563 	
1564 	*/
1565 	void setSsrRough(in bool rough)
1566 	{
1567 		checkClassBinding!(typeof(this))();
1568 		ptrcall!(void)(GDNativeClassBinding.setSsrRough, _godot_object, rough);
1569 	}
1570 	/**
1571 	
1572 	*/
1573 	void setTonemapAutoExposure(in bool auto_exposure)
1574 	{
1575 		checkClassBinding!(typeof(this))();
1576 		ptrcall!(void)(GDNativeClassBinding.setTonemapAutoExposure, _godot_object, auto_exposure);
1577 	}
1578 	/**
1579 	
1580 	*/
1581 	void setTonemapAutoExposureGrey(in double exposure_grey)
1582 	{
1583 		checkClassBinding!(typeof(this))();
1584 		ptrcall!(void)(GDNativeClassBinding.setTonemapAutoExposureGrey, _godot_object, exposure_grey);
1585 	}
1586 	/**
1587 	
1588 	*/
1589 	void setTonemapAutoExposureMax(in double exposure_max)
1590 	{
1591 		checkClassBinding!(typeof(this))();
1592 		ptrcall!(void)(GDNativeClassBinding.setTonemapAutoExposureMax, _godot_object, exposure_max);
1593 	}
1594 	/**
1595 	
1596 	*/
1597 	void setTonemapAutoExposureMin(in double exposure_min)
1598 	{
1599 		checkClassBinding!(typeof(this))();
1600 		ptrcall!(void)(GDNativeClassBinding.setTonemapAutoExposureMin, _godot_object, exposure_min);
1601 	}
1602 	/**
1603 	
1604 	*/
1605 	void setTonemapAutoExposureSpeed(in double exposure_speed)
1606 	{
1607 		checkClassBinding!(typeof(this))();
1608 		ptrcall!(void)(GDNativeClassBinding.setTonemapAutoExposureSpeed, _godot_object, exposure_speed);
1609 	}
1610 	/**
1611 	
1612 	*/
1613 	void setTonemapExposure(in double exposure)
1614 	{
1615 		checkClassBinding!(typeof(this))();
1616 		ptrcall!(void)(GDNativeClassBinding.setTonemapExposure, _godot_object, exposure);
1617 	}
1618 	/**
1619 	
1620 	*/
1621 	void setTonemapWhite(in double white)
1622 	{
1623 		checkClassBinding!(typeof(this))();
1624 		ptrcall!(void)(GDNativeClassBinding.setTonemapWhite, _godot_object, white);
1625 	}
1626 	/**
1627 	
1628 	*/
1629 	void setTonemapper(in long mode)
1630 	{
1631 		checkClassBinding!(typeof(this))();
1632 		ptrcall!(void)(GDNativeClassBinding.setTonemapper, _godot_object, mode);
1633 	}
1634 	/**
1635 	The global brightness value of the rendered scene. Effective only if `adjustment_enabled` is `true`.
1636 	*/
1637 	@property double adjustmentBrightness()
1638 	{
1639 		return getAdjustmentBrightness();
1640 	}
1641 	/// ditto
1642 	@property void adjustmentBrightness(double v)
1643 	{
1644 		setAdjustmentBrightness(v);
1645 	}
1646 	/**
1647 	Applies the provided $(D Texture) resource to affect the global color aspect of the rendered scene. Effective only if `adjustment_enabled` is `true`.
1648 	*/
1649 	@property Texture adjustmentColorCorrection()
1650 	{
1651 		return getAdjustmentColorCorrection();
1652 	}
1653 	/// ditto
1654 	@property void adjustmentColorCorrection(Texture v)
1655 	{
1656 		setAdjustmentColorCorrection(v);
1657 	}
1658 	/**
1659 	The global contrast value of the rendered scene (default value is 1). Effective only if `adjustment_enabled` is `true`.
1660 	*/
1661 	@property double adjustmentContrast()
1662 	{
1663 		return getAdjustmentContrast();
1664 	}
1665 	/// ditto
1666 	@property void adjustmentContrast(double v)
1667 	{
1668 		setAdjustmentContrast(v);
1669 	}
1670 	/**
1671 	If `true`, enables the `adjustment_*` properties provided by this resource. If `false`, modifications to the `adjustment_*` properties will have no effect on the rendered scene.
1672 	*/
1673 	@property bool adjustmentEnabled()
1674 	{
1675 		return isAdjustmentEnabled();
1676 	}
1677 	/// ditto
1678 	@property void adjustmentEnabled(bool v)
1679 	{
1680 		setAdjustmentEnable(v);
1681 	}
1682 	/**
1683 	The global color saturation value of the rendered scene (default value is 1). Effective only if `adjustment_enabled` is `true`.
1684 	*/
1685 	@property double adjustmentSaturation()
1686 	{
1687 		return getAdjustmentSaturation();
1688 	}
1689 	/// ditto
1690 	@property void adjustmentSaturation(double v)
1691 	{
1692 		setAdjustmentSaturation(v);
1693 	}
1694 	/**
1695 	The ambient light's $(D Color).
1696 	*/
1697 	@property Color ambientLightColor()
1698 	{
1699 		return getAmbientLightColor();
1700 	}
1701 	/// ditto
1702 	@property void ambientLightColor(Color v)
1703 	{
1704 		setAmbientLightColor(v);
1705 	}
1706 	/**
1707 	The ambient light's energy. The higher the value, the stronger the light.
1708 	*/
1709 	@property double ambientLightEnergy()
1710 	{
1711 		return getAmbientLightEnergy();
1712 	}
1713 	/// ditto
1714 	@property void ambientLightEnergy(double v)
1715 	{
1716 		setAmbientLightEnergy(v);
1717 	}
1718 	/**
1719 	Defines the amount of light that the sky brings on the scene. A value of 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 of 1 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.
1720 	*/
1721 	@property double ambientLightSkyContribution()
1722 	{
1723 		return getAmbientLightSkyContribution();
1724 	}
1725 	/// ditto
1726 	@property void ambientLightSkyContribution(double v)
1727 	{
1728 		setAmbientLightSkyContribution(v);
1729 	}
1730 	/**
1731 	If `true`, enables the tonemapping auto exposure mode of the scene renderer. If `true`, the renderer will automatically determine the exposure setting to adapt to the scene's illumination and the observed light.
1732 	*/
1733 	@property bool autoExposureEnabled()
1734 	{
1735 		return getTonemapAutoExposure();
1736 	}
1737 	/// ditto
1738 	@property void autoExposureEnabled(bool v)
1739 	{
1740 		setTonemapAutoExposure(v);
1741 	}
1742 	/**
1743 	The maximum luminance value for the auto exposure.
1744 	*/
1745 	@property double autoExposureMaxLuma()
1746 	{
1747 		return getTonemapAutoExposureMax();
1748 	}
1749 	/// ditto
1750 	@property void autoExposureMaxLuma(double v)
1751 	{
1752 		setTonemapAutoExposureMax(v);
1753 	}
1754 	/**
1755 	The minimum luminance value for the auto exposure.
1756 	*/
1757 	@property double autoExposureMinLuma()
1758 	{
1759 		return getTonemapAutoExposureMin();
1760 	}
1761 	/// ditto
1762 	@property void autoExposureMinLuma(double v)
1763 	{
1764 		setTonemapAutoExposureMin(v);
1765 	}
1766 	/**
1767 	The scale of the auto exposure effect. Affects the intensity of auto exposure.
1768 	*/
1769 	@property double autoExposureScale()
1770 	{
1771 		return getTonemapAutoExposureGrey();
1772 	}
1773 	/// ditto
1774 	@property void autoExposureScale(double v)
1775 	{
1776 		setTonemapAutoExposureGrey(v);
1777 	}
1778 	/**
1779 	The speed of the auto exposure effect. Affects the time needed for the camera to perform auto exposure.
1780 	*/
1781 	@property double autoExposureSpeed()
1782 	{
1783 		return getTonemapAutoExposureSpeed();
1784 	}
1785 	/// ditto
1786 	@property void autoExposureSpeed(double v)
1787 	{
1788 		setTonemapAutoExposureSpeed(v);
1789 	}
1790 	/**
1791 	The ID of the camera feed to show in the background.
1792 	*/
1793 	@property long backgroundCameraFeedId()
1794 	{
1795 		return getCameraFeedId();
1796 	}
1797 	/// ditto
1798 	@property void backgroundCameraFeedId(long v)
1799 	{
1800 		setCameraFeedId(v);
1801 	}
1802 	/**
1803 	The maximum layer ID to display. Only effective when using the $(D constant BG_CANVAS) background mode.
1804 	*/
1805 	@property long backgroundCanvasMaxLayer()
1806 	{
1807 		return getCanvasMaxLayer();
1808 	}
1809 	/// ditto
1810 	@property void backgroundCanvasMaxLayer(long v)
1811 	{
1812 		setCanvasMaxLayer(v);
1813 	}
1814 	/**
1815 	The $(D Color) displayed for clear areas of the scene. Only effective when using the $(D constant BG_COLOR) or $(D constant BG_COLOR_SKY) background modes).
1816 	*/
1817 	@property Color backgroundColor()
1818 	{
1819 		return getBgColor();
1820 	}
1821 	/// ditto
1822 	@property void backgroundColor(Color v)
1823 	{
1824 		setBgColor(v);
1825 	}
1826 	/**
1827 	The power of the light emitted by the background.
1828 	*/
1829 	@property double backgroundEnergy()
1830 	{
1831 		return getBgEnergy();
1832 	}
1833 	/// ditto
1834 	@property void backgroundEnergy(double v)
1835 	{
1836 		setBgEnergy(v);
1837 	}
1838 	/**
1839 	The background mode. See $(D bgmode) for possible values.
1840 	*/
1841 	@property Environment.BGMode backgroundMode()
1842 	{
1843 		return getBackground();
1844 	}
1845 	/// ditto
1846 	@property void backgroundMode(long v)
1847 	{
1848 		setBackground(v);
1849 	}
1850 	/**
1851 	The $(D Sky) resource defined as background.
1852 	*/
1853 	@property Sky backgroundSky()
1854 	{
1855 		return getSky();
1856 	}
1857 	/// ditto
1858 	@property void backgroundSky(Sky v)
1859 	{
1860 		setSky(v);
1861 	}
1862 	/**
1863 	The $(D Sky) resource's custom field of view.
1864 	*/
1865 	@property double backgroundSkyCustomFov()
1866 	{
1867 		return getSkyCustomFov();
1868 	}
1869 	/// ditto
1870 	@property void backgroundSkyCustomFov(double v)
1871 	{
1872 		setSkyCustomFov(v);
1873 	}
1874 	/**
1875 	The $(D Sky) resource's rotation expressed as a $(D Basis).
1876 	*/
1877 	@property Basis backgroundSkyOrientation()
1878 	{
1879 		return getSkyOrientation();
1880 	}
1881 	/// ditto
1882 	@property void backgroundSkyOrientation(Basis v)
1883 	{
1884 		setSkyOrientation(v);
1885 	}
1886 	/**
1887 	The $(D Sky) resource's rotation expressed as Euler angles in radians.
1888 	*/
1889 	@property Vector3 backgroundSkyRotation()
1890 	{
1891 		return getSkyRotation();
1892 	}
1893 	/// ditto
1894 	@property void backgroundSkyRotation(Vector3 v)
1895 	{
1896 		setSkyRotation(v);
1897 	}
1898 	/**
1899 	The $(D Sky) resource's rotation expressed as Euler angles in degrees.
1900 	*/
1901 	@property Vector3 backgroundSkyRotationDegrees()
1902 	{
1903 		return getSkyRotationDegrees();
1904 	}
1905 	/// ditto
1906 	@property void backgroundSkyRotationDegrees(Vector3 v)
1907 	{
1908 		setSkyRotationDegrees(v);
1909 	}
1910 	/**
1911 	The amount of far blur for the depth-of-field effect.
1912 	*/
1913 	@property double dofBlurFarAmount()
1914 	{
1915 		return getDofBlurFarAmount();
1916 	}
1917 	/// ditto
1918 	@property void dofBlurFarAmount(double v)
1919 	{
1920 		setDofBlurFarAmount(v);
1921 	}
1922 	/**
1923 	The distance from the camera where the far blur effect affects the rendering.
1924 	*/
1925 	@property double dofBlurFarDistance()
1926 	{
1927 		return getDofBlurFarDistance();
1928 	}
1929 	/// ditto
1930 	@property void dofBlurFarDistance(double v)
1931 	{
1932 		setDofBlurFarDistance(v);
1933 	}
1934 	/**
1935 	If `true`, enables the depth-of-field far blur effect.
1936 	*/
1937 	@property bool dofBlurFarEnabled()
1938 	{
1939 		return isDofBlurFarEnabled();
1940 	}
1941 	/// ditto
1942 	@property void dofBlurFarEnabled(bool v)
1943 	{
1944 		setDofBlurFarEnabled(v);
1945 	}
1946 	/**
1947 	The depth-of-field far blur's quality. Higher values can mitigate the visible banding effect seen at higher strengths, but are much slower.
1948 	*/
1949 	@property Environment.DOFBlurQuality dofBlurFarQuality()
1950 	{
1951 		return getDofBlurFarQuality();
1952 	}
1953 	/// ditto
1954 	@property void dofBlurFarQuality(long v)
1955 	{
1956 		setDofBlurFarQuality(v);
1957 	}
1958 	/**
1959 	The length of the transition between the no-blur area and far blur.
1960 	*/
1961 	@property double dofBlurFarTransition()
1962 	{
1963 		return getDofBlurFarTransition();
1964 	}
1965 	/// ditto
1966 	@property void dofBlurFarTransition(double v)
1967 	{
1968 		setDofBlurFarTransition(v);
1969 	}
1970 	/**
1971 	The amount of near blur for the depth-of-field effect.
1972 	*/
1973 	@property double dofBlurNearAmount()
1974 	{
1975 		return getDofBlurNearAmount();
1976 	}
1977 	/// ditto
1978 	@property void dofBlurNearAmount(double v)
1979 	{
1980 		setDofBlurNearAmount(v);
1981 	}
1982 	/**
1983 	Distance from the camera where the near blur effect affects the rendering.
1984 	*/
1985 	@property double dofBlurNearDistance()
1986 	{
1987 		return getDofBlurNearDistance();
1988 	}
1989 	/// ditto
1990 	@property void dofBlurNearDistance(double v)
1991 	{
1992 		setDofBlurNearDistance(v);
1993 	}
1994 	/**
1995 	If `true`, enables the depth-of-field near blur effect.
1996 	*/
1997 	@property bool dofBlurNearEnabled()
1998 	{
1999 		return isDofBlurNearEnabled();
2000 	}
2001 	/// ditto
2002 	@property void dofBlurNearEnabled(bool v)
2003 	{
2004 		setDofBlurNearEnabled(v);
2005 	}
2006 	/**
2007 	The depth-of-field near blur's quality. Higher values can mitigate the visible banding effect seen at higher strengths, but are much slower.
2008 	*/
2009 	@property Environment.DOFBlurQuality dofBlurNearQuality()
2010 	{
2011 		return getDofBlurNearQuality();
2012 	}
2013 	/// ditto
2014 	@property void dofBlurNearQuality(long v)
2015 	{
2016 		setDofBlurNearQuality(v);
2017 	}
2018 	/**
2019 	The length of the transition between the near blur and no-blur area.
2020 	*/
2021 	@property double dofBlurNearTransition()
2022 	{
2023 		return getDofBlurNearTransition();
2024 	}
2025 	/// ditto
2026 	@property void dofBlurNearTransition(double v)
2027 	{
2028 		setDofBlurNearTransition(v);
2029 	}
2030 	/**
2031 	The fog's $(D Color).
2032 	*/
2033 	@property Color fogColor()
2034 	{
2035 		return getFogColor();
2036 	}
2037 	/// ditto
2038 	@property void fogColor(Color v)
2039 	{
2040 		setFogColor(v);
2041 	}
2042 	/**
2043 	The fog's depth starting distance from the camera.
2044 	*/
2045 	@property double fogDepthBegin()
2046 	{
2047 		return getFogDepthBegin();
2048 	}
2049 	/// ditto
2050 	@property void fogDepthBegin(double v)
2051 	{
2052 		setFogDepthBegin(v);
2053 	}
2054 	/**
2055 	The fog depth's intensity curve. A number of presets are available in the $(B Inspector) by right-clicking the curve.
2056 	*/
2057 	@property double fogDepthCurve()
2058 	{
2059 		return getFogDepthCurve();
2060 	}
2061 	/// ditto
2062 	@property void fogDepthCurve(double v)
2063 	{
2064 		setFogDepthCurve(v);
2065 	}
2066 	/**
2067 	If `true`, the depth fog effect is enabled. When enabled, fog will appear in the distance (relative to the camera).
2068 	*/
2069 	@property bool fogDepthEnabled()
2070 	{
2071 		return isFogDepthEnabled();
2072 	}
2073 	/// ditto
2074 	@property void fogDepthEnabled(bool v)
2075 	{
2076 		setFogDepthEnabled(v);
2077 	}
2078 	/**
2079 	The fog's depth end distance from the camera. If this value is set to 0, it will be equal to the current camera's $(D Camera.far) value.
2080 	*/
2081 	@property double fogDepthEnd()
2082 	{
2083 		return getFogDepthEnd();
2084 	}
2085 	/// ditto
2086 	@property void fogDepthEnd(double v)
2087 	{
2088 		setFogDepthEnd(v);
2089 	}
2090 	/**
2091 	If `true`, fog effects are enabled. $(D fogHeightEnabled) and/or $(D fogDepthEnabled) must be set to `true` to actually display fog.
2092 	*/
2093 	@property bool fogEnabled()
2094 	{
2095 		return isFogEnabled();
2096 	}
2097 	/// ditto
2098 	@property void fogEnabled(bool v)
2099 	{
2100 		setFogEnabled(v);
2101 	}
2102 	/**
2103 	The height fog's intensity. A number of presets are available in the $(B Inspector) by right-clicking the curve.
2104 	*/
2105 	@property double fogHeightCurve()
2106 	{
2107 		return getFogHeightCurve();
2108 	}
2109 	/// ditto
2110 	@property void fogHeightCurve(double v)
2111 	{
2112 		setFogHeightCurve(v);
2113 	}
2114 	/**
2115 	If `true`, the height fog effect is enabled. When enabled, fog will appear in a defined height range, regardless of the distance from the camera. This can be used to simulate "deep water" effects with a lower performance cost compared to a dedicated shader.
2116 	*/
2117 	@property bool fogHeightEnabled()
2118 	{
2119 		return isFogHeightEnabled();
2120 	}
2121 	/// ditto
2122 	@property void fogHeightEnabled(bool v)
2123 	{
2124 		setFogHeightEnabled(v);
2125 	}
2126 	/**
2127 	The Y coordinate where the height fog will be the most intense. If this value is greater than $(D fogHeightMin), fog will be displayed from bottom to top. Otherwise, it will be displayed from top to bottom.
2128 	*/
2129 	@property double fogHeightMax()
2130 	{
2131 		return getFogHeightMax();
2132 	}
2133 	/// ditto
2134 	@property void fogHeightMax(double v)
2135 	{
2136 		setFogHeightMax(v);
2137 	}
2138 	/**
2139 	The Y coordinate where the height fog will be the least intense. If this value is greater than $(D fogHeightMax), fog will be displayed from top to bottom. Otherwise, it will be displayed from bottom to top.
2140 	*/
2141 	@property double fogHeightMin()
2142 	{
2143 		return getFogHeightMin();
2144 	}
2145 	/// ditto
2146 	@property void fogHeightMin(double v)
2147 	{
2148 		setFogHeightMin(v);
2149 	}
2150 	/**
2151 	The intensity of the depth fog color transition when looking towards the sun. The sun's direction is determined automatically using the DirectionalLight node in the scene.
2152 	*/
2153 	@property double fogSunAmount()
2154 	{
2155 		return getFogSunAmount();
2156 	}
2157 	/// ditto
2158 	@property void fogSunAmount(double v)
2159 	{
2160 		setFogSunAmount(v);
2161 	}
2162 	/**
2163 	The depth fog's $(D Color) when looking towards the sun.
2164 	*/
2165 	@property Color fogSunColor()
2166 	{
2167 		return getFogSunColor();
2168 	}
2169 	/// ditto
2170 	@property void fogSunColor(Color v)
2171 	{
2172 		setFogSunColor(v);
2173 	}
2174 	/**
2175 	The intensity of the fog light transmittance effect. Amount of light that the fog transmits.
2176 	*/
2177 	@property double fogTransmitCurve()
2178 	{
2179 		return getFogTransmitCurve();
2180 	}
2181 	/// ditto
2182 	@property void fogTransmitCurve(double v)
2183 	{
2184 		setFogTransmitCurve(v);
2185 	}
2186 	/**
2187 	Enables fog's light transmission effect. If `true`, light will be more visible in the fog to simulate light scattering as in real life.
2188 	*/
2189 	@property bool fogTransmitEnabled()
2190 	{
2191 		return isFogTransmitEnabled();
2192 	}
2193 	/// ditto
2194 	@property void fogTransmitEnabled(bool v)
2195 	{
2196 		setFogTransmitEnabled(v);
2197 	}
2198 	/**
2199 	Smooths out the blockiness created by sampling higher levels, at the cost of performance.
2200 	$(B Note:) When using the GLES2 renderer, this is only available if the GPU supports the `GL_EXT_gpu_shader4` extension.
2201 	*/
2202 	@property bool glowBicubicUpscale()
2203 	{
2204 		return isGlowBicubicUpscaleEnabled();
2205 	}
2206 	/// ditto
2207 	@property void glowBicubicUpscale(bool v)
2208 	{
2209 		setGlowBicubicUpscale(v);
2210 	}
2211 	/**
2212 	The glow blending mode.
2213 	*/
2214 	@property Environment.GlowBlendMode glowBlendMode()
2215 	{
2216 		return getGlowBlendMode();
2217 	}
2218 	/// ditto
2219 	@property void glowBlendMode(long v)
2220 	{
2221 		setGlowBlendMode(v);
2222 	}
2223 	/**
2224 	The bloom's intensity. If set to a value higher than `0`, this will make glow visible in areas darker than the $(D glowHdrThreshold).
2225 	*/
2226 	@property double glowBloom()
2227 	{
2228 		return getGlowBloom();
2229 	}
2230 	/// ditto
2231 	@property void glowBloom(double v)
2232 	{
2233 		setGlowBloom(v);
2234 	}
2235 	/**
2236 	If `true`, the glow effect is enabled.
2237 	*/
2238 	@property bool glowEnabled()
2239 	{
2240 		return isGlowEnabled();
2241 	}
2242 	/// ditto
2243 	@property void glowEnabled(bool v)
2244 	{
2245 		setGlowEnabled(v);
2246 	}
2247 	/**
2248 	The higher threshold of the HDR glow. Areas brighter than this threshold will be clamped for the purposes of the glow effect.
2249 	*/
2250 	@property double glowHdrLuminanceCap()
2251 	{
2252 		return getGlowHdrLuminanceCap();
2253 	}
2254 	/// ditto
2255 	@property void glowHdrLuminanceCap(double v)
2256 	{
2257 		setGlowHdrLuminanceCap(v);
2258 	}
2259 	/**
2260 	The bleed scale of the HDR glow.
2261 	*/
2262 	@property double glowHdrScale()
2263 	{
2264 		return getGlowHdrBleedScale();
2265 	}
2266 	/// ditto
2267 	@property void glowHdrScale(double v)
2268 	{
2269 		setGlowHdrBleedScale(v);
2270 	}
2271 	/**
2272 	The lower threshold of the HDR glow. When using the GLES2 renderer (which doesn't support HDR), this needs to be below `1.0` for glow to be visible. A value of `0.9` works well in this case.
2273 	*/
2274 	@property double glowHdrThreshold()
2275 	{
2276 		return getGlowHdrBleedThreshold();
2277 	}
2278 	/// ditto
2279 	@property void glowHdrThreshold(double v)
2280 	{
2281 		setGlowHdrBleedThreshold(v);
2282 	}
2283 	/**
2284 	The glow intensity. When using the GLES2 renderer, this should be increased to 1.5 to compensate for the lack of HDR rendering.
2285 	*/
2286 	@property double glowIntensity()
2287 	{
2288 		return getGlowIntensity();
2289 	}
2290 	/// ditto
2291 	@property void glowIntensity(double v)
2292 	{
2293 		setGlowIntensity(v);
2294 	}
2295 	/**
2296 	If `true`, the 1st level of glow is enabled. This is the most "local" level (least blurry).
2297 	*/
2298 	@property bool glowLevels1()
2299 	{
2300 		return isGlowLevelEnabled(0);
2301 	}
2302 	/// ditto
2303 	@property void glowLevels1(bool v)
2304 	{
2305 		setGlowLevel(0, v);
2306 	}
2307 	/**
2308 	If `true`, the 2th level of glow is enabled.
2309 	*/
2310 	@property bool glowLevels2()
2311 	{
2312 		return isGlowLevelEnabled(1);
2313 	}
2314 	/// ditto
2315 	@property void glowLevels2(bool v)
2316 	{
2317 		setGlowLevel(1, v);
2318 	}
2319 	/**
2320 	If `true`, the 3th level of glow is enabled.
2321 	*/
2322 	@property bool glowLevels3()
2323 	{
2324 		return isGlowLevelEnabled(2);
2325 	}
2326 	/// ditto
2327 	@property void glowLevels3(bool v)
2328 	{
2329 		setGlowLevel(2, v);
2330 	}
2331 	/**
2332 	If `true`, the 4th level of glow is enabled.
2333 	*/
2334 	@property bool glowLevels4()
2335 	{
2336 		return isGlowLevelEnabled(3);
2337 	}
2338 	/// ditto
2339 	@property void glowLevels4(bool v)
2340 	{
2341 		setGlowLevel(3, v);
2342 	}
2343 	/**
2344 	If `true`, the 5th level of glow is enabled.
2345 	*/
2346 	@property bool glowLevels5()
2347 	{
2348 		return isGlowLevelEnabled(4);
2349 	}
2350 	/// ditto
2351 	@property void glowLevels5(bool v)
2352 	{
2353 		setGlowLevel(4, v);
2354 	}
2355 	/**
2356 	If `true`, the 6th level of glow is enabled.
2357 	*/
2358 	@property bool glowLevels6()
2359 	{
2360 		return isGlowLevelEnabled(5);
2361 	}
2362 	/// ditto
2363 	@property void glowLevels6(bool v)
2364 	{
2365 		setGlowLevel(5, v);
2366 	}
2367 	/**
2368 	If `true`, the 7th level of glow is enabled. This is the most "global" level (blurriest).
2369 	*/
2370 	@property bool glowLevels7()
2371 	{
2372 		return isGlowLevelEnabled(6);
2373 	}
2374 	/// ditto
2375 	@property void glowLevels7(bool v)
2376 	{
2377 		setGlowLevel(6, v);
2378 	}
2379 	/**
2380 	The glow strength. When using the GLES2 renderer, this should be increased to 1.3 to compensate for the lack of HDR rendering.
2381 	*/
2382 	@property double glowStrength()
2383 	{
2384 		return getGlowStrength();
2385 	}
2386 	/// ditto
2387 	@property void glowStrength(double v)
2388 	{
2389 		setGlowStrength(v);
2390 	}
2391 	/**
2392 	The depth tolerance for screen-space reflections.
2393 	*/
2394 	@property double ssReflectionsDepthTolerance()
2395 	{
2396 		return getSsrDepthTolerance();
2397 	}
2398 	/// ditto
2399 	@property void ssReflectionsDepthTolerance(double v)
2400 	{
2401 		setSsrDepthTolerance(v);
2402 	}
2403 	/**
2404 	If `true`, screen-space reflections are enabled. Screen-space reflections are more accurate than reflections from $(D GIProbe)s or $(D ReflectionProbe)s, but are slower and can't reflect surfaces occluded by others.
2405 	*/
2406 	@property bool ssReflectionsEnabled()
2407 	{
2408 		return isSsrEnabled();
2409 	}
2410 	/// ditto
2411 	@property void ssReflectionsEnabled(bool v)
2412 	{
2413 		setSsrEnabled(v);
2414 	}
2415 	/**
2416 	The fade-in distance for screen-space reflections. Affects the area from the reflected material to the screen-space reflection).
2417 	*/
2418 	@property double ssReflectionsFadeIn()
2419 	{
2420 		return getSsrFadeIn();
2421 	}
2422 	/// ditto
2423 	@property void ssReflectionsFadeIn(double v)
2424 	{
2425 		setSsrFadeIn(v);
2426 	}
2427 	/**
2428 	The fade-out distance for screen-space reflections. Affects the area from the screen-space reflection to the "global" reflection.
2429 	*/
2430 	@property double ssReflectionsFadeOut()
2431 	{
2432 		return getSsrFadeOut();
2433 	}
2434 	/// ditto
2435 	@property void ssReflectionsFadeOut(double v)
2436 	{
2437 		setSsrFadeOut(v);
2438 	}
2439 	/**
2440 	The maximum number of steps for screen-space reflections. Higher values are slower.
2441 	*/
2442 	@property long ssReflectionsMaxSteps()
2443 	{
2444 		return getSsrMaxSteps();
2445 	}
2446 	/// ditto
2447 	@property void ssReflectionsMaxSteps(long v)
2448 	{
2449 		setSsrMaxSteps(v);
2450 	}
2451 	/**
2452 	If `true`, screen-space reflections will take the material roughness into account.
2453 	*/
2454 	@property bool ssReflectionsRoughness()
2455 	{
2456 		return isSsrRough();
2457 	}
2458 	/// ditto
2459 	@property void ssReflectionsRoughness(bool v)
2460 	{
2461 		setSsrRough(v);
2462 	}
2463 	/**
2464 	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.
2465 	*/
2466 	@property double ssaoAoChannelAffect()
2467 	{
2468 		return getSsaoAoChannelAffect();
2469 	}
2470 	/// ditto
2471 	@property void ssaoAoChannelAffect(double v)
2472 	{
2473 		setSsaoAoChannelAffect(v);
2474 	}
2475 	/**
2476 	The screen-space ambient occlusion bias. This should be kept high enough to prevent "smooth" curves from being affected by ambient occlusion.
2477 	*/
2478 	@property double ssaoBias()
2479 	{
2480 		return getSsaoBias();
2481 	}
2482 	/// ditto
2483 	@property void ssaoBias(double v)
2484 	{
2485 		setSsaoBias(v);
2486 	}
2487 	/**
2488 	The screen-space ambient occlusion blur quality. See $(D ssaoblur) for possible values.
2489 	*/
2490 	@property Environment.SSAOBlur ssaoBlur()
2491 	{
2492 		return getSsaoBlur();
2493 	}
2494 	/// ditto
2495 	@property void ssaoBlur(long v)
2496 	{
2497 		setSsaoBlur(v);
2498 	}
2499 	/**
2500 	The screen-space ambient occlusion color.
2501 	*/
2502 	@property Color ssaoColor()
2503 	{
2504 		return getSsaoColor();
2505 	}
2506 	/// ditto
2507 	@property void ssaoColor(Color v)
2508 	{
2509 		setSsaoColor(v);
2510 	}
2511 	/**
2512 	The screen-space ambient occlusion edge sharpness.
2513 	*/
2514 	@property double ssaoEdgeSharpness()
2515 	{
2516 		return getSsaoEdgeSharpness();
2517 	}
2518 	/// ditto
2519 	@property void ssaoEdgeSharpness(double v)
2520 	{
2521 		setSsaoEdgeSharpness(v);
2522 	}
2523 	/**
2524 	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. This is a costly effect and should be disabled first when running into performance issues.
2525 	*/
2526 	@property bool ssaoEnabled()
2527 	{
2528 		return isSsaoEnabled();
2529 	}
2530 	/// ditto
2531 	@property void ssaoEnabled(bool v)
2532 	{
2533 		setSsaoEnabled(v);
2534 	}
2535 	/**
2536 	The primary screen-space ambient occlusion intensity. See also $(D ssaoRadius).
2537 	*/
2538 	@property double ssaoIntensity()
2539 	{
2540 		return getSsaoIntensity();
2541 	}
2542 	/// ditto
2543 	@property void ssaoIntensity(double v)
2544 	{
2545 		setSsaoIntensity(v);
2546 	}
2547 	/**
2548 	The secondary screen-space ambient occlusion intensity. See also $(D ssaoRadius2).
2549 	*/
2550 	@property double ssaoIntensity2()
2551 	{
2552 		return getSsaoIntensity2();
2553 	}
2554 	/// ditto
2555 	@property void ssaoIntensity2(double v)
2556 	{
2557 		setSsaoIntensity2(v);
2558 	}
2559 	/**
2560 	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.
2561 	*/
2562 	@property double ssaoLightAffect()
2563 	{
2564 		return getSsaoDirectLightAffect();
2565 	}
2566 	/// ditto
2567 	@property void ssaoLightAffect(double v)
2568 	{
2569 		setSsaoDirectLightAffect(v);
2570 	}
2571 	/**
2572 	The screen-space ambient occlusion quality. Higher qualities will make better use of small objects for ambient occlusion, but are slower.
2573 	*/
2574 	@property Environment.SSAOQuality ssaoQuality()
2575 	{
2576 		return getSsaoQuality();
2577 	}
2578 	/// ditto
2579 	@property void ssaoQuality(long v)
2580 	{
2581 		setSsaoQuality(v);
2582 	}
2583 	/**
2584 	The primary screen-space ambient occlusion radius.
2585 	*/
2586 	@property double ssaoRadius()
2587 	{
2588 		return getSsaoRadius();
2589 	}
2590 	/// ditto
2591 	@property void ssaoRadius(double v)
2592 	{
2593 		setSsaoRadius(v);
2594 	}
2595 	/**
2596 	The secondary screen-space ambient occlusion radius. If set to a value higher than `0`, enables the secondary screen-space ambient occlusion effect which can be used to improve the effect's appearance (at the cost of performance).
2597 	*/
2598 	@property double ssaoRadius2()
2599 	{
2600 		return getSsaoRadius2();
2601 	}
2602 	/// ditto
2603 	@property void ssaoRadius2(double v)
2604 	{
2605 		setSsaoRadius2(v);
2606 	}
2607 	/**
2608 	The default exposure used for tonemapping.
2609 	*/
2610 	@property double tonemapExposure()
2611 	{
2612 		return getTonemapExposure();
2613 	}
2614 	/// ditto
2615 	@property void tonemapExposure(double v)
2616 	{
2617 		setTonemapExposure(v);
2618 	}
2619 	/**
2620 	The tonemapping mode to use. Tonemapping is the process that "converts" HDR values to be suitable for rendering on a LDR display. (Godot doesn't support rendering on HDR displays yet.)
2621 	*/
2622 	@property Environment.ToneMapper tonemapMode()
2623 	{
2624 		return getTonemapper();
2625 	}
2626 	/// ditto
2627 	@property void tonemapMode(long v)
2628 	{
2629 		setTonemapper(v);
2630 	}
2631 	/**
2632 	The white reference value for tonemapping. Only effective if the $(D tonemapMode) isn't set to $(D constant TONE_MAPPER_LINEAR).
2633 	*/
2634 	@property double tonemapWhite()
2635 	{
2636 		return getTonemapWhite();
2637 	}
2638 	/// ditto
2639 	@property void tonemapWhite(double v)
2640 	{
2641 		setTonemapWhite(v);
2642 	}
2643 }