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