1 /**
2 Server for anything visible.
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.visualserver;
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.image;
23 /**
24 Server for anything visible.
25 
26 The visual server is the API backend for everything visible. The whole scene system mounts on it to display.
27 The visual server is completely opaque, the internals are entirely implementation specific and cannot be accessed.
28 */
29 @GodotBaseClass struct VisualServerSingleton
30 {
31 	enum string _GODOT_internal_name = "VisualServer";
32 public:
33 @nogc nothrow:
34 	union { godot_object _godot_object; GodotObject _GODOT_base; }
35 	alias _GODOT_base this;
36 	alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses);
37 	package(godot) __gshared bool _classBindingInitialized = false;
38 	package(godot) static struct _classBinding
39 	{
40 		__gshared:
41 		godot_object _singleton;
42 		immutable char* _singletonName = "VisualServer";
43 		@GodotName("force_sync") GodotMethod!(void) forceSync;
44 		@GodotName("force_draw") GodotMethod!(void, bool, double) forceDraw;
45 		@GodotName("sync") GodotMethod!(void) sync;
46 		@GodotName("draw") GodotMethod!(void, bool, double) draw;
47 		@GodotName("texture_create") GodotMethod!(RID) textureCreate;
48 		@GodotName("texture_create_from_image") GodotMethod!(RID, Image, long) textureCreateFromImage;
49 		@GodotName("texture_allocate") GodotMethod!(void, RID, long, long, long, long, long, long) textureAllocate;
50 		@GodotName("texture_set_data") GodotMethod!(void, RID, Image, long) textureSetData;
51 		@GodotName("texture_set_data_partial") GodotMethod!(void, RID, Image, long, long, long, long, long, long, long, long) textureSetDataPartial;
52 		@GodotName("texture_get_data") GodotMethod!(Image, RID, long) textureGetData;
53 		@GodotName("texture_set_flags") GodotMethod!(void, RID, long) textureSetFlags;
54 		@GodotName("texture_get_flags") GodotMethod!(long, RID) textureGetFlags;
55 		@GodotName("texture_get_format") GodotMethod!(Image.Format, RID) textureGetFormat;
56 		@GodotName("texture_get_type") GodotMethod!(VisualServer.TextureType, RID) textureGetType;
57 		@GodotName("texture_get_texid") GodotMethod!(long, RID) textureGetTexid;
58 		@GodotName("texture_get_width") GodotMethod!(long, RID) textureGetWidth;
59 		@GodotName("texture_get_height") GodotMethod!(long, RID) textureGetHeight;
60 		@GodotName("texture_get_depth") GodotMethod!(long, RID) textureGetDepth;
61 		@GodotName("texture_set_size_override") GodotMethod!(void, RID, long, long, long) textureSetSizeOverride;
62 		@GodotName("texture_set_path") GodotMethod!(void, RID, String) textureSetPath;
63 		@GodotName("texture_get_path") GodotMethod!(String, RID) textureGetPath;
64 		@GodotName("texture_set_shrink_all_x2_on_set_data") GodotMethod!(void, bool) textureSetShrinkAllX2OnSetData;
65 		@GodotName("texture_debug_usage") GodotMethod!(Array) textureDebugUsage;
66 		@GodotName("textures_keep_original") GodotMethod!(void, bool) texturesKeepOriginal;
67 		@GodotName("sky_create") GodotMethod!(RID) skyCreate;
68 		@GodotName("sky_set_texture") GodotMethod!(void, RID, RID, long) skySetTexture;
69 		@GodotName("shader_create") GodotMethod!(RID) shaderCreate;
70 		@GodotName("shader_set_code") GodotMethod!(void, RID, String) shaderSetCode;
71 		@GodotName("shader_get_code") GodotMethod!(String, RID) shaderGetCode;
72 		@GodotName("shader_get_param_list") GodotMethod!(Array, RID) shaderGetParamList;
73 		@GodotName("shader_set_default_texture_param") GodotMethod!(void, RID, String, RID) shaderSetDefaultTextureParam;
74 		@GodotName("shader_get_default_texture_param") GodotMethod!(RID, RID, String) shaderGetDefaultTextureParam;
75 		@GodotName("material_create") GodotMethod!(RID) materialCreate;
76 		@GodotName("material_set_shader") GodotMethod!(void, RID, RID) materialSetShader;
77 		@GodotName("material_get_shader") GodotMethod!(RID, RID) materialGetShader;
78 		@GodotName("material_set_param") GodotMethod!(void, RID, String, Variant) materialSetParam;
79 		@GodotName("material_get_param") GodotMethod!(Variant, RID, String) materialGetParam;
80 		@GodotName("material_get_param_default") GodotMethod!(Variant, RID, String) materialGetParamDefault;
81 		@GodotName("material_set_render_priority") GodotMethod!(void, RID, long) materialSetRenderPriority;
82 		@GodotName("material_set_line_width") GodotMethod!(void, RID, double) materialSetLineWidth;
83 		@GodotName("material_set_next_pass") GodotMethod!(void, RID, RID) materialSetNextPass;
84 		@GodotName("mesh_create") GodotMethod!(RID) meshCreate;
85 		@GodotName("mesh_surface_get_format_offset") GodotMethod!(long, long, long, long, long) meshSurfaceGetFormatOffset;
86 		@GodotName("mesh_surface_get_format_stride") GodotMethod!(long, long, long, long) meshSurfaceGetFormatStride;
87 		@GodotName("mesh_add_surface_from_arrays") GodotMethod!(void, RID, long, Array, Array, long) meshAddSurfaceFromArrays;
88 		@GodotName("mesh_set_blend_shape_count") GodotMethod!(void, RID, long) meshSetBlendShapeCount;
89 		@GodotName("mesh_get_blend_shape_count") GodotMethod!(long, RID) meshGetBlendShapeCount;
90 		@GodotName("mesh_set_blend_shape_mode") GodotMethod!(void, RID, long) meshSetBlendShapeMode;
91 		@GodotName("mesh_get_blend_shape_mode") GodotMethod!(VisualServer.BlendShapeMode, RID) meshGetBlendShapeMode;
92 		@GodotName("mesh_surface_update_region") GodotMethod!(void, RID, long, long, PoolByteArray) meshSurfaceUpdateRegion;
93 		@GodotName("mesh_surface_set_material") GodotMethod!(void, RID, long, RID) meshSurfaceSetMaterial;
94 		@GodotName("mesh_surface_get_material") GodotMethod!(RID, RID, long) meshSurfaceGetMaterial;
95 		@GodotName("mesh_surface_get_array_len") GodotMethod!(long, RID, long) meshSurfaceGetArrayLen;
96 		@GodotName("mesh_surface_get_array_index_len") GodotMethod!(long, RID, long) meshSurfaceGetArrayIndexLen;
97 		@GodotName("mesh_surface_get_array") GodotMethod!(PoolByteArray, RID, long) meshSurfaceGetArray;
98 		@GodotName("mesh_surface_get_index_array") GodotMethod!(PoolByteArray, RID, long) meshSurfaceGetIndexArray;
99 		@GodotName("mesh_surface_get_arrays") GodotMethod!(Array, RID, long) meshSurfaceGetArrays;
100 		@GodotName("mesh_surface_get_blend_shape_arrays") GodotMethod!(Array, RID, long) meshSurfaceGetBlendShapeArrays;
101 		@GodotName("mesh_surface_get_format") GodotMethod!(long, RID, long) meshSurfaceGetFormat;
102 		@GodotName("mesh_surface_get_primitive_type") GodotMethod!(VisualServer.PrimitiveType, RID, long) meshSurfaceGetPrimitiveType;
103 		@GodotName("mesh_surface_get_aabb") GodotMethod!(AABB, RID, long) meshSurfaceGetAabb;
104 		@GodotName("mesh_surface_get_skeleton_aabb") GodotMethod!(Array, RID, long) meshSurfaceGetSkeletonAabb;
105 		@GodotName("mesh_remove_surface") GodotMethod!(void, RID, long) meshRemoveSurface;
106 		@GodotName("mesh_get_surface_count") GodotMethod!(long, RID) meshGetSurfaceCount;
107 		@GodotName("mesh_set_custom_aabb") GodotMethod!(void, RID, AABB) meshSetCustomAabb;
108 		@GodotName("mesh_get_custom_aabb") GodotMethod!(AABB, RID) meshGetCustomAabb;
109 		@GodotName("mesh_clear") GodotMethod!(void, RID) meshClear;
110 		@GodotName("multimesh_allocate") GodotMethod!(void, RID, long, long, long, long) multimeshAllocate;
111 		@GodotName("multimesh_get_instance_count") GodotMethod!(long, RID) multimeshGetInstanceCount;
112 		@GodotName("multimesh_set_mesh") GodotMethod!(void, RID, RID) multimeshSetMesh;
113 		@GodotName("multimesh_instance_set_transform") GodotMethod!(void, RID, long, Transform) multimeshInstanceSetTransform;
114 		@GodotName("multimesh_instance_set_transform_2d") GodotMethod!(void, RID, long, Transform2D) multimeshInstanceSetTransform2d;
115 		@GodotName("multimesh_instance_set_color") GodotMethod!(void, RID, long, Color) multimeshInstanceSetColor;
116 		@GodotName("multimesh_instance_set_custom_data") GodotMethod!(void, RID, long, Color) multimeshInstanceSetCustomData;
117 		@GodotName("multimesh_get_mesh") GodotMethod!(RID, RID) multimeshGetMesh;
118 		@GodotName("multimesh_get_aabb") GodotMethod!(AABB, RID) multimeshGetAabb;
119 		@GodotName("multimesh_instance_get_transform") GodotMethod!(Transform, RID, long) multimeshInstanceGetTransform;
120 		@GodotName("multimesh_instance_get_transform_2d") GodotMethod!(Transform2D, RID, long) multimeshInstanceGetTransform2d;
121 		@GodotName("multimesh_instance_get_color") GodotMethod!(Color, RID, long) multimeshInstanceGetColor;
122 		@GodotName("multimesh_instance_get_custom_data") GodotMethod!(Color, RID, long) multimeshInstanceGetCustomData;
123 		@GodotName("multimesh_set_visible_instances") GodotMethod!(void, RID, long) multimeshSetVisibleInstances;
124 		@GodotName("multimesh_get_visible_instances") GodotMethod!(long, RID) multimeshGetVisibleInstances;
125 		@GodotName("multimesh_set_as_bulk_array") GodotMethod!(void, RID, PoolRealArray) multimeshSetAsBulkArray;
126 		@GodotName("immediate_create") GodotMethod!(RID) immediateCreate;
127 		@GodotName("immediate_begin") GodotMethod!(void, RID, long, RID) immediateBegin;
128 		@GodotName("immediate_vertex") GodotMethod!(void, RID, Vector3) immediateVertex;
129 		@GodotName("immediate_vertex_2d") GodotMethod!(void, RID, Vector2) immediateVertex2d;
130 		@GodotName("immediate_normal") GodotMethod!(void, RID, Vector3) immediateNormal;
131 		@GodotName("immediate_tangent") GodotMethod!(void, RID, Plane) immediateTangent;
132 		@GodotName("immediate_color") GodotMethod!(void, RID, Color) immediateColor;
133 		@GodotName("immediate_uv") GodotMethod!(void, RID, Vector2) immediateUv;
134 		@GodotName("immediate_uv2") GodotMethod!(void, RID, Vector2) immediateUv2;
135 		@GodotName("immediate_end") GodotMethod!(void, RID) immediateEnd;
136 		@GodotName("immediate_clear") GodotMethod!(void, RID) immediateClear;
137 		@GodotName("immediate_set_material") GodotMethod!(void, RID, RID) immediateSetMaterial;
138 		@GodotName("immediate_get_material") GodotMethod!(RID, RID) immediateGetMaterial;
139 		@GodotName("skeleton_create") GodotMethod!(RID) skeletonCreate;
140 		@GodotName("skeleton_allocate") GodotMethod!(void, RID, long, bool) skeletonAllocate;
141 		@GodotName("skeleton_get_bone_count") GodotMethod!(long, RID) skeletonGetBoneCount;
142 		@GodotName("skeleton_bone_set_transform") GodotMethod!(void, RID, long, Transform) skeletonBoneSetTransform;
143 		@GodotName("skeleton_bone_get_transform") GodotMethod!(Transform, RID, long) skeletonBoneGetTransform;
144 		@GodotName("skeleton_bone_set_transform_2d") GodotMethod!(void, RID, long, Transform2D) skeletonBoneSetTransform2d;
145 		@GodotName("skeleton_bone_get_transform_2d") GodotMethod!(Transform2D, RID, long) skeletonBoneGetTransform2d;
146 		@GodotName("directional_light_create") GodotMethod!(RID) directionalLightCreate;
147 		@GodotName("omni_light_create") GodotMethod!(RID) omniLightCreate;
148 		@GodotName("spot_light_create") GodotMethod!(RID) spotLightCreate;
149 		@GodotName("light_set_color") GodotMethod!(void, RID, Color) lightSetColor;
150 		@GodotName("light_set_param") GodotMethod!(void, RID, long, double) lightSetParam;
151 		@GodotName("light_set_shadow") GodotMethod!(void, RID, bool) lightSetShadow;
152 		@GodotName("light_set_shadow_color") GodotMethod!(void, RID, Color) lightSetShadowColor;
153 		@GodotName("light_set_projector") GodotMethod!(void, RID, RID) lightSetProjector;
154 		@GodotName("light_set_negative") GodotMethod!(void, RID, bool) lightSetNegative;
155 		@GodotName("light_set_cull_mask") GodotMethod!(void, RID, long) lightSetCullMask;
156 		@GodotName("light_set_reverse_cull_face_mode") GodotMethod!(void, RID, bool) lightSetReverseCullFaceMode;
157 		@GodotName("light_omni_set_shadow_mode") GodotMethod!(void, RID, long) lightOmniSetShadowMode;
158 		@GodotName("light_omni_set_shadow_detail") GodotMethod!(void, RID, long) lightOmniSetShadowDetail;
159 		@GodotName("light_directional_set_shadow_mode") GodotMethod!(void, RID, long) lightDirectionalSetShadowMode;
160 		@GodotName("light_directional_set_blend_splits") GodotMethod!(void, RID, bool) lightDirectionalSetBlendSplits;
161 		@GodotName("light_directional_set_shadow_depth_range_mode") GodotMethod!(void, RID, long) lightDirectionalSetShadowDepthRangeMode;
162 		@GodotName("reflection_probe_create") GodotMethod!(RID) reflectionProbeCreate;
163 		@GodotName("reflection_probe_set_update_mode") GodotMethod!(void, RID, long) reflectionProbeSetUpdateMode;
164 		@GodotName("reflection_probe_set_intensity") GodotMethod!(void, RID, double) reflectionProbeSetIntensity;
165 		@GodotName("reflection_probe_set_interior_ambient") GodotMethod!(void, RID, Color) reflectionProbeSetInteriorAmbient;
166 		@GodotName("reflection_probe_set_interior_ambient_energy") GodotMethod!(void, RID, double) reflectionProbeSetInteriorAmbientEnergy;
167 		@GodotName("reflection_probe_set_interior_ambient_probe_contribution") GodotMethod!(void, RID, double) reflectionProbeSetInteriorAmbientProbeContribution;
168 		@GodotName("reflection_probe_set_max_distance") GodotMethod!(void, RID, double) reflectionProbeSetMaxDistance;
169 		@GodotName("reflection_probe_set_extents") GodotMethod!(void, RID, Vector3) reflectionProbeSetExtents;
170 		@GodotName("reflection_probe_set_origin_offset") GodotMethod!(void, RID, Vector3) reflectionProbeSetOriginOffset;
171 		@GodotName("reflection_probe_set_as_interior") GodotMethod!(void, RID, bool) reflectionProbeSetAsInterior;
172 		@GodotName("reflection_probe_set_enable_box_projection") GodotMethod!(void, RID, bool) reflectionProbeSetEnableBoxProjection;
173 		@GodotName("reflection_probe_set_enable_shadows") GodotMethod!(void, RID, bool) reflectionProbeSetEnableShadows;
174 		@GodotName("reflection_probe_set_cull_mask") GodotMethod!(void, RID, long) reflectionProbeSetCullMask;
175 		@GodotName("gi_probe_create") GodotMethod!(RID) giProbeCreate;
176 		@GodotName("gi_probe_set_bounds") GodotMethod!(void, RID, AABB) giProbeSetBounds;
177 		@GodotName("gi_probe_get_bounds") GodotMethod!(AABB, RID) giProbeGetBounds;
178 		@GodotName("gi_probe_set_cell_size") GodotMethod!(void, RID, double) giProbeSetCellSize;
179 		@GodotName("gi_probe_get_cell_size") GodotMethod!(double, RID) giProbeGetCellSize;
180 		@GodotName("gi_probe_set_to_cell_xform") GodotMethod!(void, RID, Transform) giProbeSetToCellXform;
181 		@GodotName("gi_probe_get_to_cell_xform") GodotMethod!(Transform, RID) giProbeGetToCellXform;
182 		@GodotName("gi_probe_set_dynamic_data") GodotMethod!(void, RID, PoolIntArray) giProbeSetDynamicData;
183 		@GodotName("gi_probe_get_dynamic_data") GodotMethod!(PoolIntArray, RID) giProbeGetDynamicData;
184 		@GodotName("gi_probe_set_dynamic_range") GodotMethod!(void, RID, long) giProbeSetDynamicRange;
185 		@GodotName("gi_probe_get_dynamic_range") GodotMethod!(long, RID) giProbeGetDynamicRange;
186 		@GodotName("gi_probe_set_energy") GodotMethod!(void, RID, double) giProbeSetEnergy;
187 		@GodotName("gi_probe_get_energy") GodotMethod!(double, RID) giProbeGetEnergy;
188 		@GodotName("gi_probe_set_bias") GodotMethod!(void, RID, double) giProbeSetBias;
189 		@GodotName("gi_probe_get_bias") GodotMethod!(double, RID) giProbeGetBias;
190 		@GodotName("gi_probe_set_normal_bias") GodotMethod!(void, RID, double) giProbeSetNormalBias;
191 		@GodotName("gi_probe_get_normal_bias") GodotMethod!(double, RID) giProbeGetNormalBias;
192 		@GodotName("gi_probe_set_propagation") GodotMethod!(void, RID, double) giProbeSetPropagation;
193 		@GodotName("gi_probe_get_propagation") GodotMethod!(double, RID) giProbeGetPropagation;
194 		@GodotName("gi_probe_set_interior") GodotMethod!(void, RID, bool) giProbeSetInterior;
195 		@GodotName("gi_probe_is_interior") GodotMethod!(bool, RID) giProbeIsInterior;
196 		@GodotName("gi_probe_set_compress") GodotMethod!(void, RID, bool) giProbeSetCompress;
197 		@GodotName("gi_probe_is_compressed") GodotMethod!(bool, RID) giProbeIsCompressed;
198 		@GodotName("lightmap_capture_create") GodotMethod!(RID) lightmapCaptureCreate;
199 		@GodotName("lightmap_capture_set_bounds") GodotMethod!(void, RID, AABB) lightmapCaptureSetBounds;
200 		@GodotName("lightmap_capture_get_bounds") GodotMethod!(AABB, RID) lightmapCaptureGetBounds;
201 		@GodotName("lightmap_capture_set_octree") GodotMethod!(void, RID, PoolByteArray) lightmapCaptureSetOctree;
202 		@GodotName("lightmap_capture_set_octree_cell_transform") GodotMethod!(void, RID, Transform) lightmapCaptureSetOctreeCellTransform;
203 		@GodotName("lightmap_capture_get_octree_cell_transform") GodotMethod!(Transform, RID) lightmapCaptureGetOctreeCellTransform;
204 		@GodotName("lightmap_capture_set_octree_cell_subdiv") GodotMethod!(void, RID, long) lightmapCaptureSetOctreeCellSubdiv;
205 		@GodotName("lightmap_capture_get_octree_cell_subdiv") GodotMethod!(long, RID) lightmapCaptureGetOctreeCellSubdiv;
206 		@GodotName("lightmap_capture_get_octree") GodotMethod!(PoolByteArray, RID) lightmapCaptureGetOctree;
207 		@GodotName("lightmap_capture_set_energy") GodotMethod!(void, RID, double) lightmapCaptureSetEnergy;
208 		@GodotName("lightmap_capture_get_energy") GodotMethod!(double, RID) lightmapCaptureGetEnergy;
209 		@GodotName("particles_create") GodotMethod!(RID) particlesCreate;
210 		@GodotName("particles_set_emitting") GodotMethod!(void, RID, bool) particlesSetEmitting;
211 		@GodotName("particles_get_emitting") GodotMethod!(bool, RID) particlesGetEmitting;
212 		@GodotName("particles_set_amount") GodotMethod!(void, RID, long) particlesSetAmount;
213 		@GodotName("particles_set_lifetime") GodotMethod!(void, RID, double) particlesSetLifetime;
214 		@GodotName("particles_set_one_shot") GodotMethod!(void, RID, bool) particlesSetOneShot;
215 		@GodotName("particles_set_pre_process_time") GodotMethod!(void, RID, double) particlesSetPreProcessTime;
216 		@GodotName("particles_set_explosiveness_ratio") GodotMethod!(void, RID, double) particlesSetExplosivenessRatio;
217 		@GodotName("particles_set_randomness_ratio") GodotMethod!(void, RID, double) particlesSetRandomnessRatio;
218 		@GodotName("particles_set_custom_aabb") GodotMethod!(void, RID, AABB) particlesSetCustomAabb;
219 		@GodotName("particles_set_speed_scale") GodotMethod!(void, RID, double) particlesSetSpeedScale;
220 		@GodotName("particles_set_use_local_coordinates") GodotMethod!(void, RID, bool) particlesSetUseLocalCoordinates;
221 		@GodotName("particles_set_process_material") GodotMethod!(void, RID, RID) particlesSetProcessMaterial;
222 		@GodotName("particles_set_fixed_fps") GodotMethod!(void, RID, long) particlesSetFixedFps;
223 		@GodotName("particles_set_fractional_delta") GodotMethod!(void, RID, bool) particlesSetFractionalDelta;
224 		@GodotName("particles_restart") GodotMethod!(void, RID) particlesRestart;
225 		@GodotName("particles_set_draw_order") GodotMethod!(void, RID, long) particlesSetDrawOrder;
226 		@GodotName("particles_set_draw_passes") GodotMethod!(void, RID, long) particlesSetDrawPasses;
227 		@GodotName("particles_set_draw_pass_mesh") GodotMethod!(void, RID, long, RID) particlesSetDrawPassMesh;
228 		@GodotName("particles_get_current_aabb") GodotMethod!(AABB, RID) particlesGetCurrentAabb;
229 		@GodotName("particles_set_emission_transform") GodotMethod!(void, RID, Transform) particlesSetEmissionTransform;
230 		@GodotName("camera_create") GodotMethod!(RID) cameraCreate;
231 		@GodotName("camera_set_perspective") GodotMethod!(void, RID, double, double, double) cameraSetPerspective;
232 		@GodotName("camera_set_orthogonal") GodotMethod!(void, RID, double, double, double) cameraSetOrthogonal;
233 		@GodotName("camera_set_transform") GodotMethod!(void, RID, Transform) cameraSetTransform;
234 		@GodotName("camera_set_cull_mask") GodotMethod!(void, RID, long) cameraSetCullMask;
235 		@GodotName("camera_set_environment") GodotMethod!(void, RID, RID) cameraSetEnvironment;
236 		@GodotName("camera_set_use_vertical_aspect") GodotMethod!(void, RID, bool) cameraSetUseVerticalAspect;
237 		@GodotName("viewport_create") GodotMethod!(RID) viewportCreate;
238 		@GodotName("viewport_set_use_arvr") GodotMethod!(void, RID, bool) viewportSetUseArvr;
239 		@GodotName("viewport_set_size") GodotMethod!(void, RID, long, long) viewportSetSize;
240 		@GodotName("viewport_set_active") GodotMethod!(void, RID, bool) viewportSetActive;
241 		@GodotName("viewport_set_parent_viewport") GodotMethod!(void, RID, RID) viewportSetParentViewport;
242 		@GodotName("viewport_attach_to_screen") GodotMethod!(void, RID, Rect2, long) viewportAttachToScreen;
243 		@GodotName("viewport_detach") GodotMethod!(void, RID) viewportDetach;
244 		@GodotName("viewport_set_update_mode") GodotMethod!(void, RID, long) viewportSetUpdateMode;
245 		@GodotName("viewport_set_vflip") GodotMethod!(void, RID, bool) viewportSetVflip;
246 		@GodotName("viewport_set_clear_mode") GodotMethod!(void, RID, long) viewportSetClearMode;
247 		@GodotName("viewport_get_texture") GodotMethod!(RID, RID) viewportGetTexture;
248 		@GodotName("viewport_set_hide_scenario") GodotMethod!(void, RID, bool) viewportSetHideScenario;
249 		@GodotName("viewport_set_hide_canvas") GodotMethod!(void, RID, bool) viewportSetHideCanvas;
250 		@GodotName("viewport_set_disable_environment") GodotMethod!(void, RID, bool) viewportSetDisableEnvironment;
251 		@GodotName("viewport_set_disable_3d") GodotMethod!(void, RID, bool) viewportSetDisable3d;
252 		@GodotName("viewport_attach_camera") GodotMethod!(void, RID, RID) viewportAttachCamera;
253 		@GodotName("viewport_set_scenario") GodotMethod!(void, RID, RID) viewportSetScenario;
254 		@GodotName("viewport_attach_canvas") GodotMethod!(void, RID, RID) viewportAttachCanvas;
255 		@GodotName("viewport_remove_canvas") GodotMethod!(void, RID, RID) viewportRemoveCanvas;
256 		@GodotName("viewport_set_canvas_transform") GodotMethod!(void, RID, RID, Transform2D) viewportSetCanvasTransform;
257 		@GodotName("viewport_set_transparent_background") GodotMethod!(void, RID, bool) viewportSetTransparentBackground;
258 		@GodotName("viewport_set_global_canvas_transform") GodotMethod!(void, RID, Transform2D) viewportSetGlobalCanvasTransform;
259 		@GodotName("viewport_set_canvas_layer") GodotMethod!(void, RID, RID, long) viewportSetCanvasLayer;
260 		@GodotName("viewport_set_shadow_atlas_size") GodotMethod!(void, RID, long) viewportSetShadowAtlasSize;
261 		@GodotName("viewport_set_shadow_atlas_quadrant_subdivision") GodotMethod!(void, RID, long, long) viewportSetShadowAtlasQuadrantSubdivision;
262 		@GodotName("viewport_set_msaa") GodotMethod!(void, RID, long) viewportSetMsaa;
263 		@GodotName("viewport_set_hdr") GodotMethod!(void, RID, bool) viewportSetHdr;
264 		@GodotName("viewport_set_usage") GodotMethod!(void, RID, long) viewportSetUsage;
265 		@GodotName("viewport_get_render_info") GodotMethod!(long, RID, long) viewportGetRenderInfo;
266 		@GodotName("viewport_set_debug_draw") GodotMethod!(void, RID, long) viewportSetDebugDraw;
267 		@GodotName("environment_create") GodotMethod!(RID) environmentCreate;
268 		@GodotName("environment_set_background") GodotMethod!(void, RID, long) environmentSetBackground;
269 		@GodotName("environment_set_sky") GodotMethod!(void, RID, RID) environmentSetSky;
270 		@GodotName("environment_set_sky_custom_fov") GodotMethod!(void, RID, double) environmentSetSkyCustomFov;
271 		@GodotName("environment_set_bg_color") GodotMethod!(void, RID, Color) environmentSetBgColor;
272 		@GodotName("environment_set_bg_energy") GodotMethod!(void, RID, double) environmentSetBgEnergy;
273 		@GodotName("environment_set_canvas_max_layer") GodotMethod!(void, RID, long) environmentSetCanvasMaxLayer;
274 		@GodotName("environment_set_ambient_light") GodotMethod!(void, RID, Color, double, double) environmentSetAmbientLight;
275 		@GodotName("environment_set_dof_blur_near") GodotMethod!(void, RID, bool, double, double, double, long) environmentSetDofBlurNear;
276 		@GodotName("environment_set_dof_blur_far") GodotMethod!(void, RID, bool, double, double, double, long) environmentSetDofBlurFar;
277 		@GodotName("environment_set_glow") GodotMethod!(void, RID, bool, long, double, double, double, long, double, double, bool) environmentSetGlow;
278 		@GodotName("environment_set_tonemap") GodotMethod!(void, RID, long, double, double, bool, double, double, double, double) environmentSetTonemap;
279 		@GodotName("environment_set_adjustment") GodotMethod!(void, RID, bool, double, double, double, RID) environmentSetAdjustment;
280 		@GodotName("environment_set_ssr") GodotMethod!(void, RID, bool, long, double, double, double, bool) environmentSetSsr;
281 		@GodotName("environment_set_ssao") GodotMethod!(void, RID, bool, double, double, double, double, double, double, double, Color, long, long, double) environmentSetSsao;
282 		@GodotName("environment_set_fog") GodotMethod!(void, RID, bool, Color, Color, double) environmentSetFog;
283 		@GodotName("environment_set_fog_depth") GodotMethod!(void, RID, bool, double, double, bool, double) environmentSetFogDepth;
284 		@GodotName("environment_set_fog_height") GodotMethod!(void, RID, bool, double, double, double) environmentSetFogHeight;
285 		@GodotName("scenario_create") GodotMethod!(RID) scenarioCreate;
286 		@GodotName("scenario_set_debug") GodotMethod!(void, RID, long) scenarioSetDebug;
287 		@GodotName("scenario_set_environment") GodotMethod!(void, RID, RID) scenarioSetEnvironment;
288 		@GodotName("scenario_set_reflection_atlas_size") GodotMethod!(void, RID, long, long) scenarioSetReflectionAtlasSize;
289 		@GodotName("scenario_set_fallback_environment") GodotMethod!(void, RID, RID) scenarioSetFallbackEnvironment;
290 		@GodotName("instance_create2") GodotMethod!(RID, RID, RID) instanceCreate2;
291 		@GodotName("instance_create") GodotMethod!(RID) instanceCreate;
292 		@GodotName("instance_set_base") GodotMethod!(void, RID, RID) instanceSetBase;
293 		@GodotName("instance_set_scenario") GodotMethod!(void, RID, RID) instanceSetScenario;
294 		@GodotName("instance_set_layer_mask") GodotMethod!(void, RID, long) instanceSetLayerMask;
295 		@GodotName("instance_set_transform") GodotMethod!(void, RID, Transform) instanceSetTransform;
296 		@GodotName("instance_attach_object_instance_id") GodotMethod!(void, RID, long) instanceAttachObjectInstanceId;
297 		@GodotName("instance_set_blend_shape_weight") GodotMethod!(void, RID, long, double) instanceSetBlendShapeWeight;
298 		@GodotName("instance_set_surface_material") GodotMethod!(void, RID, long, RID) instanceSetSurfaceMaterial;
299 		@GodotName("instance_set_visible") GodotMethod!(void, RID, bool) instanceSetVisible;
300 		@GodotName("instance_set_use_lightmap") GodotMethod!(void, RID, RID, RID) instanceSetUseLightmap;
301 		@GodotName("instance_set_custom_aabb") GodotMethod!(void, RID, AABB) instanceSetCustomAabb;
302 		@GodotName("instance_attach_skeleton") GodotMethod!(void, RID, RID) instanceAttachSkeleton;
303 		@GodotName("instance_set_exterior") GodotMethod!(void, RID, bool) instanceSetExterior;
304 		@GodotName("instance_set_extra_visibility_margin") GodotMethod!(void, RID, double) instanceSetExtraVisibilityMargin;
305 		@GodotName("instance_geometry_set_flag") GodotMethod!(void, RID, long, bool) instanceGeometrySetFlag;
306 		@GodotName("instance_geometry_set_cast_shadows_setting") GodotMethod!(void, RID, long) instanceGeometrySetCastShadowsSetting;
307 		@GodotName("instance_geometry_set_material_override") GodotMethod!(void, RID, RID) instanceGeometrySetMaterialOverride;
308 		@GodotName("instance_geometry_set_draw_range") GodotMethod!(void, RID, double, double, double, double) instanceGeometrySetDrawRange;
309 		@GodotName("instance_geometry_set_as_instance_lod") GodotMethod!(void, RID, RID) instanceGeometrySetAsInstanceLod;
310 		@GodotName("instances_cull_aabb") GodotMethod!(Array, AABB, RID) instancesCullAabb;
311 		@GodotName("instances_cull_ray") GodotMethod!(Array, Vector3, Vector3, RID) instancesCullRay;
312 		@GodotName("instances_cull_convex") GodotMethod!(Array, Array, RID) instancesCullConvex;
313 		@GodotName("canvas_create") GodotMethod!(RID) canvasCreate;
314 		@GodotName("canvas_set_item_mirroring") GodotMethod!(void, RID, RID, Vector2) canvasSetItemMirroring;
315 		@GodotName("canvas_set_modulate") GodotMethod!(void, RID, Color) canvasSetModulate;
316 		@GodotName("canvas_item_create") GodotMethod!(RID) canvasItemCreate;
317 		@GodotName("canvas_item_set_parent") GodotMethod!(void, RID, RID) canvasItemSetParent;
318 		@GodotName("canvas_item_set_visible") GodotMethod!(void, RID, bool) canvasItemSetVisible;
319 		@GodotName("canvas_item_set_light_mask") GodotMethod!(void, RID, long) canvasItemSetLightMask;
320 		@GodotName("canvas_item_set_transform") GodotMethod!(void, RID, Transform2D) canvasItemSetTransform;
321 		@GodotName("canvas_item_set_clip") GodotMethod!(void, RID, bool) canvasItemSetClip;
322 		@GodotName("canvas_item_set_distance_field_mode") GodotMethod!(void, RID, bool) canvasItemSetDistanceFieldMode;
323 		@GodotName("canvas_item_set_custom_rect") GodotMethod!(void, RID, bool, Rect2) canvasItemSetCustomRect;
324 		@GodotName("canvas_item_set_modulate") GodotMethod!(void, RID, Color) canvasItemSetModulate;
325 		@GodotName("canvas_item_set_self_modulate") GodotMethod!(void, RID, Color) canvasItemSetSelfModulate;
326 		@GodotName("canvas_item_set_draw_behind_parent") GodotMethod!(void, RID, bool) canvasItemSetDrawBehindParent;
327 		@GodotName("canvas_item_add_line") GodotMethod!(void, RID, Vector2, Vector2, Color, double, bool) canvasItemAddLine;
328 		@GodotName("canvas_item_add_polyline") GodotMethod!(void, RID, PoolVector2Array, PoolColorArray, double, bool) canvasItemAddPolyline;
329 		@GodotName("canvas_item_add_rect") GodotMethod!(void, RID, Rect2, Color) canvasItemAddRect;
330 		@GodotName("canvas_item_add_circle") GodotMethod!(void, RID, Vector2, double, Color) canvasItemAddCircle;
331 		@GodotName("canvas_item_add_texture_rect") GodotMethod!(void, RID, Rect2, RID, bool, Color, bool, RID) canvasItemAddTextureRect;
332 		@GodotName("canvas_item_add_texture_rect_region") GodotMethod!(void, RID, Rect2, RID, Rect2, Color, bool, RID, bool) canvasItemAddTextureRectRegion;
333 		@GodotName("canvas_item_add_nine_patch") GodotMethod!(void, RID, Rect2, Rect2, RID, Vector2, Vector2, long, long, bool, Color, RID) canvasItemAddNinePatch;
334 		@GodotName("canvas_item_add_primitive") GodotMethod!(void, RID, PoolVector2Array, PoolColorArray, PoolVector2Array, RID, double, RID) canvasItemAddPrimitive;
335 		@GodotName("canvas_item_add_polygon") GodotMethod!(void, RID, PoolVector2Array, PoolColorArray, PoolVector2Array, RID, RID, bool) canvasItemAddPolygon;
336 		@GodotName("canvas_item_add_triangle_array") GodotMethod!(void, RID, PoolIntArray, PoolVector2Array, PoolColorArray, PoolVector2Array, PoolIntArray, PoolRealArray, RID, long, RID) canvasItemAddTriangleArray;
337 		@GodotName("canvas_item_add_mesh") GodotMethod!(void, RID, RID, RID, RID) canvasItemAddMesh;
338 		@GodotName("canvas_item_add_multimesh") GodotMethod!(void, RID, RID, RID, RID) canvasItemAddMultimesh;
339 		@GodotName("canvas_item_add_particles") GodotMethod!(void, RID, RID, RID, RID, long, long) canvasItemAddParticles;
340 		@GodotName("canvas_item_add_set_transform") GodotMethod!(void, RID, Transform2D) canvasItemAddSetTransform;
341 		@GodotName("canvas_item_add_clip_ignore") GodotMethod!(void, RID, bool) canvasItemAddClipIgnore;
342 		@GodotName("canvas_item_set_sort_children_by_y") GodotMethod!(void, RID, bool) canvasItemSetSortChildrenByY;
343 		@GodotName("canvas_item_set_z_index") GodotMethod!(void, RID, long) canvasItemSetZIndex;
344 		@GodotName("canvas_item_set_z_as_relative_to_parent") GodotMethod!(void, RID, bool) canvasItemSetZAsRelativeToParent;
345 		@GodotName("canvas_item_set_copy_to_backbuffer") GodotMethod!(void, RID, bool, Rect2) canvasItemSetCopyToBackbuffer;
346 		@GodotName("canvas_item_clear") GodotMethod!(void, RID) canvasItemClear;
347 		@GodotName("canvas_item_set_draw_index") GodotMethod!(void, RID, long) canvasItemSetDrawIndex;
348 		@GodotName("canvas_item_set_material") GodotMethod!(void, RID, RID) canvasItemSetMaterial;
349 		@GodotName("canvas_item_set_use_parent_material") GodotMethod!(void, RID, bool) canvasItemSetUseParentMaterial;
350 		@GodotName("canvas_light_create") GodotMethod!(RID) canvasLightCreate;
351 		@GodotName("canvas_light_attach_to_canvas") GodotMethod!(void, RID, RID) canvasLightAttachToCanvas;
352 		@GodotName("canvas_light_set_enabled") GodotMethod!(void, RID, bool) canvasLightSetEnabled;
353 		@GodotName("canvas_light_set_scale") GodotMethod!(void, RID, double) canvasLightSetScale;
354 		@GodotName("canvas_light_set_transform") GodotMethod!(void, RID, Transform2D) canvasLightSetTransform;
355 		@GodotName("canvas_light_set_texture") GodotMethod!(void, RID, RID) canvasLightSetTexture;
356 		@GodotName("canvas_light_set_texture_offset") GodotMethod!(void, RID, Vector2) canvasLightSetTextureOffset;
357 		@GodotName("canvas_light_set_color") GodotMethod!(void, RID, Color) canvasLightSetColor;
358 		@GodotName("canvas_light_set_height") GodotMethod!(void, RID, double) canvasLightSetHeight;
359 		@GodotName("canvas_light_set_energy") GodotMethod!(void, RID, double) canvasLightSetEnergy;
360 		@GodotName("canvas_light_set_z_range") GodotMethod!(void, RID, long, long) canvasLightSetZRange;
361 		@GodotName("canvas_light_set_layer_range") GodotMethod!(void, RID, long, long) canvasLightSetLayerRange;
362 		@GodotName("canvas_light_set_item_cull_mask") GodotMethod!(void, RID, long) canvasLightSetItemCullMask;
363 		@GodotName("canvas_light_set_item_shadow_cull_mask") GodotMethod!(void, RID, long) canvasLightSetItemShadowCullMask;
364 		@GodotName("canvas_light_set_mode") GodotMethod!(void, RID, long) canvasLightSetMode;
365 		@GodotName("canvas_light_set_shadow_enabled") GodotMethod!(void, RID, bool) canvasLightSetShadowEnabled;
366 		@GodotName("canvas_light_set_shadow_buffer_size") GodotMethod!(void, RID, long) canvasLightSetShadowBufferSize;
367 		@GodotName("canvas_light_set_shadow_gradient_length") GodotMethod!(void, RID, double) canvasLightSetShadowGradientLength;
368 		@GodotName("canvas_light_set_shadow_filter") GodotMethod!(void, RID, long) canvasLightSetShadowFilter;
369 		@GodotName("canvas_light_set_shadow_color") GodotMethod!(void, RID, Color) canvasLightSetShadowColor;
370 		@GodotName("canvas_light_set_shadow_smooth") GodotMethod!(void, RID, double) canvasLightSetShadowSmooth;
371 		@GodotName("canvas_light_occluder_create") GodotMethod!(RID) canvasLightOccluderCreate;
372 		@GodotName("canvas_light_occluder_attach_to_canvas") GodotMethod!(void, RID, RID) canvasLightOccluderAttachToCanvas;
373 		@GodotName("canvas_light_occluder_set_enabled") GodotMethod!(void, RID, bool) canvasLightOccluderSetEnabled;
374 		@GodotName("canvas_light_occluder_set_polygon") GodotMethod!(void, RID, RID) canvasLightOccluderSetPolygon;
375 		@GodotName("canvas_light_occluder_set_transform") GodotMethod!(void, RID, Transform2D) canvasLightOccluderSetTransform;
376 		@GodotName("canvas_light_occluder_set_light_mask") GodotMethod!(void, RID, long) canvasLightOccluderSetLightMask;
377 		@GodotName("canvas_occluder_polygon_create") GodotMethod!(RID) canvasOccluderPolygonCreate;
378 		@GodotName("canvas_occluder_polygon_set_shape") GodotMethod!(void, RID, PoolVector2Array, bool) canvasOccluderPolygonSetShape;
379 		@GodotName("canvas_occluder_polygon_set_shape_as_lines") GodotMethod!(void, RID, PoolVector2Array) canvasOccluderPolygonSetShapeAsLines;
380 		@GodotName("canvas_occluder_polygon_set_cull_mode") GodotMethod!(void, RID, long) canvasOccluderPolygonSetCullMode;
381 		@GodotName("black_bars_set_margins") GodotMethod!(void, long, long, long, long) blackBarsSetMargins;
382 		@GodotName("black_bars_set_images") GodotMethod!(void, RID, RID, RID, RID) blackBarsSetImages;
383 		@GodotName("free_rid") GodotMethod!(void, RID) freeRid;
384 		@GodotName("request_frame_drawn_callback") GodotMethod!(void, GodotObject, String, Variant) requestFrameDrawnCallback;
385 		@GodotName("has_changed") GodotMethod!(bool) hasChanged;
386 		@GodotName("init") GodotMethod!(void) _init;
387 		@GodotName("finish") GodotMethod!(void) finish;
388 		@GodotName("get_render_info") GodotMethod!(long, long) getRenderInfo;
389 		@GodotName("make_sphere_mesh") GodotMethod!(RID, long, long, double) makeSphereMesh;
390 		@GodotName("get_test_cube") GodotMethod!(RID) getTestCube;
391 		@GodotName("get_test_texture") GodotMethod!(RID) getTestTexture;
392 		@GodotName("get_white_texture") GodotMethod!(RID) getWhiteTexture;
393 		@GodotName("set_boot_image") GodotMethod!(void, Image, Color, bool) setBootImage;
394 		@GodotName("set_default_clear_color") GodotMethod!(void, Color) setDefaultClearColor;
395 		@GodotName("has_feature") GodotMethod!(bool, long) hasFeature;
396 		@GodotName("has_os_feature") GodotMethod!(bool, String) hasOsFeature;
397 		@GodotName("set_debug_generate_wireframes") GodotMethod!(void, bool) setDebugGenerateWireframes;
398 	}
399 	bool opEquals(in VisualServerSingleton other) const { return _godot_object.ptr is other._godot_object.ptr; }
400 	VisualServerSingleton opAssign(T : typeof(null))(T n) { _godot_object.ptr = null; }
401 	bool opEquals(typeof(null) n) const { return _godot_object.ptr is null; }
402 	mixin baseCasts;
403 	static VisualServerSingleton _new()
404 	{
405 		static godot_class_constructor constructor;
406 		if(constructor is null) constructor = _godot_api.godot_get_class_constructor("VisualServer");
407 		if(constructor is null) return typeof(this).init;
408 		return cast(VisualServerSingleton)(constructor());
409 	}
410 	@disable new(size_t s);
411 	/// 
412 	enum ReflectionProbeUpdateMode : int
413 	{
414 		/**
415 		
416 		*/
417 		reflectionProbeUpdateOnce = 0,
418 		/**
419 		
420 		*/
421 		reflectionProbeUpdateAlways = 1,
422 	}
423 	/// 
424 	enum LightDirectionalShadowDepthRangeMode : int
425 	{
426 		/**
427 		
428 		*/
429 		lightDirectionalShadowDepthRangeStable = 0,
430 		/**
431 		
432 		*/
433 		lightDirectionalShadowDepthRangeOptimized = 1,
434 	}
435 	/// 
436 	enum BlendShapeMode : int
437 	{
438 		/**
439 		
440 		*/
441 		blendShapeModeNormalized = 0,
442 		/**
443 		
444 		*/
445 		blendShapeModeRelative = 1,
446 	}
447 	/// 
448 	enum PrimitiveType : int
449 	{
450 		/**
451 		Primitive to draw consists of points.
452 		*/
453 		primitivePoints = 0,
454 		/**
455 		Primitive to draw consists of lines.
456 		*/
457 		primitiveLines = 1,
458 		/**
459 		Primitive to draw consists of a line strip from start to end.
460 		*/
461 		primitiveLineStrip = 2,
462 		/**
463 		Primitive to draw consists of a line loop (a line strip with a line between the last and the first vertex).
464 		*/
465 		primitiveLineLoop = 3,
466 		/**
467 		Primitive to draw consists of triangles.
468 		*/
469 		primitiveTriangles = 4,
470 		/**
471 		Primitive to draw consists of a triangle strip (the last 3 vertices are always combined to make a triangle).
472 		*/
473 		primitiveTriangleStrip = 5,
474 		/**
475 		Primitive to draw consists of a triangle strip (the last 2 vertices are always combined with the first to make a triangle).
476 		*/
477 		primitiveTriangleFan = 6,
478 		/**
479 		Marks the primitive types endpoint. used internally.
480 		*/
481 		primitiveMax = 7,
482 	}
483 	/// 
484 	enum TextureType : int
485 	{
486 		/**
487 		
488 		*/
489 		textureType2d = 0,
490 		/**
491 		
492 		*/
493 		textureTypeCubemap = 1,
494 		/**
495 		
496 		*/
497 		textureType2dArray = 2,
498 		/**
499 		
500 		*/
501 		textureType3d = 3,
502 	}
503 	/// 
504 	enum EnvironmentSSAOQuality : int
505 	{
506 		/**
507 		
508 		*/
509 		envSsaoQualityLow = 0,
510 		/**
511 		
512 		*/
513 		envSsaoQualityMedium = 1,
514 		/**
515 		
516 		*/
517 		envSsaoQualityHigh = 2,
518 	}
519 	/// 
520 	enum EnvironmentDOFBlurQuality : int
521 	{
522 		/**
523 		
524 		*/
525 		envDofBlurQualityLow = 0,
526 		/**
527 		
528 		*/
529 		envDofBlurQualityMedium = 1,
530 		/**
531 		
532 		*/
533 		envDofBlurQualityHigh = 2,
534 	}
535 	/// 
536 	enum RenderInfo : int
537 	{
538 		/**
539 		The amount of objects in the frame.
540 		*/
541 		infoObjectsInFrame = 0,
542 		/**
543 		The amount of vertices in the frame.
544 		*/
545 		infoVerticesInFrame = 1,
546 		/**
547 		The amount of modified materials in the frame.
548 		*/
549 		infoMaterialChangesInFrame = 2,
550 		/**
551 		The amount of shader rebinds in the frame.
552 		*/
553 		infoShaderChangesInFrame = 3,
554 		/**
555 		The amount of surface changes in the frame.
556 		*/
557 		infoSurfaceChangesInFrame = 4,
558 		/**
559 		The amount of draw calls in frame.
560 		*/
561 		infoDrawCallsInFrame = 5,
562 		/**
563 		
564 		*/
565 		infoUsageVideoMemTotal = 6,
566 		/**
567 		The amount of vertex memory and texture memory used.
568 		*/
569 		infoVideoMemUsed = 7,
570 		/**
571 		The amount of texture memory used.
572 		*/
573 		infoTextureMemUsed = 8,
574 		/**
575 		The amount of vertex memory used.
576 		*/
577 		infoVertexMemUsed = 9,
578 	}
579 	/// 
580 	enum NinePatchAxisMode : int
581 	{
582 		/**
583 		The nine patch gets stretched where needed.
584 		*/
585 		ninePatchStretch = 0,
586 		/**
587 		The nine patch gets filled with tiles where needed.
588 		*/
589 		ninePatchTile = 1,
590 		/**
591 		The nine patch gets filled with tiles where needed and stretches them a bit if needed.
592 		*/
593 		ninePatchTileFit = 2,
594 	}
595 	/// 
596 	enum ViewportRenderInfo : int
597 	{
598 		/**
599 		
600 		*/
601 		viewportRenderInfoObjectsInFrame = 0,
602 		/**
603 		
604 		*/
605 		viewportRenderInfoVerticesInFrame = 1,
606 		/**
607 		
608 		*/
609 		viewportRenderInfoMaterialChangesInFrame = 2,
610 		/**
611 		
612 		*/
613 		viewportRenderInfoShaderChangesInFrame = 3,
614 		/**
615 		
616 		*/
617 		viewportRenderInfoSurfaceChangesInFrame = 4,
618 		/**
619 		
620 		*/
621 		viewportRenderInfoDrawCallsInFrame = 5,
622 		/**
623 		Marks end of VIEWPORT_RENDER_INFO* constants. Used internally.
624 		*/
625 		viewportRenderInfoMax = 6,
626 	}
627 	/// 
628 	enum ViewportClearMode : int
629 	{
630 		/**
631 		The viewport is always cleared before drawing.
632 		*/
633 		viewportClearAlways = 0,
634 		/**
635 		The viewport is never cleared before drawing.
636 		*/
637 		viewportClearNever = 1,
638 		/**
639 		The viewport is cleared once, then the clear mode is set to $(D VIEWPORT_CLEAR_NEVER).
640 		*/
641 		viewportClearOnlyNextFrame = 2,
642 	}
643 	/// 
644 	enum LightOmniShadowDetail : int
645 	{
646 		/**
647 		
648 		*/
649 		lightOmniShadowDetailVertical = 0,
650 		/**
651 		
652 		*/
653 		lightOmniShadowDetailHorizontal = 1,
654 	}
655 	/// 
656 	enum ShaderMode : int
657 	{
658 		/**
659 		Shader is a 3D shader.
660 		*/
661 		shaderSpatial = 0,
662 		/**
663 		Shader is a 2D shader.
664 		*/
665 		shaderCanvasItem = 1,
666 		/**
667 		Shader is a particle shader.
668 		*/
669 		shaderParticles = 2,
670 		/**
671 		Marks maximum of the shader types array. used internally.
672 		*/
673 		shaderMax = 3,
674 	}
675 	/// 
676 	enum MultimeshTransformFormat : int
677 	{
678 		/**
679 		
680 		*/
681 		multimeshTransform2d = 0,
682 		/**
683 		
684 		*/
685 		multimeshTransform3d = 1,
686 	}
687 	/// 
688 	enum ShadowCastingSetting : int
689 	{
690 		/**
691 		
692 		*/
693 		shadowCastingSettingOff = 0,
694 		/**
695 		
696 		*/
697 		shadowCastingSettingOn = 1,
698 		/**
699 		
700 		*/
701 		shadowCastingSettingDoubleSided = 2,
702 		/**
703 		
704 		*/
705 		shadowCastingSettingShadowsOnly = 3,
706 	}
707 	/// 
708 	enum ViewportDebugDraw : int
709 	{
710 		/**
711 		Debug draw is disabled. Default setting.
712 		*/
713 		viewportDebugDrawDisabled = 0,
714 		/**
715 		Debug draw sets objects to unshaded.
716 		*/
717 		viewportDebugDrawUnshaded = 1,
718 		/**
719 		Overwrites clear color to `(0,0,0,0)`.
720 		*/
721 		viewportDebugDrawOverdraw = 2,
722 		/**
723 		Debug draw draws objects in wireframe.
724 		*/
725 		viewportDebugDrawWireframe = 3,
726 	}
727 	/// 
728 	enum ViewportUsage : int
729 	{
730 		/**
731 		The Viewport does not render 3D but samples.
732 		*/
733 		viewportUsage2d = 0,
734 		/**
735 		The Viewport does not render 3D and does not sample.
736 		*/
737 		viewportUsage2dNoSampling = 1,
738 		/**
739 		The Viewport renders 3D with effects.
740 		*/
741 		viewportUsage3d = 2,
742 		/**
743 		The Viewport renders 3D but without effects.
744 		*/
745 		viewportUsage3dNoEffects = 3,
746 	}
747 	/// 
748 	enum EnvironmentBG : int
749 	{
750 		/**
751 		
752 		*/
753 		envBgClearColor = 0,
754 		/**
755 		
756 		*/
757 		envBgColor = 1,
758 		/**
759 		
760 		*/
761 		envBgSky = 2,
762 		/**
763 		
764 		*/
765 		envBgColorSky = 3,
766 		/**
767 		
768 		*/
769 		envBgCanvas = 4,
770 		/**
771 		
772 		*/
773 		envBgKeep = 5,
774 		/**
775 		
776 		*/
777 		envBgMax = 6,
778 	}
779 	/// 
780 	enum LightOmniShadowMode : int
781 	{
782 		/**
783 		
784 		*/
785 		lightOmniShadowDualParaboloid = 0,
786 		/**
787 		
788 		*/
789 		lightOmniShadowCube = 1,
790 	}
791 	/// 
792 	enum TextureFlags : int
793 	{
794 		/**
795 		Generate mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
796 		*/
797 		textureFlagMipmaps = 1,
798 		/**
799 		Repeat (instead of clamp to edge).
800 		*/
801 		textureFlagRepeat = 2,
802 		/**
803 		Turn on magnifying filter, to enable smooth zooming in of the texture.
804 		*/
805 		textureFlagFilter = 4,
806 		/**
807 		Default flags. Generate mipmaps, repeat, and filter are enabled.
808 		*/
809 		textureFlagsDefault = 7,
810 		/**
811 		Anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
812 		More effective on planes often shown going to the horrizon as those textures (Walls or Ground for example) get squashed in the viewport to different aspect ratios and regular mipmaps keep the aspect ratio so they don't optimize storage that well in those cases.
813 		*/
814 		textureFlagAnisotropicFilter = 8,
815 		/**
816 		Converts texture to SRGB color space.
817 		*/
818 		textureFlagConvertToLinear = 16,
819 		/**
820 		Repeat texture with alternate sections mirrored.
821 		*/
822 		textureFlagMirroredRepeat = 32,
823 		/**
824 		Texture is a video surface.
825 		*/
826 		textureFlagUsedForStreaming = 2048,
827 	}
828 	/// 
829 	enum Features : int
830 	{
831 		/**
832 		
833 		*/
834 		featureShaders = 0,
835 		/**
836 		
837 		*/
838 		featureMultithreaded = 1,
839 	}
840 	/// 
841 	enum InstanceType : int
842 	{
843 		/**
844 		The instance does not have a type.
845 		*/
846 		instanceNone = 0,
847 		/**
848 		The instance is a mesh.
849 		*/
850 		instanceMesh = 1,
851 		/**
852 		The instance is a multimesh.
853 		*/
854 		instanceMultimesh = 2,
855 		/**
856 		The instance is an immediate geometry.
857 		*/
858 		instanceImmediate = 3,
859 		/**
860 		The instance is a particle emitter.
861 		*/
862 		instanceParticles = 4,
863 		/**
864 		The instance is a light.
865 		*/
866 		instanceLight = 5,
867 		/**
868 		
869 		*/
870 		instanceReflectionProbe = 6,
871 		/**
872 		
873 		*/
874 		instanceGiProbe = 7,
875 		/**
876 		
877 		*/
878 		instanceLightmapCapture = 8,
879 		/**
880 		The max value for INSTANCE_* constants, used internally.
881 		*/
882 		instanceMax = 9,
883 		/**
884 		A combination of the flags of geometry instances (mesh, multimesh, immediate and particles).
885 		*/
886 		instanceGeometryMask = 30,
887 	}
888 	/// 
889 	enum EnvironmentSSAOBlur : int
890 	{
891 		/**
892 		
893 		*/
894 		envSsaoBlurDisabled = 0,
895 		/**
896 		
897 		*/
898 		envSsaoBlur1x1 = 1,
899 		/**
900 		
901 		*/
902 		envSsaoBlur2x2 = 2,
903 		/**
904 		
905 		*/
906 		envSsaoBlur3x3 = 3,
907 	}
908 	/// 
909 	enum EnvironmentToneMapper : int
910 	{
911 		/**
912 		
913 		*/
914 		envToneMapperLinear = 0,
915 		/**
916 		
917 		*/
918 		envToneMapperReinhard = 1,
919 		/**
920 		
921 		*/
922 		envToneMapperFilmic = 2,
923 		/**
924 		
925 		*/
926 		envToneMapperAces = 3,
927 	}
928 	/// 
929 	enum EnvironmentGlowBlendMode : int
930 	{
931 		/**
932 		
933 		*/
934 		glowBlendModeAdditive = 0,
935 		/**
936 		
937 		*/
938 		glowBlendModeScreen = 1,
939 		/**
940 		
941 		*/
942 		glowBlendModeSoftlight = 2,
943 		/**
944 		
945 		*/
946 		glowBlendModeReplace = 3,
947 	}
948 	/// 
949 	enum MultimeshColorFormat : int
950 	{
951 		/**
952 		
953 		*/
954 		multimeshColorNone = 0,
955 		/**
956 		
957 		*/
958 		multimeshColor8bit = 1,
959 		/**
960 		
961 		*/
962 		multimeshColorFloat = 2,
963 	}
964 	/// 
965 	enum CanvasLightShadowFilter : int
966 	{
967 		/**
968 		
969 		*/
970 		canvasLightFilterNone = 0,
971 		/**
972 		
973 		*/
974 		canvasLightFilterPcf3 = 1,
975 		/**
976 		
977 		*/
978 		canvasLightFilterPcf5 = 2,
979 		/**
980 		
981 		*/
982 		canvasLightFilterPcf7 = 3,
983 		/**
984 		
985 		*/
986 		canvasLightFilterPcf9 = 4,
987 		/**
988 		
989 		*/
990 		canvasLightFilterPcf13 = 5,
991 	}
992 	/// 
993 	enum ScenarioDebugMode : int
994 	{
995 		/**
996 		
997 		*/
998 		scenarioDebugDisabled = 0,
999 		/**
1000 		
1001 		*/
1002 		scenarioDebugWireframe = 1,
1003 		/**
1004 		
1005 		*/
1006 		scenarioDebugOverdraw = 2,
1007 		/**
1008 		
1009 		*/
1010 		scenarioDebugShadeless = 3,
1011 	}
1012 	/// 
1013 	enum ViewportUpdateMode : int
1014 	{
1015 		/**
1016 		
1017 		*/
1018 		viewportUpdateDisabled = 0,
1019 		/**
1020 		
1021 		*/
1022 		viewportUpdateOnce = 1,
1023 		/**
1024 		
1025 		*/
1026 		viewportUpdateWhenVisible = 2,
1027 		/**
1028 		
1029 		*/
1030 		viewportUpdateAlways = 3,
1031 	}
1032 	/// 
1033 	enum ArrayFormat : int
1034 	{
1035 		/**
1036 		Flag used to mark a vertex array.
1037 		*/
1038 		arrayFormatVertex = 1,
1039 		/**
1040 		Flag used to mark a normal array.
1041 		*/
1042 		arrayFormatNormal = 2,
1043 		/**
1044 		Flag used to mark a tangent array.
1045 		*/
1046 		arrayFormatTangent = 4,
1047 		/**
1048 		Flag used to mark a color array.
1049 		*/
1050 		arrayFormatColor = 8,
1051 		/**
1052 		Flag used to mark a uv coordinates array.
1053 		*/
1054 		arrayFormatTexUv = 16,
1055 		/**
1056 		Flag used to mark a uv coordinates array for the second uv coordinates.
1057 		*/
1058 		arrayFormatTexUv2 = 32,
1059 		/**
1060 		Flag used to mark a bone information array.
1061 		*/
1062 		arrayFormatBones = 64,
1063 		/**
1064 		Flag used to mark a weights array.
1065 		*/
1066 		arrayFormatWeights = 128,
1067 		/**
1068 		Flag used to mark a index array.
1069 		*/
1070 		arrayFormatIndex = 256,
1071 		/**
1072 		Flag used to mark a compressed (half float) vertex array.
1073 		*/
1074 		arrayCompressVertex = 512,
1075 		/**
1076 		Flag used to mark a compressed (half float) normal array.
1077 		*/
1078 		arrayCompressNormal = 1024,
1079 		/**
1080 		Flag used to mark a compressed (half float) tangent array.
1081 		*/
1082 		arrayCompressTangent = 2048,
1083 		/**
1084 		Flag used to mark a compressed (half float) color array.
1085 		*/
1086 		arrayCompressColor = 4096,
1087 		/**
1088 		Flag used to mark a compressed (half float) uv coordinates array.
1089 		*/
1090 		arrayCompressTexUv = 8192,
1091 		/**
1092 		Flag used to mark a compressed (half float) uv coordinates array for the second uv coordinates.
1093 		*/
1094 		arrayCompressTexUv2 = 16384,
1095 		/**
1096 		
1097 		*/
1098 		arrayCompressBones = 32768,
1099 		/**
1100 		Flag used to mark a compressed (half float) weight array.
1101 		*/
1102 		arrayCompressWeights = 65536,
1103 		/**
1104 		Used to set flags ARRAY_COMPRESS_VERTEX, ARRAY_COMPRESS_NORMAL, ARRAY_COMPRESS_TANGENT, ARRAY_COMPRESS_COLOR, ARRAY_COMPRESS_TEX_UV, ARRAY_COMPRESS_TEX_UV2 and ARRAY_COMPRESS_WEIGHTS quickly.
1105 		*/
1106 		arrayCompressDefault = 97280,
1107 		/**
1108 		
1109 		*/
1110 		arrayCompressIndex = 131072,
1111 		/**
1112 		Flag used to mark that the array contains 2D vertices.
1113 		*/
1114 		arrayFlagUse2dVertices = 262144,
1115 		/**
1116 		Flag used to mark that the array uses 16 bit bones instead of 8 bit.
1117 		*/
1118 		arrayFlagUse16BitBones = 524288,
1119 	}
1120 	/// 
1121 	enum ParticlesDrawOrder : int
1122 	{
1123 		/**
1124 		
1125 		*/
1126 		particlesDrawOrderIndex = 0,
1127 		/**
1128 		
1129 		*/
1130 		particlesDrawOrderLifetime = 1,
1131 		/**
1132 		
1133 		*/
1134 		particlesDrawOrderViewDepth = 2,
1135 	}
1136 	/// 
1137 	enum CanvasLightMode : int
1138 	{
1139 		/**
1140 		Adds light color additive to the canvas.
1141 		*/
1142 		canvasLightModeAdd = 0,
1143 		/**
1144 		Adds light color subtractive to the canvas.
1145 		*/
1146 		canvasLightModeSub = 1,
1147 		/**
1148 		The light adds color depending on transparency.
1149 		*/
1150 		canvasLightModeMix = 2,
1151 		/**
1152 		The light adds color depending on mask.
1153 		*/
1154 		canvasLightModeMask = 3,
1155 	}
1156 	/// 
1157 	enum LightDirectionalShadowMode : int
1158 	{
1159 		/**
1160 		
1161 		*/
1162 		lightDirectionalShadowOrthogonal = 0,
1163 		/**
1164 		
1165 		*/
1166 		lightDirectionalShadowParallel2Splits = 1,
1167 		/**
1168 		
1169 		*/
1170 		lightDirectionalShadowParallel4Splits = 2,
1171 	}
1172 	/// 
1173 	enum LightParam : int
1174 	{
1175 		/**
1176 		The light's energy.
1177 		*/
1178 		lightParamEnergy = 0,
1179 		/**
1180 		The light's influence on specularity.
1181 		*/
1182 		lightParamSpecular = 2,
1183 		/**
1184 		The light's range.
1185 		*/
1186 		lightParamRange = 3,
1187 		/**
1188 		The light's attenuation.
1189 		*/
1190 		lightParamAttenuation = 4,
1191 		/**
1192 		The spotlight's angle.
1193 		*/
1194 		lightParamSpotAngle = 5,
1195 		/**
1196 		The spotlight's attenuation.
1197 		*/
1198 		lightParamSpotAttenuation = 6,
1199 		/**
1200 		Scales the shadow color.
1201 		*/
1202 		lightParamContactShadowSize = 7,
1203 		/**
1204 		
1205 		*/
1206 		lightParamShadowMaxDistance = 8,
1207 		/**
1208 		
1209 		*/
1210 		lightParamShadowSplit1Offset = 9,
1211 		/**
1212 		
1213 		*/
1214 		lightParamShadowSplit2Offset = 10,
1215 		/**
1216 		
1217 		*/
1218 		lightParamShadowSplit3Offset = 11,
1219 		/**
1220 		
1221 		*/
1222 		lightParamShadowNormalBias = 12,
1223 		/**
1224 		
1225 		*/
1226 		lightParamShadowBias = 13,
1227 		/**
1228 		
1229 		*/
1230 		lightParamShadowBiasSplitScale = 14,
1231 		/**
1232 		The light parameters endpoint. Used internally.
1233 		*/
1234 		lightParamMax = 15,
1235 	}
1236 	/// 
1237 	enum ArrayType : int
1238 	{
1239 		/**
1240 		Array is a vertex array.
1241 		*/
1242 		arrayVertex = 0,
1243 		/**
1244 		Array is a normal array.
1245 		*/
1246 		arrayNormal = 1,
1247 		/**
1248 		Array is a tangent array.
1249 		*/
1250 		arrayTangent = 2,
1251 		/**
1252 		Array is a color array.
1253 		*/
1254 		arrayColor = 3,
1255 		/**
1256 		Array is a uv coordinates array.
1257 		*/
1258 		arrayTexUv = 4,
1259 		/**
1260 		Array is a uv coordinates array for the second uv coordinates.
1261 		*/
1262 		arrayTexUv2 = 5,
1263 		/**
1264 		Array contains bone information.
1265 		*/
1266 		arrayBones = 6,
1267 		/**
1268 		Array is weight information.
1269 		*/
1270 		arrayWeights = 7,
1271 		/**
1272 		Array is index array.
1273 		*/
1274 		arrayIndex = 8,
1275 		/**
1276 		Marks the maximum of the array types. Used internally.
1277 		*/
1278 		arrayMax = 9,
1279 	}
1280 	/// 
1281 	enum CanvasOccluderPolygonCullMode : int
1282 	{
1283 		/**
1284 		Culling of the canvas occluder is disabled.
1285 		*/
1286 		canvasOccluderPolygonCullDisabled = 0,
1287 		/**
1288 		Culling of the canvas occluder is clockwise.
1289 		*/
1290 		canvasOccluderPolygonCullClockwise = 1,
1291 		/**
1292 		Culling of the canvas occluder is counterclockwise.
1293 		*/
1294 		canvasOccluderPolygonCullCounterClockwise = 2,
1295 	}
1296 	/// 
1297 	enum InstanceFlags : int
1298 	{
1299 		/**
1300 		
1301 		*/
1302 		instanceFlagUseBakedLight = 0,
1303 		/**
1304 		
1305 		*/
1306 		instanceFlagDrawNextFrameIfVisible = 1,
1307 		/**
1308 		
1309 		*/
1310 		instanceFlagMax = 2,
1311 	}
1312 	/// 
1313 	enum ViewportMSAA : int
1314 	{
1315 		/**
1316 		Multisample antialiasing is disabled.
1317 		*/
1318 		viewportMsaaDisabled = 0,
1319 		/**
1320 		Multisample antialiasing is set to 2X.
1321 		*/
1322 		viewportMsaa2x = 1,
1323 		/**
1324 		Multisample antialiasing is set to 4X.
1325 		*/
1326 		viewportMsaa4x = 2,
1327 		/**
1328 		Multisample antialiasing is set to 8X.
1329 		*/
1330 		viewportMsaa8x = 3,
1331 		/**
1332 		Multisample antialiasing is set to 16X.
1333 		*/
1334 		viewportMsaa16x = 4,
1335 	}
1336 	/// 
1337 	enum LightType : int
1338 	{
1339 		/**
1340 		Is a directional (sun) light.
1341 		*/
1342 		lightDirectional = 0,
1343 		/**
1344 		is an omni light.
1345 		*/
1346 		lightOmni = 1,
1347 		/**
1348 		is an spot light.
1349 		*/
1350 		lightSpot = 2,
1351 	}
1352 	/// 
1353 	enum CubeMapSide : int
1354 	{
1355 		/**
1356 		Marks the left side of a cubemap.
1357 		*/
1358 		cubemapLeft = 0,
1359 		/**
1360 		Marks the right side of a cubemap.
1361 		*/
1362 		cubemapRight = 1,
1363 		/**
1364 		Marks the bottom side of a cubemap.
1365 		*/
1366 		cubemapBottom = 2,
1367 		/**
1368 		Marks the top side of a cubemap.
1369 		*/
1370 		cubemapTop = 3,
1371 		/**
1372 		Marks the front side of a cubemap.
1373 		*/
1374 		cubemapFront = 4,
1375 		/**
1376 		Marks the back side of a cubemap.
1377 		*/
1378 		cubemapBack = 5,
1379 	}
1380 	/// 
1381 	enum Constants : int
1382 	{
1383 		/**
1384 		The minimum Z-layer for canvas items.
1385 		*/
1386 		canvasItemZMin = -4096,
1387 		/**
1388 		The minimum renderpriority of all materials.
1389 		*/
1390 		materialRenderPriorityMin = -128,
1391 		/**
1392 		Marks an error that shows that the index array is empty.
1393 		*/
1394 		noIndexArray = -1,
1395 		ninePatchStretch = 0,
1396 		viewportUsage2d = 0,
1397 		textureType2d = 0,
1398 		lightOmniShadowDetailVertical = 0,
1399 		instanceNone = 0,
1400 		envSsaoBlurDisabled = 0,
1401 		shadowCastingSettingOff = 0,
1402 		lightOmniShadowDualParaboloid = 0,
1403 		lightDirectional = 0,
1404 		shaderSpatial = 0,
1405 		viewportDebugDrawDisabled = 0,
1406 		primitivePoints = 0,
1407 		lightDirectionalShadowDepthRangeStable = 0,
1408 		canvasLightFilterNone = 0,
1409 		envBgClearColor = 0,
1410 		featureShaders = 0,
1411 		arrayVertex = 0,
1412 		viewportMsaaDisabled = 0,
1413 		glowBlendModeAdditive = 0,
1414 		particlesDrawOrderIndex = 0,
1415 		viewportClearAlways = 0,
1416 		canvasOccluderPolygonCullDisabled = 0,
1417 		multimeshColorNone = 0,
1418 		cubemapLeft = 0,
1419 		infoObjectsInFrame = 0,
1420 		canvasLightModeAdd = 0,
1421 		viewportRenderInfoObjectsInFrame = 0,
1422 		blendShapeModeNormalized = 0,
1423 		multimeshTransform2d = 0,
1424 		scenarioDebugDisabled = 0,
1425 		instanceFlagUseBakedLight = 0,
1426 		envToneMapperLinear = 0,
1427 		lightDirectionalShadowOrthogonal = 0,
1428 		envDofBlurQualityLow = 0,
1429 		reflectionProbeUpdateOnce = 0,
1430 		lightParamEnergy = 0,
1431 		viewportUpdateDisabled = 0,
1432 		envSsaoQualityLow = 0,
1433 		viewportUsage2dNoSampling = 1,
1434 		viewportRenderInfoVerticesInFrame = 1,
1435 		instanceMesh = 1,
1436 		featureMultithreaded = 1,
1437 		primitiveLines = 1,
1438 		envSsaoBlur1x1 = 1,
1439 		envSsaoQualityMedium = 1,
1440 		lightDirectionalShadowParallel2Splits = 1,
1441 		multimeshTransform3d = 1,
1442 		glowBlendModeScreen = 1,
1443 		scenarioDebugWireframe = 1,
1444 		viewportDebugDrawUnshaded = 1,
1445 		blendShapeModeRelative = 1,
1446 		multimeshColor8bit = 1,
1447 		ninePatchTile = 1,
1448 		envToneMapperReinhard = 1,
1449 		arrayNormal = 1,
1450 		textureFlagMipmaps = 1,
1451 		shaderCanvasItem = 1,
1452 		instanceFlagDrawNextFrameIfVisible = 1,
1453 		reflectionProbeUpdateAlways = 1,
1454 		viewportClearNever = 1,
1455 		lightOmniShadowDetailHorizontal = 1,
1456 		shadowCastingSettingOn = 1,
1457 		textureTypeCubemap = 1,
1458 		viewportMsaa2x = 1,
1459 		infoVerticesInFrame = 1,
1460 		envDofBlurQualityMedium = 1,
1461 		lightOmniShadowCube = 1,
1462 		viewportUpdateOnce = 1,
1463 		envBgColor = 1,
1464 		lightOmni = 1,
1465 		arrayFormatVertex = 1,
1466 		cubemapRight = 1,
1467 		canvasLightFilterPcf3 = 1,
1468 		lightDirectionalShadowDepthRangeOptimized = 1,
1469 		particlesDrawOrderLifetime = 1,
1470 		canvasOccluderPolygonCullClockwise = 1,
1471 		canvasLightModeSub = 1,
1472 		viewportDebugDrawOverdraw = 2,
1473 		envDofBlurQualityHigh = 2,
1474 		lightParamSpecular = 2,
1475 		envSsaoBlur2x2 = 2,
1476 		viewportClearOnlyNextFrame = 2,
1477 		viewportRenderInfoMaterialChangesInFrame = 2,
1478 		shadowCastingSettingDoubleSided = 2,
1479 		primitiveLineStrip = 2,
1480 		multimeshColorFloat = 2,
1481 		arrayTangent = 2,
1482 		canvasLightModeMix = 2,
1483 		scenarioDebugOverdraw = 2,
1484 		shaderParticles = 2,
1485 		envSsaoQualityHigh = 2,
1486 		instanceFlagMax = 2,
1487 		lightDirectionalShadowParallel4Splits = 2,
1488 		infoMaterialChangesInFrame = 2,
1489 		cubemapBottom = 2,
1490 		arrayFormatNormal = 2,
1491 		envBgSky = 2,
1492 		canvasLightFilterPcf5 = 2,
1493 		lightSpot = 2,
1494 		textureType2dArray = 2,
1495 		glowBlendModeSoftlight = 2,
1496 		envToneMapperFilmic = 2,
1497 		particlesDrawOrderViewDepth = 2,
1498 		viewportMsaa4x = 2,
1499 		viewportUsage3d = 2,
1500 		viewportUpdateWhenVisible = 2,
1501 		instanceMultimesh = 2,
1502 		ninePatchTileFit = 2,
1503 		canvasOccluderPolygonCullCounterClockwise = 2,
1504 		textureFlagRepeat = 2,
1505 		viewportUsage3dNoEffects = 3,
1506 		instanceImmediate = 3,
1507 		envBgColorSky = 3,
1508 		primitiveLineLoop = 3,
1509 		envToneMapperAces = 3,
1510 		canvasLightFilterPcf7 = 3,
1511 		shaderMax = 3,
1512 		infoShaderChangesInFrame = 3,
1513 		canvasLightModeMask = 3,
1514 		cubemapTop = 3,
1515 		shadowCastingSettingShadowsOnly = 3,
1516 		arrayColor = 3,
1517 		viewportRenderInfoShaderChangesInFrame = 3,
1518 		textureType3d = 3,
1519 		viewportMsaa8x = 3,
1520 		glowBlendModeReplace = 3,
1521 		viewportDebugDrawWireframe = 3,
1522 		viewportUpdateAlways = 3,
1523 		lightParamRange = 3,
1524 		scenarioDebugShadeless = 3,
1525 		envSsaoBlur3x3 = 3,
1526 		arrayFormatTangent = 4,
1527 		envBgCanvas = 4,
1528 		cubemapFront = 4,
1529 		viewportMsaa16x = 4,
1530 		lightParamAttenuation = 4,
1531 		viewportRenderInfoSurfaceChangesInFrame = 4,
1532 		arrayTexUv = 4,
1533 		instanceParticles = 4,
1534 		textureFlagFilter = 4,
1535 		canvasLightFilterPcf9 = 4,
1536 		primitiveTriangles = 4,
1537 		infoSurfaceChangesInFrame = 4,
1538 		/**
1539 		
1540 		*/
1541 		arrayWeightsSize = 4,
1542 		instanceLight = 5,
1543 		infoDrawCallsInFrame = 5,
1544 		primitiveTriangleStrip = 5,
1545 		cubemapBack = 5,
1546 		canvasLightFilterPcf13 = 5,
1547 		envBgKeep = 5,
1548 		arrayTexUv2 = 5,
1549 		viewportRenderInfoDrawCallsInFrame = 5,
1550 		lightParamSpotAngle = 5,
1551 		primitiveTriangleFan = 6,
1552 		arrayBones = 6,
1553 		infoUsageVideoMemTotal = 6,
1554 		viewportRenderInfoMax = 6,
1555 		lightParamSpotAttenuation = 6,
1556 		instanceReflectionProbe = 6,
1557 		envBgMax = 6,
1558 		arrayWeights = 7,
1559 		textureFlagsDefault = 7,
1560 		instanceGiProbe = 7,
1561 		/**
1562 		
1563 		*/
1564 		maxGlowLevels = 7,
1565 		primitiveMax = 7,
1566 		infoVideoMemUsed = 7,
1567 		lightParamContactShadowSize = 7,
1568 		/**
1569 		
1570 		*/
1571 		maxCursors = 8,
1572 		arrayIndex = 8,
1573 		infoTextureMemUsed = 8,
1574 		textureFlagAnisotropicFilter = 8,
1575 		arrayFormatColor = 8,
1576 		lightParamShadowMaxDistance = 8,
1577 		instanceLightmapCapture = 8,
1578 		infoVertexMemUsed = 9,
1579 		instanceMax = 9,
1580 		lightParamShadowSplit1Offset = 9,
1581 		arrayMax = 9,
1582 		lightParamShadowSplit2Offset = 10,
1583 		lightParamShadowSplit3Offset = 11,
1584 		lightParamShadowNormalBias = 12,
1585 		lightParamShadowBias = 13,
1586 		lightParamShadowBiasSplitScale = 14,
1587 		lightParamMax = 15,
1588 		textureFlagConvertToLinear = 16,
1589 		arrayFormatTexUv = 16,
1590 		instanceGeometryMask = 30,
1591 		textureFlagMirroredRepeat = 32,
1592 		arrayFormatTexUv2 = 32,
1593 		arrayFormatBones = 64,
1594 		/**
1595 		The maximum renderpriority of all materials.
1596 		*/
1597 		materialRenderPriorityMax = 127,
1598 		arrayFormatWeights = 128,
1599 		arrayFormatIndex = 256,
1600 		arrayCompressVertex = 512,
1601 		arrayCompressNormal = 1024,
1602 		textureFlagUsedForStreaming = 2048,
1603 		arrayCompressTangent = 2048,
1604 		/**
1605 		The maximum Z-layer for canvas items.
1606 		*/
1607 		canvasItemZMax = 4096,
1608 		arrayCompressColor = 4096,
1609 		arrayCompressTexUv = 8192,
1610 		arrayCompressTexUv2 = 16384,
1611 		arrayCompressBones = 32768,
1612 		arrayCompressWeights = 65536,
1613 		arrayCompressDefault = 97280,
1614 		arrayCompressIndex = 131072,
1615 		arrayFlagUse2dVertices = 262144,
1616 		arrayFlagUse16BitBones = 524288,
1617 	}
1618 	/**
1619 	Synchronizes threads.
1620 	*/
1621 	void forceSync()
1622 	{
1623 		checkClassBinding!(typeof(this))();
1624 		ptrcall!(void)(_classBinding.forceSync, _godot_object);
1625 	}
1626 	/**
1627 	
1628 	*/
1629 	void forceDraw(in bool swap_buffers = true, in double frame_step = 0)
1630 	{
1631 		checkClassBinding!(typeof(this))();
1632 		ptrcall!(void)(_classBinding.forceDraw, _godot_object, swap_buffers, frame_step);
1633 	}
1634 	/**
1635 	
1636 	*/
1637 	void sync()
1638 	{
1639 		checkClassBinding!(typeof(this))();
1640 		ptrcall!(void)(_classBinding.sync, _godot_object);
1641 	}
1642 	/**
1643 	
1644 	*/
1645 	void draw(in bool swap_buffers = true, in double frame_step = 0)
1646 	{
1647 		checkClassBinding!(typeof(this))();
1648 		ptrcall!(void)(_classBinding.draw, _godot_object, swap_buffers, frame_step);
1649 	}
1650 	/**
1651 	Creates an empty texture.
1652 	*/
1653 	RID textureCreate()
1654 	{
1655 		checkClassBinding!(typeof(this))();
1656 		return ptrcall!(RID)(_classBinding.textureCreate, _godot_object);
1657 	}
1658 	/**
1659 	Creates a texture, allocates the space for an image, and fills in the image.
1660 	*/
1661 	RID textureCreateFromImage(Image image, in long flags = 7)
1662 	{
1663 		checkClassBinding!(typeof(this))();
1664 		return ptrcall!(RID)(_classBinding.textureCreateFromImage, _godot_object, image, flags);
1665 	}
1666 	/**
1667 	
1668 	*/
1669 	void textureAllocate(in RID texture, in long width, in long height, in long depth_3d, in long format, in long type, in long flags = 7)
1670 	{
1671 		checkClassBinding!(typeof(this))();
1672 		ptrcall!(void)(_classBinding.textureAllocate, _godot_object, texture, width, height, depth_3d, format, type, flags);
1673 	}
1674 	/**
1675 	Sets the texture's image data. If it's a CubeMap, it sets the image data at a cube side.
1676 	*/
1677 	void textureSetData(in RID texture, Image image, in long layer = 0)
1678 	{
1679 		checkClassBinding!(typeof(this))();
1680 		ptrcall!(void)(_classBinding.textureSetData, _godot_object, texture, image, layer);
1681 	}
1682 	/**
1683 	
1684 	*/
1685 	void textureSetDataPartial(in RID texture, Image image, in long src_x, in long src_y, in long src_w, in long src_h, in long dst_x, in long dst_y, in long dst_mip, in long layer = 0)
1686 	{
1687 		checkClassBinding!(typeof(this))();
1688 		ptrcall!(void)(_classBinding.textureSetDataPartial, _godot_object, texture, image, src_x, src_y, src_w, src_h, dst_x, dst_y, dst_mip, layer);
1689 	}
1690 	/**
1691 	Returns a copy of a texture's image unless it's a CubeMap, in which case it returns the $(D RID) of the image at one of the cubes sides.
1692 	*/
1693 	Ref!Image textureGetData(in RID texture, in long cube_side = 0) const
1694 	{
1695 		checkClassBinding!(typeof(this))();
1696 		return ptrcall!(Image)(_classBinding.textureGetData, _godot_object, texture, cube_side);
1697 	}
1698 	/**
1699 	Sets the texture's flags. See $(D textureflags) for options
1700 	*/
1701 	void textureSetFlags(in RID texture, in long flags)
1702 	{
1703 		checkClassBinding!(typeof(this))();
1704 		ptrcall!(void)(_classBinding.textureSetFlags, _godot_object, texture, flags);
1705 	}
1706 	/**
1707 	Returns the flags of a texture.
1708 	*/
1709 	long textureGetFlags(in RID texture) const
1710 	{
1711 		checkClassBinding!(typeof(this))();
1712 		return ptrcall!(long)(_classBinding.textureGetFlags, _godot_object, texture);
1713 	}
1714 	/**
1715 	Returns the format of the texture's image.
1716 	*/
1717 	Image.Format textureGetFormat(in RID texture) const
1718 	{
1719 		checkClassBinding!(typeof(this))();
1720 		return ptrcall!(Image.Format)(_classBinding.textureGetFormat, _godot_object, texture);
1721 	}
1722 	/**
1723 	
1724 	*/
1725 	VisualServer.TextureType textureGetType(in RID texture) const
1726 	{
1727 		checkClassBinding!(typeof(this))();
1728 		return ptrcall!(VisualServer.TextureType)(_classBinding.textureGetType, _godot_object, texture);
1729 	}
1730 	/**
1731 	Returns the opengl id of the texture's image.
1732 	*/
1733 	long textureGetTexid(in RID texture) const
1734 	{
1735 		checkClassBinding!(typeof(this))();
1736 		return ptrcall!(long)(_classBinding.textureGetTexid, _godot_object, texture);
1737 	}
1738 	/**
1739 	Returns the texture's width.
1740 	*/
1741 	long textureGetWidth(in RID texture) const
1742 	{
1743 		checkClassBinding!(typeof(this))();
1744 		return ptrcall!(long)(_classBinding.textureGetWidth, _godot_object, texture);
1745 	}
1746 	/**
1747 	Returns the texture's height.
1748 	*/
1749 	long textureGetHeight(in RID texture) const
1750 	{
1751 		checkClassBinding!(typeof(this))();
1752 		return ptrcall!(long)(_classBinding.textureGetHeight, _godot_object, texture);
1753 	}
1754 	/**
1755 	
1756 	*/
1757 	long textureGetDepth(in RID texture) const
1758 	{
1759 		checkClassBinding!(typeof(this))();
1760 		return ptrcall!(long)(_classBinding.textureGetDepth, _godot_object, texture);
1761 	}
1762 	/**
1763 	
1764 	*/
1765 	void textureSetSizeOverride(in RID texture, in long width, in long height, in long depth)
1766 	{
1767 		checkClassBinding!(typeof(this))();
1768 		ptrcall!(void)(_classBinding.textureSetSizeOverride, _godot_object, texture, width, height, depth);
1769 	}
1770 	/**
1771 	Sets the texture's path.
1772 	*/
1773 	void textureSetPath(StringArg1)(in RID texture, in StringArg1 path)
1774 	{
1775 		checkClassBinding!(typeof(this))();
1776 		ptrcall!(void)(_classBinding.textureSetPath, _godot_object, texture, path);
1777 	}
1778 	/**
1779 	Returns the texture's path.
1780 	*/
1781 	String textureGetPath(in RID texture) const
1782 	{
1783 		checkClassBinding!(typeof(this))();
1784 		return ptrcall!(String)(_classBinding.textureGetPath, _godot_object, texture);
1785 	}
1786 	/**
1787 	If `true` sets internal processes to shrink all image data to half the size.
1788 	*/
1789 	void textureSetShrinkAllX2OnSetData(in bool shrink)
1790 	{
1791 		checkClassBinding!(typeof(this))();
1792 		ptrcall!(void)(_classBinding.textureSetShrinkAllX2OnSetData, _godot_object, shrink);
1793 	}
1794 	/**
1795 	Returns a list of all the textures and their information.
1796 	*/
1797 	Array textureDebugUsage()
1798 	{
1799 		checkClassBinding!(typeof(this))();
1800 		return ptrcall!(Array)(_classBinding.textureDebugUsage, _godot_object);
1801 	}
1802 	/**
1803 	If `true` the image will be stored in the texture's images array if overwritten.
1804 	*/
1805 	void texturesKeepOriginal(in bool enable)
1806 	{
1807 		checkClassBinding!(typeof(this))();
1808 		ptrcall!(void)(_classBinding.texturesKeepOriginal, _godot_object, enable);
1809 	}
1810 	/**
1811 	Creates an empty sky.
1812 	*/
1813 	RID skyCreate()
1814 	{
1815 		checkClassBinding!(typeof(this))();
1816 		return ptrcall!(RID)(_classBinding.skyCreate, _godot_object);
1817 	}
1818 	/**
1819 	Sets a sky's texture.
1820 	*/
1821 	void skySetTexture(in RID sky, in RID cube_map, in long radiance_size)
1822 	{
1823 		checkClassBinding!(typeof(this))();
1824 		ptrcall!(void)(_classBinding.skySetTexture, _godot_object, sky, cube_map, radiance_size);
1825 	}
1826 	/**
1827 	Creates an empty shader.
1828 	*/
1829 	RID shaderCreate()
1830 	{
1831 		checkClassBinding!(typeof(this))();
1832 		return ptrcall!(RID)(_classBinding.shaderCreate, _godot_object);
1833 	}
1834 	/**
1835 	Sets a shader's code.
1836 	*/
1837 	void shaderSetCode(StringArg1)(in RID shader, in StringArg1 code)
1838 	{
1839 		checkClassBinding!(typeof(this))();
1840 		ptrcall!(void)(_classBinding.shaderSetCode, _godot_object, shader, code);
1841 	}
1842 	/**
1843 	Returns a shader's code.
1844 	*/
1845 	String shaderGetCode(in RID shader) const
1846 	{
1847 		checkClassBinding!(typeof(this))();
1848 		return ptrcall!(String)(_classBinding.shaderGetCode, _godot_object, shader);
1849 	}
1850 	/**
1851 	Returns the parameters of a shader.
1852 	*/
1853 	Array shaderGetParamList(in RID shader) const
1854 	{
1855 		checkClassBinding!(typeof(this))();
1856 		return ptrcall!(Array)(_classBinding.shaderGetParamList, _godot_object, shader);
1857 	}
1858 	/**
1859 	Sets a shader's default texture. Overwrites the texture given by name.
1860 	*/
1861 	void shaderSetDefaultTextureParam(StringArg1)(in RID shader, in StringArg1 name, in RID texture)
1862 	{
1863 		checkClassBinding!(typeof(this))();
1864 		ptrcall!(void)(_classBinding.shaderSetDefaultTextureParam, _godot_object, shader, name, texture);
1865 	}
1866 	/**
1867 	Returns a default texture from a shader searched by name.
1868 	*/
1869 	RID shaderGetDefaultTextureParam(StringArg1)(in RID shader, in StringArg1 name) const
1870 	{
1871 		checkClassBinding!(typeof(this))();
1872 		return ptrcall!(RID)(_classBinding.shaderGetDefaultTextureParam, _godot_object, shader, name);
1873 	}
1874 	/**
1875 	Returns an empty material.
1876 	*/
1877 	RID materialCreate()
1878 	{
1879 		checkClassBinding!(typeof(this))();
1880 		return ptrcall!(RID)(_classBinding.materialCreate, _godot_object);
1881 	}
1882 	/**
1883 	Sets a shader material's shader.
1884 	*/
1885 	void materialSetShader(in RID shader_material, in RID shader)
1886 	{
1887 		checkClassBinding!(typeof(this))();
1888 		ptrcall!(void)(_classBinding.materialSetShader, _godot_object, shader_material, shader);
1889 	}
1890 	/**
1891 	Returns the shader of a certain material's shader. Returns an empty RID if the material doesn't have a shader.
1892 	*/
1893 	RID materialGetShader(in RID shader_material) const
1894 	{
1895 		checkClassBinding!(typeof(this))();
1896 		return ptrcall!(RID)(_classBinding.materialGetShader, _godot_object, shader_material);
1897 	}
1898 	/**
1899 	Sets a materials parameter.
1900 	*/
1901 	void materialSetParam(StringArg1, VariantArg2)(in RID material, in StringArg1 parameter, in VariantArg2 value)
1902 	{
1903 		checkClassBinding!(typeof(this))();
1904 		ptrcall!(void)(_classBinding.materialSetParam, _godot_object, material, parameter, value);
1905 	}
1906 	/**
1907 	Returns the value of a certain material's parameter.
1908 	*/
1909 	Variant materialGetParam(StringArg1)(in RID material, in StringArg1 parameter) const
1910 	{
1911 		checkClassBinding!(typeof(this))();
1912 		return ptrcall!(Variant)(_classBinding.materialGetParam, _godot_object, material, parameter);
1913 	}
1914 	/**
1915 	
1916 	*/
1917 	Variant materialGetParamDefault(StringArg1)(in RID material, in StringArg1 parameter) const
1918 	{
1919 		checkClassBinding!(typeof(this))();
1920 		return ptrcall!(Variant)(_classBinding.materialGetParamDefault, _godot_object, material, parameter);
1921 	}
1922 	/**
1923 	Sets a material's render priority.
1924 	*/
1925 	void materialSetRenderPriority(in RID material, in long priority)
1926 	{
1927 		checkClassBinding!(typeof(this))();
1928 		ptrcall!(void)(_classBinding.materialSetRenderPriority, _godot_object, material, priority);
1929 	}
1930 	/**
1931 	Sets a materials line width.
1932 	*/
1933 	void materialSetLineWidth(in RID material, in double width)
1934 	{
1935 		checkClassBinding!(typeof(this))();
1936 		ptrcall!(void)(_classBinding.materialSetLineWidth, _godot_object, material, width);
1937 	}
1938 	/**
1939 	Sets an objects next material.
1940 	*/
1941 	void materialSetNextPass(in RID material, in RID next_material)
1942 	{
1943 		checkClassBinding!(typeof(this))();
1944 		ptrcall!(void)(_classBinding.materialSetNextPass, _godot_object, material, next_material);
1945 	}
1946 	/**
1947 	Creates a new mesh.
1948 	*/
1949 	RID meshCreate()
1950 	{
1951 		checkClassBinding!(typeof(this))();
1952 		return ptrcall!(RID)(_classBinding.meshCreate, _godot_object);
1953 	}
1954 	/**
1955 	
1956 	*/
1957 	long meshSurfaceGetFormatOffset(in long format, in long vertex_len, in long index_len, in long array_index) const
1958 	{
1959 		checkClassBinding!(typeof(this))();
1960 		return ptrcall!(long)(_classBinding.meshSurfaceGetFormatOffset, _godot_object, format, vertex_len, index_len, array_index);
1961 	}
1962 	/**
1963 	
1964 	*/
1965 	long meshSurfaceGetFormatStride(in long format, in long vertex_len, in long index_len) const
1966 	{
1967 		checkClassBinding!(typeof(this))();
1968 		return ptrcall!(long)(_classBinding.meshSurfaceGetFormatStride, _godot_object, format, vertex_len, index_len);
1969 	}
1970 	/**
1971 	Adds a surface generated from the Arrays to a mesh. See PRIMITIVE_TYPE_* constants for types.
1972 	*/
1973 	void meshAddSurfaceFromArrays(in RID mesh, in long primtive, in Array arrays, in Array blend_shapes = Array.empty_array, in long compress_format = 97280)
1974 	{
1975 		checkClassBinding!(typeof(this))();
1976 		ptrcall!(void)(_classBinding.meshAddSurfaceFromArrays, _godot_object, mesh, primtive, arrays, blend_shapes, compress_format);
1977 	}
1978 	/**
1979 	Sets a mesh's blend shape count.
1980 	*/
1981 	void meshSetBlendShapeCount(in RID mesh, in long amount)
1982 	{
1983 		checkClassBinding!(typeof(this))();
1984 		ptrcall!(void)(_classBinding.meshSetBlendShapeCount, _godot_object, mesh, amount);
1985 	}
1986 	/**
1987 	Returns a mesh's blend shape count.
1988 	*/
1989 	long meshGetBlendShapeCount(in RID mesh) const
1990 	{
1991 		checkClassBinding!(typeof(this))();
1992 		return ptrcall!(long)(_classBinding.meshGetBlendShapeCount, _godot_object, mesh);
1993 	}
1994 	/**
1995 	Sets a mesh's blend shape mode.
1996 	*/
1997 	void meshSetBlendShapeMode(in RID mesh, in long mode)
1998 	{
1999 		checkClassBinding!(typeof(this))();
2000 		ptrcall!(void)(_classBinding.meshSetBlendShapeMode, _godot_object, mesh, mode);
2001 	}
2002 	/**
2003 	Returns a mesh's blend shape mode.
2004 	*/
2005 	VisualServer.BlendShapeMode meshGetBlendShapeMode(in RID mesh) const
2006 	{
2007 		checkClassBinding!(typeof(this))();
2008 		return ptrcall!(VisualServer.BlendShapeMode)(_classBinding.meshGetBlendShapeMode, _godot_object, mesh);
2009 	}
2010 	/**
2011 	
2012 	*/
2013 	void meshSurfaceUpdateRegion(in RID mesh, in long surface, in long offset, in PoolByteArray data)
2014 	{
2015 		checkClassBinding!(typeof(this))();
2016 		ptrcall!(void)(_classBinding.meshSurfaceUpdateRegion, _godot_object, mesh, surface, offset, data);
2017 	}
2018 	/**
2019 	Sets a mesh's surface's material.
2020 	*/
2021 	void meshSurfaceSetMaterial(in RID mesh, in long surface, in RID material)
2022 	{
2023 		checkClassBinding!(typeof(this))();
2024 		ptrcall!(void)(_classBinding.meshSurfaceSetMaterial, _godot_object, mesh, surface, material);
2025 	}
2026 	/**
2027 	Returns a mesh's surface's material.
2028 	*/
2029 	RID meshSurfaceGetMaterial(in RID mesh, in long surface) const
2030 	{
2031 		checkClassBinding!(typeof(this))();
2032 		return ptrcall!(RID)(_classBinding.meshSurfaceGetMaterial, _godot_object, mesh, surface);
2033 	}
2034 	/**
2035 	Returns a mesh's surface's amount of vertices.
2036 	*/
2037 	long meshSurfaceGetArrayLen(in RID mesh, in long surface) const
2038 	{
2039 		checkClassBinding!(typeof(this))();
2040 		return ptrcall!(long)(_classBinding.meshSurfaceGetArrayLen, _godot_object, mesh, surface);
2041 	}
2042 	/**
2043 	Returns a mesh's surface's amount of indices.
2044 	*/
2045 	long meshSurfaceGetArrayIndexLen(in RID mesh, in long surface) const
2046 	{
2047 		checkClassBinding!(typeof(this))();
2048 		return ptrcall!(long)(_classBinding.meshSurfaceGetArrayIndexLen, _godot_object, mesh, surface);
2049 	}
2050 	/**
2051 	Returns a mesh's surface's vertex buffer.
2052 	*/
2053 	PoolByteArray meshSurfaceGetArray(in RID mesh, in long surface) const
2054 	{
2055 		checkClassBinding!(typeof(this))();
2056 		return ptrcall!(PoolByteArray)(_classBinding.meshSurfaceGetArray, _godot_object, mesh, surface);
2057 	}
2058 	/**
2059 	Returns a mesh's surface's index buffer.
2060 	*/
2061 	PoolByteArray meshSurfaceGetIndexArray(in RID mesh, in long surface) const
2062 	{
2063 		checkClassBinding!(typeof(this))();
2064 		return ptrcall!(PoolByteArray)(_classBinding.meshSurfaceGetIndexArray, _godot_object, mesh, surface);
2065 	}
2066 	/**
2067 	Returns a mesh's surface's buffer arrays.
2068 	*/
2069 	Array meshSurfaceGetArrays(in RID mesh, in long surface) const
2070 	{
2071 		checkClassBinding!(typeof(this))();
2072 		return ptrcall!(Array)(_classBinding.meshSurfaceGetArrays, _godot_object, mesh, surface);
2073 	}
2074 	/**
2075 	Returns a mesh's surface's arrays for blend shapes
2076 	*/
2077 	Array meshSurfaceGetBlendShapeArrays(in RID mesh, in long surface) const
2078 	{
2079 		checkClassBinding!(typeof(this))();
2080 		return ptrcall!(Array)(_classBinding.meshSurfaceGetBlendShapeArrays, _godot_object, mesh, surface);
2081 	}
2082 	/**
2083 	Returns the format of a mesh's surface.
2084 	*/
2085 	long meshSurfaceGetFormat(in RID mesh, in long surface) const
2086 	{
2087 		checkClassBinding!(typeof(this))();
2088 		return ptrcall!(long)(_classBinding.meshSurfaceGetFormat, _godot_object, mesh, surface);
2089 	}
2090 	/**
2091 	Returns the primitive type of a mesh's surface.
2092 	*/
2093 	VisualServer.PrimitiveType meshSurfaceGetPrimitiveType(in RID mesh, in long surface) const
2094 	{
2095 		checkClassBinding!(typeof(this))();
2096 		return ptrcall!(VisualServer.PrimitiveType)(_classBinding.meshSurfaceGetPrimitiveType, _godot_object, mesh, surface);
2097 	}
2098 	/**
2099 	Returns a mesh's surface's aabb.
2100 	*/
2101 	AABB meshSurfaceGetAabb(in RID mesh, in long surface) const
2102 	{
2103 		checkClassBinding!(typeof(this))();
2104 		return ptrcall!(AABB)(_classBinding.meshSurfaceGetAabb, _godot_object, mesh, surface);
2105 	}
2106 	/**
2107 	Returns the aabb of a mesh's surface's skeleton.
2108 	*/
2109 	Array meshSurfaceGetSkeletonAabb(in RID mesh, in long surface) const
2110 	{
2111 		checkClassBinding!(typeof(this))();
2112 		return ptrcall!(Array)(_classBinding.meshSurfaceGetSkeletonAabb, _godot_object, mesh, surface);
2113 	}
2114 	/**
2115 	Removes a mesh's surface.
2116 	*/
2117 	void meshRemoveSurface(in RID mesh, in long index)
2118 	{
2119 		checkClassBinding!(typeof(this))();
2120 		ptrcall!(void)(_classBinding.meshRemoveSurface, _godot_object, mesh, index);
2121 	}
2122 	/**
2123 	Returns a mesh's number of surfaces.
2124 	*/
2125 	long meshGetSurfaceCount(in RID mesh) const
2126 	{
2127 		checkClassBinding!(typeof(this))();
2128 		return ptrcall!(long)(_classBinding.meshGetSurfaceCount, _godot_object, mesh);
2129 	}
2130 	/**
2131 	Sets a mesh's custom aabb.
2132 	*/
2133 	void meshSetCustomAabb(in RID mesh, in AABB aabb)
2134 	{
2135 		checkClassBinding!(typeof(this))();
2136 		ptrcall!(void)(_classBinding.meshSetCustomAabb, _godot_object, mesh, aabb);
2137 	}
2138 	/**
2139 	Returns a mesh's custom aabb.
2140 	*/
2141 	AABB meshGetCustomAabb(in RID mesh) const
2142 	{
2143 		checkClassBinding!(typeof(this))();
2144 		return ptrcall!(AABB)(_classBinding.meshGetCustomAabb, _godot_object, mesh);
2145 	}
2146 	/**
2147 	Removes all surfaces from a mesh.
2148 	*/
2149 	void meshClear(in RID mesh)
2150 	{
2151 		checkClassBinding!(typeof(this))();
2152 		ptrcall!(void)(_classBinding.meshClear, _godot_object, mesh);
2153 	}
2154 	/**
2155 	
2156 	*/
2157 	void multimeshAllocate(in RID multimesh, in long instances, in long transform_format, in long color_format, in long custom_data_format = 0)
2158 	{
2159 		checkClassBinding!(typeof(this))();
2160 		ptrcall!(void)(_classBinding.multimeshAllocate, _godot_object, multimesh, instances, transform_format, color_format, custom_data_format);
2161 	}
2162 	/**
2163 	
2164 	*/
2165 	long multimeshGetInstanceCount(in RID multimesh) const
2166 	{
2167 		checkClassBinding!(typeof(this))();
2168 		return ptrcall!(long)(_classBinding.multimeshGetInstanceCount, _godot_object, multimesh);
2169 	}
2170 	/**
2171 	
2172 	*/
2173 	void multimeshSetMesh(in RID multimesh, in RID mesh)
2174 	{
2175 		checkClassBinding!(typeof(this))();
2176 		ptrcall!(void)(_classBinding.multimeshSetMesh, _godot_object, multimesh, mesh);
2177 	}
2178 	/**
2179 	
2180 	*/
2181 	void multimeshInstanceSetTransform(in RID multimesh, in long index, in Transform transform)
2182 	{
2183 		checkClassBinding!(typeof(this))();
2184 		ptrcall!(void)(_classBinding.multimeshInstanceSetTransform, _godot_object, multimesh, index, transform);
2185 	}
2186 	/**
2187 	
2188 	*/
2189 	void multimeshInstanceSetTransform2d(in RID multimesh, in long index, in Transform2D transform)
2190 	{
2191 		checkClassBinding!(typeof(this))();
2192 		ptrcall!(void)(_classBinding.multimeshInstanceSetTransform2d, _godot_object, multimesh, index, transform);
2193 	}
2194 	/**
2195 	
2196 	*/
2197 	void multimeshInstanceSetColor(in RID multimesh, in long index, in Color color)
2198 	{
2199 		checkClassBinding!(typeof(this))();
2200 		ptrcall!(void)(_classBinding.multimeshInstanceSetColor, _godot_object, multimesh, index, color);
2201 	}
2202 	/**
2203 	
2204 	*/
2205 	void multimeshInstanceSetCustomData(in RID multimesh, in long index, in Color custom_data)
2206 	{
2207 		checkClassBinding!(typeof(this))();
2208 		ptrcall!(void)(_classBinding.multimeshInstanceSetCustomData, _godot_object, multimesh, index, custom_data);
2209 	}
2210 	/**
2211 	
2212 	*/
2213 	RID multimeshGetMesh(in RID multimesh) const
2214 	{
2215 		checkClassBinding!(typeof(this))();
2216 		return ptrcall!(RID)(_classBinding.multimeshGetMesh, _godot_object, multimesh);
2217 	}
2218 	/**
2219 	
2220 	*/
2221 	AABB multimeshGetAabb(in RID multimesh) const
2222 	{
2223 		checkClassBinding!(typeof(this))();
2224 		return ptrcall!(AABB)(_classBinding.multimeshGetAabb, _godot_object, multimesh);
2225 	}
2226 	/**
2227 	
2228 	*/
2229 	Transform multimeshInstanceGetTransform(in RID multimesh, in long index) const
2230 	{
2231 		checkClassBinding!(typeof(this))();
2232 		return ptrcall!(Transform)(_classBinding.multimeshInstanceGetTransform, _godot_object, multimesh, index);
2233 	}
2234 	/**
2235 	
2236 	*/
2237 	Transform2D multimeshInstanceGetTransform2d(in RID multimesh, in long index) const
2238 	{
2239 		checkClassBinding!(typeof(this))();
2240 		return ptrcall!(Transform2D)(_classBinding.multimeshInstanceGetTransform2d, _godot_object, multimesh, index);
2241 	}
2242 	/**
2243 	
2244 	*/
2245 	Color multimeshInstanceGetColor(in RID multimesh, in long index) const
2246 	{
2247 		checkClassBinding!(typeof(this))();
2248 		return ptrcall!(Color)(_classBinding.multimeshInstanceGetColor, _godot_object, multimesh, index);
2249 	}
2250 	/**
2251 	
2252 	*/
2253 	Color multimeshInstanceGetCustomData(in RID multimesh, in long index) const
2254 	{
2255 		checkClassBinding!(typeof(this))();
2256 		return ptrcall!(Color)(_classBinding.multimeshInstanceGetCustomData, _godot_object, multimesh, index);
2257 	}
2258 	/**
2259 	
2260 	*/
2261 	void multimeshSetVisibleInstances(in RID multimesh, in long visible)
2262 	{
2263 		checkClassBinding!(typeof(this))();
2264 		ptrcall!(void)(_classBinding.multimeshSetVisibleInstances, _godot_object, multimesh, visible);
2265 	}
2266 	/**
2267 	
2268 	*/
2269 	long multimeshGetVisibleInstances(in RID multimesh) const
2270 	{
2271 		checkClassBinding!(typeof(this))();
2272 		return ptrcall!(long)(_classBinding.multimeshGetVisibleInstances, _godot_object, multimesh);
2273 	}
2274 	/**
2275 	
2276 	*/
2277 	void multimeshSetAsBulkArray(in RID multimesh, in PoolRealArray array)
2278 	{
2279 		checkClassBinding!(typeof(this))();
2280 		ptrcall!(void)(_classBinding.multimeshSetAsBulkArray, _godot_object, multimesh, array);
2281 	}
2282 	/**
2283 	
2284 	*/
2285 	RID immediateCreate()
2286 	{
2287 		checkClassBinding!(typeof(this))();
2288 		return ptrcall!(RID)(_classBinding.immediateCreate, _godot_object);
2289 	}
2290 	/**
2291 	
2292 	*/
2293 	void immediateBegin(in RID immediate, in long primitive, in RID texture = RID.init)
2294 	{
2295 		checkClassBinding!(typeof(this))();
2296 		ptrcall!(void)(_classBinding.immediateBegin, _godot_object, immediate, primitive, texture);
2297 	}
2298 	/**
2299 	
2300 	*/
2301 	void immediateVertex(in RID immediate, in Vector3 vertex)
2302 	{
2303 		checkClassBinding!(typeof(this))();
2304 		ptrcall!(void)(_classBinding.immediateVertex, _godot_object, immediate, vertex);
2305 	}
2306 	/**
2307 	
2308 	*/
2309 	void immediateVertex2d(in RID immediate, in Vector2 vertex)
2310 	{
2311 		checkClassBinding!(typeof(this))();
2312 		ptrcall!(void)(_classBinding.immediateVertex2d, _godot_object, immediate, vertex);
2313 	}
2314 	/**
2315 	
2316 	*/
2317 	void immediateNormal(in RID immediate, in Vector3 normal)
2318 	{
2319 		checkClassBinding!(typeof(this))();
2320 		ptrcall!(void)(_classBinding.immediateNormal, _godot_object, immediate, normal);
2321 	}
2322 	/**
2323 	
2324 	*/
2325 	void immediateTangent(in RID immediate, in Plane tangent)
2326 	{
2327 		checkClassBinding!(typeof(this))();
2328 		ptrcall!(void)(_classBinding.immediateTangent, _godot_object, immediate, tangent);
2329 	}
2330 	/**
2331 	
2332 	*/
2333 	void immediateColor(in RID immediate, in Color color)
2334 	{
2335 		checkClassBinding!(typeof(this))();
2336 		ptrcall!(void)(_classBinding.immediateColor, _godot_object, immediate, color);
2337 	}
2338 	/**
2339 	
2340 	*/
2341 	void immediateUv(in RID immediate, in Vector2 tex_uv)
2342 	{
2343 		checkClassBinding!(typeof(this))();
2344 		ptrcall!(void)(_classBinding.immediateUv, _godot_object, immediate, tex_uv);
2345 	}
2346 	/**
2347 	
2348 	*/
2349 	void immediateUv2(in RID immediate, in Vector2 tex_uv)
2350 	{
2351 		checkClassBinding!(typeof(this))();
2352 		ptrcall!(void)(_classBinding.immediateUv2, _godot_object, immediate, tex_uv);
2353 	}
2354 	/**
2355 	
2356 	*/
2357 	void immediateEnd(in RID immediate)
2358 	{
2359 		checkClassBinding!(typeof(this))();
2360 		ptrcall!(void)(_classBinding.immediateEnd, _godot_object, immediate);
2361 	}
2362 	/**
2363 	
2364 	*/
2365 	void immediateClear(in RID immediate)
2366 	{
2367 		checkClassBinding!(typeof(this))();
2368 		ptrcall!(void)(_classBinding.immediateClear, _godot_object, immediate);
2369 	}
2370 	/**
2371 	
2372 	*/
2373 	void immediateSetMaterial(in RID immediate, in RID material)
2374 	{
2375 		checkClassBinding!(typeof(this))();
2376 		ptrcall!(void)(_classBinding.immediateSetMaterial, _godot_object, immediate, material);
2377 	}
2378 	/**
2379 	
2380 	*/
2381 	RID immediateGetMaterial(in RID immediate) const
2382 	{
2383 		checkClassBinding!(typeof(this))();
2384 		return ptrcall!(RID)(_classBinding.immediateGetMaterial, _godot_object, immediate);
2385 	}
2386 	/**
2387 	
2388 	*/
2389 	RID skeletonCreate()
2390 	{
2391 		checkClassBinding!(typeof(this))();
2392 		return ptrcall!(RID)(_classBinding.skeletonCreate, _godot_object);
2393 	}
2394 	/**
2395 	
2396 	*/
2397 	void skeletonAllocate(in RID skeleton, in long bones, in bool is_2d_skeleton = false)
2398 	{
2399 		checkClassBinding!(typeof(this))();
2400 		ptrcall!(void)(_classBinding.skeletonAllocate, _godot_object, skeleton, bones, is_2d_skeleton);
2401 	}
2402 	/**
2403 	
2404 	*/
2405 	long skeletonGetBoneCount(in RID skeleton) const
2406 	{
2407 		checkClassBinding!(typeof(this))();
2408 		return ptrcall!(long)(_classBinding.skeletonGetBoneCount, _godot_object, skeleton);
2409 	}
2410 	/**
2411 	
2412 	*/
2413 	void skeletonBoneSetTransform(in RID skeleton, in long bone, in Transform transform)
2414 	{
2415 		checkClassBinding!(typeof(this))();
2416 		ptrcall!(void)(_classBinding.skeletonBoneSetTransform, _godot_object, skeleton, bone, transform);
2417 	}
2418 	/**
2419 	
2420 	*/
2421 	Transform skeletonBoneGetTransform(in RID skeleton, in long bone) const
2422 	{
2423 		checkClassBinding!(typeof(this))();
2424 		return ptrcall!(Transform)(_classBinding.skeletonBoneGetTransform, _godot_object, skeleton, bone);
2425 	}
2426 	/**
2427 	
2428 	*/
2429 	void skeletonBoneSetTransform2d(in RID skeleton, in long bone, in Transform2D transform)
2430 	{
2431 		checkClassBinding!(typeof(this))();
2432 		ptrcall!(void)(_classBinding.skeletonBoneSetTransform2d, _godot_object, skeleton, bone, transform);
2433 	}
2434 	/**
2435 	
2436 	*/
2437 	Transform2D skeletonBoneGetTransform2d(in RID skeleton, in long bone) const
2438 	{
2439 		checkClassBinding!(typeof(this))();
2440 		return ptrcall!(Transform2D)(_classBinding.skeletonBoneGetTransform2d, _godot_object, skeleton, bone);
2441 	}
2442 	/**
2443 	
2444 	*/
2445 	RID directionalLightCreate()
2446 	{
2447 		checkClassBinding!(typeof(this))();
2448 		return ptrcall!(RID)(_classBinding.directionalLightCreate, _godot_object);
2449 	}
2450 	/**
2451 	
2452 	*/
2453 	RID omniLightCreate()
2454 	{
2455 		checkClassBinding!(typeof(this))();
2456 		return ptrcall!(RID)(_classBinding.omniLightCreate, _godot_object);
2457 	}
2458 	/**
2459 	
2460 	*/
2461 	RID spotLightCreate()
2462 	{
2463 		checkClassBinding!(typeof(this))();
2464 		return ptrcall!(RID)(_classBinding.spotLightCreate, _godot_object);
2465 	}
2466 	/**
2467 	
2468 	*/
2469 	void lightSetColor(in RID light, in Color color)
2470 	{
2471 		checkClassBinding!(typeof(this))();
2472 		ptrcall!(void)(_classBinding.lightSetColor, _godot_object, light, color);
2473 	}
2474 	/**
2475 	
2476 	*/
2477 	void lightSetParam(in RID light, in long param, in double value)
2478 	{
2479 		checkClassBinding!(typeof(this))();
2480 		ptrcall!(void)(_classBinding.lightSetParam, _godot_object, light, param, value);
2481 	}
2482 	/**
2483 	
2484 	*/
2485 	void lightSetShadow(in RID light, in bool enabled)
2486 	{
2487 		checkClassBinding!(typeof(this))();
2488 		ptrcall!(void)(_classBinding.lightSetShadow, _godot_object, light, enabled);
2489 	}
2490 	/**
2491 	
2492 	*/
2493 	void lightSetShadowColor(in RID light, in Color color)
2494 	{
2495 		checkClassBinding!(typeof(this))();
2496 		ptrcall!(void)(_classBinding.lightSetShadowColor, _godot_object, light, color);
2497 	}
2498 	/**
2499 	
2500 	*/
2501 	void lightSetProjector(in RID light, in RID texture)
2502 	{
2503 		checkClassBinding!(typeof(this))();
2504 		ptrcall!(void)(_classBinding.lightSetProjector, _godot_object, light, texture);
2505 	}
2506 	/**
2507 	
2508 	*/
2509 	void lightSetNegative(in RID light, in bool enable)
2510 	{
2511 		checkClassBinding!(typeof(this))();
2512 		ptrcall!(void)(_classBinding.lightSetNegative, _godot_object, light, enable);
2513 	}
2514 	/**
2515 	
2516 	*/
2517 	void lightSetCullMask(in RID light, in long mask)
2518 	{
2519 		checkClassBinding!(typeof(this))();
2520 		ptrcall!(void)(_classBinding.lightSetCullMask, _godot_object, light, mask);
2521 	}
2522 	/**
2523 	
2524 	*/
2525 	void lightSetReverseCullFaceMode(in RID light, in bool enabled)
2526 	{
2527 		checkClassBinding!(typeof(this))();
2528 		ptrcall!(void)(_classBinding.lightSetReverseCullFaceMode, _godot_object, light, enabled);
2529 	}
2530 	/**
2531 	
2532 	*/
2533 	void lightOmniSetShadowMode(in RID light, in long mode)
2534 	{
2535 		checkClassBinding!(typeof(this))();
2536 		ptrcall!(void)(_classBinding.lightOmniSetShadowMode, _godot_object, light, mode);
2537 	}
2538 	/**
2539 	
2540 	*/
2541 	void lightOmniSetShadowDetail(in RID light, in long detail)
2542 	{
2543 		checkClassBinding!(typeof(this))();
2544 		ptrcall!(void)(_classBinding.lightOmniSetShadowDetail, _godot_object, light, detail);
2545 	}
2546 	/**
2547 	
2548 	*/
2549 	void lightDirectionalSetShadowMode(in RID light, in long mode)
2550 	{
2551 		checkClassBinding!(typeof(this))();
2552 		ptrcall!(void)(_classBinding.lightDirectionalSetShadowMode, _godot_object, light, mode);
2553 	}
2554 	/**
2555 	
2556 	*/
2557 	void lightDirectionalSetBlendSplits(in RID light, in bool enable)
2558 	{
2559 		checkClassBinding!(typeof(this))();
2560 		ptrcall!(void)(_classBinding.lightDirectionalSetBlendSplits, _godot_object, light, enable);
2561 	}
2562 	/**
2563 	
2564 	*/
2565 	void lightDirectionalSetShadowDepthRangeMode(in RID light, in long range_mode)
2566 	{
2567 		checkClassBinding!(typeof(this))();
2568 		ptrcall!(void)(_classBinding.lightDirectionalSetShadowDepthRangeMode, _godot_object, light, range_mode);
2569 	}
2570 	/**
2571 	
2572 	*/
2573 	RID reflectionProbeCreate()
2574 	{
2575 		checkClassBinding!(typeof(this))();
2576 		return ptrcall!(RID)(_classBinding.reflectionProbeCreate, _godot_object);
2577 	}
2578 	/**
2579 	
2580 	*/
2581 	void reflectionProbeSetUpdateMode(in RID probe, in long mode)
2582 	{
2583 		checkClassBinding!(typeof(this))();
2584 		ptrcall!(void)(_classBinding.reflectionProbeSetUpdateMode, _godot_object, probe, mode);
2585 	}
2586 	/**
2587 	
2588 	*/
2589 	void reflectionProbeSetIntensity(in RID probe, in double intensity)
2590 	{
2591 		checkClassBinding!(typeof(this))();
2592 		ptrcall!(void)(_classBinding.reflectionProbeSetIntensity, _godot_object, probe, intensity);
2593 	}
2594 	/**
2595 	
2596 	*/
2597 	void reflectionProbeSetInteriorAmbient(in RID probe, in Color color)
2598 	{
2599 		checkClassBinding!(typeof(this))();
2600 		ptrcall!(void)(_classBinding.reflectionProbeSetInteriorAmbient, _godot_object, probe, color);
2601 	}
2602 	/**
2603 	
2604 	*/
2605 	void reflectionProbeSetInteriorAmbientEnergy(in RID probe, in double energy)
2606 	{
2607 		checkClassBinding!(typeof(this))();
2608 		ptrcall!(void)(_classBinding.reflectionProbeSetInteriorAmbientEnergy, _godot_object, probe, energy);
2609 	}
2610 	/**
2611 	
2612 	*/
2613 	void reflectionProbeSetInteriorAmbientProbeContribution(in RID probe, in double contrib)
2614 	{
2615 		checkClassBinding!(typeof(this))();
2616 		ptrcall!(void)(_classBinding.reflectionProbeSetInteriorAmbientProbeContribution, _godot_object, probe, contrib);
2617 	}
2618 	/**
2619 	
2620 	*/
2621 	void reflectionProbeSetMaxDistance(in RID probe, in double distance)
2622 	{
2623 		checkClassBinding!(typeof(this))();
2624 		ptrcall!(void)(_classBinding.reflectionProbeSetMaxDistance, _godot_object, probe, distance);
2625 	}
2626 	/**
2627 	
2628 	*/
2629 	void reflectionProbeSetExtents(in RID probe, in Vector3 extents)
2630 	{
2631 		checkClassBinding!(typeof(this))();
2632 		ptrcall!(void)(_classBinding.reflectionProbeSetExtents, _godot_object, probe, extents);
2633 	}
2634 	/**
2635 	
2636 	*/
2637 	void reflectionProbeSetOriginOffset(in RID probe, in Vector3 offset)
2638 	{
2639 		checkClassBinding!(typeof(this))();
2640 		ptrcall!(void)(_classBinding.reflectionProbeSetOriginOffset, _godot_object, probe, offset);
2641 	}
2642 	/**
2643 	
2644 	*/
2645 	void reflectionProbeSetAsInterior(in RID probe, in bool enable)
2646 	{
2647 		checkClassBinding!(typeof(this))();
2648 		ptrcall!(void)(_classBinding.reflectionProbeSetAsInterior, _godot_object, probe, enable);
2649 	}
2650 	/**
2651 	
2652 	*/
2653 	void reflectionProbeSetEnableBoxProjection(in RID probe, in bool enable)
2654 	{
2655 		checkClassBinding!(typeof(this))();
2656 		ptrcall!(void)(_classBinding.reflectionProbeSetEnableBoxProjection, _godot_object, probe, enable);
2657 	}
2658 	/**
2659 	
2660 	*/
2661 	void reflectionProbeSetEnableShadows(in RID probe, in bool enable)
2662 	{
2663 		checkClassBinding!(typeof(this))();
2664 		ptrcall!(void)(_classBinding.reflectionProbeSetEnableShadows, _godot_object, probe, enable);
2665 	}
2666 	/**
2667 	
2668 	*/
2669 	void reflectionProbeSetCullMask(in RID probe, in long layers)
2670 	{
2671 		checkClassBinding!(typeof(this))();
2672 		ptrcall!(void)(_classBinding.reflectionProbeSetCullMask, _godot_object, probe, layers);
2673 	}
2674 	/**
2675 	
2676 	*/
2677 	RID giProbeCreate()
2678 	{
2679 		checkClassBinding!(typeof(this))();
2680 		return ptrcall!(RID)(_classBinding.giProbeCreate, _godot_object);
2681 	}
2682 	/**
2683 	
2684 	*/
2685 	void giProbeSetBounds(in RID probe, in AABB bounds)
2686 	{
2687 		checkClassBinding!(typeof(this))();
2688 		ptrcall!(void)(_classBinding.giProbeSetBounds, _godot_object, probe, bounds);
2689 	}
2690 	/**
2691 	
2692 	*/
2693 	AABB giProbeGetBounds(in RID probe) const
2694 	{
2695 		checkClassBinding!(typeof(this))();
2696 		return ptrcall!(AABB)(_classBinding.giProbeGetBounds, _godot_object, probe);
2697 	}
2698 	/**
2699 	
2700 	*/
2701 	void giProbeSetCellSize(in RID probe, in double range)
2702 	{
2703 		checkClassBinding!(typeof(this))();
2704 		ptrcall!(void)(_classBinding.giProbeSetCellSize, _godot_object, probe, range);
2705 	}
2706 	/**
2707 	
2708 	*/
2709 	double giProbeGetCellSize(in RID probe) const
2710 	{
2711 		checkClassBinding!(typeof(this))();
2712 		return ptrcall!(double)(_classBinding.giProbeGetCellSize, _godot_object, probe);
2713 	}
2714 	/**
2715 	
2716 	*/
2717 	void giProbeSetToCellXform(in RID probe, in Transform xform)
2718 	{
2719 		checkClassBinding!(typeof(this))();
2720 		ptrcall!(void)(_classBinding.giProbeSetToCellXform, _godot_object, probe, xform);
2721 	}
2722 	/**
2723 	
2724 	*/
2725 	Transform giProbeGetToCellXform(in RID probe) const
2726 	{
2727 		checkClassBinding!(typeof(this))();
2728 		return ptrcall!(Transform)(_classBinding.giProbeGetToCellXform, _godot_object, probe);
2729 	}
2730 	/**
2731 	
2732 	*/
2733 	void giProbeSetDynamicData(in RID probe, in PoolIntArray data)
2734 	{
2735 		checkClassBinding!(typeof(this))();
2736 		ptrcall!(void)(_classBinding.giProbeSetDynamicData, _godot_object, probe, data);
2737 	}
2738 	/**
2739 	
2740 	*/
2741 	PoolIntArray giProbeGetDynamicData(in RID probe) const
2742 	{
2743 		checkClassBinding!(typeof(this))();
2744 		return ptrcall!(PoolIntArray)(_classBinding.giProbeGetDynamicData, _godot_object, probe);
2745 	}
2746 	/**
2747 	
2748 	*/
2749 	void giProbeSetDynamicRange(in RID probe, in long range)
2750 	{
2751 		checkClassBinding!(typeof(this))();
2752 		ptrcall!(void)(_classBinding.giProbeSetDynamicRange, _godot_object, probe, range);
2753 	}
2754 	/**
2755 	
2756 	*/
2757 	long giProbeGetDynamicRange(in RID probe) const
2758 	{
2759 		checkClassBinding!(typeof(this))();
2760 		return ptrcall!(long)(_classBinding.giProbeGetDynamicRange, _godot_object, probe);
2761 	}
2762 	/**
2763 	
2764 	*/
2765 	void giProbeSetEnergy(in RID probe, in double energy)
2766 	{
2767 		checkClassBinding!(typeof(this))();
2768 		ptrcall!(void)(_classBinding.giProbeSetEnergy, _godot_object, probe, energy);
2769 	}
2770 	/**
2771 	
2772 	*/
2773 	double giProbeGetEnergy(in RID probe) const
2774 	{
2775 		checkClassBinding!(typeof(this))();
2776 		return ptrcall!(double)(_classBinding.giProbeGetEnergy, _godot_object, probe);
2777 	}
2778 	/**
2779 	
2780 	*/
2781 	void giProbeSetBias(in RID probe, in double bias)
2782 	{
2783 		checkClassBinding!(typeof(this))();
2784 		ptrcall!(void)(_classBinding.giProbeSetBias, _godot_object, probe, bias);
2785 	}
2786 	/**
2787 	
2788 	*/
2789 	double giProbeGetBias(in RID probe) const
2790 	{
2791 		checkClassBinding!(typeof(this))();
2792 		return ptrcall!(double)(_classBinding.giProbeGetBias, _godot_object, probe);
2793 	}
2794 	/**
2795 	
2796 	*/
2797 	void giProbeSetNormalBias(in RID probe, in double bias)
2798 	{
2799 		checkClassBinding!(typeof(this))();
2800 		ptrcall!(void)(_classBinding.giProbeSetNormalBias, _godot_object, probe, bias);
2801 	}
2802 	/**
2803 	
2804 	*/
2805 	double giProbeGetNormalBias(in RID probe) const
2806 	{
2807 		checkClassBinding!(typeof(this))();
2808 		return ptrcall!(double)(_classBinding.giProbeGetNormalBias, _godot_object, probe);
2809 	}
2810 	/**
2811 	
2812 	*/
2813 	void giProbeSetPropagation(in RID probe, in double propagation)
2814 	{
2815 		checkClassBinding!(typeof(this))();
2816 		ptrcall!(void)(_classBinding.giProbeSetPropagation, _godot_object, probe, propagation);
2817 	}
2818 	/**
2819 	
2820 	*/
2821 	double giProbeGetPropagation(in RID probe) const
2822 	{
2823 		checkClassBinding!(typeof(this))();
2824 		return ptrcall!(double)(_classBinding.giProbeGetPropagation, _godot_object, probe);
2825 	}
2826 	/**
2827 	
2828 	*/
2829 	void giProbeSetInterior(in RID probe, in bool enable)
2830 	{
2831 		checkClassBinding!(typeof(this))();
2832 		ptrcall!(void)(_classBinding.giProbeSetInterior, _godot_object, probe, enable);
2833 	}
2834 	/**
2835 	
2836 	*/
2837 	bool giProbeIsInterior(in RID probe) const
2838 	{
2839 		checkClassBinding!(typeof(this))();
2840 		return ptrcall!(bool)(_classBinding.giProbeIsInterior, _godot_object, probe);
2841 	}
2842 	/**
2843 	
2844 	*/
2845 	void giProbeSetCompress(in RID probe, in bool enable)
2846 	{
2847 		checkClassBinding!(typeof(this))();
2848 		ptrcall!(void)(_classBinding.giProbeSetCompress, _godot_object, probe, enable);
2849 	}
2850 	/**
2851 	
2852 	*/
2853 	bool giProbeIsCompressed(in RID probe) const
2854 	{
2855 		checkClassBinding!(typeof(this))();
2856 		return ptrcall!(bool)(_classBinding.giProbeIsCompressed, _godot_object, probe);
2857 	}
2858 	/**
2859 	
2860 	*/
2861 	RID lightmapCaptureCreate()
2862 	{
2863 		checkClassBinding!(typeof(this))();
2864 		return ptrcall!(RID)(_classBinding.lightmapCaptureCreate, _godot_object);
2865 	}
2866 	/**
2867 	
2868 	*/
2869 	void lightmapCaptureSetBounds(in RID capture, in AABB bounds)
2870 	{
2871 		checkClassBinding!(typeof(this))();
2872 		ptrcall!(void)(_classBinding.lightmapCaptureSetBounds, _godot_object, capture, bounds);
2873 	}
2874 	/**
2875 	
2876 	*/
2877 	AABB lightmapCaptureGetBounds(in RID capture) const
2878 	{
2879 		checkClassBinding!(typeof(this))();
2880 		return ptrcall!(AABB)(_classBinding.lightmapCaptureGetBounds, _godot_object, capture);
2881 	}
2882 	/**
2883 	
2884 	*/
2885 	void lightmapCaptureSetOctree(in RID capture, in PoolByteArray octree)
2886 	{
2887 		checkClassBinding!(typeof(this))();
2888 		ptrcall!(void)(_classBinding.lightmapCaptureSetOctree, _godot_object, capture, octree);
2889 	}
2890 	/**
2891 	
2892 	*/
2893 	void lightmapCaptureSetOctreeCellTransform(in RID capture, in Transform xform)
2894 	{
2895 		checkClassBinding!(typeof(this))();
2896 		ptrcall!(void)(_classBinding.lightmapCaptureSetOctreeCellTransform, _godot_object, capture, xform);
2897 	}
2898 	/**
2899 	
2900 	*/
2901 	Transform lightmapCaptureGetOctreeCellTransform(in RID capture) const
2902 	{
2903 		checkClassBinding!(typeof(this))();
2904 		return ptrcall!(Transform)(_classBinding.lightmapCaptureGetOctreeCellTransform, _godot_object, capture);
2905 	}
2906 	/**
2907 	
2908 	*/
2909 	void lightmapCaptureSetOctreeCellSubdiv(in RID capture, in long subdiv)
2910 	{
2911 		checkClassBinding!(typeof(this))();
2912 		ptrcall!(void)(_classBinding.lightmapCaptureSetOctreeCellSubdiv, _godot_object, capture, subdiv);
2913 	}
2914 	/**
2915 	
2916 	*/
2917 	long lightmapCaptureGetOctreeCellSubdiv(in RID capture) const
2918 	{
2919 		checkClassBinding!(typeof(this))();
2920 		return ptrcall!(long)(_classBinding.lightmapCaptureGetOctreeCellSubdiv, _godot_object, capture);
2921 	}
2922 	/**
2923 	
2924 	*/
2925 	PoolByteArray lightmapCaptureGetOctree(in RID capture) const
2926 	{
2927 		checkClassBinding!(typeof(this))();
2928 		return ptrcall!(PoolByteArray)(_classBinding.lightmapCaptureGetOctree, _godot_object, capture);
2929 	}
2930 	/**
2931 	
2932 	*/
2933 	void lightmapCaptureSetEnergy(in RID capture, in double energy)
2934 	{
2935 		checkClassBinding!(typeof(this))();
2936 		ptrcall!(void)(_classBinding.lightmapCaptureSetEnergy, _godot_object, capture, energy);
2937 	}
2938 	/**
2939 	
2940 	*/
2941 	double lightmapCaptureGetEnergy(in RID capture) const
2942 	{
2943 		checkClassBinding!(typeof(this))();
2944 		return ptrcall!(double)(_classBinding.lightmapCaptureGetEnergy, _godot_object, capture);
2945 	}
2946 	/**
2947 	
2948 	*/
2949 	RID particlesCreate()
2950 	{
2951 		checkClassBinding!(typeof(this))();
2952 		return ptrcall!(RID)(_classBinding.particlesCreate, _godot_object);
2953 	}
2954 	/**
2955 	
2956 	*/
2957 	void particlesSetEmitting(in RID particles, in bool emitting)
2958 	{
2959 		checkClassBinding!(typeof(this))();
2960 		ptrcall!(void)(_classBinding.particlesSetEmitting, _godot_object, particles, emitting);
2961 	}
2962 	/**
2963 	
2964 	*/
2965 	bool particlesGetEmitting(in RID particles)
2966 	{
2967 		checkClassBinding!(typeof(this))();
2968 		return ptrcall!(bool)(_classBinding.particlesGetEmitting, _godot_object, particles);
2969 	}
2970 	/**
2971 	
2972 	*/
2973 	void particlesSetAmount(in RID particles, in long amount)
2974 	{
2975 		checkClassBinding!(typeof(this))();
2976 		ptrcall!(void)(_classBinding.particlesSetAmount, _godot_object, particles, amount);
2977 	}
2978 	/**
2979 	
2980 	*/
2981 	void particlesSetLifetime(in RID particles, in double lifetime)
2982 	{
2983 		checkClassBinding!(typeof(this))();
2984 		ptrcall!(void)(_classBinding.particlesSetLifetime, _godot_object, particles, lifetime);
2985 	}
2986 	/**
2987 	
2988 	*/
2989 	void particlesSetOneShot(in RID particles, in bool one_shot)
2990 	{
2991 		checkClassBinding!(typeof(this))();
2992 		ptrcall!(void)(_classBinding.particlesSetOneShot, _godot_object, particles, one_shot);
2993 	}
2994 	/**
2995 	
2996 	*/
2997 	void particlesSetPreProcessTime(in RID particles, in double time)
2998 	{
2999 		checkClassBinding!(typeof(this))();
3000 		ptrcall!(void)(_classBinding.particlesSetPreProcessTime, _godot_object, particles, time);
3001 	}
3002 	/**
3003 	
3004 	*/
3005 	void particlesSetExplosivenessRatio(in RID particles, in double ratio)
3006 	{
3007 		checkClassBinding!(typeof(this))();
3008 		ptrcall!(void)(_classBinding.particlesSetExplosivenessRatio, _godot_object, particles, ratio);
3009 	}
3010 	/**
3011 	
3012 	*/
3013 	void particlesSetRandomnessRatio(in RID particles, in double ratio)
3014 	{
3015 		checkClassBinding!(typeof(this))();
3016 		ptrcall!(void)(_classBinding.particlesSetRandomnessRatio, _godot_object, particles, ratio);
3017 	}
3018 	/**
3019 	
3020 	*/
3021 	void particlesSetCustomAabb(in RID particles, in AABB aabb)
3022 	{
3023 		checkClassBinding!(typeof(this))();
3024 		ptrcall!(void)(_classBinding.particlesSetCustomAabb, _godot_object, particles, aabb);
3025 	}
3026 	/**
3027 	
3028 	*/
3029 	void particlesSetSpeedScale(in RID particles, in double scale)
3030 	{
3031 		checkClassBinding!(typeof(this))();
3032 		ptrcall!(void)(_classBinding.particlesSetSpeedScale, _godot_object, particles, scale);
3033 	}
3034 	/**
3035 	
3036 	*/
3037 	void particlesSetUseLocalCoordinates(in RID particles, in bool enable)
3038 	{
3039 		checkClassBinding!(typeof(this))();
3040 		ptrcall!(void)(_classBinding.particlesSetUseLocalCoordinates, _godot_object, particles, enable);
3041 	}
3042 	/**
3043 	
3044 	*/
3045 	void particlesSetProcessMaterial(in RID particles, in RID material)
3046 	{
3047 		checkClassBinding!(typeof(this))();
3048 		ptrcall!(void)(_classBinding.particlesSetProcessMaterial, _godot_object, particles, material);
3049 	}
3050 	/**
3051 	
3052 	*/
3053 	void particlesSetFixedFps(in RID particles, in long fps)
3054 	{
3055 		checkClassBinding!(typeof(this))();
3056 		ptrcall!(void)(_classBinding.particlesSetFixedFps, _godot_object, particles, fps);
3057 	}
3058 	/**
3059 	
3060 	*/
3061 	void particlesSetFractionalDelta(in RID particles, in bool enable)
3062 	{
3063 		checkClassBinding!(typeof(this))();
3064 		ptrcall!(void)(_classBinding.particlesSetFractionalDelta, _godot_object, particles, enable);
3065 	}
3066 	/**
3067 	
3068 	*/
3069 	void particlesRestart(in RID particles)
3070 	{
3071 		checkClassBinding!(typeof(this))();
3072 		ptrcall!(void)(_classBinding.particlesRestart, _godot_object, particles);
3073 	}
3074 	/**
3075 	
3076 	*/
3077 	void particlesSetDrawOrder(in RID particles, in long order)
3078 	{
3079 		checkClassBinding!(typeof(this))();
3080 		ptrcall!(void)(_classBinding.particlesSetDrawOrder, _godot_object, particles, order);
3081 	}
3082 	/**
3083 	
3084 	*/
3085 	void particlesSetDrawPasses(in RID particles, in long count)
3086 	{
3087 		checkClassBinding!(typeof(this))();
3088 		ptrcall!(void)(_classBinding.particlesSetDrawPasses, _godot_object, particles, count);
3089 	}
3090 	/**
3091 	
3092 	*/
3093 	void particlesSetDrawPassMesh(in RID particles, in long pass, in RID mesh)
3094 	{
3095 		checkClassBinding!(typeof(this))();
3096 		ptrcall!(void)(_classBinding.particlesSetDrawPassMesh, _godot_object, particles, pass, mesh);
3097 	}
3098 	/**
3099 	
3100 	*/
3101 	AABB particlesGetCurrentAabb(in RID particles)
3102 	{
3103 		checkClassBinding!(typeof(this))();
3104 		return ptrcall!(AABB)(_classBinding.particlesGetCurrentAabb, _godot_object, particles);
3105 	}
3106 	/**
3107 	
3108 	*/
3109 	void particlesSetEmissionTransform(in RID particles, in Transform transform)
3110 	{
3111 		checkClassBinding!(typeof(this))();
3112 		ptrcall!(void)(_classBinding.particlesSetEmissionTransform, _godot_object, particles, transform);
3113 	}
3114 	/**
3115 	
3116 	*/
3117 	RID cameraCreate()
3118 	{
3119 		checkClassBinding!(typeof(this))();
3120 		return ptrcall!(RID)(_classBinding.cameraCreate, _godot_object);
3121 	}
3122 	/**
3123 	
3124 	*/
3125 	void cameraSetPerspective(in RID camera, in double fovy_degrees, in double z_near, in double z_far)
3126 	{
3127 		checkClassBinding!(typeof(this))();
3128 		ptrcall!(void)(_classBinding.cameraSetPerspective, _godot_object, camera, fovy_degrees, z_near, z_far);
3129 	}
3130 	/**
3131 	
3132 	*/
3133 	void cameraSetOrthogonal(in RID camera, in double size, in double z_near, in double z_far)
3134 	{
3135 		checkClassBinding!(typeof(this))();
3136 		ptrcall!(void)(_classBinding.cameraSetOrthogonal, _godot_object, camera, size, z_near, z_far);
3137 	}
3138 	/**
3139 	
3140 	*/
3141 	void cameraSetTransform(in RID camera, in Transform transform)
3142 	{
3143 		checkClassBinding!(typeof(this))();
3144 		ptrcall!(void)(_classBinding.cameraSetTransform, _godot_object, camera, transform);
3145 	}
3146 	/**
3147 	
3148 	*/
3149 	void cameraSetCullMask(in RID camera, in long layers)
3150 	{
3151 		checkClassBinding!(typeof(this))();
3152 		ptrcall!(void)(_classBinding.cameraSetCullMask, _godot_object, camera, layers);
3153 	}
3154 	/**
3155 	
3156 	*/
3157 	void cameraSetEnvironment(in RID camera, in RID env)
3158 	{
3159 		checkClassBinding!(typeof(this))();
3160 		ptrcall!(void)(_classBinding.cameraSetEnvironment, _godot_object, camera, env);
3161 	}
3162 	/**
3163 	
3164 	*/
3165 	void cameraSetUseVerticalAspect(in RID camera, in bool enable)
3166 	{
3167 		checkClassBinding!(typeof(this))();
3168 		ptrcall!(void)(_classBinding.cameraSetUseVerticalAspect, _godot_object, camera, enable);
3169 	}
3170 	/**
3171 	Creates an empty viewport.
3172 	*/
3173 	RID viewportCreate()
3174 	{
3175 		checkClassBinding!(typeof(this))();
3176 		return ptrcall!(RID)(_classBinding.viewportCreate, _godot_object);
3177 	}
3178 	/**
3179 	If `true` the viewport uses augmented or virtual reality technologies. See $(D ARVRInterface).
3180 	*/
3181 	void viewportSetUseArvr(in RID viewport, in bool use_arvr)
3182 	{
3183 		checkClassBinding!(typeof(this))();
3184 		ptrcall!(void)(_classBinding.viewportSetUseArvr, _godot_object, viewport, use_arvr);
3185 	}
3186 	/**
3187 	Sets the viewport's width and height.
3188 	*/
3189 	void viewportSetSize(in RID viewport, in long width, in long height)
3190 	{
3191 		checkClassBinding!(typeof(this))();
3192 		ptrcall!(void)(_classBinding.viewportSetSize, _godot_object, viewport, width, height);
3193 	}
3194 	/**
3195 	If `true` sets the viewport active, else sets it inactive.
3196 	*/
3197 	void viewportSetActive(in RID viewport, in bool active)
3198 	{
3199 		checkClassBinding!(typeof(this))();
3200 		ptrcall!(void)(_classBinding.viewportSetActive, _godot_object, viewport, active);
3201 	}
3202 	/**
3203 	Sets the viewport's parent to another viewport.
3204 	*/
3205 	void viewportSetParentViewport(in RID viewport, in RID parent_viewport)
3206 	{
3207 		checkClassBinding!(typeof(this))();
3208 		ptrcall!(void)(_classBinding.viewportSetParentViewport, _godot_object, viewport, parent_viewport);
3209 	}
3210 	/**
3211 	Attaches a viewport to a screen.
3212 	*/
3213 	void viewportAttachToScreen(in RID viewport, in Rect2 rect = Rect2(0, 0, 0, 0), in long screen = 0)
3214 	{
3215 		checkClassBinding!(typeof(this))();
3216 		ptrcall!(void)(_classBinding.viewportAttachToScreen, _godot_object, viewport, rect, screen);
3217 	}
3218 	/**
3219 	Detaches the viewport from the screen.
3220 	*/
3221 	void viewportDetach(in RID viewport)
3222 	{
3223 		checkClassBinding!(typeof(this))();
3224 		ptrcall!(void)(_classBinding.viewportDetach, _godot_object, viewport);
3225 	}
3226 	/**
3227 	Sets when the viewport should be updated. See $(D viewportupdatemode) constants for options.
3228 	*/
3229 	void viewportSetUpdateMode(in RID viewport, in long update_mode)
3230 	{
3231 		checkClassBinding!(typeof(this))();
3232 		ptrcall!(void)(_classBinding.viewportSetUpdateMode, _godot_object, viewport, update_mode);
3233 	}
3234 	/**
3235 	If `true` the viewport's rendering is flipped vertically.
3236 	*/
3237 	void viewportSetVflip(in RID viewport, in bool enabled)
3238 	{
3239 		checkClassBinding!(typeof(this))();
3240 		ptrcall!(void)(_classBinding.viewportSetVflip, _godot_object, viewport, enabled);
3241 	}
3242 	/**
3243 	Sets the clear mode of a viewport. See VIEWPORT_CLEAR_MODE_* constants for options.
3244 	*/
3245 	void viewportSetClearMode(in RID viewport, in long clear_mode)
3246 	{
3247 		checkClassBinding!(typeof(this))();
3248 		ptrcall!(void)(_classBinding.viewportSetClearMode, _godot_object, viewport, clear_mode);
3249 	}
3250 	/**
3251 	Returns the viewport's last rendered frame.
3252 	*/
3253 	RID viewportGetTexture(in RID viewport) const
3254 	{
3255 		checkClassBinding!(typeof(this))();
3256 		return ptrcall!(RID)(_classBinding.viewportGetTexture, _godot_object, viewport);
3257 	}
3258 	/**
3259 	
3260 	*/
3261 	void viewportSetHideScenario(in RID viewport, in bool hidden)
3262 	{
3263 		checkClassBinding!(typeof(this))();
3264 		ptrcall!(void)(_classBinding.viewportSetHideScenario, _godot_object, viewport, hidden);
3265 	}
3266 	/**
3267 	If `true` the viewport's canvas is not rendered.
3268 	*/
3269 	void viewportSetHideCanvas(in RID viewport, in bool hidden)
3270 	{
3271 		checkClassBinding!(typeof(this))();
3272 		ptrcall!(void)(_classBinding.viewportSetHideCanvas, _godot_object, viewport, hidden);
3273 	}
3274 	/**
3275 	If `true` rendering of a viewport's environment is disabled.
3276 	*/
3277 	void viewportSetDisableEnvironment(in RID viewport, in bool disabled)
3278 	{
3279 		checkClassBinding!(typeof(this))();
3280 		ptrcall!(void)(_classBinding.viewportSetDisableEnvironment, _godot_object, viewport, disabled);
3281 	}
3282 	/**
3283 	If `true` a viewport's 3D rendering is disabled.
3284 	*/
3285 	void viewportSetDisable3d(in RID viewport, in bool disabled)
3286 	{
3287 		checkClassBinding!(typeof(this))();
3288 		ptrcall!(void)(_classBinding.viewportSetDisable3d, _godot_object, viewport, disabled);
3289 	}
3290 	/**
3291 	Sets a viewport's camera.
3292 	*/
3293 	void viewportAttachCamera(in RID viewport, in RID camera)
3294 	{
3295 		checkClassBinding!(typeof(this))();
3296 		ptrcall!(void)(_classBinding.viewportAttachCamera, _godot_object, viewport, camera);
3297 	}
3298 	/**
3299 	Sets a viewport's scenario.
3300 	The scenario contains information about the $(D scenariodebugmode), environment information, reflection atlas etc.
3301 	*/
3302 	void viewportSetScenario(in RID viewport, in RID scenario)
3303 	{
3304 		checkClassBinding!(typeof(this))();
3305 		ptrcall!(void)(_classBinding.viewportSetScenario, _godot_object, viewport, scenario);
3306 	}
3307 	/**
3308 	Sets a viewport's canvas.
3309 	*/
3310 	void viewportAttachCanvas(in RID viewport, in RID canvas)
3311 	{
3312 		checkClassBinding!(typeof(this))();
3313 		ptrcall!(void)(_classBinding.viewportAttachCanvas, _godot_object, viewport, canvas);
3314 	}
3315 	/**
3316 	Detaches a viewport from a canvas and vice versa.
3317 	*/
3318 	void viewportRemoveCanvas(in RID viewport, in RID canvas)
3319 	{
3320 		checkClassBinding!(typeof(this))();
3321 		ptrcall!(void)(_classBinding.viewportRemoveCanvas, _godot_object, viewport, canvas);
3322 	}
3323 	/**
3324 	Sets the transformation of a viewport's canvas.
3325 	*/
3326 	void viewportSetCanvasTransform(in RID viewport, in RID canvas, in Transform2D offset)
3327 	{
3328 		checkClassBinding!(typeof(this))();
3329 		ptrcall!(void)(_classBinding.viewportSetCanvasTransform, _godot_object, viewport, canvas, offset);
3330 	}
3331 	/**
3332 	If `true` the viewport renders its background as transparent.
3333 	*/
3334 	void viewportSetTransparentBackground(in RID viewport, in bool enabled)
3335 	{
3336 		checkClassBinding!(typeof(this))();
3337 		ptrcall!(void)(_classBinding.viewportSetTransparentBackground, _godot_object, viewport, enabled);
3338 	}
3339 	/**
3340 	Sets the viewport's global transformation matrix.
3341 	*/
3342 	void viewportSetGlobalCanvasTransform(in RID viewport, in Transform2D transform)
3343 	{
3344 		checkClassBinding!(typeof(this))();
3345 		ptrcall!(void)(_classBinding.viewportSetGlobalCanvasTransform, _godot_object, viewport, transform);
3346 	}
3347 	/**
3348 	
3349 	*/
3350 	void viewportSetCanvasLayer(in RID viewport, in RID canvas, in long layer)
3351 	{
3352 		checkClassBinding!(typeof(this))();
3353 		ptrcall!(void)(_classBinding.viewportSetCanvasLayer, _godot_object, viewport, canvas, layer);
3354 	}
3355 	/**
3356 	Sets the size of the shadow atlas's images.
3357 	*/
3358 	void viewportSetShadowAtlasSize(in RID viewport, in long size)
3359 	{
3360 		checkClassBinding!(typeof(this))();
3361 		ptrcall!(void)(_classBinding.viewportSetShadowAtlasSize, _godot_object, viewport, size);
3362 	}
3363 	/**
3364 	Sets the shadow atlas quadrant's subdivision.
3365 	*/
3366 	void viewportSetShadowAtlasQuadrantSubdivision(in RID viewport, in long quadrant, in long subdivision)
3367 	{
3368 		checkClassBinding!(typeof(this))();
3369 		ptrcall!(void)(_classBinding.viewportSetShadowAtlasQuadrantSubdivision, _godot_object, viewport, quadrant, subdivision);
3370 	}
3371 	/**
3372 	Sets the anti-aliasing mode. see $(D viewportmsaa) for options.
3373 	*/
3374 	void viewportSetMsaa(in RID viewport, in long msaa)
3375 	{
3376 		checkClassBinding!(typeof(this))();
3377 		ptrcall!(void)(_classBinding.viewportSetMsaa, _godot_object, viewport, msaa);
3378 	}
3379 	/**
3380 	If `true` the viewport renders to hdr.
3381 	*/
3382 	void viewportSetHdr(in RID viewport, in bool enabled)
3383 	{
3384 		checkClassBinding!(typeof(this))();
3385 		ptrcall!(void)(_classBinding.viewportSetHdr, _godot_object, viewport, enabled);
3386 	}
3387 	/**
3388 	Sets the viewport's 2D/3D mode. See $(D viewportusage) constants for options.
3389 	*/
3390 	void viewportSetUsage(in RID viewport, in long usage)
3391 	{
3392 		checkClassBinding!(typeof(this))();
3393 		ptrcall!(void)(_classBinding.viewportSetUsage, _godot_object, viewport, usage);
3394 	}
3395 	/**
3396 	Returns a viewport's render info. for options see VIEWPORT_RENDER_INFO* constants.
3397 	*/
3398 	long viewportGetRenderInfo(in RID viewport, in long info)
3399 	{
3400 		checkClassBinding!(typeof(this))();
3401 		return ptrcall!(long)(_classBinding.viewportGetRenderInfo, _godot_object, viewport, info);
3402 	}
3403 	/**
3404 	Sets the debug draw mode of a viewport. See VIEWPORT_DEBUG_DRAW_* constants for options.
3405 	*/
3406 	void viewportSetDebugDraw(in RID viewport, in long draw)
3407 	{
3408 		checkClassBinding!(typeof(this))();
3409 		ptrcall!(void)(_classBinding.viewportSetDebugDraw, _godot_object, viewport, draw);
3410 	}
3411 	/**
3412 	
3413 	*/
3414 	RID environmentCreate()
3415 	{
3416 		checkClassBinding!(typeof(this))();
3417 		return ptrcall!(RID)(_classBinding.environmentCreate, _godot_object);
3418 	}
3419 	/**
3420 	
3421 	*/
3422 	void environmentSetBackground(in RID env, in long bg)
3423 	{
3424 		checkClassBinding!(typeof(this))();
3425 		ptrcall!(void)(_classBinding.environmentSetBackground, _godot_object, env, bg);
3426 	}
3427 	/**
3428 	
3429 	*/
3430 	void environmentSetSky(in RID env, in RID sky)
3431 	{
3432 		checkClassBinding!(typeof(this))();
3433 		ptrcall!(void)(_classBinding.environmentSetSky, _godot_object, env, sky);
3434 	}
3435 	/**
3436 	
3437 	*/
3438 	void environmentSetSkyCustomFov(in RID env, in double scale)
3439 	{
3440 		checkClassBinding!(typeof(this))();
3441 		ptrcall!(void)(_classBinding.environmentSetSkyCustomFov, _godot_object, env, scale);
3442 	}
3443 	/**
3444 	
3445 	*/
3446 	void environmentSetBgColor(in RID env, in Color color)
3447 	{
3448 		checkClassBinding!(typeof(this))();
3449 		ptrcall!(void)(_classBinding.environmentSetBgColor, _godot_object, env, color);
3450 	}
3451 	/**
3452 	
3453 	*/
3454 	void environmentSetBgEnergy(in RID env, in double energy)
3455 	{
3456 		checkClassBinding!(typeof(this))();
3457 		ptrcall!(void)(_classBinding.environmentSetBgEnergy, _godot_object, env, energy);
3458 	}
3459 	/**
3460 	
3461 	*/
3462 	void environmentSetCanvasMaxLayer(in RID env, in long max_layer)
3463 	{
3464 		checkClassBinding!(typeof(this))();
3465 		ptrcall!(void)(_classBinding.environmentSetCanvasMaxLayer, _godot_object, env, max_layer);
3466 	}
3467 	/**
3468 	
3469 	*/
3470 	void environmentSetAmbientLight(in RID env, in Color color, in double energy = 1, in double sky_contibution = 0)
3471 	{
3472 		checkClassBinding!(typeof(this))();
3473 		ptrcall!(void)(_classBinding.environmentSetAmbientLight, _godot_object, env, color, energy, sky_contibution);
3474 	}
3475 	/**
3476 	
3477 	*/
3478 	void environmentSetDofBlurNear(in RID env, in bool enable, in double distance, in double transition, in double far_amount, in long quality)
3479 	{
3480 		checkClassBinding!(typeof(this))();
3481 		ptrcall!(void)(_classBinding.environmentSetDofBlurNear, _godot_object, env, enable, distance, transition, far_amount, quality);
3482 	}
3483 	/**
3484 	
3485 	*/
3486 	void environmentSetDofBlurFar(in RID env, in bool enable, in double distance, in double transition, in double far_amount, in long quality)
3487 	{
3488 		checkClassBinding!(typeof(this))();
3489 		ptrcall!(void)(_classBinding.environmentSetDofBlurFar, _godot_object, env, enable, distance, transition, far_amount, quality);
3490 	}
3491 	/**
3492 	
3493 	*/
3494 	void environmentSetGlow(in RID env, in bool enable, in long level_flags, in double intensity, in double strength, in double bloom_threshold, in long blend_mode, in double hdr_bleed_threshold, in double hdr_bleed_scale, in bool bicubic_upscale)
3495 	{
3496 		checkClassBinding!(typeof(this))();
3497 		ptrcall!(void)(_classBinding.environmentSetGlow, _godot_object, env, enable, level_flags, intensity, strength, bloom_threshold, blend_mode, hdr_bleed_threshold, hdr_bleed_scale, bicubic_upscale);
3498 	}
3499 	/**
3500 	
3501 	*/
3502 	void environmentSetTonemap(in RID env, in long tone_mapper, in double exposure, in double white, in bool auto_exposure, in double min_luminance, in double max_luminance, in double auto_exp_speed, in double auto_exp_grey)
3503 	{
3504 		checkClassBinding!(typeof(this))();
3505 		ptrcall!(void)(_classBinding.environmentSetTonemap, _godot_object, env, tone_mapper, exposure, white, auto_exposure, min_luminance, max_luminance, auto_exp_speed, auto_exp_grey);
3506 	}
3507 	/**
3508 	
3509 	*/
3510 	void environmentSetAdjustment(in RID env, in bool enable, in double brightness, in double contrast, in double saturation, in RID ramp)
3511 	{
3512 		checkClassBinding!(typeof(this))();
3513 		ptrcall!(void)(_classBinding.environmentSetAdjustment, _godot_object, env, enable, brightness, contrast, saturation, ramp);
3514 	}
3515 	/**
3516 	
3517 	*/
3518 	void environmentSetSsr(in RID env, in bool enable, in long max_steps, in double fade_in, in double fade_out, in double depth_tolerance, in bool roughness)
3519 	{
3520 		checkClassBinding!(typeof(this))();
3521 		ptrcall!(void)(_classBinding.environmentSetSsr, _godot_object, env, enable, max_steps, fade_in, fade_out, depth_tolerance, roughness);
3522 	}
3523 	/**
3524 	
3525 	*/
3526 	void environmentSetSsao(in RID env, in bool enable, in double radius, in double intensity, in double radius2, in double intensity2, in double bias, in double light_affect, in double ao_channel_affect, in Color color, in long quality, in long blur, in double bilateral_sharpness)
3527 	{
3528 		checkClassBinding!(typeof(this))();
3529 		ptrcall!(void)(_classBinding.environmentSetSsao, _godot_object, env, enable, radius, intensity, radius2, intensity2, bias, light_affect, ao_channel_affect, color, quality, blur, bilateral_sharpness);
3530 	}
3531 	/**
3532 	
3533 	*/
3534 	void environmentSetFog(in RID env, in bool enable, in Color color, in Color sun_color, in double sun_amount)
3535 	{
3536 		checkClassBinding!(typeof(this))();
3537 		ptrcall!(void)(_classBinding.environmentSetFog, _godot_object, env, enable, color, sun_color, sun_amount);
3538 	}
3539 	/**
3540 	
3541 	*/
3542 	void environmentSetFogDepth(in RID env, in bool enable, in double depth_begin, in double depth_curve, in bool transmit, in double transmit_curve)
3543 	{
3544 		checkClassBinding!(typeof(this))();
3545 		ptrcall!(void)(_classBinding.environmentSetFogDepth, _godot_object, env, enable, depth_begin, depth_curve, transmit, transmit_curve);
3546 	}
3547 	/**
3548 	
3549 	*/
3550 	void environmentSetFogHeight(in RID env, in bool enable, in double min_height, in double max_height, in double height_curve)
3551 	{
3552 		checkClassBinding!(typeof(this))();
3553 		ptrcall!(void)(_classBinding.environmentSetFogHeight, _godot_object, env, enable, min_height, max_height, height_curve);
3554 	}
3555 	/**
3556 	
3557 	*/
3558 	RID scenarioCreate()
3559 	{
3560 		checkClassBinding!(typeof(this))();
3561 		return ptrcall!(RID)(_classBinding.scenarioCreate, _godot_object);
3562 	}
3563 	/**
3564 	
3565 	*/
3566 	void scenarioSetDebug(in RID scenario, in long debug_mode)
3567 	{
3568 		checkClassBinding!(typeof(this))();
3569 		ptrcall!(void)(_classBinding.scenarioSetDebug, _godot_object, scenario, debug_mode);
3570 	}
3571 	/**
3572 	
3573 	*/
3574 	void scenarioSetEnvironment(in RID scenario, in RID environment)
3575 	{
3576 		checkClassBinding!(typeof(this))();
3577 		ptrcall!(void)(_classBinding.scenarioSetEnvironment, _godot_object, scenario, environment);
3578 	}
3579 	/**
3580 	
3581 	*/
3582 	void scenarioSetReflectionAtlasSize(in RID scenario, in long p_size, in long subdiv)
3583 	{
3584 		checkClassBinding!(typeof(this))();
3585 		ptrcall!(void)(_classBinding.scenarioSetReflectionAtlasSize, _godot_object, scenario, p_size, subdiv);
3586 	}
3587 	/**
3588 	
3589 	*/
3590 	void scenarioSetFallbackEnvironment(in RID scenario, in RID environment)
3591 	{
3592 		checkClassBinding!(typeof(this))();
3593 		ptrcall!(void)(_classBinding.scenarioSetFallbackEnvironment, _godot_object, scenario, environment);
3594 	}
3595 	/**
3596 	
3597 	*/
3598 	RID instanceCreate2(in RID base, in RID scenario)
3599 	{
3600 		checkClassBinding!(typeof(this))();
3601 		return ptrcall!(RID)(_classBinding.instanceCreate2, _godot_object, base, scenario);
3602 	}
3603 	/**
3604 	
3605 	*/
3606 	RID instanceCreate()
3607 	{
3608 		checkClassBinding!(typeof(this))();
3609 		return ptrcall!(RID)(_classBinding.instanceCreate, _godot_object);
3610 	}
3611 	/**
3612 	
3613 	*/
3614 	void instanceSetBase(in RID instance, in RID base)
3615 	{
3616 		checkClassBinding!(typeof(this))();
3617 		ptrcall!(void)(_classBinding.instanceSetBase, _godot_object, instance, base);
3618 	}
3619 	/**
3620 	
3621 	*/
3622 	void instanceSetScenario(in RID instance, in RID scenario)
3623 	{
3624 		checkClassBinding!(typeof(this))();
3625 		ptrcall!(void)(_classBinding.instanceSetScenario, _godot_object, instance, scenario);
3626 	}
3627 	/**
3628 	
3629 	*/
3630 	void instanceSetLayerMask(in RID instance, in long mask)
3631 	{
3632 		checkClassBinding!(typeof(this))();
3633 		ptrcall!(void)(_classBinding.instanceSetLayerMask, _godot_object, instance, mask);
3634 	}
3635 	/**
3636 	
3637 	*/
3638 	void instanceSetTransform(in RID instance, in Transform transform)
3639 	{
3640 		checkClassBinding!(typeof(this))();
3641 		ptrcall!(void)(_classBinding.instanceSetTransform, _godot_object, instance, transform);
3642 	}
3643 	/**
3644 	
3645 	*/
3646 	void instanceAttachObjectInstanceId(in RID instance, in long id)
3647 	{
3648 		checkClassBinding!(typeof(this))();
3649 		ptrcall!(void)(_classBinding.instanceAttachObjectInstanceId, _godot_object, instance, id);
3650 	}
3651 	/**
3652 	
3653 	*/
3654 	void instanceSetBlendShapeWeight(in RID instance, in long shape, in double weight)
3655 	{
3656 		checkClassBinding!(typeof(this))();
3657 		ptrcall!(void)(_classBinding.instanceSetBlendShapeWeight, _godot_object, instance, shape, weight);
3658 	}
3659 	/**
3660 	
3661 	*/
3662 	void instanceSetSurfaceMaterial(in RID instance, in long surface, in RID material)
3663 	{
3664 		checkClassBinding!(typeof(this))();
3665 		ptrcall!(void)(_classBinding.instanceSetSurfaceMaterial, _godot_object, instance, surface, material);
3666 	}
3667 	/**
3668 	
3669 	*/
3670 	void instanceSetVisible(in RID instance, in bool visible)
3671 	{
3672 		checkClassBinding!(typeof(this))();
3673 		ptrcall!(void)(_classBinding.instanceSetVisible, _godot_object, instance, visible);
3674 	}
3675 	/**
3676 	
3677 	*/
3678 	void instanceSetUseLightmap(in RID instance, in RID lightmap_instance, in RID lightmap)
3679 	{
3680 		checkClassBinding!(typeof(this))();
3681 		ptrcall!(void)(_classBinding.instanceSetUseLightmap, _godot_object, instance, lightmap_instance, lightmap);
3682 	}
3683 	/**
3684 	
3685 	*/
3686 	void instanceSetCustomAabb(in RID instance, in AABB aabb)
3687 	{
3688 		checkClassBinding!(typeof(this))();
3689 		ptrcall!(void)(_classBinding.instanceSetCustomAabb, _godot_object, instance, aabb);
3690 	}
3691 	/**
3692 	
3693 	*/
3694 	void instanceAttachSkeleton(in RID instance, in RID skeleton)
3695 	{
3696 		checkClassBinding!(typeof(this))();
3697 		ptrcall!(void)(_classBinding.instanceAttachSkeleton, _godot_object, instance, skeleton);
3698 	}
3699 	/**
3700 	
3701 	*/
3702 	void instanceSetExterior(in RID instance, in bool enabled)
3703 	{
3704 		checkClassBinding!(typeof(this))();
3705 		ptrcall!(void)(_classBinding.instanceSetExterior, _godot_object, instance, enabled);
3706 	}
3707 	/**
3708 	
3709 	*/
3710 	void instanceSetExtraVisibilityMargin(in RID instance, in double margin)
3711 	{
3712 		checkClassBinding!(typeof(this))();
3713 		ptrcall!(void)(_classBinding.instanceSetExtraVisibilityMargin, _godot_object, instance, margin);
3714 	}
3715 	/**
3716 	
3717 	*/
3718 	void instanceGeometrySetFlag(in RID instance, in long flag, in bool enabled)
3719 	{
3720 		checkClassBinding!(typeof(this))();
3721 		ptrcall!(void)(_classBinding.instanceGeometrySetFlag, _godot_object, instance, flag, enabled);
3722 	}
3723 	/**
3724 	
3725 	*/
3726 	void instanceGeometrySetCastShadowsSetting(in RID instance, in long shadow_casting_setting)
3727 	{
3728 		checkClassBinding!(typeof(this))();
3729 		ptrcall!(void)(_classBinding.instanceGeometrySetCastShadowsSetting, _godot_object, instance, shadow_casting_setting);
3730 	}
3731 	/**
3732 	
3733 	*/
3734 	void instanceGeometrySetMaterialOverride(in RID instance, in RID material)
3735 	{
3736 		checkClassBinding!(typeof(this))();
3737 		ptrcall!(void)(_classBinding.instanceGeometrySetMaterialOverride, _godot_object, instance, material);
3738 	}
3739 	/**
3740 	
3741 	*/
3742 	void instanceGeometrySetDrawRange(in RID instance, in double min, in double max, in double min_margin, in double max_margin)
3743 	{
3744 		checkClassBinding!(typeof(this))();
3745 		ptrcall!(void)(_classBinding.instanceGeometrySetDrawRange, _godot_object, instance, min, max, min_margin, max_margin);
3746 	}
3747 	/**
3748 	
3749 	*/
3750 	void instanceGeometrySetAsInstanceLod(in RID instance, in RID as_lod_of_instance)
3751 	{
3752 		checkClassBinding!(typeof(this))();
3753 		ptrcall!(void)(_classBinding.instanceGeometrySetAsInstanceLod, _godot_object, instance, as_lod_of_instance);
3754 	}
3755 	/**
3756 	
3757 	*/
3758 	Array instancesCullAabb(in AABB aabb, in RID scenario = RID.init) const
3759 	{
3760 		checkClassBinding!(typeof(this))();
3761 		return ptrcall!(Array)(_classBinding.instancesCullAabb, _godot_object, aabb, scenario);
3762 	}
3763 	/**
3764 	
3765 	*/
3766 	Array instancesCullRay(in Vector3 from, in Vector3 to, in RID scenario = RID.init) const
3767 	{
3768 		checkClassBinding!(typeof(this))();
3769 		return ptrcall!(Array)(_classBinding.instancesCullRay, _godot_object, from, to, scenario);
3770 	}
3771 	/**
3772 	
3773 	*/
3774 	Array instancesCullConvex(in Array convex, in RID scenario = RID.init) const
3775 	{
3776 		checkClassBinding!(typeof(this))();
3777 		return ptrcall!(Array)(_classBinding.instancesCullConvex, _godot_object, convex, scenario);
3778 	}
3779 	/**
3780 	Creates a canvas and returns the assigned $(D RID).
3781 	*/
3782 	RID canvasCreate()
3783 	{
3784 		checkClassBinding!(typeof(this))();
3785 		return ptrcall!(RID)(_classBinding.canvasCreate, _godot_object);
3786 	}
3787 	/**
3788 	A copy of the canvas item will be drawn with a local offset of the mirroring $(D Vector2).
3789 	*/
3790 	void canvasSetItemMirroring(in RID canvas, in RID item, in Vector2 mirroring)
3791 	{
3792 		checkClassBinding!(typeof(this))();
3793 		ptrcall!(void)(_classBinding.canvasSetItemMirroring, _godot_object, canvas, item, mirroring);
3794 	}
3795 	/**
3796 	Modulates all colors in the given canvas.
3797 	*/
3798 	void canvasSetModulate(in RID canvas, in Color color)
3799 	{
3800 		checkClassBinding!(typeof(this))();
3801 		ptrcall!(void)(_classBinding.canvasSetModulate, _godot_object, canvas, color);
3802 	}
3803 	/**
3804 	Creates a new $(D CanvasItem) and returns its $(D RID).
3805 	*/
3806 	RID canvasItemCreate()
3807 	{
3808 		checkClassBinding!(typeof(this))();
3809 		return ptrcall!(RID)(_classBinding.canvasItemCreate, _godot_object);
3810 	}
3811 	/**
3812 	Sets the parent for the $(D CanvasItem).
3813 	*/
3814 	void canvasItemSetParent(in RID item, in RID parent)
3815 	{
3816 		checkClassBinding!(typeof(this))();
3817 		ptrcall!(void)(_classBinding.canvasItemSetParent, _godot_object, item, parent);
3818 	}
3819 	/**
3820 	Sets if the canvas item (including its children) is visible.
3821 	*/
3822 	void canvasItemSetVisible(in RID item, in bool visible)
3823 	{
3824 		checkClassBinding!(typeof(this))();
3825 		ptrcall!(void)(_classBinding.canvasItemSetVisible, _godot_object, item, visible);
3826 	}
3827 	/**
3828 	The light mask. See $(D LightOccluder2D) for more information on light masks.
3829 	*/
3830 	void canvasItemSetLightMask(in RID item, in long mask)
3831 	{
3832 		checkClassBinding!(typeof(this))();
3833 		ptrcall!(void)(_classBinding.canvasItemSetLightMask, _godot_object, item, mask);
3834 	}
3835 	/**
3836 	Sets the $(D CanvasItem)'s $(D Transform2D).
3837 	*/
3838 	void canvasItemSetTransform(in RID item, in Transform2D transform)
3839 	{
3840 		checkClassBinding!(typeof(this))();
3841 		ptrcall!(void)(_classBinding.canvasItemSetTransform, _godot_object, item, transform);
3842 	}
3843 	/**
3844 	Sets clipping for the $(D CanvasItem).
3845 	*/
3846 	void canvasItemSetClip(in RID item, in bool clip)
3847 	{
3848 		checkClassBinding!(typeof(this))();
3849 		ptrcall!(void)(_classBinding.canvasItemSetClip, _godot_object, item, clip);
3850 	}
3851 	/**
3852 	
3853 	*/
3854 	void canvasItemSetDistanceFieldMode(in RID item, in bool enabled)
3855 	{
3856 		checkClassBinding!(typeof(this))();
3857 		ptrcall!(void)(_classBinding.canvasItemSetDistanceFieldMode, _godot_object, item, enabled);
3858 	}
3859 	/**
3860 	Defines a custom drawing rectangle for the $(D CanvasItem).
3861 	*/
3862 	void canvasItemSetCustomRect(in RID item, in bool use_custom_rect, in Rect2 rect = Rect2(0, 0, 0, 0))
3863 	{
3864 		checkClassBinding!(typeof(this))();
3865 		ptrcall!(void)(_classBinding.canvasItemSetCustomRect, _godot_object, item, use_custom_rect, rect);
3866 	}
3867 	/**
3868 	Sets the color that modulates the $(D CanvasItem) and its children.
3869 	*/
3870 	void canvasItemSetModulate(in RID item, in Color color)
3871 	{
3872 		checkClassBinding!(typeof(this))();
3873 		ptrcall!(void)(_classBinding.canvasItemSetModulate, _godot_object, item, color);
3874 	}
3875 	/**
3876 	Sets the color that modulates the $(D CanvasItem) without children.
3877 	*/
3878 	void canvasItemSetSelfModulate(in RID item, in Color color)
3879 	{
3880 		checkClassBinding!(typeof(this))();
3881 		ptrcall!(void)(_classBinding.canvasItemSetSelfModulate, _godot_object, item, color);
3882 	}
3883 	/**
3884 	Sets $(D CanvasItem) to be drawn behind its parent.
3885 	*/
3886 	void canvasItemSetDrawBehindParent(in RID item, in bool enabled)
3887 	{
3888 		checkClassBinding!(typeof(this))();
3889 		ptrcall!(void)(_classBinding.canvasItemSetDrawBehindParent, _godot_object, item, enabled);
3890 	}
3891 	/**
3892 	Adds a line command to the $(D CanvasItem)'s draw commands.
3893 	*/
3894 	void canvasItemAddLine(in RID item, in Vector2 from, in Vector2 to, in Color color, in double width = 1, in bool antialiased = false)
3895 	{
3896 		checkClassBinding!(typeof(this))();
3897 		ptrcall!(void)(_classBinding.canvasItemAddLine, _godot_object, item, from, to, color, width, antialiased);
3898 	}
3899 	/**
3900 	Adds a polyline, which is a line from multiple points with a width, to the $(D CanvasItem)'s draw commands.
3901 	*/
3902 	void canvasItemAddPolyline(in RID item, in PoolVector2Array points, in PoolColorArray colors, in double width = 1, in bool antialiased = false)
3903 	{
3904 		checkClassBinding!(typeof(this))();
3905 		ptrcall!(void)(_classBinding.canvasItemAddPolyline, _godot_object, item, points, colors, width, antialiased);
3906 	}
3907 	/**
3908 	Adds a rectangle to the $(D CanvasItem)'s draw commands.
3909 	*/
3910 	void canvasItemAddRect(in RID item, in Rect2 rect, in Color color)
3911 	{
3912 		checkClassBinding!(typeof(this))();
3913 		ptrcall!(void)(_classBinding.canvasItemAddRect, _godot_object, item, rect, color);
3914 	}
3915 	/**
3916 	Adds a circle command to the $(D CanvasItem)'s draw commands.
3917 	*/
3918 	void canvasItemAddCircle(in RID item, in Vector2 pos, in double radius, in Color color)
3919 	{
3920 		checkClassBinding!(typeof(this))();
3921 		ptrcall!(void)(_classBinding.canvasItemAddCircle, _godot_object, item, pos, radius, color);
3922 	}
3923 	/**
3924 	Adds a textured rect to the $(D CanvasItem)'s draw commands.
3925 	*/
3926 	void canvasItemAddTextureRect(in RID item, in Rect2 rect, in RID texture, in bool tile = false, in Color modulate = Color(1,1,1,1), in bool transpose = false, in RID normal_map = RID.init)
3927 	{
3928 		checkClassBinding!(typeof(this))();
3929 		ptrcall!(void)(_classBinding.canvasItemAddTextureRect, _godot_object, item, rect, texture, tile, modulate, transpose, normal_map);
3930 	}
3931 	/**
3932 	Adds a texture rect with region setting to the $(D CanvasItem)'s draw commands.
3933 	*/
3934 	void canvasItemAddTextureRectRegion(in RID item, in Rect2 rect, in RID texture, in Rect2 src_rect, in Color modulate = Color(1,1,1,1), in bool transpose = false, in RID normal_map = RID.init, in bool clip_uv = true)
3935 	{
3936 		checkClassBinding!(typeof(this))();
3937 		ptrcall!(void)(_classBinding.canvasItemAddTextureRectRegion, _godot_object, item, rect, texture, src_rect, modulate, transpose, normal_map, clip_uv);
3938 	}
3939 	/**
3940 	Adds a nine patch image to the $(D CanvasItem)'s draw commands.
3941 	See $(D NinePatchRect) for more explanation.
3942 	*/
3943 	void canvasItemAddNinePatch(in RID item, in Rect2 rect, in Rect2 source, in RID texture, in Vector2 topleft, in Vector2 bottomright, in long x_axis_mode = 0, in long y_axis_mode = 0, in bool draw_center = true, in Color modulate = Color(1,1,1,1), in RID normal_map = RID.init)
3944 	{
3945 		checkClassBinding!(typeof(this))();
3946 		ptrcall!(void)(_classBinding.canvasItemAddNinePatch, _godot_object, item, rect, source, texture, topleft, bottomright, x_axis_mode, y_axis_mode, draw_center, modulate, normal_map);
3947 	}
3948 	/**
3949 	Adds a primitive to the $(D CanvasItem)'s draw commands.
3950 	*/
3951 	void canvasItemAddPrimitive(in RID item, in PoolVector2Array points, in PoolColorArray colors, in PoolVector2Array uvs, in RID texture, in double width = 1, in RID normal_map = RID.init)
3952 	{
3953 		checkClassBinding!(typeof(this))();
3954 		ptrcall!(void)(_classBinding.canvasItemAddPrimitive, _godot_object, item, points, colors, uvs, texture, width, normal_map);
3955 	}
3956 	/**
3957 	Adds a polygon to the $(D CanvasItem)'s draw commands.
3958 	*/
3959 	void canvasItemAddPolygon(in RID item, in PoolVector2Array points, in PoolColorArray colors, in PoolVector2Array uvs = PoolVector2Array.init, in RID texture = RID.init, in RID normal_map = RID.init, in bool antialiased = false)
3960 	{
3961 		checkClassBinding!(typeof(this))();
3962 		ptrcall!(void)(_classBinding.canvasItemAddPolygon, _godot_object, item, points, colors, uvs, texture, normal_map, antialiased);
3963 	}
3964 	/**
3965 	
3966 	*/
3967 	void canvasItemAddTriangleArray(in RID item, in PoolIntArray indices, in PoolVector2Array points, in PoolColorArray colors, in PoolVector2Array uvs = PoolVector2Array.init, in PoolIntArray bones = PoolIntArray.init, in PoolRealArray weights = PoolRealArray.init, in RID texture = RID.init, in long count = -1, in RID normal_map = RID.init)
3968 	{
3969 		checkClassBinding!(typeof(this))();
3970 		ptrcall!(void)(_classBinding.canvasItemAddTriangleArray, _godot_object, item, indices, points, colors, uvs, bones, weights, texture, count, normal_map);
3971 	}
3972 	/**
3973 	Adds a $(D Mesh) to the $(D CanvasItem)'s draw commands. Only affects its aabb at the moment.
3974 	*/
3975 	void canvasItemAddMesh(in RID item, in RID mesh, in RID texture, in RID normal_map = RID.init)
3976 	{
3977 		checkClassBinding!(typeof(this))();
3978 		ptrcall!(void)(_classBinding.canvasItemAddMesh, _godot_object, item, mesh, texture, normal_map);
3979 	}
3980 	/**
3981 	Adds a $(D MultiMesh) to the $(D CanvasItem)'s draw commands. Only affects its aabb at the moment.
3982 	*/
3983 	void canvasItemAddMultimesh(in RID item, in RID mesh, in RID texture, in RID normal_map = RID.init)
3984 	{
3985 		checkClassBinding!(typeof(this))();
3986 		ptrcall!(void)(_classBinding.canvasItemAddMultimesh, _godot_object, item, mesh, texture, normal_map);
3987 	}
3988 	/**
3989 	Adds a particles system to the $(D CanvasItem)'s draw commands.
3990 	*/
3991 	void canvasItemAddParticles(in RID item, in RID particles, in RID texture, in RID normal_map, in long h_frames, in long v_frames)
3992 	{
3993 		checkClassBinding!(typeof(this))();
3994 		ptrcall!(void)(_classBinding.canvasItemAddParticles, _godot_object, item, particles, texture, normal_map, h_frames, v_frames);
3995 	}
3996 	/**
3997 	Adds a $(D Transform2D) command to the $(D CanvasItem)'s draw commands.
3998 	This sets the extra_matrix uniform when executed. This affects the later commands of the canvas item.
3999 	*/
4000 	void canvasItemAddSetTransform(in RID item, in Transform2D transform)
4001 	{
4002 		checkClassBinding!(typeof(this))();
4003 		ptrcall!(void)(_classBinding.canvasItemAddSetTransform, _godot_object, item, transform);
4004 	}
4005 	/**
4006 	If ignore is `true`, the VisualServer does not perform clipping.
4007 	*/
4008 	void canvasItemAddClipIgnore(in RID item, in bool ignore)
4009 	{
4010 		checkClassBinding!(typeof(this))();
4011 		ptrcall!(void)(_classBinding.canvasItemAddClipIgnore, _godot_object, item, ignore);
4012 	}
4013 	/**
4014 	Sets if $(D CanvasItem)'s children should be sorted by y-position.
4015 	*/
4016 	void canvasItemSetSortChildrenByY(in RID item, in bool enabled)
4017 	{
4018 		checkClassBinding!(typeof(this))();
4019 		ptrcall!(void)(_classBinding.canvasItemSetSortChildrenByY, _godot_object, item, enabled);
4020 	}
4021 	/**
4022 	Sets the $(D CanvasItem)'s z-index, i.e. its draw order (lower indexes are drawn first).
4023 	*/
4024 	void canvasItemSetZIndex(in RID item, in long z_index)
4025 	{
4026 		checkClassBinding!(typeof(this))();
4027 		ptrcall!(void)(_classBinding.canvasItemSetZIndex, _godot_object, item, z_index);
4028 	}
4029 	/**
4030 	If this is enabled, the z-index of the parent will be added to the children's z-index.
4031 	*/
4032 	void canvasItemSetZAsRelativeToParent(in RID item, in bool enabled)
4033 	{
4034 		checkClassBinding!(typeof(this))();
4035 		ptrcall!(void)(_classBinding.canvasItemSetZAsRelativeToParent, _godot_object, item, enabled);
4036 	}
4037 	/**
4038 	Sets the $(D CanvasItem) to copy a rect to the backbuffer.
4039 	*/
4040 	void canvasItemSetCopyToBackbuffer(in RID item, in bool enabled, in Rect2 rect)
4041 	{
4042 		checkClassBinding!(typeof(this))();
4043 		ptrcall!(void)(_classBinding.canvasItemSetCopyToBackbuffer, _godot_object, item, enabled, rect);
4044 	}
4045 	/**
4046 	Clears the $(D CanvasItem) and removes all commands in it.
4047 	*/
4048 	void canvasItemClear(in RID item)
4049 	{
4050 		checkClassBinding!(typeof(this))();
4051 		ptrcall!(void)(_classBinding.canvasItemClear, _godot_object, item);
4052 	}
4053 	/**
4054 	Sets the index for the $(D CanvasItem).
4055 	*/
4056 	void canvasItemSetDrawIndex(in RID item, in long index)
4057 	{
4058 		checkClassBinding!(typeof(this))();
4059 		ptrcall!(void)(_classBinding.canvasItemSetDrawIndex, _godot_object, item, index);
4060 	}
4061 	/**
4062 	Sets a new material to the $(D CanvasItem).
4063 	*/
4064 	void canvasItemSetMaterial(in RID item, in RID material)
4065 	{
4066 		checkClassBinding!(typeof(this))();
4067 		ptrcall!(void)(_classBinding.canvasItemSetMaterial, _godot_object, item, material);
4068 	}
4069 	/**
4070 	Sets if the $(D CanvasItem) uses its parent's material.
4071 	*/
4072 	void canvasItemSetUseParentMaterial(in RID item, in bool enabled)
4073 	{
4074 		checkClassBinding!(typeof(this))();
4075 		ptrcall!(void)(_classBinding.canvasItemSetUseParentMaterial, _godot_object, item, enabled);
4076 	}
4077 	/**
4078 	Creates a canvas light.
4079 	*/
4080 	RID canvasLightCreate()
4081 	{
4082 		checkClassBinding!(typeof(this))();
4083 		return ptrcall!(RID)(_classBinding.canvasLightCreate, _godot_object);
4084 	}
4085 	/**
4086 	Attaches the canvas light to the canvas. Removes it from its previous canvas.
4087 	*/
4088 	void canvasLightAttachToCanvas(in RID light, in RID canvas)
4089 	{
4090 		checkClassBinding!(typeof(this))();
4091 		ptrcall!(void)(_classBinding.canvasLightAttachToCanvas, _godot_object, light, canvas);
4092 	}
4093 	/**
4094 	Enables or disables a canvas light.
4095 	*/
4096 	void canvasLightSetEnabled(in RID light, in bool enabled)
4097 	{
4098 		checkClassBinding!(typeof(this))();
4099 		ptrcall!(void)(_classBinding.canvasLightSetEnabled, _godot_object, light, enabled);
4100 	}
4101 	/**
4102 	
4103 	*/
4104 	void canvasLightSetScale(in RID light, in double scale)
4105 	{
4106 		checkClassBinding!(typeof(this))();
4107 		ptrcall!(void)(_classBinding.canvasLightSetScale, _godot_object, light, scale);
4108 	}
4109 	/**
4110 	Sets the canvas light's $(D Transform2D).
4111 	*/
4112 	void canvasLightSetTransform(in RID light, in Transform2D transform)
4113 	{
4114 		checkClassBinding!(typeof(this))();
4115 		ptrcall!(void)(_classBinding.canvasLightSetTransform, _godot_object, light, transform);
4116 	}
4117 	/**
4118 	
4119 	*/
4120 	void canvasLightSetTexture(in RID light, in RID texture)
4121 	{
4122 		checkClassBinding!(typeof(this))();
4123 		ptrcall!(void)(_classBinding.canvasLightSetTexture, _godot_object, light, texture);
4124 	}
4125 	/**
4126 	
4127 	*/
4128 	void canvasLightSetTextureOffset(in RID light, in Vector2 offset)
4129 	{
4130 		checkClassBinding!(typeof(this))();
4131 		ptrcall!(void)(_classBinding.canvasLightSetTextureOffset, _godot_object, light, offset);
4132 	}
4133 	/**
4134 	Sets the color for a light.
4135 	*/
4136 	void canvasLightSetColor(in RID light, in Color color)
4137 	{
4138 		checkClassBinding!(typeof(this))();
4139 		ptrcall!(void)(_classBinding.canvasLightSetColor, _godot_object, light, color);
4140 	}
4141 	/**
4142 	Sets a canvas light's height.
4143 	*/
4144 	void canvasLightSetHeight(in RID light, in double height)
4145 	{
4146 		checkClassBinding!(typeof(this))();
4147 		ptrcall!(void)(_classBinding.canvasLightSetHeight, _godot_object, light, height);
4148 	}
4149 	/**
4150 	Sets a canvas light's energy.
4151 	*/
4152 	void canvasLightSetEnergy(in RID light, in double energy)
4153 	{
4154 		checkClassBinding!(typeof(this))();
4155 		ptrcall!(void)(_classBinding.canvasLightSetEnergy, _godot_object, light, energy);
4156 	}
4157 	/**
4158 	
4159 	*/
4160 	void canvasLightSetZRange(in RID light, in long min_z, in long max_z)
4161 	{
4162 		checkClassBinding!(typeof(this))();
4163 		ptrcall!(void)(_classBinding.canvasLightSetZRange, _godot_object, light, min_z, max_z);
4164 	}
4165 	/**
4166 	The layer range that gets rendered with this light.
4167 	*/
4168 	void canvasLightSetLayerRange(in RID light, in long min_layer, in long max_layer)
4169 	{
4170 		checkClassBinding!(typeof(this))();
4171 		ptrcall!(void)(_classBinding.canvasLightSetLayerRange, _godot_object, light, min_layer, max_layer);
4172 	}
4173 	/**
4174 	The light mask. See $(D LightOccluder2D) for more information on light masks
4175 	*/
4176 	void canvasLightSetItemCullMask(in RID light, in long mask)
4177 	{
4178 		checkClassBinding!(typeof(this))();
4179 		ptrcall!(void)(_classBinding.canvasLightSetItemCullMask, _godot_object, light, mask);
4180 	}
4181 	/**
4182 	The shadow mask. binary about which layers this canvas light affects which canvas item's shadows. See $(D LightOccluder2D) for more information on light masks.
4183 	*/
4184 	void canvasLightSetItemShadowCullMask(in RID light, in long mask)
4185 	{
4186 		checkClassBinding!(typeof(this))();
4187 		ptrcall!(void)(_classBinding.canvasLightSetItemShadowCullMask, _godot_object, light, mask);
4188 	}
4189 	/**
4190 	The mode of the light, see CANVAS_LIGHT_MODE_* constants.
4191 	*/
4192 	void canvasLightSetMode(in RID light, in long mode)
4193 	{
4194 		checkClassBinding!(typeof(this))();
4195 		ptrcall!(void)(_classBinding.canvasLightSetMode, _godot_object, light, mode);
4196 	}
4197 	/**
4198 	Enables or disables the canvas light's shadow.
4199 	*/
4200 	void canvasLightSetShadowEnabled(in RID light, in bool enabled)
4201 	{
4202 		checkClassBinding!(typeof(this))();
4203 		ptrcall!(void)(_classBinding.canvasLightSetShadowEnabled, _godot_object, light, enabled);
4204 	}
4205 	/**
4206 	Sets the width of the shadow buffer, size gets scaled to the next power of two for this.
4207 	*/
4208 	void canvasLightSetShadowBufferSize(in RID light, in long size)
4209 	{
4210 		checkClassBinding!(typeof(this))();
4211 		ptrcall!(void)(_classBinding.canvasLightSetShadowBufferSize, _godot_object, light, size);
4212 	}
4213 	/**
4214 	Sets the length of the shadow's gradient.
4215 	*/
4216 	void canvasLightSetShadowGradientLength(in RID light, in double length)
4217 	{
4218 		checkClassBinding!(typeof(this))();
4219 		ptrcall!(void)(_classBinding.canvasLightSetShadowGradientLength, _godot_object, light, length);
4220 	}
4221 	/**
4222 	Sets the canvas light's shadow's filter, see CANVAS_LIGHT_SHADOW_FILTER_* constants.
4223 	*/
4224 	void canvasLightSetShadowFilter(in RID light, in long filter)
4225 	{
4226 		checkClassBinding!(typeof(this))();
4227 		ptrcall!(void)(_classBinding.canvasLightSetShadowFilter, _godot_object, light, filter);
4228 	}
4229 	/**
4230 	Sets the color of the canvas light's shadow.
4231 	*/
4232 	void canvasLightSetShadowColor(in RID light, in Color color)
4233 	{
4234 		checkClassBinding!(typeof(this))();
4235 		ptrcall!(void)(_classBinding.canvasLightSetShadowColor, _godot_object, light, color);
4236 	}
4237 	/**
4238 	Smoothens the shadow. The lower, the more smooth.
4239 	*/
4240 	void canvasLightSetShadowSmooth(in RID light, in double smooth)
4241 	{
4242 		checkClassBinding!(typeof(this))();
4243 		ptrcall!(void)(_classBinding.canvasLightSetShadowSmooth, _godot_object, light, smooth);
4244 	}
4245 	/**
4246 	Creates a light occluder.
4247 	*/
4248 	RID canvasLightOccluderCreate()
4249 	{
4250 		checkClassBinding!(typeof(this))();
4251 		return ptrcall!(RID)(_classBinding.canvasLightOccluderCreate, _godot_object);
4252 	}
4253 	/**
4254 	Attaches a light occluder to the canvas. Removes it from its previous canvas.
4255 	*/
4256 	void canvasLightOccluderAttachToCanvas(in RID occluder, in RID canvas)
4257 	{
4258 		checkClassBinding!(typeof(this))();
4259 		ptrcall!(void)(_classBinding.canvasLightOccluderAttachToCanvas, _godot_object, occluder, canvas);
4260 	}
4261 	/**
4262 	Enables or disables light occluder.
4263 	*/
4264 	void canvasLightOccluderSetEnabled(in RID occluder, in bool enabled)
4265 	{
4266 		checkClassBinding!(typeof(this))();
4267 		ptrcall!(void)(_classBinding.canvasLightOccluderSetEnabled, _godot_object, occluder, enabled);
4268 	}
4269 	/**
4270 	Sets a light occluder's polygon.
4271 	*/
4272 	void canvasLightOccluderSetPolygon(in RID occluder, in RID polygon)
4273 	{
4274 		checkClassBinding!(typeof(this))();
4275 		ptrcall!(void)(_classBinding.canvasLightOccluderSetPolygon, _godot_object, occluder, polygon);
4276 	}
4277 	/**
4278 	Sets a light occluder's $(D Transform2D).
4279 	*/
4280 	void canvasLightOccluderSetTransform(in RID occluder, in Transform2D transform)
4281 	{
4282 		checkClassBinding!(typeof(this))();
4283 		ptrcall!(void)(_classBinding.canvasLightOccluderSetTransform, _godot_object, occluder, transform);
4284 	}
4285 	/**
4286 	The light mask. See $(D LightOccluder2D) for more information on light masks
4287 	*/
4288 	void canvasLightOccluderSetLightMask(in RID occluder, in long mask)
4289 	{
4290 		checkClassBinding!(typeof(this))();
4291 		ptrcall!(void)(_classBinding.canvasLightOccluderSetLightMask, _godot_object, occluder, mask);
4292 	}
4293 	/**
4294 	Creates a new light occluder polygon.
4295 	*/
4296 	RID canvasOccluderPolygonCreate()
4297 	{
4298 		checkClassBinding!(typeof(this))();
4299 		return ptrcall!(RID)(_classBinding.canvasOccluderPolygonCreate, _godot_object);
4300 	}
4301 	/**
4302 	Sets the shape of the occluder polygon.
4303 	*/
4304 	void canvasOccluderPolygonSetShape(in RID occluder_polygon, in PoolVector2Array shape, in bool closed)
4305 	{
4306 		checkClassBinding!(typeof(this))();
4307 		ptrcall!(void)(_classBinding.canvasOccluderPolygonSetShape, _godot_object, occluder_polygon, shape, closed);
4308 	}
4309 	/**
4310 	Sets the shape of the occluder polygon as lines.
4311 	*/
4312 	void canvasOccluderPolygonSetShapeAsLines(in RID occluder_polygon, in PoolVector2Array shape)
4313 	{
4314 		checkClassBinding!(typeof(this))();
4315 		ptrcall!(void)(_classBinding.canvasOccluderPolygonSetShapeAsLines, _godot_object, occluder_polygon, shape);
4316 	}
4317 	/**
4318 	Sets an occluder polygons cull mode. See CANVAS_OCCLUDER_POLYGON_CULL_MODE_* constants.
4319 	*/
4320 	void canvasOccluderPolygonSetCullMode(in RID occluder_polygon, in long mode)
4321 	{
4322 		checkClassBinding!(typeof(this))();
4323 		ptrcall!(void)(_classBinding.canvasOccluderPolygonSetCullMode, _godot_object, occluder_polygon, mode);
4324 	}
4325 	/**
4326 	Sets margin size, where black bars (or images, if $(D blackBarsSetImages) was used) are rendered.
4327 	*/
4328 	void blackBarsSetMargins(in long left, in long top, in long right, in long bottom)
4329 	{
4330 		checkClassBinding!(typeof(this))();
4331 		ptrcall!(void)(_classBinding.blackBarsSetMargins, _godot_object, left, top, right, bottom);
4332 	}
4333 	/**
4334 	Sets images to be rendered in the window margin.
4335 	*/
4336 	void blackBarsSetImages(in RID left, in RID top, in RID right, in RID bottom)
4337 	{
4338 		checkClassBinding!(typeof(this))();
4339 		ptrcall!(void)(_classBinding.blackBarsSetImages, _godot_object, left, top, right, bottom);
4340 	}
4341 	/**
4342 	Tries to free an object in the VisualServer.
4343 	*/
4344 	void freeRid(in RID rid)
4345 	{
4346 		checkClassBinding!(typeof(this))();
4347 		ptrcall!(void)(_classBinding.freeRid, _godot_object, rid);
4348 	}
4349 	/**
4350 	Schedules a callback to the corresponding named 'method' on 'where' after a frame has been drawn.
4351 	The callback method must use only 1 argument which will be called with 'userdata'.
4352 	*/
4353 	void requestFrameDrawnCallback(StringArg1, VariantArg2)(GodotObject where, in StringArg1 method, in VariantArg2 userdata)
4354 	{
4355 		checkClassBinding!(typeof(this))();
4356 		ptrcall!(void)(_classBinding.requestFrameDrawnCallback, _godot_object, where, method, userdata);
4357 	}
4358 	/**
4359 	Returns `true` if changes have been made to the VisualServer's data. $(D draw) is usually called if this happens.
4360 	*/
4361 	bool hasChanged() const
4362 	{
4363 		checkClassBinding!(typeof(this))();
4364 		return ptrcall!(bool)(_classBinding.hasChanged, _godot_object);
4365 	}
4366 	/**
4367 	Initializes the visual server.
4368 	*/
4369 	void _init()
4370 	{
4371 		checkClassBinding!(typeof(this))();
4372 		ptrcall!(void)(_classBinding._init, _godot_object);
4373 	}
4374 	/**
4375 	Removes buffers and clears testcubes.
4376 	*/
4377 	void finish()
4378 	{
4379 		checkClassBinding!(typeof(this))();
4380 		ptrcall!(void)(_classBinding.finish, _godot_object);
4381 	}
4382 	/**
4383 	Returns a certain information, see RENDER_INFO_* for options.
4384 	*/
4385 	long getRenderInfo(in long info)
4386 	{
4387 		checkClassBinding!(typeof(this))();
4388 		return ptrcall!(long)(_classBinding.getRenderInfo, _godot_object, info);
4389 	}
4390 	/**
4391 	Returns a mesh of a sphere with the given amount of horizontal and vertical subdivisions.
4392 	*/
4393 	RID makeSphereMesh(in long latitudes, in long longitudes, in double radius)
4394 	{
4395 		checkClassBinding!(typeof(this))();
4396 		return ptrcall!(RID)(_classBinding.makeSphereMesh, _godot_object, latitudes, longitudes, radius);
4397 	}
4398 	/**
4399 	Returns the id of the test cube. Creates one if none exists.
4400 	*/
4401 	RID getTestCube()
4402 	{
4403 		checkClassBinding!(typeof(this))();
4404 		return ptrcall!(RID)(_classBinding.getTestCube, _godot_object);
4405 	}
4406 	/**
4407 	Returns the id of the test texture. Creates one if none exists.
4408 	*/
4409 	RID getTestTexture()
4410 	{
4411 		checkClassBinding!(typeof(this))();
4412 		return ptrcall!(RID)(_classBinding.getTestTexture, _godot_object);
4413 	}
4414 	/**
4415 	Returns the id of a white texture. Creates one if none exists.
4416 	*/
4417 	RID getWhiteTexture()
4418 	{
4419 		checkClassBinding!(typeof(this))();
4420 		return ptrcall!(RID)(_classBinding.getWhiteTexture, _godot_object);
4421 	}
4422 	/**
4423 	Sets a boot image. The color defines the background color and if scale is `true` the image will be scaled to fit the screen size.
4424 	*/
4425 	void setBootImage(Image image, in Color color, in bool scale)
4426 	{
4427 		checkClassBinding!(typeof(this))();
4428 		ptrcall!(void)(_classBinding.setBootImage, _godot_object, image, color, scale);
4429 	}
4430 	/**
4431 	
4432 	*/
4433 	void setDefaultClearColor(in Color color)
4434 	{
4435 		checkClassBinding!(typeof(this))();
4436 		ptrcall!(void)(_classBinding.setDefaultClearColor, _godot_object, color);
4437 	}
4438 	/**
4439 	
4440 	*/
4441 	bool hasFeature(in long feature) const
4442 	{
4443 		checkClassBinding!(typeof(this))();
4444 		return ptrcall!(bool)(_classBinding.hasFeature, _godot_object, feature);
4445 	}
4446 	/**
4447 	Returns `true` if the OS supports a certain feature. Features might be s3tc, etc, etc2 and pvrtc,
4448 	*/
4449 	bool hasOsFeature(StringArg0)(in StringArg0 feature) const
4450 	{
4451 		checkClassBinding!(typeof(this))();
4452 		return ptrcall!(bool)(_classBinding.hasOsFeature, _godot_object, feature);
4453 	}
4454 	/**
4455 	
4456 	*/
4457 	void setDebugGenerateWireframes(in bool generate)
4458 	{
4459 		checkClassBinding!(typeof(this))();
4460 		ptrcall!(void)(_classBinding.setDebugGenerateWireframes, _godot_object, generate);
4461 	}
4462 }
4463 /// Returns: the VisualServerSingleton
4464 @property @nogc nothrow pragma(inline, true)
4465 VisualServerSingleton VisualServer()
4466 {
4467 	checkClassBinding!VisualServerSingleton();
4468 	return VisualServerSingleton(VisualServerSingleton._classBinding._singleton);
4469 }