:github_url: hide .. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the VisualServer.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_VisualServer: VisualServer ============ **Inherits:** :ref:`Object` Server for anything visible. Description ----------- Server for anything visible. The visual server is the API backend for everything visible. The whole scene system mounts on it to display. The visual server is completely opaque, the internals are entirely implementation specific and cannot be accessed. The visual server can be used to bypass the scene system entirely. Resources are created using the ``*_create`` functions. All objects are drawn to a viewport. You can use the :ref:`Viewport` attached to the :ref:`SceneTree` or you can create one yourself with :ref:`viewport_create`. When using a custom scenario or canvas, the scenario or canvas needs to be attached to the viewport using :ref:`viewport_set_scenario` or :ref:`viewport_attach_canvas`. In 3D, all visual objects must be associated with a scenario. The scenario is a visual representation of the world. If accessing the visual server from a running game, the scenario can be accessed from the scene tree from any :ref:`Spatial` node with :ref:`Spatial.get_world`. Otherwise, a scenario can be created with :ref:`scenario_create`. Similarly in 2D, a canvas is needed to draw all canvas items. In 3D, all visible objects are comprised of a resource and an instance. A resource can be a mesh, a particle system, a light, or any other 3D object. In order to be visible resources must be attached to an instance using :ref:`instance_set_base`. The instance must also be attached to the scenario using :ref:`instance_set_scenario` in order to be visible. In 2D, all visible objects are some form of canvas item. In order to be visible, a canvas item needs to be the child of a canvas attached to a viewport, or it needs to be the child of another canvas item that is eventually attached to the canvas. Tutorials --------- - :doc:`../tutorials/performance/using_servers` Methods ------- +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`black_bars_set_images` **(** :ref:`RID` left, :ref:`RID` top, :ref:`RID` right, :ref:`RID` bottom **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`black_bars_set_margins` **(** :ref:`int` left, :ref:`int` top, :ref:`int` right, :ref:`int` bottom **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`camera_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_cull_mask` **(** :ref:`RID` camera, :ref:`int` layers **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_environment` **(** :ref:`RID` camera, :ref:`RID` env **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_frustum` **(** :ref:`RID` camera, :ref:`float` size, :ref:`Vector2` offset, :ref:`float` z_near, :ref:`float` z_far **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_orthogonal` **(** :ref:`RID` camera, :ref:`float` size, :ref:`float` z_near, :ref:`float` z_far **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_perspective` **(** :ref:`RID` camera, :ref:`float` fovy_degrees, :ref:`float` z_near, :ref:`float` z_far **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_transform` **(** :ref:`RID` camera, :ref:`Transform` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_use_vertical_aspect` **(** :ref:`RID` camera, :ref:`bool` enable **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`canvas_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_item_clear` **(** :ref:`RID` item **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_item_set_copy_to_backbuffer` **(** :ref:`RID` item, :ref:`bool` enabled, :ref:`Rect2` rect **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_item_set_draw_index` **(** :ref:`RID` item, :ref:`int` index **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_item_set_material` **(** :ref:`RID` item, :ref:`RID` material **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_item_set_use_parent_material` **(** :ref:`RID` item, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_item_set_z_as_relative_to_parent` **(** :ref:`RID` item, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_item_set_z_index` **(** :ref:`RID` item, :ref:`int` z_index **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_attach_to_canvas` **(** :ref:`RID` light, :ref:`RID` canvas **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`canvas_light_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_occluder_attach_to_canvas` **(** :ref:`RID` occluder, :ref:`RID` canvas **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`canvas_light_occluder_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_occluder_set_enabled` **(** :ref:`RID` occluder, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_occluder_set_light_mask` **(** :ref:`RID` occluder, :ref:`int` mask **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_occluder_set_polygon` **(** :ref:`RID` occluder, :ref:`RID` polygon **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_occluder_set_transform` **(** :ref:`RID` occluder, :ref:`Transform2D` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_color` **(** :ref:`RID` light, :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_enabled` **(** :ref:`RID` light, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_energy` **(** :ref:`RID` light, :ref:`float` energy **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_height` **(** :ref:`RID` light, :ref:`float` height **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_item_cull_mask` **(** :ref:`RID` light, :ref:`int` mask **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_item_shadow_cull_mask` **(** :ref:`RID` light, :ref:`int` mask **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_layer_range` **(** :ref:`RID` light, :ref:`int` min_layer, :ref:`int` max_layer **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_mode` **(** :ref:`RID` light, :ref:`CanvasLightMode` mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_scale` **(** :ref:`RID` light, :ref:`float` scale **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_shadow_buffer_size` **(** :ref:`RID` light, :ref:`int` size **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_shadow_color` **(** :ref:`RID` light, :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_shadow_enabled` **(** :ref:`RID` light, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_shadow_filter` **(** :ref:`RID` light, :ref:`CanvasLightShadowFilter` filter **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_shadow_smooth` **(** :ref:`RID` light, :ref:`float` smooth **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_texture` **(** :ref:`RID` light, :ref:`RID` texture **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_texture_offset` **(** :ref:`RID` light, :ref:`Vector2` offset **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_transform` **(** :ref:`RID` light, :ref:`Transform2D` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_light_set_z_range` **(** :ref:`RID` light, :ref:`int` min_z, :ref:`int` max_z **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`canvas_occluder_polygon_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_occluder_polygon_set_cull_mode` **(** :ref:`RID` occluder_polygon, :ref:`CanvasOccluderPolygonCullMode` mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_occluder_polygon_set_shape` **(** :ref:`RID` occluder_polygon, :ref:`PackedVector2Array` shape, :ref:`bool` closed **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_occluder_polygon_set_shape_as_lines` **(** :ref:`RID` occluder_polygon, :ref:`PackedVector2Array` shape **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_set_item_mirroring` **(** :ref:`RID` canvas, :ref:`RID` item, :ref:`Vector2` mirroring **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`canvas_set_modulate` **(** :ref:`RID` canvas, :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`directional_light_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`environment_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_adjustment` **(** :ref:`RID` env, :ref:`bool` enable, :ref:`float` brightness, :ref:`float` contrast, :ref:`float` saturation, :ref:`RID` ramp **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_ambient_light` **(** :ref:`RID` env, :ref:`Color` color, :ref:`EnvironmentAmbientSource` ambient=0, :ref:`float` energy=1.0, :ref:`float` sky_contibution=0.0, :ref:`EnvironmentReflectionSource` reflection_source=0, :ref:`Color` ao_color=Color( 0, 0, 0, 1 ) **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_background` **(** :ref:`RID` env, :ref:`EnvironmentBG` bg **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_bg_color` **(** :ref:`RID` env, :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_bg_energy` **(** :ref:`RID` env, :ref:`float` energy **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_canvas_max_layer` **(** :ref:`RID` env, :ref:`int` max_layer **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_fog` **(** :ref:`RID` env, :ref:`bool` enable, :ref:`Color` color, :ref:`Color` sun_color, :ref:`float` sun_amount **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_fog_depth` **(** :ref:`RID` env, :ref:`bool` enable, :ref:`float` depth_begin, :ref:`float` depth_end, :ref:`float` depth_curve, :ref:`bool` transmit, :ref:`float` transmit_curve **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_fog_height` **(** :ref:`RID` env, :ref:`bool` enable, :ref:`float` min_height, :ref:`float` max_height, :ref:`float` height_curve **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_glow` **(** :ref:`RID` env, :ref:`bool` enable, :ref:`int` level_flags, :ref:`float` intensity, :ref:`float` strength, :ref:`float` mix, :ref:`float` bloom_threshold, :ref:`EnvironmentGlowBlendMode` blend_mode, :ref:`float` hdr_bleed_threshold, :ref:`float` hdr_bleed_scale, :ref:`float` hdr_luminance_cap, :ref:`bool` bicubic_upscale **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_sky` **(** :ref:`RID` env, :ref:`RID` sky **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_sky_custom_fov` **(** :ref:`RID` env, :ref:`float` scale **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_sky_orientation` **(** :ref:`RID` env, :ref:`Basis` orientation **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_ssao` **(** :ref:`RID` env, :ref:`bool` enable, :ref:`float` radius, :ref:`float` intensity, :ref:`float` bias, :ref:`float` light_affect, :ref:`float` ao_channel_affect, :ref:`EnvironmentSSAOBlur` blur, :ref:`float` bilateral_sharpness **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_ssr` **(** :ref:`RID` env, :ref:`bool` enable, :ref:`int` max_steps, :ref:`float` fade_in, :ref:`float` fade_out, :ref:`float` depth_tolerance, :ref:`bool` roughness **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`environment_set_tonemap` **(** :ref:`RID` env, :ref:`EnvironmentToneMapper` tone_mapper, :ref:`float` exposure, :ref:`float` white, :ref:`bool` auto_exposure, :ref:`float` min_luminance, :ref:`float` max_luminance, :ref:`float` auto_exp_speed, :ref:`float` auto_exp_grey **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`finish` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`force_draw` **(** :ref:`bool` swap_buffers=true, :ref:`float` frame_step=0.0 **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`force_sync` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`free_rid` **(** :ref:`RID` rid **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_render_info` **(** :ref:`RenderInfo` info **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_test_cube` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_test_texture` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_video_adapter_name` **(** **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_video_adapter_vendor` **(** **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_white_texture` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_changed` **(** **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_feature` **(** :ref:`Features` feature **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_os_feature` **(** :ref:`String` feature **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_begin` **(** :ref:`RID` immediate, :ref:`PrimitiveType` primitive, :ref:`RID` texture **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_clear` **(** :ref:`RID` immediate **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_color` **(** :ref:`RID` immediate, :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`immediate_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_end` **(** :ref:`RID` immediate **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`immediate_get_material` **(** :ref:`RID` immediate **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_normal` **(** :ref:`RID` immediate, :ref:`Vector3` normal **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_set_material` **(** :ref:`RID` immediate, :ref:`RID` material **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_tangent` **(** :ref:`RID` immediate, :ref:`Plane` tangent **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_uv` **(** :ref:`RID` immediate, :ref:`Vector2` tex_uv **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_uv2` **(** :ref:`RID` immediate, :ref:`Vector2` tex_uv **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_vertex` **(** :ref:`RID` immediate, :ref:`Vector3` vertex **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`immediate_vertex_2d` **(** :ref:`RID` immediate, :ref:`Vector2` vertex **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`init` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_attach_object_instance_id` **(** :ref:`RID` instance, :ref:`int` id **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_attach_skeleton` **(** :ref:`RID` instance, :ref:`RID` skeleton **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`instance_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`instance_create2` **(** :ref:`RID` base, :ref:`RID` scenario **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_geometry_set_as_instance_lod` **(** :ref:`RID` instance, :ref:`RID` as_lod_of_instance **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_geometry_set_cast_shadows_setting` **(** :ref:`RID` instance, :ref:`ShadowCastingSetting` shadow_casting_setting **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_geometry_set_draw_range` **(** :ref:`RID` instance, :ref:`float` min, :ref:`float` max, :ref:`float` min_margin, :ref:`float` max_margin **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_geometry_set_flag` **(** :ref:`RID` instance, :ref:`InstanceFlags` flag, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_geometry_set_material_override` **(** :ref:`RID` instance, :ref:`RID` material **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_base` **(** :ref:`RID` instance, :ref:`RID` base **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_blend_shape_weight` **(** :ref:`RID` instance, :ref:`int` shape, :ref:`float` weight **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_custom_aabb` **(** :ref:`RID` instance, :ref:`AABB` aabb **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_exterior` **(** :ref:`RID` instance, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_extra_visibility_margin` **(** :ref:`RID` instance, :ref:`float` margin **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_layer_mask` **(** :ref:`RID` instance, :ref:`int` mask **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_scenario` **(** :ref:`RID` instance, :ref:`RID` scenario **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_surface_material` **(** :ref:`RID` instance, :ref:`int` surface, :ref:`RID` material **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_transform` **(** :ref:`RID` instance, :ref:`Transform` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_use_lightmap` **(** :ref:`RID` instance, :ref:`RID` lightmap_instance, :ref:`RID` lightmap **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_visible` **(** :ref:`RID` instance, :ref:`bool` visible **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`instances_cull_aabb` **(** :ref:`AABB` aabb, :ref:`RID` scenario **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`instances_cull_convex` **(** :ref:`Array` convex, :ref:`RID` scenario **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`instances_cull_ray` **(** :ref:`Vector3` from, :ref:`Vector3` to, :ref:`RID` scenario **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_directional_set_blend_splits` **(** :ref:`RID` light, :ref:`bool` enable **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_directional_set_shadow_depth_range_mode` **(** :ref:`RID` light, :ref:`LightDirectionalShadowDepthRangeMode` range_mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_directional_set_shadow_mode` **(** :ref:`RID` light, :ref:`LightDirectionalShadowMode` mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_omni_set_shadow_mode` **(** :ref:`RID` light, :ref:`LightOmniShadowMode` mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_set_color` **(** :ref:`RID` light, :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_set_cull_mask` **(** :ref:`RID` light, :ref:`int` mask **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_set_negative` **(** :ref:`RID` light, :ref:`bool` enable **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_set_param` **(** :ref:`RID` light, :ref:`LightParam` param, :ref:`float` value **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_set_projector` **(** :ref:`RID` light, :ref:`RID` texture **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_set_reverse_cull_face_mode` **(** :ref:`RID` light, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_set_shadow` **(** :ref:`RID` light, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_set_shadow_color` **(** :ref:`RID` light, :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`light_set_use_gi` **(** :ref:`RID` light, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`lightmap_capture_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`lightmap_capture_get_bounds` **(** :ref:`RID` capture **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`lightmap_capture_get_energy` **(** :ref:`RID` capture **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedByteArray` | :ref:`lightmap_capture_get_octree` **(** :ref:`RID` capture **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`lightmap_capture_get_octree_cell_subdiv` **(** :ref:`RID` capture **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform` | :ref:`lightmap_capture_get_octree_cell_transform` **(** :ref:`RID` capture **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`lightmap_capture_set_bounds` **(** :ref:`RID` capture, :ref:`AABB` bounds **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`lightmap_capture_set_energy` **(** :ref:`RID` capture, :ref:`float` energy **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`lightmap_capture_set_octree` **(** :ref:`RID` capture, :ref:`PackedByteArray` octree **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`lightmap_capture_set_octree_cell_subdiv` **(** :ref:`RID` capture, :ref:`int` subdiv **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`lightmap_capture_set_octree_cell_transform` **(** :ref:`RID` capture, :ref:`Transform` xform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`make_sphere_mesh` **(** :ref:`int` latitudes, :ref:`int` longitudes, :ref:`float` radius **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`material_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`material_get_param` **(** :ref:`RID` material, :ref:`StringName` parameter **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`material_set_next_pass` **(** :ref:`RID` material, :ref:`RID` next_material **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`material_set_param` **(** :ref:`RID` material, :ref:`StringName` parameter, :ref:`Variant` value **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`material_set_render_priority` **(** :ref:`RID` material, :ref:`int` priority **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`material_set_shader` **(** :ref:`RID` shader_material, :ref:`RID` shader **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`mesh_add_surface_from_arrays` **(** :ref:`RID` mesh, :ref:`PrimitiveType` primitive, :ref:`Array` arrays, :ref:`Array` blend_shapes=[ ], :ref:`Dictionary` lods={ }, :ref:`int` compress_format=31744 **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`mesh_clear` **(** :ref:`RID` mesh **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`mesh_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`mesh_get_blend_shape_count` **(** :ref:`RID` mesh **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`BlendShapeMode` | :ref:`mesh_get_blend_shape_mode` **(** :ref:`RID` mesh **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`mesh_get_custom_aabb` **(** :ref:`RID` mesh **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`mesh_get_surface_count` **(** :ref:`RID` mesh **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`mesh_set_blend_shape_mode` **(** :ref:`RID` mesh, :ref:`BlendShapeMode` mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`mesh_set_custom_aabb` **(** :ref:`RID` mesh, :ref:`AABB` aabb **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`mesh_surface_get_arrays` **(** :ref:`RID` mesh, :ref:`int` surface **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`mesh_surface_get_blend_shape_arrays` **(** :ref:`RID` mesh, :ref:`int` surface **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`mesh_surface_get_format_offset` **(** :ref:`int` format, :ref:`int` vertex_len, :ref:`int` index_len, :ref:`int` array_index **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`mesh_surface_get_format_stride` **(** :ref:`int` format, :ref:`int` vertex_len, :ref:`int` index_len **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`mesh_surface_get_material` **(** :ref:`RID` mesh, :ref:`int` surface **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`mesh_surface_set_material` **(** :ref:`RID` mesh, :ref:`int` surface, :ref:`RID` material **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`mesh_surface_update_region` **(** :ref:`RID` mesh, :ref:`int` surface, :ref:`int` offset, :ref:`PackedByteArray` data **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_allocate` **(** :ref:`RID` multimesh, :ref:`int` instances, :ref:`MultimeshTransformFormat` transform_format, :ref:`bool` color_format=false, :ref:`bool` custom_data_format=false **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`multimesh_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`multimesh_get_aabb` **(** :ref:`RID` multimesh **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedFloat32Array` | :ref:`multimesh_get_buffer` **(** :ref:`RID` multimesh **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`multimesh_get_instance_count` **(** :ref:`RID` multimesh **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`multimesh_get_mesh` **(** :ref:`RID` multimesh **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`multimesh_get_visible_instances` **(** :ref:`RID` multimesh **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`multimesh_instance_get_color` **(** :ref:`RID` multimesh, :ref:`int` index **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`multimesh_instance_get_custom_data` **(** :ref:`RID` multimesh, :ref:`int` index **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform` | :ref:`multimesh_instance_get_transform` **(** :ref:`RID` multimesh, :ref:`int` index **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform2D` | :ref:`multimesh_instance_get_transform_2d` **(** :ref:`RID` multimesh, :ref:`int` index **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_instance_set_color` **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_instance_set_custom_data` **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Color` custom_data **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_instance_set_transform` **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Transform` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_instance_set_transform_2d` **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Transform2D` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_set_buffer` **(** :ref:`RID` multimesh, :ref:`PackedFloat32Array` buffer **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_set_mesh` **(** :ref:`RID` multimesh, :ref:`RID` mesh **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_set_visible_instances` **(** :ref:`RID` multimesh, :ref:`int` visible **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`omni_light_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`particles_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`particles_get_current_aabb` **(** :ref:`RID` particles **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`particles_get_emitting` **(** :ref:`RID` particles **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`particles_is_inactive` **(** :ref:`RID` particles **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_request_process` **(** :ref:`RID` particles **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_restart` **(** :ref:`RID` particles **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_amount` **(** :ref:`RID` particles, :ref:`int` amount **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_custom_aabb` **(** :ref:`RID` particles, :ref:`AABB` aabb **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_draw_order` **(** :ref:`RID` particles, :ref:`ParticlesDrawOrder` order **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_draw_pass_mesh` **(** :ref:`RID` particles, :ref:`int` pass, :ref:`RID` mesh **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_draw_passes` **(** :ref:`RID` particles, :ref:`int` count **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_emission_transform` **(** :ref:`RID` particles, :ref:`Transform` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_emitting` **(** :ref:`RID` particles, :ref:`bool` emitting **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_explosiveness_ratio` **(** :ref:`RID` particles, :ref:`float` ratio **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_fixed_fps` **(** :ref:`RID` particles, :ref:`int` fps **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_fractional_delta` **(** :ref:`RID` particles, :ref:`bool` enable **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_lifetime` **(** :ref:`RID` particles, :ref:`float` lifetime **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_one_shot` **(** :ref:`RID` particles, :ref:`bool` one_shot **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_pre_process_time` **(** :ref:`RID` particles, :ref:`float` time **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_process_material` **(** :ref:`RID` particles, :ref:`RID` material **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_randomness_ratio` **(** :ref:`RID` particles, :ref:`float` ratio **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_speed_scale` **(** :ref:`RID` particles, :ref:`float` scale **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`particles_set_use_local_coordinates` **(** :ref:`RID` particles, :ref:`bool` enable **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`reflection_probe_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_as_interior` **(** :ref:`RID` probe, :ref:`bool` enable **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_cull_mask` **(** :ref:`RID` probe, :ref:`int` layers **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_enable_box_projection` **(** :ref:`RID` probe, :ref:`bool` enable **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_enable_shadows` **(** :ref:`RID` probe, :ref:`bool` enable **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_extents` **(** :ref:`RID` probe, :ref:`Vector3` extents **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_intensity` **(** :ref:`RID` probe, :ref:`float` intensity **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_interior_ambient` **(** :ref:`RID` probe, :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_interior_ambient_energy` **(** :ref:`RID` probe, :ref:`float` energy **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_interior_ambient_probe_contribution` **(** :ref:`RID` probe, :ref:`float` contrib **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_max_distance` **(** :ref:`RID` probe, :ref:`float` distance **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_origin_offset` **(** :ref:`RID` probe, :ref:`Vector3` offset **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_update_mode` **(** :ref:`RID` probe, :ref:`ReflectionProbeUpdateMode` mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`request_frame_drawn_callback` **(** :ref:`Object` where, :ref:`StringName` method, :ref:`Variant` userdata **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`scenario_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`scenario_set_debug` **(** :ref:`RID` scenario, :ref:`ScenarioDebugMode` debug_mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`scenario_set_environment` **(** :ref:`RID` scenario, :ref:`RID` environment **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`scenario_set_fallback_environment` **(** :ref:`RID` scenario, :ref:`RID` environment **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_boot_image` **(** :ref:`Image` image, :ref:`Color` color, :ref:`bool` scale, :ref:`bool` use_filter=true **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_debug_generate_wireframes` **(** :ref:`bool` generate **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_default_clear_color` **(** :ref:`Color` color **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`shader_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`shader_get_code` **(** :ref:`RID` shader **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`shader_get_default_texture_param` **(** :ref:`RID` shader, :ref:`StringName` name **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`shader_get_param_default` **(** :ref:`RID` material, :ref:`StringName` parameter **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`shader_get_param_list` **(** :ref:`RID` shader **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`shader_set_code` **(** :ref:`RID` shader, :ref:`String` code **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`shader_set_default_texture_param` **(** :ref:`RID` shader, :ref:`StringName` name, :ref:`RID` texture **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`skeleton_allocate` **(** :ref:`RID` skeleton, :ref:`int` bones, :ref:`bool` is_2d_skeleton=false **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform` | :ref:`skeleton_bone_get_transform` **(** :ref:`RID` skeleton, :ref:`int` bone **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform2D` | :ref:`skeleton_bone_get_transform_2d` **(** :ref:`RID` skeleton, :ref:`int` bone **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`skeleton_bone_set_transform` **(** :ref:`RID` skeleton, :ref:`int` bone, :ref:`Transform` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`skeleton_bone_set_transform_2d` **(** :ref:`RID` skeleton, :ref:`int` bone, :ref:`Transform2D` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`skeleton_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`skeleton_get_bone_count` **(** :ref:`RID` skeleton **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`sky_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`sky_set_material` **(** :ref:`RID` sky, :ref:`RID` material **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`spot_light_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`texture_2d_create` **(** :ref:`Image` image **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Image` | :ref:`texture_2d_get` **(** :ref:`RID` texture **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_attach_camera` **(** :ref:`RID` viewport, :ref:`RID` camera **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_attach_canvas` **(** :ref:`RID` viewport, :ref:`RID` canvas **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_attach_to_screen` **(** :ref:`RID` viewport, :ref:`Rect2` rect=Rect2( 0, 0, 0, 0 ), :ref:`int` screen=0 **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`viewport_create` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_detach` **(** :ref:`RID` viewport **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`viewport_get_render_info` **(** :ref:`RID` viewport, :ref:`ViewportRenderInfo` info **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`viewport_get_texture` **(** :ref:`RID` viewport **)** const | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_remove_canvas` **(** :ref:`RID` viewport, :ref:`RID` canvas **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_active` **(** :ref:`RID` viewport, :ref:`bool` active **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_canvas_stacking` **(** :ref:`RID` viewport, :ref:`RID` canvas, :ref:`int` layer, :ref:`int` sublayer **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_canvas_transform` **(** :ref:`RID` viewport, :ref:`RID` canvas, :ref:`Transform2D` offset **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_clear_mode` **(** :ref:`RID` viewport, :ref:`ViewportClearMode` clear_mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_debug_draw` **(** :ref:`RID` viewport, :ref:`ViewportDebugDraw` draw **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_disable_environment` **(** :ref:`RID` viewport, :ref:`bool` disabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_global_canvas_transform` **(** :ref:`RID` viewport, :ref:`Transform2D` transform **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_hide_canvas` **(** :ref:`RID` viewport, :ref:`bool` hidden **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_hide_scenario` **(** :ref:`RID` viewport, :ref:`bool` hidden **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_msaa` **(** :ref:`RID` viewport, :ref:`ViewportMSAA` msaa **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_parent_viewport` **(** :ref:`RID` viewport, :ref:`RID` parent_viewport **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_render_direct_to_screen` **(** :ref:`RID` viewport, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_scenario` **(** :ref:`RID` viewport, :ref:`RID` scenario **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_shadow_atlas_quadrant_subdivision` **(** :ref:`RID` viewport, :ref:`int` quadrant, :ref:`int` subdivision **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_shadow_atlas_size` **(** :ref:`RID` viewport, :ref:`int` size **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_size` **(** :ref:`RID` viewport, :ref:`int` width, :ref:`int` height **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_transparent_background` **(** :ref:`RID` viewport, :ref:`bool` enabled **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_update_mode` **(** :ref:`RID` viewport, :ref:`ViewportUpdateMode` update_mode **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`viewport_set_use_arvr` **(** :ref:`RID` viewport, :ref:`bool` use_arvr **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Signals ------- .. _class_VisualServer_signal_frame_post_draw: - **frame_post_draw** **(** **)** Emitted at the end of the frame, after the VisualServer has finished updating all the Viewports. ---- .. _class_VisualServer_signal_frame_pre_draw: - **frame_pre_draw** **(** **)** Emitted at the beginning of the frame, before the VisualServer updates all the Viewports. Enumerations ------------ .. _enum_VisualServer_TextureLayeredType: .. _class_VisualServer_constant_TEXTURE_LAYERED_2D_ARRAY: .. _class_VisualServer_constant_TEXTURE_LAYERED_CUBEMAP: .. _class_VisualServer_constant_TEXTURE_LAYERED_CUBEMAP_ARRAY: enum **TextureLayeredType**: - **TEXTURE_LAYERED_2D_ARRAY** = **0** - **TEXTURE_LAYERED_CUBEMAP** = **1** - **TEXTURE_LAYERED_CUBEMAP_ARRAY** = **2** ---- .. _enum_VisualServer_CubeMapLayer: .. _class_VisualServer_constant_CUBEMAP_LAYER_LEFT: .. _class_VisualServer_constant_CUBEMAP_LAYER_RIGHT: .. _class_VisualServer_constant_CUBEMAP_LAYER_BOTTOM: .. _class_VisualServer_constant_CUBEMAP_LAYER_TOP: .. _class_VisualServer_constant_CUBEMAP_LAYER_FRONT: .. _class_VisualServer_constant_CUBEMAP_LAYER_BACK: enum **CubeMapLayer**: - **CUBEMAP_LAYER_LEFT** = **0** - **CUBEMAP_LAYER_RIGHT** = **1** - **CUBEMAP_LAYER_BOTTOM** = **2** - **CUBEMAP_LAYER_TOP** = **3** - **CUBEMAP_LAYER_FRONT** = **4** - **CUBEMAP_LAYER_BACK** = **5** ---- .. _enum_VisualServer_ShaderMode: .. _class_VisualServer_constant_SHADER_SPATIAL: .. _class_VisualServer_constant_SHADER_CANVAS_ITEM: .. _class_VisualServer_constant_SHADER_PARTICLES: .. _class_VisualServer_constant_SHADER_SKY: .. _class_VisualServer_constant_SHADER_MAX: enum **ShaderMode**: - **SHADER_SPATIAL** = **0** --- Shader is a 3D shader. - **SHADER_CANVAS_ITEM** = **1** --- Shader is a 2D shader. - **SHADER_PARTICLES** = **2** --- Shader is a particle shader. - **SHADER_SKY** = **3** --- Shader is a sky shader. - **SHADER_MAX** = **4** --- Represents the size of the :ref:`ShaderMode` enum. ---- .. _enum_VisualServer_ArrayType: .. _class_VisualServer_constant_ARRAY_VERTEX: .. _class_VisualServer_constant_ARRAY_NORMAL: .. _class_VisualServer_constant_ARRAY_TANGENT: .. _class_VisualServer_constant_ARRAY_COLOR: .. _class_VisualServer_constant_ARRAY_TEX_UV: .. _class_VisualServer_constant_ARRAY_TEX_UV2: .. _class_VisualServer_constant_ARRAY_BONES: .. _class_VisualServer_constant_ARRAY_WEIGHTS: .. _class_VisualServer_constant_ARRAY_INDEX: .. _class_VisualServer_constant_ARRAY_MAX: enum **ArrayType**: - **ARRAY_VERTEX** = **0** --- Array is a vertex array. - **ARRAY_NORMAL** = **1** --- Array is a normal array. - **ARRAY_TANGENT** = **2** --- Array is a tangent array. - **ARRAY_COLOR** = **3** --- Array is a color array. - **ARRAY_TEX_UV** = **4** --- Array is an UV coordinates array. - **ARRAY_TEX_UV2** = **5** --- Array is an UV coordinates array for the second UV coordinates. - **ARRAY_BONES** = **6** --- Array contains bone information. - **ARRAY_WEIGHTS** = **7** --- Array is weight information. - **ARRAY_INDEX** = **8** --- Array is index array. - **ARRAY_MAX** = **9** --- Represents the size of the :ref:`ArrayType` enum. ---- .. _enum_VisualServer_ArrayFormat: .. _class_VisualServer_constant_ARRAY_FORMAT_VERTEX: .. _class_VisualServer_constant_ARRAY_FORMAT_NORMAL: .. _class_VisualServer_constant_ARRAY_FORMAT_TANGENT: .. _class_VisualServer_constant_ARRAY_FORMAT_COLOR: .. _class_VisualServer_constant_ARRAY_FORMAT_TEX_UV: .. _class_VisualServer_constant_ARRAY_FORMAT_TEX_UV2: .. _class_VisualServer_constant_ARRAY_FORMAT_BONES: .. _class_VisualServer_constant_ARRAY_FORMAT_WEIGHTS: .. _class_VisualServer_constant_ARRAY_FORMAT_INDEX: .. _class_VisualServer_constant_ARRAY_COMPRESS_NORMAL: .. _class_VisualServer_constant_ARRAY_COMPRESS_TANGENT: .. _class_VisualServer_constant_ARRAY_COMPRESS_COLOR: .. _class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV: .. _class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV2: .. _class_VisualServer_constant_ARRAY_COMPRESS_INDEX: .. _class_VisualServer_constant_ARRAY_FLAG_USE_2D_VERTICES: .. _class_VisualServer_constant_ARRAY_FLAG_USE_DYNAMIC_UPDATE: .. _class_VisualServer_constant_ARRAY_COMPRESS_DEFAULT: enum **ArrayFormat**: - **ARRAY_FORMAT_VERTEX** = **1** --- Flag used to mark a vertex array. - **ARRAY_FORMAT_NORMAL** = **2** --- Flag used to mark a normal array. - **ARRAY_FORMAT_TANGENT** = **4** --- Flag used to mark a tangent array. - **ARRAY_FORMAT_COLOR** = **8** --- Flag used to mark a color array. - **ARRAY_FORMAT_TEX_UV** = **16** --- Flag used to mark an UV coordinates array. - **ARRAY_FORMAT_TEX_UV2** = **32** --- Flag used to mark an UV coordinates array for the second UV coordinates. - **ARRAY_FORMAT_BONES** = **64** --- Flag used to mark a bone information array. - **ARRAY_FORMAT_WEIGHTS** = **128** --- Flag used to mark a weights array. - **ARRAY_FORMAT_INDEX** = **256** --- Flag used to mark an index array. - **ARRAY_COMPRESS_NORMAL** = **1024** --- Flag used to mark a compressed (half float) normal array. - **ARRAY_COMPRESS_TANGENT** = **2048** --- Flag used to mark a compressed (half float) tangent array. - **ARRAY_COMPRESS_COLOR** = **4096** --- Flag used to mark a compressed (half float) color array. - **ARRAY_COMPRESS_TEX_UV** = **8192** --- Flag used to mark a compressed (half float) UV coordinates array. - **ARRAY_COMPRESS_TEX_UV2** = **16384** --- Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates. - **ARRAY_COMPRESS_INDEX** = **131072** --- Flag used to mark a compressed index array. - **ARRAY_FLAG_USE_2D_VERTICES** = **262144** --- Flag used to mark that the array contains 2D vertices. - **ARRAY_FLAG_USE_DYNAMIC_UPDATE** = **1048576** - **ARRAY_COMPRESS_DEFAULT** = **31744** --- Used to set flags :ref:`ARRAY_COMPRESS_NORMAL`, :ref:`ARRAY_COMPRESS_TANGENT`, :ref:`ARRAY_COMPRESS_COLOR`, :ref:`ARRAY_COMPRESS_TEX_UV` and :ref:`ARRAY_COMPRESS_TEX_UV2` quickly. ---- .. _enum_VisualServer_PrimitiveType: .. _class_VisualServer_constant_PRIMITIVE_POINTS: .. _class_VisualServer_constant_PRIMITIVE_LINES: .. _class_VisualServer_constant_PRIMITIVE_LINE_STRIP: .. _class_VisualServer_constant_PRIMITIVE_TRIANGLES: .. _class_VisualServer_constant_PRIMITIVE_TRIANGLE_STRIP: .. _class_VisualServer_constant_PRIMITIVE_MAX: enum **PrimitiveType**: - **PRIMITIVE_POINTS** = **0** --- Primitive to draw consists of points. - **PRIMITIVE_LINES** = **1** --- Primitive to draw consists of lines. - **PRIMITIVE_LINE_STRIP** = **2** --- Primitive to draw consists of a line strip from start to end. - **PRIMITIVE_TRIANGLES** = **3** --- Primitive to draw consists of triangles. - **PRIMITIVE_TRIANGLE_STRIP** = **4** --- Primitive to draw consists of a triangle strip (the last 3 vertices are always combined to make a triangle). - **PRIMITIVE_MAX** = **5** --- Represents the size of the :ref:`PrimitiveType` enum. ---- .. _enum_VisualServer_BlendShapeMode: .. _class_VisualServer_constant_BLEND_SHAPE_MODE_NORMALIZED: .. _class_VisualServer_constant_BLEND_SHAPE_MODE_RELATIVE: enum **BlendShapeMode**: - **BLEND_SHAPE_MODE_NORMALIZED** = **0** --- Blend shapes are normalized. - **BLEND_SHAPE_MODE_RELATIVE** = **1** --- Blend shapes are relative to base weight. ---- .. _enum_VisualServer_MultimeshTransformFormat: .. _class_VisualServer_constant_MULTIMESH_TRANSFORM_2D: .. _class_VisualServer_constant_MULTIMESH_TRANSFORM_3D: enum **MultimeshTransformFormat**: - **MULTIMESH_TRANSFORM_2D** = **0** --- Use :ref:`Transform2D` to store MultiMesh transform. - **MULTIMESH_TRANSFORM_3D** = **1** --- Use :ref:`Transform` to store MultiMesh transform. ---- .. _enum_VisualServer_LightType: .. _class_VisualServer_constant_LIGHT_DIRECTIONAL: .. _class_VisualServer_constant_LIGHT_OMNI: .. _class_VisualServer_constant_LIGHT_SPOT: enum **LightType**: - **LIGHT_DIRECTIONAL** = **0** --- Is a directional (sun) light. - **LIGHT_OMNI** = **1** --- Is an omni light. - **LIGHT_SPOT** = **2** --- Is a spot light. ---- .. _enum_VisualServer_LightParam: .. _class_VisualServer_constant_LIGHT_PARAM_ENERGY: .. _class_VisualServer_constant_LIGHT_PARAM_INDIRECT_ENERGY: .. _class_VisualServer_constant_LIGHT_PARAM_SPECULAR: .. _class_VisualServer_constant_LIGHT_PARAM_RANGE: .. _class_VisualServer_constant_LIGHT_PARAM_ATTENUATION: .. _class_VisualServer_constant_LIGHT_PARAM_SPOT_ANGLE: .. _class_VisualServer_constant_LIGHT_PARAM_SPOT_ATTENUATION: .. _class_VisualServer_constant_LIGHT_PARAM_CONTACT_SHADOW_SIZE: .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_MAX_DISTANCE: .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET: .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET: .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET: .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_FADE_START: .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_NORMAL_BIAS: .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_BIAS: .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE: .. _class_VisualServer_constant_LIGHT_PARAM_MAX: enum **LightParam**: - **LIGHT_PARAM_ENERGY** = **0** --- The light's energy. - **LIGHT_PARAM_INDIRECT_ENERGY** = **1** - **LIGHT_PARAM_SPECULAR** = **2** --- The light's influence on specularity. - **LIGHT_PARAM_RANGE** = **3** --- The light's range. - **LIGHT_PARAM_ATTENUATION** = **4** --- The light's attenuation. - **LIGHT_PARAM_SPOT_ANGLE** = **5** --- The spotlight's angle. - **LIGHT_PARAM_SPOT_ATTENUATION** = **6** --- The spotlight's attenuation. - **LIGHT_PARAM_CONTACT_SHADOW_SIZE** = **7** --- Scales the shadow color. - **LIGHT_PARAM_SHADOW_MAX_DISTANCE** = **8** --- Max distance that shadows will be rendered. - **LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET** = **9** --- Proportion of shadow atlas occupied by the first split. - **LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET** = **10** --- Proportion of shadow atlas occupied by the second split. - **LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET** = **11** --- Proportion of shadow atlas occupied by the third split. The fourth split occupies the rest. - **LIGHT_PARAM_SHADOW_FADE_START** = **12** - **LIGHT_PARAM_SHADOW_NORMAL_BIAS** = **13** --- Normal bias used to offset shadow lookup by object normal. Can be used to fix self-shadowing artifacts. - **LIGHT_PARAM_SHADOW_BIAS** = **14** --- Bias the shadow lookup to fix self-shadowing artifacts. - **LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE** = **15** --- Increases bias on further splits to fix self-shadowing that only occurs far away from the camera. - **LIGHT_PARAM_MAX** = **16** --- Represents the size of the :ref:`LightParam` enum. ---- .. _enum_VisualServer_LightOmniShadowMode: .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_DUAL_PARABOLOID: .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_CUBE: enum **LightOmniShadowMode**: - **LIGHT_OMNI_SHADOW_DUAL_PARABOLOID** = **0** --- Use a dual paraboloid shadow map for omni lights. - **LIGHT_OMNI_SHADOW_CUBE** = **1** --- Use a cubemap shadow map for omni lights. Slower but better quality than dual paraboloid. ---- .. _enum_VisualServer_LightDirectionalShadowMode: .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL: .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS: .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS: enum **LightDirectionalShadowMode**: - **LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL** = **0** --- Use orthogonal shadow projection for directional light. - **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS** = **1** --- Use 2 splits for shadow projection when using directional light. - **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS** = **2** --- Use 4 splits for shadow projection when using directional light. ---- .. _enum_VisualServer_LightDirectionalShadowDepthRangeMode: .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE: .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED: enum **LightDirectionalShadowDepthRangeMode**: - **LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE** = **0** --- Keeps shadows stable as camera moves but has lower effective resolution. - **LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED** = **1** --- Optimize use of shadow maps, increasing the effective resolution. But may result in shadows moving or flickering slightly. ---- .. _enum_VisualServer_ReflectionProbeUpdateMode: .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ONCE: .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ALWAYS: enum **ReflectionProbeUpdateMode**: - **REFLECTION_PROBE_UPDATE_ONCE** = **0** --- Reflection probe will update reflections once and then stop. - **REFLECTION_PROBE_UPDATE_ALWAYS** = **1** --- Reflection probe will update each frame. This mode is necessary to capture moving objects. ---- .. _enum_VisualServer_ParticlesDrawOrder: .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_INDEX: .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_LIFETIME: .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_VIEW_DEPTH: enum **ParticlesDrawOrder**: - **PARTICLES_DRAW_ORDER_INDEX** = **0** --- Draw particles in the order that they appear in the particles array. - **PARTICLES_DRAW_ORDER_LIFETIME** = **1** --- Sort particles based on their lifetime. - **PARTICLES_DRAW_ORDER_VIEW_DEPTH** = **2** --- Sort particles based on their distance to the camera. ---- .. _enum_VisualServer_ViewportUpdateMode: .. _class_VisualServer_constant_VIEWPORT_UPDATE_DISABLED: .. _class_VisualServer_constant_VIEWPORT_UPDATE_ONCE: .. _class_VisualServer_constant_VIEWPORT_UPDATE_WHEN_VISIBLE: .. _class_VisualServer_constant_VIEWPORT_UPDATE_ALWAYS: enum **ViewportUpdateMode**: - **VIEWPORT_UPDATE_DISABLED** = **0** --- Do not update the viewport. - **VIEWPORT_UPDATE_ONCE** = **1** --- Update the viewport once then set to disabled. - **VIEWPORT_UPDATE_WHEN_VISIBLE** = **2** --- Update the viewport whenever it is visible. - **VIEWPORT_UPDATE_ALWAYS** = **3** --- Always update the viewport. ---- .. _enum_VisualServer_ViewportClearMode: .. _class_VisualServer_constant_VIEWPORT_CLEAR_ALWAYS: .. _class_VisualServer_constant_VIEWPORT_CLEAR_NEVER: .. _class_VisualServer_constant_VIEWPORT_CLEAR_ONLY_NEXT_FRAME: enum **ViewportClearMode**: - **VIEWPORT_CLEAR_ALWAYS** = **0** --- The viewport is always cleared before drawing. - **VIEWPORT_CLEAR_NEVER** = **1** --- The viewport is never cleared before drawing. - **VIEWPORT_CLEAR_ONLY_NEXT_FRAME** = **2** --- The viewport is cleared once, then the clear mode is set to :ref:`VIEWPORT_CLEAR_NEVER`. ---- .. _enum_VisualServer_ViewportMSAA: .. _class_VisualServer_constant_VIEWPORT_MSAA_DISABLED: .. _class_VisualServer_constant_VIEWPORT_MSAA_2X: .. _class_VisualServer_constant_VIEWPORT_MSAA_4X: .. _class_VisualServer_constant_VIEWPORT_MSAA_8X: .. _class_VisualServer_constant_VIEWPORT_MSAA_16X: .. _class_VisualServer_constant_VIEWPORT_MSAA_EXT_2X: .. _class_VisualServer_constant_VIEWPORT_MSAA_EXT_4X: enum **ViewportMSAA**: - **VIEWPORT_MSAA_DISABLED** = **0** --- Multisample antialiasing is disabled. - **VIEWPORT_MSAA_2X** = **1** --- Multisample antialiasing is set to 2×. - **VIEWPORT_MSAA_4X** = **2** --- Multisample antialiasing is set to 4×. - **VIEWPORT_MSAA_8X** = **3** --- Multisample antialiasing is set to 8×. - **VIEWPORT_MSAA_16X** = **4** --- Multisample antialiasing is set to 16×. - **VIEWPORT_MSAA_EXT_2X** = **5** --- Multisample antialiasing is set to 2× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go). - **VIEWPORT_MSAA_EXT_4X** = **6** --- Multisample antialiasing is set to 4× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go). ---- .. _enum_VisualServer_ViewportRenderInfo: .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME: .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME: .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME: .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME: .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME: .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME: .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_MAX: enum **ViewportRenderInfo**: - **VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME** = **0** --- Number of objects drawn in a single frame. - **VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME** = **1** --- Number of vertices drawn in a single frame. - **VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME** = **2** --- Number of material changes during this frame. - **VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME** = **3** --- Number of shader changes during this frame. - **VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME** = **4** --- Number of surface changes during this frame. - **VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME** = **5** --- Number of draw calls during this frame. - **VIEWPORT_RENDER_INFO_MAX** = **6** --- Represents the size of the :ref:`ViewportRenderInfo` enum. ---- .. _enum_VisualServer_ViewportDebugDraw: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_DISABLED: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_UNSHADED: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_LIGHTING: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_OVERDRAW: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_WIREFRAME: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_NORMAL_BUFFER: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_GI_PROBE_ALBEDO: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_GI_PROBE_LIGHTING: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_GI_PROBE_EMISSION: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_SHADOW_ATLAS: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_SCENE_LUMINANCE: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_SSAO: .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_ROUGHNESS_LIMITER: enum **ViewportDebugDraw**: - **VIEWPORT_DEBUG_DRAW_DISABLED** = **0** --- Debug draw is disabled. Default setting. - **VIEWPORT_DEBUG_DRAW_UNSHADED** = **1** --- Debug draw sets objects to unshaded. - **VIEWPORT_DEBUG_DRAW_LIGHTING** = **2** - **VIEWPORT_DEBUG_DRAW_OVERDRAW** = **3** --- Overwrites clear color to ``(0,0,0,0)``. - **VIEWPORT_DEBUG_DRAW_WIREFRAME** = **4** --- Debug draw draws objects in wireframe. - **VIEWPORT_DEBUG_DRAW_NORMAL_BUFFER** = **5** - **VIEWPORT_DEBUG_DRAW_GI_PROBE_ALBEDO** = **6** - **VIEWPORT_DEBUG_DRAW_GI_PROBE_LIGHTING** = **7** - **VIEWPORT_DEBUG_DRAW_GI_PROBE_EMISSION** = **8** - **VIEWPORT_DEBUG_DRAW_SHADOW_ATLAS** = **9** - **VIEWPORT_DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS** = **10** - **VIEWPORT_DEBUG_DRAW_SCENE_LUMINANCE** = **11** - **VIEWPORT_DEBUG_DRAW_SSAO** = **12** - **VIEWPORT_DEBUG_DRAW_ROUGHNESS_LIMITER** = **13** ---- .. _enum_VisualServer_SkyMode: .. _class_VisualServer_constant_SKY_MODE_QUALITY: .. _class_VisualServer_constant_SKY_MODE_REALTIME: enum **SkyMode**: - **SKY_MODE_QUALITY** = **0** - **SKY_MODE_REALTIME** = **1** ---- .. _enum_VisualServer_EnvironmentBG: .. _class_VisualServer_constant_ENV_BG_CLEAR_COLOR: .. _class_VisualServer_constant_ENV_BG_COLOR: .. _class_VisualServer_constant_ENV_BG_SKY: .. _class_VisualServer_constant_ENV_BG_CANVAS: .. _class_VisualServer_constant_ENV_BG_KEEP: .. _class_VisualServer_constant_ENV_BG_CAMERA_FEED: .. _class_VisualServer_constant_ENV_BG_MAX: enum **EnvironmentBG**: - **ENV_BG_CLEAR_COLOR** = **0** --- Use the clear color as background. - **ENV_BG_COLOR** = **1** --- Use a specified color as the background. - **ENV_BG_SKY** = **2** --- Use a sky resource for the background. - **ENV_BG_CANVAS** = **3** --- Use a specified canvas layer as the background. This can be useful for instantiating a 2D scene in a 3D world. - **ENV_BG_KEEP** = **4** --- Do not clear the background, use whatever was rendered last frame as the background. - **ENV_BG_CAMERA_FEED** = **5** --- Displays a camera feed in the background. - **ENV_BG_MAX** = **6** --- Represents the size of the :ref:`EnvironmentBG` enum. ---- .. _enum_VisualServer_EnvironmentAmbientSource: .. _class_VisualServer_constant_ENV_AMBIENT_SOURCE_BG: .. _class_VisualServer_constant_ENV_AMBIENT_SOURCE_DISABLED: .. _class_VisualServer_constant_ENV_AMBIENT_SOURCE_COLOR: .. _class_VisualServer_constant_ENV_AMBIENT_SOURCE_SKY: enum **EnvironmentAmbientSource**: - **ENV_AMBIENT_SOURCE_BG** = **0** - **ENV_AMBIENT_SOURCE_DISABLED** = **1** - **ENV_AMBIENT_SOURCE_COLOR** = **2** - **ENV_AMBIENT_SOURCE_SKY** = **3** ---- .. _enum_VisualServer_EnvironmentReflectionSource: .. _class_VisualServer_constant_ENV_REFLECTION_SOURCE_BG: .. _class_VisualServer_constant_ENV_REFLECTION_SOURCE_DISABLED: .. _class_VisualServer_constant_ENV_REFLECTION_SOURCE_SKY: enum **EnvironmentReflectionSource**: - **ENV_REFLECTION_SOURCE_BG** = **0** - **ENV_REFLECTION_SOURCE_DISABLED** = **1** - **ENV_REFLECTION_SOURCE_SKY** = **2** ---- .. _enum_VisualServer_EnvironmentGlowBlendMode: .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_ADDITIVE: .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_SCREEN: .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_SOFTLIGHT: .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_REPLACE: .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_MIX: enum **EnvironmentGlowBlendMode**: - **ENV_GLOW_BLEND_MODE_ADDITIVE** = **0** - **ENV_GLOW_BLEND_MODE_SCREEN** = **1** - **ENV_GLOW_BLEND_MODE_SOFTLIGHT** = **2** - **ENV_GLOW_BLEND_MODE_REPLACE** = **3** - **ENV_GLOW_BLEND_MODE_MIX** = **4** ---- .. _enum_VisualServer_EnvironmentToneMapper: .. _class_VisualServer_constant_ENV_TONE_MAPPER_LINEAR: .. _class_VisualServer_constant_ENV_TONE_MAPPER_REINHARD: .. _class_VisualServer_constant_ENV_TONE_MAPPER_FILMIC: .. _class_VisualServer_constant_ENV_TONE_MAPPER_ACES: enum **EnvironmentToneMapper**: - **ENV_TONE_MAPPER_LINEAR** = **0** --- Output color as they came in. - **ENV_TONE_MAPPER_REINHARD** = **1** --- Use the Reinhard tonemapper. - **ENV_TONE_MAPPER_FILMIC** = **2** --- Use the filmic tonemapper. - **ENV_TONE_MAPPER_ACES** = **3** --- Use the ACES tonemapper. ---- .. _enum_VisualServer_EnvironmentSSAOBlur: .. _class_VisualServer_constant_ENV_SSAO_BLUR_DISABLED: .. _class_VisualServer_constant_ENV_SSAO_BLUR_1x1: .. _class_VisualServer_constant_ENV_SSAO_BLUR_2x2: .. _class_VisualServer_constant_ENV_SSAO_BLUR_3x3: enum **EnvironmentSSAOBlur**: - **ENV_SSAO_BLUR_DISABLED** = **0** --- Disables the blur set for SSAO. Will make SSAO look noisier. - **ENV_SSAO_BLUR_1x1** = **1** --- Perform a 1x1 blur on the SSAO output. - **ENV_SSAO_BLUR_2x2** = **2** --- Performs a 2x2 blur on the SSAO output. - **ENV_SSAO_BLUR_3x3** = **3** --- Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO. ---- .. _enum_VisualServer_EnvironmentSSAOQuality: .. _class_VisualServer_constant_ENV_SSAO_QUALITY_LOW: .. _class_VisualServer_constant_ENV_SSAO_QUALITY_MEDIUM: .. _class_VisualServer_constant_ENV_SSAO_QUALITY_HIGH: .. _class_VisualServer_constant_ENV_SSAO_QUALITY_ULTRA: enum **EnvironmentSSAOQuality**: - **ENV_SSAO_QUALITY_LOW** = **0** --- Lowest quality of screen space ambient occlusion. - **ENV_SSAO_QUALITY_MEDIUM** = **1** --- Medium quality screen space ambient occlusion. - **ENV_SSAO_QUALITY_HIGH** = **2** --- Highest quality screen space ambient occlusion. - **ENV_SSAO_QUALITY_ULTRA** = **3** ---- .. _enum_VisualServer_DOFBlurQuality: .. _class_VisualServer_constant_DOF_BLUR_QUALITY_VERY_LOW: .. _class_VisualServer_constant_DOF_BLUR_QUALITY_LOW: .. _class_VisualServer_constant_DOF_BLUR_QUALITY_MEDIUM: .. _class_VisualServer_constant_DOF_BLUR_QUALITY_HIGH: enum **DOFBlurQuality**: - **DOF_BLUR_QUALITY_VERY_LOW** = **0** - **DOF_BLUR_QUALITY_LOW** = **1** - **DOF_BLUR_QUALITY_MEDIUM** = **2** - **DOF_BLUR_QUALITY_HIGH** = **3** ---- .. _enum_VisualServer_DOFBokehShape: .. _class_VisualServer_constant_DOF_BOKEH_BOX: .. _class_VisualServer_constant_DOF_BOKEH_HEXAGON: .. _class_VisualServer_constant_DOF_BOKEH_CIRCLE: enum **DOFBokehShape**: - **DOF_BOKEH_BOX** = **0** - **DOF_BOKEH_HEXAGON** = **1** - **DOF_BOKEH_CIRCLE** = **2** ---- .. _enum_VisualServer_ScenarioDebugMode: .. _class_VisualServer_constant_SCENARIO_DEBUG_DISABLED: .. _class_VisualServer_constant_SCENARIO_DEBUG_WIREFRAME: .. _class_VisualServer_constant_SCENARIO_DEBUG_OVERDRAW: .. _class_VisualServer_constant_SCENARIO_DEBUG_SHADELESS: enum **ScenarioDebugMode**: - **SCENARIO_DEBUG_DISABLED** = **0** --- Do not use a debug mode. - **SCENARIO_DEBUG_WIREFRAME** = **1** --- Draw all objects as wireframe models. - **SCENARIO_DEBUG_OVERDRAW** = **2** --- Draw all objects in a way that displays how much overdraw is occurring. Overdraw occurs when a section of pixels is drawn and shaded and then another object covers it up. To optimize a scene, you should reduce overdraw. - **SCENARIO_DEBUG_SHADELESS** = **3** --- Draw all objects without shading. Equivalent to setting all objects shaders to ``unshaded``. ---- .. _enum_VisualServer_InstanceType: .. _class_VisualServer_constant_INSTANCE_NONE: .. _class_VisualServer_constant_INSTANCE_MESH: .. _class_VisualServer_constant_INSTANCE_MULTIMESH: .. _class_VisualServer_constant_INSTANCE_IMMEDIATE: .. _class_VisualServer_constant_INSTANCE_PARTICLES: .. _class_VisualServer_constant_INSTANCE_LIGHT: .. _class_VisualServer_constant_INSTANCE_REFLECTION_PROBE: .. _class_VisualServer_constant_INSTANCE_GI_PROBE: .. _class_VisualServer_constant_INSTANCE_LIGHTMAP_CAPTURE: .. _class_VisualServer_constant_INSTANCE_MAX: .. _class_VisualServer_constant_INSTANCE_GEOMETRY_MASK: enum **InstanceType**: - **INSTANCE_NONE** = **0** --- The instance does not have a type. - **INSTANCE_MESH** = **1** --- The instance is a mesh. - **INSTANCE_MULTIMESH** = **2** --- The instance is a multimesh. - **INSTANCE_IMMEDIATE** = **3** --- The instance is an immediate geometry. - **INSTANCE_PARTICLES** = **4** --- The instance is a particle emitter. - **INSTANCE_LIGHT** = **5** --- The instance is a light. - **INSTANCE_REFLECTION_PROBE** = **6** --- The instance is a reflection probe. - **INSTANCE_GI_PROBE** = **7** --- The instance is a GI probe. - **INSTANCE_LIGHTMAP_CAPTURE** = **8** --- The instance is a lightmap capture. - **INSTANCE_MAX** = **9** --- Represents the size of the :ref:`InstanceType` enum. - **INSTANCE_GEOMETRY_MASK** = **30** --- A combination of the flags of geometry instances (mesh, multimesh, immediate and particles). ---- .. _enum_VisualServer_InstanceFlags: .. _class_VisualServer_constant_INSTANCE_FLAG_USE_BAKED_LIGHT: .. _class_VisualServer_constant_INSTANCE_FLAG_USE_DYNAMIC_GI: .. _class_VisualServer_constant_INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE: .. _class_VisualServer_constant_INSTANCE_FLAG_MAX: enum **InstanceFlags**: - **INSTANCE_FLAG_USE_BAKED_LIGHT** = **0** --- Allows the instance to be used in baked lighting. - **INSTANCE_FLAG_USE_DYNAMIC_GI** = **1** - **INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE** = **2** --- When set, manually requests to draw geometry on next frame. - **INSTANCE_FLAG_MAX** = **3** --- Represents the size of the :ref:`InstanceFlags` enum. ---- .. _enum_VisualServer_ShadowCastingSetting: .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_OFF: .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_ON: .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_DOUBLE_SIDED: .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_SHADOWS_ONLY: enum **ShadowCastingSetting**: - **SHADOW_CASTING_SETTING_OFF** = **0** --- Disable shadows from this instance. - **SHADOW_CASTING_SETTING_ON** = **1** --- Cast shadows from this instance. - **SHADOW_CASTING_SETTING_DOUBLE_SIDED** = **2** --- Disable backface culling when rendering the shadow of the object. This is slightly slower but may result in more correct shadows. - **SHADOW_CASTING_SETTING_SHADOWS_ONLY** = **3** --- Only render the shadows from the object. The object itself will not be drawn. ---- .. _enum_VisualServer_NinePatchAxisMode: .. _class_VisualServer_constant_NINE_PATCH_STRETCH: .. _class_VisualServer_constant_NINE_PATCH_TILE: .. _class_VisualServer_constant_NINE_PATCH_TILE_FIT: enum **NinePatchAxisMode**: - **NINE_PATCH_STRETCH** = **0** --- The nine patch gets stretched where needed. - **NINE_PATCH_TILE** = **1** --- The nine patch gets filled with tiles where needed. - **NINE_PATCH_TILE_FIT** = **2** --- The nine patch gets filled with tiles where needed and stretches them a bit if needed. ---- .. _enum_VisualServer_CanvasItemTextureFilter: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_DEFAULT: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_NEAREST: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_LINEAR: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_MAX: enum **CanvasItemTextureFilter**: - **CANVAS_ITEM_TEXTURE_FILTER_DEFAULT** = **0** - **CANVAS_ITEM_TEXTURE_FILTER_NEAREST** = **1** - **CANVAS_ITEM_TEXTURE_FILTER_LINEAR** = **2** - **CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS** = **3** - **CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS** = **4** - **CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC** = **5** - **CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC** = **6** - **CANVAS_ITEM_TEXTURE_FILTER_MAX** = **7** ---- .. _enum_VisualServer_CanvasItemTextureRepeat: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_DEFAULT: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_DISABLED: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_ENABLED: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_MIRROR: .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_MAX: enum **CanvasItemTextureRepeat**: - **CANVAS_ITEM_TEXTURE_REPEAT_DEFAULT** = **0** - **CANVAS_ITEM_TEXTURE_REPEAT_DISABLED** = **1** - **CANVAS_ITEM_TEXTURE_REPEAT_ENABLED** = **2** - **CANVAS_ITEM_TEXTURE_REPEAT_MIRROR** = **3** - **CANVAS_ITEM_TEXTURE_REPEAT_MAX** = **4** ---- .. _enum_VisualServer_CanvasLightMode: .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_ADD: .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_SUB: .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_MIX: .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_MASK: enum **CanvasLightMode**: - **CANVAS_LIGHT_MODE_ADD** = **0** --- Adds light color additive to the canvas. - **CANVAS_LIGHT_MODE_SUB** = **1** --- Adds light color subtractive to the canvas. - **CANVAS_LIGHT_MODE_MIX** = **2** --- The light adds color depending on transparency. - **CANVAS_LIGHT_MODE_MASK** = **3** --- The light adds color depending on mask. ---- .. _enum_VisualServer_CanvasLightShadowFilter: .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_NONE: .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF5: .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF13: .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_MAX: enum **CanvasLightShadowFilter**: - **CANVAS_LIGHT_FILTER_NONE** = **0** --- Do not apply a filter to canvas light shadows. - **CANVAS_LIGHT_FILTER_PCF5** = **1** --- Use PCF5 filtering to filter canvas light shadows. - **CANVAS_LIGHT_FILTER_PCF13** = **2** --- Use PCF13 filtering to filter canvas light shadows. - **CANVAS_LIGHT_FILTER_MAX** = **3** ---- .. _enum_VisualServer_CanvasOccluderPolygonCullMode: .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_DISABLED: .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE: .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE: enum **CanvasOccluderPolygonCullMode**: - **CANVAS_OCCLUDER_POLYGON_CULL_DISABLED** = **0** --- Culling of the canvas occluder is disabled. - **CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE** = **1** --- Culling of the canvas occluder is clockwise. - **CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE** = **2** --- Culling of the canvas occluder is counterclockwise. ---- .. _enum_VisualServer_RenderInfo: .. _class_VisualServer_constant_INFO_OBJECTS_IN_FRAME: .. _class_VisualServer_constant_INFO_VERTICES_IN_FRAME: .. _class_VisualServer_constant_INFO_MATERIAL_CHANGES_IN_FRAME: .. _class_VisualServer_constant_INFO_SHADER_CHANGES_IN_FRAME: .. _class_VisualServer_constant_INFO_SURFACE_CHANGES_IN_FRAME: .. _class_VisualServer_constant_INFO_DRAW_CALLS_IN_FRAME: .. _class_VisualServer_constant_INFO_USAGE_VIDEO_MEM_TOTAL: .. _class_VisualServer_constant_INFO_VIDEO_MEM_USED: .. _class_VisualServer_constant_INFO_TEXTURE_MEM_USED: .. _class_VisualServer_constant_INFO_VERTEX_MEM_USED: enum **RenderInfo**: - **INFO_OBJECTS_IN_FRAME** = **0** --- The amount of objects in the frame. - **INFO_VERTICES_IN_FRAME** = **1** --- The amount of vertices in the frame. - **INFO_MATERIAL_CHANGES_IN_FRAME** = **2** --- The amount of modified materials in the frame. - **INFO_SHADER_CHANGES_IN_FRAME** = **3** --- The amount of shader rebinds in the frame. - **INFO_SURFACE_CHANGES_IN_FRAME** = **4** --- The amount of surface changes in the frame. - **INFO_DRAW_CALLS_IN_FRAME** = **5** --- The amount of draw calls in frame. - **INFO_USAGE_VIDEO_MEM_TOTAL** = **6** --- Unimplemented in the GLES2 rendering backend, always returns 0. - **INFO_VIDEO_MEM_USED** = **7** --- The amount of video memory used, i.e. texture and vertex memory combined. - **INFO_TEXTURE_MEM_USED** = **8** --- The amount of texture memory used. - **INFO_VERTEX_MEM_USED** = **9** --- The amount of vertex memory used. ---- .. _enum_VisualServer_Features: .. _class_VisualServer_constant_FEATURE_SHADERS: .. _class_VisualServer_constant_FEATURE_MULTITHREADED: enum **Features**: - **FEATURE_SHADERS** = **0** --- Hardware supports shaders. This enum is currently unused in Godot 3.x. - **FEATURE_MULTITHREADED** = **1** --- Hardware supports multithreading. This enum is currently unused in Godot 3.x. Constants --------- .. _class_VisualServer_constant_NO_INDEX_ARRAY: .. _class_VisualServer_constant_ARRAY_WEIGHTS_SIZE: .. _class_VisualServer_constant_CANVAS_ITEM_Z_MIN: .. _class_VisualServer_constant_CANVAS_ITEM_Z_MAX: .. _class_VisualServer_constant_MAX_GLOW_LEVELS: .. _class_VisualServer_constant_MAX_CURSORS: .. _class_VisualServer_constant_MATERIAL_RENDER_PRIORITY_MIN: .. _class_VisualServer_constant_MATERIAL_RENDER_PRIORITY_MAX: - **NO_INDEX_ARRAY** = **-1** --- Marks an error that shows that the index array is empty. - **ARRAY_WEIGHTS_SIZE** = **4** --- Number of weights/bones per vertex. - **CANVAS_ITEM_Z_MIN** = **-4096** --- The minimum Z-layer for canvas items. - **CANVAS_ITEM_Z_MAX** = **4096** --- The maximum Z-layer for canvas items. - **MAX_GLOW_LEVELS** = **7** --- Max number of glow levels that can be used with glow post-process effect. - **MAX_CURSORS** = **8** --- Unused enum in Godot 3.x. - **MATERIAL_RENDER_PRIORITY_MIN** = **-128** --- The minimum renderpriority of all materials. - **MATERIAL_RENDER_PRIORITY_MAX** = **127** --- The maximum renderpriority of all materials. Method Descriptions ------------------- .. _class_VisualServer_method_black_bars_set_images: - void **black_bars_set_images** **(** :ref:`RID` left, :ref:`RID` top, :ref:`RID` right, :ref:`RID` bottom **)** Sets images to be rendered in the window margin. ---- .. _class_VisualServer_method_black_bars_set_margins: - void **black_bars_set_margins** **(** :ref:`int` left, :ref:`int` top, :ref:`int` right, :ref:`int` bottom **)** Sets margin size, where black bars (or images, if :ref:`black_bars_set_images` was used) are rendered. ---- .. _class_VisualServer_method_camera_create: - :ref:`RID` **camera_create** **(** **)** Creates a camera and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``camera_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_camera_set_cull_mask: - void **camera_set_cull_mask** **(** :ref:`RID` camera, :ref:`int` layers **)** Sets the cull mask associated with this camera. The cull mask describes which 3D layers are rendered by this camera. Equivalent to :ref:`Camera.cull_mask`. ---- .. _class_VisualServer_method_camera_set_environment: - void **camera_set_environment** **(** :ref:`RID` camera, :ref:`RID` env **)** Sets the environment used by this camera. Equivalent to :ref:`Camera.environment`. ---- .. _class_VisualServer_method_camera_set_frustum: - void **camera_set_frustum** **(** :ref:`RID` camera, :ref:`float` size, :ref:`Vector2` offset, :ref:`float` z_near, :ref:`float` z_far **)** Sets camera to use frustum projection. This mode allows adjusting the ``offset`` argument to create "tilted frustum" effects. ---- .. _class_VisualServer_method_camera_set_orthogonal: - void **camera_set_orthogonal** **(** :ref:`RID` camera, :ref:`float` size, :ref:`float` z_near, :ref:`float` z_far **)** Sets camera to use orthogonal projection, also known as orthographic projection. Objects remain the same size on the screen no matter how far away they are. ---- .. _class_VisualServer_method_camera_set_perspective: - void **camera_set_perspective** **(** :ref:`RID` camera, :ref:`float` fovy_degrees, :ref:`float` z_near, :ref:`float` z_far **)** Sets camera to use perspective projection. Objects on the screen becomes smaller when they are far away. ---- .. _class_VisualServer_method_camera_set_transform: - void **camera_set_transform** **(** :ref:`RID` camera, :ref:`Transform` transform **)** Sets :ref:`Transform` of camera. ---- .. _class_VisualServer_method_camera_set_use_vertical_aspect: - void **camera_set_use_vertical_aspect** **(** :ref:`RID` camera, :ref:`bool` enable **)** If ``true``, preserves the horizontal aspect ratio which is equivalent to :ref:`Camera.KEEP_WIDTH`. If ``false``, preserves the vertical aspect ratio which is equivalent to :ref:`Camera.KEEP_HEIGHT`. ---- .. _class_VisualServer_method_canvas_create: - :ref:`RID` **canvas_create** **(** **)** Creates a canvas and returns the assigned :ref:`RID`. It can be accessed with the RID that is returned. This RID will be used in all ``canvas_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_canvas_item_clear: - void **canvas_item_clear** **(** :ref:`RID` item **)** Clears the :ref:`CanvasItem` and removes all commands in it. ---- .. _class_VisualServer_method_canvas_item_set_copy_to_backbuffer: - void **canvas_item_set_copy_to_backbuffer** **(** :ref:`RID` item, :ref:`bool` enabled, :ref:`Rect2` rect **)** Sets the :ref:`CanvasItem` to copy a rect to the backbuffer. ---- .. _class_VisualServer_method_canvas_item_set_draw_index: - void **canvas_item_set_draw_index** **(** :ref:`RID` item, :ref:`int` index **)** Sets the index for the :ref:`CanvasItem`. ---- .. _class_VisualServer_method_canvas_item_set_material: - void **canvas_item_set_material** **(** :ref:`RID` item, :ref:`RID` material **)** Sets a new material to the :ref:`CanvasItem`. ---- .. _class_VisualServer_method_canvas_item_set_use_parent_material: - void **canvas_item_set_use_parent_material** **(** :ref:`RID` item, :ref:`bool` enabled **)** Sets if the :ref:`CanvasItem` uses its parent's material. ---- .. _class_VisualServer_method_canvas_item_set_z_as_relative_to_parent: - void **canvas_item_set_z_as_relative_to_parent** **(** :ref:`RID` item, :ref:`bool` enabled **)** If this is enabled, the Z index of the parent will be added to the children's Z index. ---- .. _class_VisualServer_method_canvas_item_set_z_index: - void **canvas_item_set_z_index** **(** :ref:`RID` item, :ref:`int` z_index **)** Sets the :ref:`CanvasItem`'s Z index, i.e. its draw order (lower indexes are drawn first). ---- .. _class_VisualServer_method_canvas_light_attach_to_canvas: - void **canvas_light_attach_to_canvas** **(** :ref:`RID` light, :ref:`RID` canvas **)** Attaches the canvas light to the canvas. Removes it from its previous canvas. ---- .. _class_VisualServer_method_canvas_light_create: - :ref:`RID` **canvas_light_create** **(** **)** Creates a canvas light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``canvas_light_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_canvas_light_occluder_attach_to_canvas: - void **canvas_light_occluder_attach_to_canvas** **(** :ref:`RID` occluder, :ref:`RID` canvas **)** Attaches a light occluder to the canvas. Removes it from its previous canvas. ---- .. _class_VisualServer_method_canvas_light_occluder_create: - :ref:`RID` **canvas_light_occluder_create** **(** **)** Creates a light occluder and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``canvas_light_ocluder_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_canvas_light_occluder_set_enabled: - void **canvas_light_occluder_set_enabled** **(** :ref:`RID` occluder, :ref:`bool` enabled **)** Enables or disables light occluder. ---- .. _class_VisualServer_method_canvas_light_occluder_set_light_mask: - void **canvas_light_occluder_set_light_mask** **(** :ref:`RID` occluder, :ref:`int` mask **)** The light mask. See :ref:`LightOccluder2D` for more information on light masks. ---- .. _class_VisualServer_method_canvas_light_occluder_set_polygon: - void **canvas_light_occluder_set_polygon** **(** :ref:`RID` occluder, :ref:`RID` polygon **)** Sets a light occluder's polygon. ---- .. _class_VisualServer_method_canvas_light_occluder_set_transform: - void **canvas_light_occluder_set_transform** **(** :ref:`RID` occluder, :ref:`Transform2D` transform **)** Sets a light occluder's :ref:`Transform2D`. ---- .. _class_VisualServer_method_canvas_light_set_color: - void **canvas_light_set_color** **(** :ref:`RID` light, :ref:`Color` color **)** Sets the color for a light. ---- .. _class_VisualServer_method_canvas_light_set_enabled: - void **canvas_light_set_enabled** **(** :ref:`RID` light, :ref:`bool` enabled **)** Enables or disables a canvas light. ---- .. _class_VisualServer_method_canvas_light_set_energy: - void **canvas_light_set_energy** **(** :ref:`RID` light, :ref:`float` energy **)** Sets a canvas light's energy. ---- .. _class_VisualServer_method_canvas_light_set_height: - void **canvas_light_set_height** **(** :ref:`RID` light, :ref:`float` height **)** Sets a canvas light's height. ---- .. _class_VisualServer_method_canvas_light_set_item_cull_mask: - void **canvas_light_set_item_cull_mask** **(** :ref:`RID` light, :ref:`int` mask **)** The light mask. See :ref:`LightOccluder2D` for more information on light masks. ---- .. _class_VisualServer_method_canvas_light_set_item_shadow_cull_mask: - void **canvas_light_set_item_shadow_cull_mask** **(** :ref:`RID` light, :ref:`int` mask **)** The binary mask used to determine which layers this canvas light's shadows affects. See :ref:`LightOccluder2D` for more information on light masks. ---- .. _class_VisualServer_method_canvas_light_set_layer_range: - void **canvas_light_set_layer_range** **(** :ref:`RID` light, :ref:`int` min_layer, :ref:`int` max_layer **)** The layer range that gets rendered with this light. ---- .. _class_VisualServer_method_canvas_light_set_mode: - void **canvas_light_set_mode** **(** :ref:`RID` light, :ref:`CanvasLightMode` mode **)** The mode of the light, see :ref:`CanvasLightMode` constants. ---- .. _class_VisualServer_method_canvas_light_set_scale: - void **canvas_light_set_scale** **(** :ref:`RID` light, :ref:`float` scale **)** Sets the texture's scale factor of the light. Equivalent to :ref:`Light2D.texture_scale`. ---- .. _class_VisualServer_method_canvas_light_set_shadow_buffer_size: - void **canvas_light_set_shadow_buffer_size** **(** :ref:`RID` light, :ref:`int` size **)** Sets the width of the shadow buffer, size gets scaled to the next power of two for this. ---- .. _class_VisualServer_method_canvas_light_set_shadow_color: - void **canvas_light_set_shadow_color** **(** :ref:`RID` light, :ref:`Color` color **)** Sets the color of the canvas light's shadow. ---- .. _class_VisualServer_method_canvas_light_set_shadow_enabled: - void **canvas_light_set_shadow_enabled** **(** :ref:`RID` light, :ref:`bool` enabled **)** Enables or disables the canvas light's shadow. ---- .. _class_VisualServer_method_canvas_light_set_shadow_filter: - void **canvas_light_set_shadow_filter** **(** :ref:`RID` light, :ref:`CanvasLightShadowFilter` filter **)** Sets the canvas light's shadow's filter, see :ref:`CanvasLightShadowFilter` constants. ---- .. _class_VisualServer_method_canvas_light_set_shadow_smooth: - void **canvas_light_set_shadow_smooth** **(** :ref:`RID` light, :ref:`float` smooth **)** Smoothens the shadow. The lower, the smoother. ---- .. _class_VisualServer_method_canvas_light_set_texture: - void **canvas_light_set_texture** **(** :ref:`RID` light, :ref:`RID` texture **)** Sets texture to be used by light. Equivalent to :ref:`Light2D.texture`. ---- .. _class_VisualServer_method_canvas_light_set_texture_offset: - void **canvas_light_set_texture_offset** **(** :ref:`RID` light, :ref:`Vector2` offset **)** Sets the offset of the light's texture. Equivalent to :ref:`Light2D.offset`. ---- .. _class_VisualServer_method_canvas_light_set_transform: - void **canvas_light_set_transform** **(** :ref:`RID` light, :ref:`Transform2D` transform **)** Sets the canvas light's :ref:`Transform2D`. ---- .. _class_VisualServer_method_canvas_light_set_z_range: - void **canvas_light_set_z_range** **(** :ref:`RID` light, :ref:`int` min_z, :ref:`int` max_z **)** Sets the Z range of objects that will be affected by this light. Equivalent to :ref:`Light2D.range_z_min` and :ref:`Light2D.range_z_max`. ---- .. _class_VisualServer_method_canvas_occluder_polygon_create: - :ref:`RID` **canvas_occluder_polygon_create** **(** **)** Creates a new light occluder polygon and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``canvas_occluder_polygon_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_canvas_occluder_polygon_set_cull_mode: - void **canvas_occluder_polygon_set_cull_mode** **(** :ref:`RID` occluder_polygon, :ref:`CanvasOccluderPolygonCullMode` mode **)** Sets an occluder polygons cull mode. See :ref:`CanvasOccluderPolygonCullMode` constants. ---- .. _class_VisualServer_method_canvas_occluder_polygon_set_shape: - void **canvas_occluder_polygon_set_shape** **(** :ref:`RID` occluder_polygon, :ref:`PackedVector2Array` shape, :ref:`bool` closed **)** Sets the shape of the occluder polygon. ---- .. _class_VisualServer_method_canvas_occluder_polygon_set_shape_as_lines: - void **canvas_occluder_polygon_set_shape_as_lines** **(** :ref:`RID` occluder_polygon, :ref:`PackedVector2Array` shape **)** Sets the shape of the occluder polygon as lines. ---- .. _class_VisualServer_method_canvas_set_item_mirroring: - void **canvas_set_item_mirroring** **(** :ref:`RID` canvas, :ref:`RID` item, :ref:`Vector2` mirroring **)** A copy of the canvas item will be drawn with a local offset of the mirroring :ref:`Vector2`. ---- .. _class_VisualServer_method_canvas_set_modulate: - void **canvas_set_modulate** **(** :ref:`RID` canvas, :ref:`Color` color **)** Modulates all colors in the given canvas. ---- .. _class_VisualServer_method_directional_light_create: - :ref:`RID` **directional_light_create** **(** **)** Creates a directional light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most ``light_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. To place in a scene, attach this directional light to an instance using :ref:`instance_set_base` using the returned RID. ---- .. _class_VisualServer_method_environment_create: - :ref:`RID` **environment_create** **(** **)** Creates an environment and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``environment_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_environment_set_adjustment: - void **environment_set_adjustment** **(** :ref:`RID` env, :ref:`bool` enable, :ref:`float` brightness, :ref:`float` contrast, :ref:`float` saturation, :ref:`RID` ramp **)** Sets the values to be used with the "Adjustment" post-process effect. See :ref:`Environment` for more details. ---- .. _class_VisualServer_method_environment_set_ambient_light: - void **environment_set_ambient_light** **(** :ref:`RID` env, :ref:`Color` color, :ref:`EnvironmentAmbientSource` ambient=0, :ref:`float` energy=1.0, :ref:`float` sky_contibution=0.0, :ref:`EnvironmentReflectionSource` reflection_source=0, :ref:`Color` ao_color=Color( 0, 0, 0, 1 ) **)** ---- .. _class_VisualServer_method_environment_set_background: - void **environment_set_background** **(** :ref:`RID` env, :ref:`EnvironmentBG` bg **)** Sets the *BGMode* of the environment. Equivalent to :ref:`Environment.background_mode`. ---- .. _class_VisualServer_method_environment_set_bg_color: - void **environment_set_bg_color** **(** :ref:`RID` env, :ref:`Color` color **)** Color displayed for clear areas of the scene (if using Custom color or Color+Sky background modes). ---- .. _class_VisualServer_method_environment_set_bg_energy: - void **environment_set_bg_energy** **(** :ref:`RID` env, :ref:`float` energy **)** Sets the intensity of the background color. ---- .. _class_VisualServer_method_environment_set_canvas_max_layer: - void **environment_set_canvas_max_layer** **(** :ref:`RID` env, :ref:`int` max_layer **)** Sets the maximum layer to use if using Canvas background mode. ---- .. _class_VisualServer_method_environment_set_fog: - void **environment_set_fog** **(** :ref:`RID` env, :ref:`bool` enable, :ref:`Color` color, :ref:`Color` sun_color, :ref:`float` sun_amount **)** Sets the variables to be used with the scene fog. See :ref:`Environment` for more details. ---- .. _class_VisualServer_method_environment_set_fog_depth: - void **environment_set_fog_depth** **(** :ref:`RID` env, :ref:`bool` enable, :ref:`float` depth_begin, :ref:`float` depth_end, :ref:`float` depth_curve, :ref:`bool` transmit, :ref:`float` transmit_curve **)** Sets the variables to be used with the fog depth effect. See :ref:`Environment` for more details. ---- .. _class_VisualServer_method_environment_set_fog_height: - void **environment_set_fog_height** **(** :ref:`RID` env, :ref:`bool` enable, :ref:`float` min_height, :ref:`float` max_height, :ref:`float` height_curve **)** Sets the variables to be used with the fog height effect. See :ref:`Environment` for more details. ---- .. _class_VisualServer_method_environment_set_glow: - void **environment_set_glow** **(** :ref:`RID` env, :ref:`bool` enable, :ref:`int` level_flags, :ref:`float` intensity, :ref:`float` strength, :ref:`float` mix, :ref:`float` bloom_threshold, :ref:`EnvironmentGlowBlendMode` blend_mode, :ref:`float` hdr_bleed_threshold, :ref:`float` hdr_bleed_scale, :ref:`float` hdr_luminance_cap, :ref:`bool` bicubic_upscale **)** ---- .. _class_VisualServer_method_environment_set_sky: - void **environment_set_sky** **(** :ref:`RID` env, :ref:`RID` sky **)** Sets the :ref:`Sky` to be used as the environment's background when using *BGMode* sky. Equivalent to :ref:`Environment.sky`. ---- .. _class_VisualServer_method_environment_set_sky_custom_fov: - void **environment_set_sky_custom_fov** **(** :ref:`RID` env, :ref:`float` scale **)** Sets a custom field of view for the background :ref:`Sky`. Equivalent to :ref:`Environment.sky_custom_fov`. ---- .. _class_VisualServer_method_environment_set_sky_orientation: - void **environment_set_sky_orientation** **(** :ref:`RID` env, :ref:`Basis` orientation **)** Sets the rotation of the background :ref:`Sky` expressed as a :ref:`Basis`. Equivalent to :ref:`Environment.sky_rotation`, where the rotation vector is used to construct the :ref:`Basis`. ---- .. _class_VisualServer_method_environment_set_ssao: - void **environment_set_ssao** **(** :ref:`RID` env, :ref:`bool` enable, :ref:`float` radius, :ref:`float` intensity, :ref:`float` bias, :ref:`float` light_affect, :ref:`float` ao_channel_affect, :ref:`EnvironmentSSAOBlur` blur, :ref:`float` bilateral_sharpness **)** ---- .. _class_VisualServer_method_environment_set_ssr: - void **environment_set_ssr** **(** :ref:`RID` env, :ref:`bool` enable, :ref:`int` max_steps, :ref:`float` fade_in, :ref:`float` fade_out, :ref:`float` depth_tolerance, :ref:`bool` roughness **)** Sets the variables to be used with the "screen space reflections" post-process effect. See :ref:`Environment` for more details. ---- .. _class_VisualServer_method_environment_set_tonemap: - void **environment_set_tonemap** **(** :ref:`RID` env, :ref:`EnvironmentToneMapper` tone_mapper, :ref:`float` exposure, :ref:`float` white, :ref:`bool` auto_exposure, :ref:`float` min_luminance, :ref:`float` max_luminance, :ref:`float` auto_exp_speed, :ref:`float` auto_exp_grey **)** Sets the variables to be used with the "tonemap" post-process effect. See :ref:`Environment` for more details. ---- .. _class_VisualServer_method_finish: - void **finish** **(** **)** Removes buffers and clears testcubes. ---- .. _class_VisualServer_method_force_draw: - void **force_draw** **(** :ref:`bool` swap_buffers=true, :ref:`float` frame_step=0.0 **)** Forces a frame to be drawn when the function is called. Drawing a frame updates all :ref:`Viewport`\ s that are set to update. Use with extreme caution. ---- .. _class_VisualServer_method_force_sync: - void **force_sync** **(** **)** Synchronizes threads. ---- .. _class_VisualServer_method_free_rid: - void **free_rid** **(** :ref:`RID` rid **)** Tries to free an object in the VisualServer. ---- .. _class_VisualServer_method_get_render_info: - :ref:`int` **get_render_info** **(** :ref:`RenderInfo` info **)** Returns a certain information, see :ref:`RenderInfo` for options. ---- .. _class_VisualServer_method_get_test_cube: - :ref:`RID` **get_test_cube** **(** **)** Returns the id of the test cube. Creates one if none exists. ---- .. _class_VisualServer_method_get_test_texture: - :ref:`RID` **get_test_texture** **(** **)** Returns the id of the test texture. Creates one if none exists. ---- .. _class_VisualServer_method_get_video_adapter_name: - :ref:`String` **get_video_adapter_name** **(** **)** const Returns the name of the video adapter (e.g. "GeForce GTX 1080/PCIe/SSE2"). **Note:** When running a headless or server binary, this function returns an empty string. ---- .. _class_VisualServer_method_get_video_adapter_vendor: - :ref:`String` **get_video_adapter_vendor** **(** **)** const Returns the vendor of the video adapter (e.g. "NVIDIA Corporation"). **Note:** When running a headless or server binary, this function returns an empty string. ---- .. _class_VisualServer_method_get_white_texture: - :ref:`RID` **get_white_texture** **(** **)** Returns the id of a white texture. Creates one if none exists. ---- .. _class_VisualServer_method_has_changed: - :ref:`bool` **has_changed** **(** **)** const Returns ``true`` if changes have been made to the VisualServer's data. :ref:`force_draw` is usually called if this happens. ---- .. _class_VisualServer_method_has_feature: - :ref:`bool` **has_feature** **(** :ref:`Features` feature **)** const Not yet implemented. Always returns ``false``. ---- .. _class_VisualServer_method_has_os_feature: - :ref:`bool` **has_os_feature** **(** :ref:`String` feature **)** const Returns ``true`` if the OS supports a certain feature. Features might be ``s3tc``, ``etc``, ``etc2`` and ``pvrtc``. ---- .. _class_VisualServer_method_immediate_begin: - void **immediate_begin** **(** :ref:`RID` immediate, :ref:`PrimitiveType` primitive, :ref:`RID` texture **)** Sets up :ref:`ImmediateGeometry` internals to prepare for drawing. Equivalent to :ref:`ImmediateGeometry.begin`. ---- .. _class_VisualServer_method_immediate_clear: - void **immediate_clear** **(** :ref:`RID` immediate **)** Clears everything that was set up between :ref:`immediate_begin` and :ref:`immediate_end`. Equivalent to :ref:`ImmediateGeometry.clear`. ---- .. _class_VisualServer_method_immediate_color: - void **immediate_color** **(** :ref:`RID` immediate, :ref:`Color` color **)** Sets the color to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_color`. ---- .. _class_VisualServer_method_immediate_create: - :ref:`RID` **immediate_create** **(** **)** Creates an immediate geometry and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``immediate_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. To place in a scene, attach this immediate geometry to an instance using :ref:`instance_set_base` using the returned RID. ---- .. _class_VisualServer_method_immediate_end: - void **immediate_end** **(** :ref:`RID` immediate **)** Ends drawing the :ref:`ImmediateGeometry` and displays it. Equivalent to :ref:`ImmediateGeometry.end`. ---- .. _class_VisualServer_method_immediate_get_material: - :ref:`RID` **immediate_get_material** **(** :ref:`RID` immediate **)** const Returns the material assigned to the :ref:`ImmediateGeometry`. ---- .. _class_VisualServer_method_immediate_normal: - void **immediate_normal** **(** :ref:`RID` immediate, :ref:`Vector3` normal **)** Sets the normal to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_normal`. ---- .. _class_VisualServer_method_immediate_set_material: - void **immediate_set_material** **(** :ref:`RID` immediate, :ref:`RID` material **)** Sets the material to be used to draw the :ref:`ImmediateGeometry`. ---- .. _class_VisualServer_method_immediate_tangent: - void **immediate_tangent** **(** :ref:`RID` immediate, :ref:`Plane` tangent **)** Sets the tangent to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_tangent`. ---- .. _class_VisualServer_method_immediate_uv: - void **immediate_uv** **(** :ref:`RID` immediate, :ref:`Vector2` tex_uv **)** Sets the UV to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_uv`. ---- .. _class_VisualServer_method_immediate_uv2: - void **immediate_uv2** **(** :ref:`RID` immediate, :ref:`Vector2` tex_uv **)** Sets the UV2 to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_uv2`. ---- .. _class_VisualServer_method_immediate_vertex: - void **immediate_vertex** **(** :ref:`RID` immediate, :ref:`Vector3` vertex **)** Adds the next vertex using the information provided in advance. Equivalent to :ref:`ImmediateGeometry.add_vertex`. ---- .. _class_VisualServer_method_immediate_vertex_2d: - void **immediate_vertex_2d** **(** :ref:`RID` immediate, :ref:`Vector2` vertex **)** Adds the next vertex using the information provided in advance. This is a helper class that calls :ref:`immediate_vertex` under the hood. Equivalent to :ref:`ImmediateGeometry.add_vertex`. ---- .. _class_VisualServer_method_init: - void **init** **(** **)** Initializes the visual server. This function is called internally by platform-dependent code during engine initialization. If called from a running game, it will not do anything. ---- .. _class_VisualServer_method_instance_attach_object_instance_id: - void **instance_attach_object_instance_id** **(** :ref:`RID` instance, :ref:`int` id **)** Attaches a unique Object ID to instance. Object ID must be attached to instance for proper culling with :ref:`instances_cull_aabb`, :ref:`instances_cull_convex`, and :ref:`instances_cull_ray`. ---- .. _class_VisualServer_method_instance_attach_skeleton: - void **instance_attach_skeleton** **(** :ref:`RID` instance, :ref:`RID` skeleton **)** Attaches a skeleton to an instance. Removes the previous skeleton from the instance. ---- .. _class_VisualServer_method_instance_create: - :ref:`RID` **instance_create** **(** **)** Creates a visual instance and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``instance_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. An instance is a way of placing a 3D object in the scenario. Objects like particles, meshes, and reflection probes need to be associated with an instance to be visible in the scenario using :ref:`instance_set_base`. ---- .. _class_VisualServer_method_instance_create2: - :ref:`RID` **instance_create2** **(** :ref:`RID` base, :ref:`RID` scenario **)** Creates a visual instance, adds it to the VisualServer, and sets both base and scenario. It can be accessed with the RID that is returned. This RID will be used in all ``instance_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_instance_geometry_set_as_instance_lod: - void **instance_geometry_set_as_instance_lod** **(** :ref:`RID` instance, :ref:`RID` as_lod_of_instance **)** Not implemented in Godot 3.x. ---- .. _class_VisualServer_method_instance_geometry_set_cast_shadows_setting: - void **instance_geometry_set_cast_shadows_setting** **(** :ref:`RID` instance, :ref:`ShadowCastingSetting` shadow_casting_setting **)** Sets the shadow casting setting to one of :ref:`ShadowCastingSetting`. Equivalent to :ref:`GeometryInstance.cast_shadow`. ---- .. _class_VisualServer_method_instance_geometry_set_draw_range: - void **instance_geometry_set_draw_range** **(** :ref:`RID` instance, :ref:`float` min, :ref:`float` max, :ref:`float` min_margin, :ref:`float` max_margin **)** Not implemented in Godot 3.x. ---- .. _class_VisualServer_method_instance_geometry_set_flag: - void **instance_geometry_set_flag** **(** :ref:`RID` instance, :ref:`InstanceFlags` flag, :ref:`bool` enabled **)** Sets the flag for a given :ref:`InstanceFlags`. See :ref:`InstanceFlags` for more details. ---- .. _class_VisualServer_method_instance_geometry_set_material_override: - void **instance_geometry_set_material_override** **(** :ref:`RID` instance, :ref:`RID` material **)** Sets a material that will override the material for all surfaces on the mesh associated with this instance. Equivalent to :ref:`GeometryInstance.material_override`. ---- .. _class_VisualServer_method_instance_set_base: - void **instance_set_base** **(** :ref:`RID` instance, :ref:`RID` base **)** Sets the base of the instance. A base can be any of the 3D objects that are created in the VisualServer that can be displayed. For example, any of the light types, mesh, multimesh, immediate geometry, particle system, reflection probe, lightmap capture, and the GI probe are all types that can be set as the base of an instance in order to be displayed in the scenario. ---- .. _class_VisualServer_method_instance_set_blend_shape_weight: - void **instance_set_blend_shape_weight** **(** :ref:`RID` instance, :ref:`int` shape, :ref:`float` weight **)** Sets the weight for a given blend shape associated with this instance. ---- .. _class_VisualServer_method_instance_set_custom_aabb: - void **instance_set_custom_aabb** **(** :ref:`RID` instance, :ref:`AABB` aabb **)** Sets a custom AABB to use when culling objects from the view frustum. Equivalent to :ref:`GeometryInstance.set_custom_aabb`. ---- .. _class_VisualServer_method_instance_set_exterior: - void **instance_set_exterior** **(** :ref:`RID` instance, :ref:`bool` enabled **)** Function not implemented in Godot 3.x. ---- .. _class_VisualServer_method_instance_set_extra_visibility_margin: - void **instance_set_extra_visibility_margin** **(** :ref:`RID` instance, :ref:`float` margin **)** Sets a margin to increase the size of the AABB when culling objects from the view frustum. This allows you avoid culling objects that fall outside the view frustum. Equivalent to :ref:`GeometryInstance.extra_cull_margin`. ---- .. _class_VisualServer_method_instance_set_layer_mask: - void **instance_set_layer_mask** **(** :ref:`RID` instance, :ref:`int` mask **)** Sets the render layers that this instance will be drawn to. Equivalent to :ref:`VisualInstance.layers`. ---- .. _class_VisualServer_method_instance_set_scenario: - void **instance_set_scenario** **(** :ref:`RID` instance, :ref:`RID` scenario **)** Sets the scenario that the instance is in. The scenario is the 3D world that the objects will be displayed in. ---- .. _class_VisualServer_method_instance_set_surface_material: - void **instance_set_surface_material** **(** :ref:`RID` instance, :ref:`int` surface, :ref:`RID` material **)** Sets the material of a specific surface. Equivalent to :ref:`MeshInstance.set_surface_material`. ---- .. _class_VisualServer_method_instance_set_transform: - void **instance_set_transform** **(** :ref:`RID` instance, :ref:`Transform` transform **)** Sets the world space transform of the instance. Equivalent to :ref:`Spatial.transform`. ---- .. _class_VisualServer_method_instance_set_use_lightmap: - void **instance_set_use_lightmap** **(** :ref:`RID` instance, :ref:`RID` lightmap_instance, :ref:`RID` lightmap **)** Sets the lightmap to use with this instance. ---- .. _class_VisualServer_method_instance_set_visible: - void **instance_set_visible** **(** :ref:`RID` instance, :ref:`bool` visible **)** Sets whether an instance is drawn or not. Equivalent to :ref:`Spatial.visible`. ---- .. _class_VisualServer_method_instances_cull_aabb: - :ref:`Array` **instances_cull_aabb** **(** :ref:`AABB` aabb, :ref:`RID` scenario **)** const Returns an array of object IDs intersecting with the provided AABB. Only visual 3D nodes are considered, such as :ref:`MeshInstance` or :ref:`DirectionalLight`. Use :ref:`@GDScript.instance_from_id` to obtain the actual nodes. A scenario RID must be provided, which is available in the :ref:`World` you want to query. This forces an update for all resources queued to update. **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision. ---- .. _class_VisualServer_method_instances_cull_convex: - :ref:`Array` **instances_cull_convex** **(** :ref:`Array` convex, :ref:`RID` scenario **)** const Returns an array of object IDs intersecting with the provided convex shape. Only visual 3D nodes are considered, such as :ref:`MeshInstance` or :ref:`DirectionalLight`. Use :ref:`@GDScript.instance_from_id` to obtain the actual nodes. A scenario RID must be provided, which is available in the :ref:`World` you want to query. This forces an update for all resources queued to update. **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision. ---- .. _class_VisualServer_method_instances_cull_ray: - :ref:`Array` **instances_cull_ray** **(** :ref:`Vector3` from, :ref:`Vector3` to, :ref:`RID` scenario **)** const Returns an array of object IDs intersecting with the provided 3D ray. Only visual 3D nodes are considered, such as :ref:`MeshInstance` or :ref:`DirectionalLight`. Use :ref:`@GDScript.instance_from_id` to obtain the actual nodes. A scenario RID must be provided, which is available in the :ref:`World` you want to query. This forces an update for all resources queued to update. **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision. ---- .. _class_VisualServer_method_light_directional_set_blend_splits: - void **light_directional_set_blend_splits** **(** :ref:`RID` light, :ref:`bool` enable **)** If ``true``, this directional light will blend between shadow map splits resulting in a smoother transition between them. Equivalent to :ref:`DirectionalLight.directional_shadow_blend_splits`. ---- .. _class_VisualServer_method_light_directional_set_shadow_depth_range_mode: - void **light_directional_set_shadow_depth_range_mode** **(** :ref:`RID` light, :ref:`LightDirectionalShadowDepthRangeMode` range_mode **)** Sets the shadow depth range mode for this directional light. Equivalent to :ref:`DirectionalLight.directional_shadow_depth_range`. See :ref:`LightDirectionalShadowDepthRangeMode` for options. ---- .. _class_VisualServer_method_light_directional_set_shadow_mode: - void **light_directional_set_shadow_mode** **(** :ref:`RID` light, :ref:`LightDirectionalShadowMode` mode **)** Sets the shadow mode for this directional light. Equivalent to :ref:`DirectionalLight.directional_shadow_mode`. See :ref:`LightDirectionalShadowMode` for options. ---- .. _class_VisualServer_method_light_omni_set_shadow_mode: - void **light_omni_set_shadow_mode** **(** :ref:`RID` light, :ref:`LightOmniShadowMode` mode **)** Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual paraboloid is faster but may suffer from artifacts. Equivalent to :ref:`OmniLight.omni_shadow_mode`. ---- .. _class_VisualServer_method_light_set_color: - void **light_set_color** **(** :ref:`RID` light, :ref:`Color` color **)** Sets the color of the light. Equivalent to :ref:`Light.light_color`. ---- .. _class_VisualServer_method_light_set_cull_mask: - void **light_set_cull_mask** **(** :ref:`RID` light, :ref:`int` mask **)** Sets the cull mask for this Light. Lights only affect objects in the selected layers. Equivalent to :ref:`Light.light_cull_mask`. ---- .. _class_VisualServer_method_light_set_negative: - void **light_set_negative** **(** :ref:`RID` light, :ref:`bool` enable **)** If ``true``, light will subtract light instead of adding light. Equivalent to :ref:`Light.light_negative`. ---- .. _class_VisualServer_method_light_set_param: - void **light_set_param** **(** :ref:`RID` light, :ref:`LightParam` param, :ref:`float` value **)** Sets the specified light parameter. See :ref:`LightParam` for options. Equivalent to :ref:`Light.set_param`. ---- .. _class_VisualServer_method_light_set_projector: - void **light_set_projector** **(** :ref:`RID` light, :ref:`RID` texture **)** Not implemented in Godot 3.x. ---- .. _class_VisualServer_method_light_set_reverse_cull_face_mode: - void **light_set_reverse_cull_face_mode** **(** :ref:`RID` light, :ref:`bool` enabled **)** If ``true``, reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double sided shadows with :ref:`instance_geometry_set_cast_shadows_setting`. Equivalent to :ref:`Light.shadow_reverse_cull_face`. ---- .. _class_VisualServer_method_light_set_shadow: - void **light_set_shadow** **(** :ref:`RID` light, :ref:`bool` enabled **)** If ``true``, light will cast shadows. Equivalent to :ref:`Light.shadow_enabled`. ---- .. _class_VisualServer_method_light_set_shadow_color: - void **light_set_shadow_color** **(** :ref:`RID` light, :ref:`Color` color **)** Sets the color of the shadow cast by the light. Equivalent to :ref:`Light.shadow_color`. ---- .. _class_VisualServer_method_light_set_use_gi: - void **light_set_use_gi** **(** :ref:`RID` light, :ref:`bool` enabled **)** Sets whether GI probes capture light information from this light. ---- .. _class_VisualServer_method_lightmap_capture_create: - :ref:`RID` **lightmap_capture_create** **(** **)** Creates a lightmap capture and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``lightmap_capture_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. To place in a scene, attach this lightmap capture to an instance using :ref:`instance_set_base` using the returned RID. ---- .. _class_VisualServer_method_lightmap_capture_get_bounds: - :ref:`AABB` **lightmap_capture_get_bounds** **(** :ref:`RID` capture **)** const Returns the size of the lightmap capture area. ---- .. _class_VisualServer_method_lightmap_capture_get_energy: - :ref:`float` **lightmap_capture_get_energy** **(** :ref:`RID` capture **)** const Returns the energy multiplier used by the lightmap capture. ---- .. _class_VisualServer_method_lightmap_capture_get_octree: - :ref:`PackedByteArray` **lightmap_capture_get_octree** **(** :ref:`RID` capture **)** const Returns the octree used by the lightmap capture. ---- .. _class_VisualServer_method_lightmap_capture_get_octree_cell_subdiv: - :ref:`int` **lightmap_capture_get_octree_cell_subdiv** **(** :ref:`RID` capture **)** const Returns the cell subdivision amount used by this lightmap capture's octree. ---- .. _class_VisualServer_method_lightmap_capture_get_octree_cell_transform: - :ref:`Transform` **lightmap_capture_get_octree_cell_transform** **(** :ref:`RID` capture **)** const Returns the cell transform for this lightmap capture's octree. ---- .. _class_VisualServer_method_lightmap_capture_set_bounds: - void **lightmap_capture_set_bounds** **(** :ref:`RID` capture, :ref:`AABB` bounds **)** Sets the size of the area covered by the lightmap capture. ---- .. _class_VisualServer_method_lightmap_capture_set_energy: - void **lightmap_capture_set_energy** **(** :ref:`RID` capture, :ref:`float` energy **)** Sets the energy multiplier for this lightmap capture. ---- .. _class_VisualServer_method_lightmap_capture_set_octree: - void **lightmap_capture_set_octree** **(** :ref:`RID` capture, :ref:`PackedByteArray` octree **)** Sets the octree to be used by this lightmap capture. ---- .. _class_VisualServer_method_lightmap_capture_set_octree_cell_subdiv: - void **lightmap_capture_set_octree_cell_subdiv** **(** :ref:`RID` capture, :ref:`int` subdiv **)** Sets the subdivision level of this lightmap capture's octree. ---- .. _class_VisualServer_method_lightmap_capture_set_octree_cell_transform: - void **lightmap_capture_set_octree_cell_transform** **(** :ref:`RID` capture, :ref:`Transform` xform **)** Sets the octree cell transform for this lightmap capture's octree. ---- .. _class_VisualServer_method_make_sphere_mesh: - :ref:`RID` **make_sphere_mesh** **(** :ref:`int` latitudes, :ref:`int` longitudes, :ref:`float` radius **)** Returns a mesh of a sphere with the given amount of horizontal and vertical subdivisions. ---- .. _class_VisualServer_method_material_create: - :ref:`RID` **material_create** **(** **)** Creates an empty material and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``material_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_material_get_param: - :ref:`Variant` **material_get_param** **(** :ref:`RID` material, :ref:`StringName` parameter **)** const Returns the value of a certain material's parameter. ---- .. _class_VisualServer_method_material_set_next_pass: - void **material_set_next_pass** **(** :ref:`RID` material, :ref:`RID` next_material **)** Sets an object's next material. ---- .. _class_VisualServer_method_material_set_param: - void **material_set_param** **(** :ref:`RID` material, :ref:`StringName` parameter, :ref:`Variant` value **)** Sets a material's parameter. ---- .. _class_VisualServer_method_material_set_render_priority: - void **material_set_render_priority** **(** :ref:`RID` material, :ref:`int` priority **)** Sets a material's render priority. ---- .. _class_VisualServer_method_material_set_shader: - void **material_set_shader** **(** :ref:`RID` shader_material, :ref:`RID` shader **)** Sets a shader material's shader. ---- .. _class_VisualServer_method_mesh_add_surface_from_arrays: - void **mesh_add_surface_from_arrays** **(** :ref:`RID` mesh, :ref:`PrimitiveType` primitive, :ref:`Array` arrays, :ref:`Array` blend_shapes=[ ], :ref:`Dictionary` lods={ }, :ref:`int` compress_format=31744 **)** ---- .. _class_VisualServer_method_mesh_clear: - void **mesh_clear** **(** :ref:`RID` mesh **)** Removes all surfaces from a mesh. ---- .. _class_VisualServer_method_mesh_create: - :ref:`RID` **mesh_create** **(** **)** Creates a new mesh and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``mesh_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. To place in a scene, attach this mesh to an instance using :ref:`instance_set_base` using the returned RID. ---- .. _class_VisualServer_method_mesh_get_blend_shape_count: - :ref:`int` **mesh_get_blend_shape_count** **(** :ref:`RID` mesh **)** const Returns a mesh's blend shape count. ---- .. _class_VisualServer_method_mesh_get_blend_shape_mode: - :ref:`BlendShapeMode` **mesh_get_blend_shape_mode** **(** :ref:`RID` mesh **)** const Returns a mesh's blend shape mode. ---- .. _class_VisualServer_method_mesh_get_custom_aabb: - :ref:`AABB` **mesh_get_custom_aabb** **(** :ref:`RID` mesh **)** const Returns a mesh's custom aabb. ---- .. _class_VisualServer_method_mesh_get_surface_count: - :ref:`int` **mesh_get_surface_count** **(** :ref:`RID` mesh **)** const Returns a mesh's number of surfaces. ---- .. _class_VisualServer_method_mesh_set_blend_shape_mode: - void **mesh_set_blend_shape_mode** **(** :ref:`RID` mesh, :ref:`BlendShapeMode` mode **)** Sets a mesh's blend shape mode. ---- .. _class_VisualServer_method_mesh_set_custom_aabb: - void **mesh_set_custom_aabb** **(** :ref:`RID` mesh, :ref:`AABB` aabb **)** Sets a mesh's custom aabb. ---- .. _class_VisualServer_method_mesh_surface_get_arrays: - :ref:`Array` **mesh_surface_get_arrays** **(** :ref:`RID` mesh, :ref:`int` surface **)** const Returns a mesh's surface's buffer arrays. ---- .. _class_VisualServer_method_mesh_surface_get_blend_shape_arrays: - :ref:`Array` **mesh_surface_get_blend_shape_arrays** **(** :ref:`RID` mesh, :ref:`int` surface **)** const Returns a mesh's surface's arrays for blend shapes. ---- .. _class_VisualServer_method_mesh_surface_get_format_offset: - :ref:`int` **mesh_surface_get_format_offset** **(** :ref:`int` format, :ref:`int` vertex_len, :ref:`int` index_len, :ref:`int` array_index **)** const Function is unused in Godot 3.x. ---- .. _class_VisualServer_method_mesh_surface_get_format_stride: - :ref:`int` **mesh_surface_get_format_stride** **(** :ref:`int` format, :ref:`int` vertex_len, :ref:`int` index_len **)** const Function is unused in Godot 3.x. ---- .. _class_VisualServer_method_mesh_surface_get_material: - :ref:`RID` **mesh_surface_get_material** **(** :ref:`RID` mesh, :ref:`int` surface **)** const Returns a mesh's surface's material. ---- .. _class_VisualServer_method_mesh_surface_set_material: - void **mesh_surface_set_material** **(** :ref:`RID` mesh, :ref:`int` surface, :ref:`RID` material **)** Sets a mesh's surface's material. ---- .. _class_VisualServer_method_mesh_surface_update_region: - void **mesh_surface_update_region** **(** :ref:`RID` mesh, :ref:`int` surface, :ref:`int` offset, :ref:`PackedByteArray` data **)** Updates a specific region of a vertex buffer for the specified surface. Warning: this function alters the vertex buffer directly with no safety mechanisms, you can easily corrupt your mesh. ---- .. _class_VisualServer_method_multimesh_allocate: - void **multimesh_allocate** **(** :ref:`RID` multimesh, :ref:`int` instances, :ref:`MultimeshTransformFormat` transform_format, :ref:`bool` color_format=false, :ref:`bool` custom_data_format=false **)** ---- .. _class_VisualServer_method_multimesh_create: - :ref:`RID` **multimesh_create** **(** **)** Creates a new multimesh on the VisualServer and returns an :ref:`RID` handle. This RID will be used in all ``multimesh_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. To place in a scene, attach this multimesh to an instance using :ref:`instance_set_base` using the returned RID. ---- .. _class_VisualServer_method_multimesh_get_aabb: - :ref:`AABB` **multimesh_get_aabb** **(** :ref:`RID` multimesh **)** const Calculates and returns the axis-aligned bounding box that encloses all instances within the multimesh. ---- .. _class_VisualServer_method_multimesh_get_buffer: - :ref:`PackedFloat32Array` **multimesh_get_buffer** **(** :ref:`RID` multimesh **)** const ---- .. _class_VisualServer_method_multimesh_get_instance_count: - :ref:`int` **multimesh_get_instance_count** **(** :ref:`RID` multimesh **)** const Returns the number of instances allocated for this multimesh. ---- .. _class_VisualServer_method_multimesh_get_mesh: - :ref:`RID` **multimesh_get_mesh** **(** :ref:`RID` multimesh **)** const Returns the RID of the mesh that will be used in drawing this multimesh. ---- .. _class_VisualServer_method_multimesh_get_visible_instances: - :ref:`int` **multimesh_get_visible_instances** **(** :ref:`RID` multimesh **)** const Returns the number of visible instances for this multimesh. ---- .. _class_VisualServer_method_multimesh_instance_get_color: - :ref:`Color` **multimesh_instance_get_color** **(** :ref:`RID` multimesh, :ref:`int` index **)** const Returns the color by which the specified instance will be modulated. ---- .. _class_VisualServer_method_multimesh_instance_get_custom_data: - :ref:`Color` **multimesh_instance_get_custom_data** **(** :ref:`RID` multimesh, :ref:`int` index **)** const Returns the custom data associated with the specified instance. ---- .. _class_VisualServer_method_multimesh_instance_get_transform: - :ref:`Transform` **multimesh_instance_get_transform** **(** :ref:`RID` multimesh, :ref:`int` index **)** const Returns the :ref:`Transform` of the specified instance. ---- .. _class_VisualServer_method_multimesh_instance_get_transform_2d: - :ref:`Transform2D` **multimesh_instance_get_transform_2d** **(** :ref:`RID` multimesh, :ref:`int` index **)** const Returns the :ref:`Transform2D` of the specified instance. For use when the multimesh is set to use 2D transforms. ---- .. _class_VisualServer_method_multimesh_instance_set_color: - void **multimesh_instance_set_color** **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Color` color **)** Sets the color by which this instance will be modulated. Equivalent to :ref:`MultiMesh.set_instance_color`. ---- .. _class_VisualServer_method_multimesh_instance_set_custom_data: - void **multimesh_instance_set_custom_data** **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Color` custom_data **)** Sets the custom data for this instance. Custom data is passed as a :ref:`Color`, but is interpreted as a ``vec4`` in the shader. Equivalent to :ref:`MultiMesh.set_instance_custom_data`. ---- .. _class_VisualServer_method_multimesh_instance_set_transform: - void **multimesh_instance_set_transform** **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Transform` transform **)** Sets the :ref:`Transform` for this instance. Equivalent to :ref:`MultiMesh.set_instance_transform`. ---- .. _class_VisualServer_method_multimesh_instance_set_transform_2d: - void **multimesh_instance_set_transform_2d** **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Transform2D` transform **)** Sets the :ref:`Transform2D` for this instance. For use when multimesh is used in 2D. Equivalent to :ref:`MultiMesh.set_instance_transform_2d`. ---- .. _class_VisualServer_method_multimesh_set_buffer: - void **multimesh_set_buffer** **(** :ref:`RID` multimesh, :ref:`PackedFloat32Array` buffer **)** ---- .. _class_VisualServer_method_multimesh_set_mesh: - void **multimesh_set_mesh** **(** :ref:`RID` multimesh, :ref:`RID` mesh **)** Sets the mesh to be drawn by the multimesh. Equivalent to :ref:`MultiMesh.mesh`. ---- .. _class_VisualServer_method_multimesh_set_visible_instances: - void **multimesh_set_visible_instances** **(** :ref:`RID` multimesh, :ref:`int` visible **)** Sets the number of instances visible at a given time. If -1, all instances that have been allocated are drawn. Equivalent to :ref:`MultiMesh.visible_instance_count`. ---- .. _class_VisualServer_method_omni_light_create: - :ref:`RID` **omni_light_create** **(** **)** Creates a new omni light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most ``light_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. To place in a scene, attach this omni light to an instance using :ref:`instance_set_base` using the returned RID. ---- .. _class_VisualServer_method_particles_create: - :ref:`RID` **particles_create** **(** **)** Creates a particle system and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``particles_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. To place in a scene, attach these particles to an instance using :ref:`instance_set_base` using the returned RID. ---- .. _class_VisualServer_method_particles_get_current_aabb: - :ref:`AABB` **particles_get_current_aabb** **(** :ref:`RID` particles **)** Calculates and returns the axis-aligned bounding box that contains all the particles. Equivalent to :ref:`Particles.capture_aabb`. ---- .. _class_VisualServer_method_particles_get_emitting: - :ref:`bool` **particles_get_emitting** **(** :ref:`RID` particles **)** Returns ``true`` if particles are currently set to emitting. ---- .. _class_VisualServer_method_particles_is_inactive: - :ref:`bool` **particles_is_inactive** **(** :ref:`RID` particles **)** Returns ``true`` if particles are not emitting and particles are set to inactive. ---- .. _class_VisualServer_method_particles_request_process: - void **particles_request_process** **(** :ref:`RID` particles **)** Add particle system to list of particle systems that need to be updated. Update will take place on the next frame, or on the next call to :ref:`instances_cull_aabb`, :ref:`instances_cull_convex`, or :ref:`instances_cull_ray`. ---- .. _class_VisualServer_method_particles_restart: - void **particles_restart** **(** :ref:`RID` particles **)** Reset the particles on the next update. Equivalent to :ref:`Particles.restart`. ---- .. _class_VisualServer_method_particles_set_amount: - void **particles_set_amount** **(** :ref:`RID` particles, :ref:`int` amount **)** Sets the number of particles to be drawn and allocates the memory for them. Equivalent to :ref:`Particles.amount`. ---- .. _class_VisualServer_method_particles_set_custom_aabb: - void **particles_set_custom_aabb** **(** :ref:`RID` particles, :ref:`AABB` aabb **)** Sets a custom axis-aligned bounding box for the particle system. Equivalent to :ref:`Particles.visibility_aabb`. ---- .. _class_VisualServer_method_particles_set_draw_order: - void **particles_set_draw_order** **(** :ref:`RID` particles, :ref:`ParticlesDrawOrder` order **)** Sets the draw order of the particles to one of the named enums from :ref:`ParticlesDrawOrder`. See :ref:`ParticlesDrawOrder` for options. Equivalent to :ref:`Particles.draw_order`. ---- .. _class_VisualServer_method_particles_set_draw_pass_mesh: - void **particles_set_draw_pass_mesh** **(** :ref:`RID` particles, :ref:`int` pass, :ref:`RID` mesh **)** Sets the mesh to be used for the specified draw pass. Equivalent to :ref:`Particles.draw_pass_1`, :ref:`Particles.draw_pass_2`, :ref:`Particles.draw_pass_3`, and :ref:`Particles.draw_pass_4`. ---- .. _class_VisualServer_method_particles_set_draw_passes: - void **particles_set_draw_passes** **(** :ref:`RID` particles, :ref:`int` count **)** Sets the number of draw passes to use. Equivalent to :ref:`Particles.draw_passes`. ---- .. _class_VisualServer_method_particles_set_emission_transform: - void **particles_set_emission_transform** **(** :ref:`RID` particles, :ref:`Transform` transform **)** Sets the :ref:`Transform` that will be used by the particles when they first emit. ---- .. _class_VisualServer_method_particles_set_emitting: - void **particles_set_emitting** **(** :ref:`RID` particles, :ref:`bool` emitting **)** If ``true``, particles will emit over time. Setting to false does not reset the particles, but only stops their emission. Equivalent to :ref:`Particles.emitting`. ---- .. _class_VisualServer_method_particles_set_explosiveness_ratio: - void **particles_set_explosiveness_ratio** **(** :ref:`RID` particles, :ref:`float` ratio **)** Sets the explosiveness ratio. Equivalent to :ref:`Particles.explosiveness`. ---- .. _class_VisualServer_method_particles_set_fixed_fps: - void **particles_set_fixed_fps** **(** :ref:`RID` particles, :ref:`int` fps **)** Sets the frame rate that the particle system rendering will be fixed to. Equivalent to :ref:`Particles.fixed_fps`. ---- .. _class_VisualServer_method_particles_set_fractional_delta: - void **particles_set_fractional_delta** **(** :ref:`RID` particles, :ref:`bool` enable **)** If ``true``, uses fractional delta which smooths the movement of the particles. Equivalent to :ref:`Particles.fract_delta`. ---- .. _class_VisualServer_method_particles_set_lifetime: - void **particles_set_lifetime** **(** :ref:`RID` particles, :ref:`float` lifetime **)** Sets the lifetime of each particle in the system. Equivalent to :ref:`Particles.lifetime`. ---- .. _class_VisualServer_method_particles_set_one_shot: - void **particles_set_one_shot** **(** :ref:`RID` particles, :ref:`bool` one_shot **)** If ``true``, particles will emit once and then stop. Equivalent to :ref:`Particles.one_shot`. ---- .. _class_VisualServer_method_particles_set_pre_process_time: - void **particles_set_pre_process_time** **(** :ref:`RID` particles, :ref:`float` time **)** Sets the preprocess time for the particles animation. This lets you delay starting an animation until after the particles have begun emitting. Equivalent to :ref:`Particles.preprocess`. ---- .. _class_VisualServer_method_particles_set_process_material: - void **particles_set_process_material** **(** :ref:`RID` particles, :ref:`RID` material **)** Sets the material for processing the particles. Note: this is not the material used to draw the materials. Equivalent to :ref:`Particles.process_material`. ---- .. _class_VisualServer_method_particles_set_randomness_ratio: - void **particles_set_randomness_ratio** **(** :ref:`RID` particles, :ref:`float` ratio **)** Sets the emission randomness ratio. This randomizes the emission of particles within their phase. Equivalent to :ref:`Particles.randomness`. ---- .. _class_VisualServer_method_particles_set_speed_scale: - void **particles_set_speed_scale** **(** :ref:`RID` particles, :ref:`float` scale **)** Sets the speed scale of the particle system. Equivalent to :ref:`Particles.speed_scale`. ---- .. _class_VisualServer_method_particles_set_use_local_coordinates: - void **particles_set_use_local_coordinates** **(** :ref:`RID` particles, :ref:`bool` enable **)** If ``true``, particles use local coordinates. If ``false`` they use global coordinates. Equivalent to :ref:`Particles.local_coords`. ---- .. _class_VisualServer_method_reflection_probe_create: - :ref:`RID` **reflection_probe_create** **(** **)** Creates a reflection probe and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``reflection_probe_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. To place in a scene, attach this reflection probe to an instance using :ref:`instance_set_base` using the returned RID. ---- .. _class_VisualServer_method_reflection_probe_set_as_interior: - void **reflection_probe_set_as_interior** **(** :ref:`RID` probe, :ref:`bool` enable **)** If ``true``, reflections will ignore sky contribution. Equivalent to :ref:`ReflectionProbe.interior_enable`. ---- .. _class_VisualServer_method_reflection_probe_set_cull_mask: - void **reflection_probe_set_cull_mask** **(** :ref:`RID` probe, :ref:`int` layers **)** Sets the render cull mask for this reflection probe. Only instances with a matching cull mask will be rendered by this probe. Equivalent to :ref:`ReflectionProbe.cull_mask`. ---- .. _class_VisualServer_method_reflection_probe_set_enable_box_projection: - void **reflection_probe_set_enable_box_projection** **(** :ref:`RID` probe, :ref:`bool` enable **)** If ``true``, uses box projection. This can make reflections look more correct in certain situations. Equivalent to :ref:`ReflectionProbe.box_projection`. ---- .. _class_VisualServer_method_reflection_probe_set_enable_shadows: - void **reflection_probe_set_enable_shadows** **(** :ref:`RID` probe, :ref:`bool` enable **)** If ``true``, computes shadows in the reflection probe. This makes the reflection much slower to compute. Equivalent to :ref:`ReflectionProbe.enable_shadows`. ---- .. _class_VisualServer_method_reflection_probe_set_extents: - void **reflection_probe_set_extents** **(** :ref:`RID` probe, :ref:`Vector3` extents **)** Sets the size of the area that the reflection probe will capture. Equivalent to :ref:`ReflectionProbe.extents`. ---- .. _class_VisualServer_method_reflection_probe_set_intensity: - void **reflection_probe_set_intensity** **(** :ref:`RID` probe, :ref:`float` intensity **)** Sets the intensity of the reflection probe. Intensity modulates the strength of the reflection. Equivalent to :ref:`ReflectionProbe.intensity`. ---- .. _class_VisualServer_method_reflection_probe_set_interior_ambient: - void **reflection_probe_set_interior_ambient** **(** :ref:`RID` probe, :ref:`Color` color **)** Sets the ambient light color for this reflection probe when set to interior mode. Equivalent to :ref:`ReflectionProbe.interior_ambient_color`. ---- .. _class_VisualServer_method_reflection_probe_set_interior_ambient_energy: - void **reflection_probe_set_interior_ambient_energy** **(** :ref:`RID` probe, :ref:`float` energy **)** Sets the energy multiplier for this reflection probes ambient light contribution when set to interior mode. Equivalent to :ref:`ReflectionProbe.interior_ambient_energy`. ---- .. _class_VisualServer_method_reflection_probe_set_interior_ambient_probe_contribution: - void **reflection_probe_set_interior_ambient_probe_contribution** **(** :ref:`RID` probe, :ref:`float` contrib **)** Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to interior mode. Useful so that ambient light matches the color of the room. Equivalent to :ref:`ReflectionProbe.interior_ambient_contrib`. ---- .. _class_VisualServer_method_reflection_probe_set_max_distance: - void **reflection_probe_set_max_distance** **(** :ref:`RID` probe, :ref:`float` distance **)** Sets the max distance away from the probe an object can be before it is culled. Equivalent to :ref:`ReflectionProbe.max_distance`. ---- .. _class_VisualServer_method_reflection_probe_set_origin_offset: - void **reflection_probe_set_origin_offset** **(** :ref:`RID` probe, :ref:`Vector3` offset **)** Sets the origin offset to be used when this reflection probe is in box project mode. Equivalent to :ref:`ReflectionProbe.origin_offset`. ---- .. _class_VisualServer_method_reflection_probe_set_update_mode: - void **reflection_probe_set_update_mode** **(** :ref:`RID` probe, :ref:`ReflectionProbeUpdateMode` mode **)** Sets how often the reflection probe updates. Can either be once or every frame. See :ref:`ReflectionProbeUpdateMode` for options. ---- .. _class_VisualServer_method_request_frame_drawn_callback: - void **request_frame_drawn_callback** **(** :ref:`Object` where, :ref:`StringName` method, :ref:`Variant` userdata **)** Schedules a callback to the corresponding named ``method`` on ``where`` after a frame has been drawn. The callback method must use only 1 argument which will be called with ``userdata``. ---- .. _class_VisualServer_method_scenario_create: - :ref:`RID` **scenario_create** **(** **)** Creates a scenario and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``scenario_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. The scenario is the 3D world that all the visual instances exist in. ---- .. _class_VisualServer_method_scenario_set_debug: - void **scenario_set_debug** **(** :ref:`RID` scenario, :ref:`ScenarioDebugMode` debug_mode **)** Sets the :ref:`ScenarioDebugMode` for this scenario. See :ref:`ScenarioDebugMode` for options. ---- .. _class_VisualServer_method_scenario_set_environment: - void **scenario_set_environment** **(** :ref:`RID` scenario, :ref:`RID` environment **)** Sets the environment that will be used with this scenario. ---- .. _class_VisualServer_method_scenario_set_fallback_environment: - void **scenario_set_fallback_environment** **(** :ref:`RID` scenario, :ref:`RID` environment **)** Sets the fallback environment to be used by this scenario. The fallback environment is used if no environment is set. Internally, this is used by the editor to provide a default environment. ---- .. _class_VisualServer_method_set_boot_image: - void **set_boot_image** **(** :ref:`Image` image, :ref:`Color` color, :ref:`bool` scale, :ref:`bool` use_filter=true **)** Sets a boot image. The color defines the background color. If ``scale`` is ``true``, the image will be scaled to fit the screen size. If ``use_filter`` is ``true``, the image will be scaled with linear interpolation. If ``use_filter`` is ``false``, the image will be scaled with nearest-neighbor interpolation. ---- .. _class_VisualServer_method_set_debug_generate_wireframes: - void **set_debug_generate_wireframes** **(** :ref:`bool` generate **)** If ``true``, the engine will generate wireframes for use with the wireframe debug mode. ---- .. _class_VisualServer_method_set_default_clear_color: - void **set_default_clear_color** **(** :ref:`Color` color **)** Sets the default clear color which is used when a specific clear color has not been selected. ---- .. _class_VisualServer_method_shader_create: - :ref:`RID` **shader_create** **(** **)** Creates an empty shader and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``shader_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_shader_get_code: - :ref:`String` **shader_get_code** **(** :ref:`RID` shader **)** const Returns a shader's code. ---- .. _class_VisualServer_method_shader_get_default_texture_param: - :ref:`RID` **shader_get_default_texture_param** **(** :ref:`RID` shader, :ref:`StringName` name **)** const Returns a default texture from a shader searched by name. ---- .. _class_VisualServer_method_shader_get_param_default: - :ref:`Variant` **shader_get_param_default** **(** :ref:`RID` material, :ref:`StringName` parameter **)** const ---- .. _class_VisualServer_method_shader_get_param_list: - :ref:`Array` **shader_get_param_list** **(** :ref:`RID` shader **)** const Returns the parameters of a shader. ---- .. _class_VisualServer_method_shader_set_code: - void **shader_set_code** **(** :ref:`RID` shader, :ref:`String` code **)** Sets a shader's code. ---- .. _class_VisualServer_method_shader_set_default_texture_param: - void **shader_set_default_texture_param** **(** :ref:`RID` shader, :ref:`StringName` name, :ref:`RID` texture **)** Sets a shader's default texture. Overwrites the texture given by name. ---- .. _class_VisualServer_method_skeleton_allocate: - void **skeleton_allocate** **(** :ref:`RID` skeleton, :ref:`int` bones, :ref:`bool` is_2d_skeleton=false **)** Allocates the GPU buffers for this skeleton. ---- .. _class_VisualServer_method_skeleton_bone_get_transform: - :ref:`Transform` **skeleton_bone_get_transform** **(** :ref:`RID` skeleton, :ref:`int` bone **)** const Returns the :ref:`Transform` set for a specific bone of this skeleton. ---- .. _class_VisualServer_method_skeleton_bone_get_transform_2d: - :ref:`Transform2D` **skeleton_bone_get_transform_2d** **(** :ref:`RID` skeleton, :ref:`int` bone **)** const Returns the :ref:`Transform2D` set for a specific bone of this skeleton. ---- .. _class_VisualServer_method_skeleton_bone_set_transform: - void **skeleton_bone_set_transform** **(** :ref:`RID` skeleton, :ref:`int` bone, :ref:`Transform` transform **)** Sets the :ref:`Transform` for a specific bone of this skeleton. ---- .. _class_VisualServer_method_skeleton_bone_set_transform_2d: - void **skeleton_bone_set_transform_2d** **(** :ref:`RID` skeleton, :ref:`int` bone, :ref:`Transform2D` transform **)** Sets the :ref:`Transform2D` for a specific bone of this skeleton. ---- .. _class_VisualServer_method_skeleton_create: - :ref:`RID` **skeleton_create** **(** **)** Creates a skeleton and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``skeleton_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_skeleton_get_bone_count: - :ref:`int` **skeleton_get_bone_count** **(** :ref:`RID` skeleton **)** const Returns the number of bones allocated for this skeleton. ---- .. _class_VisualServer_method_sky_create: - :ref:`RID` **sky_create** **(** **)** Creates an empty sky and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``sky_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_sky_set_material: - void **sky_set_material** **(** :ref:`RID` sky, :ref:`RID` material **)** Sets the material that the sky uses to render the background and reflection maps. ---- .. _class_VisualServer_method_spot_light_create: - :ref:`RID` **spot_light_create** **(** **)** Creates a spot light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most ``light_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. To place in a scene, attach this spot light to an instance using :ref:`instance_set_base` using the returned RID. ---- .. _class_VisualServer_method_texture_2d_create: - :ref:`RID` **texture_2d_create** **(** :ref:`Image` image **)** ---- .. _class_VisualServer_method_texture_2d_get: - :ref:`Image` **texture_2d_get** **(** :ref:`RID` texture **)** const ---- .. _class_VisualServer_method_viewport_attach_camera: - void **viewport_attach_camera** **(** :ref:`RID` viewport, :ref:`RID` camera **)** Sets a viewport's camera. ---- .. _class_VisualServer_method_viewport_attach_canvas: - void **viewport_attach_canvas** **(** :ref:`RID` viewport, :ref:`RID` canvas **)** Sets a viewport's canvas. ---- .. _class_VisualServer_method_viewport_attach_to_screen: - void **viewport_attach_to_screen** **(** :ref:`RID` viewport, :ref:`Rect2` rect=Rect2( 0, 0, 0, 0 ), :ref:`int` screen=0 **)** Copies viewport to a region of the screen specified by ``rect``. If :ref:`Viewport.render_direct_to_screen` is ``true``, then viewport does not use a framebuffer and the contents of the viewport are rendered directly to screen. However, note that the root viewport is drawn last, therefore it will draw over the screen. Accordingly, you must set the root viewport to an area that does not cover the area that you have attached this viewport to. For example, you can set the root viewport to not render at all with the following code: :: func _ready(): get_viewport().set_attach_to_screen_rect(Rect2()) $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600)) Using this can result in significant optimization, especially on lower-end devices. However, it comes at the cost of having to manage your viewports manually. For a further optimization see, :ref:`viewport_set_render_direct_to_screen`. ---- .. _class_VisualServer_method_viewport_create: - :ref:`RID` **viewport_create** **(** **)** Creates an empty viewport and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``viewport_*`` VisualServer functions. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid` static method. ---- .. _class_VisualServer_method_viewport_detach: - void **viewport_detach** **(** :ref:`RID` viewport **)** Detaches the viewport from the screen. ---- .. _class_VisualServer_method_viewport_get_render_info: - :ref:`int` **viewport_get_render_info** **(** :ref:`RID` viewport, :ref:`ViewportRenderInfo` info **)** Returns a viewport's render information. For options, see the :ref:`ViewportRenderInfo` constants. ---- .. _class_VisualServer_method_viewport_get_texture: - :ref:`RID` **viewport_get_texture** **(** :ref:`RID` viewport **)** const Returns the viewport's last rendered frame. ---- .. _class_VisualServer_method_viewport_remove_canvas: - void **viewport_remove_canvas** **(** :ref:`RID` viewport, :ref:`RID` canvas **)** Detaches a viewport from a canvas and vice versa. ---- .. _class_VisualServer_method_viewport_set_active: - void **viewport_set_active** **(** :ref:`RID` viewport, :ref:`bool` active **)** If ``true``, sets the viewport active, else sets it inactive. ---- .. _class_VisualServer_method_viewport_set_canvas_stacking: - void **viewport_set_canvas_stacking** **(** :ref:`RID` viewport, :ref:`RID` canvas, :ref:`int` layer, :ref:`int` sublayer **)** Sets the stacking order for a viewport's canvas. ``layer`` is the actual canvas layer, while ``sublayer`` specifies the stacking order of the canvas among those in the same layer. ---- .. _class_VisualServer_method_viewport_set_canvas_transform: - void **viewport_set_canvas_transform** **(** :ref:`RID` viewport, :ref:`RID` canvas, :ref:`Transform2D` offset **)** Sets the transformation of a viewport's canvas. ---- .. _class_VisualServer_method_viewport_set_clear_mode: - void **viewport_set_clear_mode** **(** :ref:`RID` viewport, :ref:`ViewportClearMode` clear_mode **)** Sets the clear mode of a viewport. See :ref:`ViewportClearMode` for options. ---- .. _class_VisualServer_method_viewport_set_debug_draw: - void **viewport_set_debug_draw** **(** :ref:`RID` viewport, :ref:`ViewportDebugDraw` draw **)** Sets the debug draw mode of a viewport. See :ref:`ViewportDebugDraw` for options. ---- .. _class_VisualServer_method_viewport_set_disable_environment: - void **viewport_set_disable_environment** **(** :ref:`RID` viewport, :ref:`bool` disabled **)** If ``true``, rendering of a viewport's environment is disabled. ---- .. _class_VisualServer_method_viewport_set_global_canvas_transform: - void **viewport_set_global_canvas_transform** **(** :ref:`RID` viewport, :ref:`Transform2D` transform **)** Sets the viewport's global transformation matrix. ---- .. _class_VisualServer_method_viewport_set_hide_canvas: - void **viewport_set_hide_canvas** **(** :ref:`RID` viewport, :ref:`bool` hidden **)** If ``true``, the viewport's canvas is not rendered. ---- .. _class_VisualServer_method_viewport_set_hide_scenario: - void **viewport_set_hide_scenario** **(** :ref:`RID` viewport, :ref:`bool` hidden **)** Currently unimplemented in Godot 3.x. ---- .. _class_VisualServer_method_viewport_set_msaa: - void **viewport_set_msaa** **(** :ref:`RID` viewport, :ref:`ViewportMSAA` msaa **)** Sets the anti-aliasing mode. See :ref:`ViewportMSAA` for options. ---- .. _class_VisualServer_method_viewport_set_parent_viewport: - void **viewport_set_parent_viewport** **(** :ref:`RID` viewport, :ref:`RID` parent_viewport **)** Sets the viewport's parent to another viewport. ---- .. _class_VisualServer_method_viewport_set_render_direct_to_screen: - void **viewport_set_render_direct_to_screen** **(** :ref:`RID` viewport, :ref:`bool` enabled **)** If ``true``, render the contents of the viewport directly to screen. This allows a low-level optimization where you can skip drawing a viewport to the root viewport. While this optimization can result in a significant increase in speed (especially on older devices), it comes at a cost of usability. When this is enabled, you cannot read from the viewport or from the ``SCREEN_TEXTURE``. You also lose the benefit of certain window settings, such as the various stretch modes. Another consequence to be aware of is that in 2D the rendering happens in window coordinates, so if you have a viewport that is double the size of the window, and you set this, then only the portion that fits within the window will be drawn, no automatic scaling is possible, even if your game scene is significantly larger than the window size. ---- .. _class_VisualServer_method_viewport_set_scenario: - void **viewport_set_scenario** **(** :ref:`RID` viewport, :ref:`RID` scenario **)** Sets a viewport's scenario. The scenario contains information about the :ref:`ScenarioDebugMode`, environment information, reflection atlas etc. ---- .. _class_VisualServer_method_viewport_set_shadow_atlas_quadrant_subdivision: - void **viewport_set_shadow_atlas_quadrant_subdivision** **(** :ref:`RID` viewport, :ref:`int` quadrant, :ref:`int` subdivision **)** Sets the shadow atlas quadrant's subdivision. ---- .. _class_VisualServer_method_viewport_set_shadow_atlas_size: - void **viewport_set_shadow_atlas_size** **(** :ref:`RID` viewport, :ref:`int` size **)** Sets the size of the shadow atlas's images (used for omni and spot lights). The value will be rounded up to the nearest power of 2. ---- .. _class_VisualServer_method_viewport_set_size: - void **viewport_set_size** **(** :ref:`RID` viewport, :ref:`int` width, :ref:`int` height **)** Sets the viewport's width and height. ---- .. _class_VisualServer_method_viewport_set_transparent_background: - void **viewport_set_transparent_background** **(** :ref:`RID` viewport, :ref:`bool` enabled **)** If ``true``, the viewport renders its background as transparent. ---- .. _class_VisualServer_method_viewport_set_update_mode: - void **viewport_set_update_mode** **(** :ref:`RID` viewport, :ref:`ViewportUpdateMode` update_mode **)** Sets when the viewport should be updated. See :ref:`ViewportUpdateMode` constants for options. ---- .. _class_VisualServer_method_viewport_set_use_arvr: - void **viewport_set_use_arvr** **(** :ref:`RID` viewport, :ref:`bool` use_arvr **)** If ``true``, the viewport uses augmented or virtual reality technologies. See :ref:`ARVRInterface`.