VisualServer

Inherits: 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 Viewport attached to the SceneTree or you can create one yourself with viewport_create. When using a custom scenario or canvas, the scenario or canvas needs to be attached to the viewport using viewport_set_scenario or 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 Spatial node with Spatial.get_world. Otherwise, a scenario can be created with 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 instance_set_base. The instance must also be attached to the scenario using 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.

Methods

void

black_bars_set_images ( RID left, RID top, RID right, RID bottom )

void

black_bars_set_margins ( int left, int top, int right, int bottom )

RID

camera_create ( )

void

camera_set_cull_mask ( RID camera, int layers )

void

camera_set_environment ( RID camera, RID env )

void

camera_set_frustum ( RID camera, float size, Vector2 offset, float z_near, float z_far )

void

camera_set_orthogonal ( RID camera, float size, float z_near, float z_far )

void

camera_set_perspective ( RID camera, float fovy_degrees, float z_near, float z_far )

void

camera_set_transform ( RID camera, Transform transform )

void

camera_set_use_vertical_aspect ( RID camera, bool enable )

RID

canvas_create ( )

void

canvas_item_add_circle ( RID item, Vector2 pos, float radius, Color color )

void

canvas_item_add_clip_ignore ( RID item, bool ignore )

void

canvas_item_add_line ( RID item, Vector2 from, Vector2 to, Color color, float width=1.0, bool antialiased=false )

void

canvas_item_add_mesh ( RID item, RID mesh, Transform2D transform=Transform2D( 1, 0, 0, 1, 0, 0 ), Color modulate=Color( 1, 1, 1, 1 ), RID texture, RID normal_map )

void

canvas_item_add_multimesh ( RID item, RID mesh, RID texture, RID normal_map )

void

canvas_item_add_nine_patch ( RID item, Rect2 rect, Rect2 source, RID texture, Vector2 topleft, Vector2 bottomright, NinePatchAxisMode x_axis_mode=0, NinePatchAxisMode y_axis_mode=0, bool draw_center=true, Color modulate=Color( 1, 1, 1, 1 ), RID normal_map )

void

canvas_item_add_particles ( RID item, RID particles, RID texture, RID normal_map )

void

canvas_item_add_polygon ( RID item, PoolVector2Array points, PoolColorArray colors, PoolVector2Array uvs=PoolVector2Array( ), RID texture, RID normal_map, bool antialiased=false )

void

canvas_item_add_polyline ( RID item, PoolVector2Array points, PoolColorArray colors, float width=1.0, bool antialiased=false )

void

canvas_item_add_primitive ( RID item, PoolVector2Array points, PoolColorArray colors, PoolVector2Array uvs, RID texture, float width=1.0, RID normal_map )

void

canvas_item_add_rect ( RID item, Rect2 rect, Color color )

void

canvas_item_add_set_transform ( RID item, Transform2D transform )

void

canvas_item_add_texture_rect ( RID item, Rect2 rect, RID texture, bool tile=false, Color modulate=Color( 1, 1, 1, 1 ), bool transpose=false, RID normal_map )

void

canvas_item_add_texture_rect_region ( RID item, Rect2 rect, RID texture, Rect2 src_rect, Color modulate=Color( 1, 1, 1, 1 ), bool transpose=false, RID normal_map, bool clip_uv=true )

void

canvas_item_add_triangle_array ( RID item, PoolIntArray indices, PoolVector2Array points, PoolColorArray colors, PoolVector2Array uvs=PoolVector2Array( ), PoolIntArray bones=PoolIntArray( ), PoolRealArray weights=PoolRealArray( ), RID texture, int count=-1, RID normal_map, bool antialiased=false, bool antialiasing_use_indices=false )

void

canvas_item_clear ( RID item )

RID

canvas_item_create ( )

void

canvas_item_set_clip ( RID item, bool clip )

void

canvas_item_set_copy_to_backbuffer ( RID item, bool enabled, Rect2 rect )

void

canvas_item_set_custom_rect ( RID item, bool use_custom_rect, Rect2 rect=Rect2( 0, 0, 0, 0 ) )

void

canvas_item_set_distance_field_mode ( RID item, bool enabled )

void

canvas_item_set_draw_behind_parent ( RID item, bool enabled )

void

canvas_item_set_draw_index ( RID item, int index )

void

canvas_item_set_light_mask ( RID item, int mask )

void

canvas_item_set_material ( RID item, RID material )

void

canvas_item_set_modulate ( RID item, Color color )

void

canvas_item_set_parent ( RID item, RID parent )

void

canvas_item_set_self_modulate ( RID item, Color color )

void

canvas_item_set_sort_children_by_y ( RID item, bool enabled )

void

canvas_item_set_transform ( RID item, Transform2D transform )

void

canvas_item_set_use_parent_material ( RID item, bool enabled )

void

canvas_item_set_visible ( RID item, bool visible )

void

canvas_item_set_z_as_relative_to_parent ( RID item, bool enabled )

void

canvas_item_set_z_index ( RID item, int z_index )

void

canvas_light_attach_to_canvas ( RID light, RID canvas )

RID

canvas_light_create ( )

void

canvas_light_occluder_attach_to_canvas ( RID occluder, RID canvas )

RID

canvas_light_occluder_create ( )

void

canvas_light_occluder_set_enabled ( RID occluder, bool enabled )

void

canvas_light_occluder_set_light_mask ( RID occluder, int mask )

void

canvas_light_occluder_set_polygon ( RID occluder, RID polygon )

void

canvas_light_occluder_set_transform ( RID occluder, Transform2D transform )

void

canvas_light_set_color ( RID light, Color color )

void

canvas_light_set_enabled ( RID light, bool enabled )

void

canvas_light_set_energy ( RID light, float energy )

void

canvas_light_set_height ( RID light, float height )

void

canvas_light_set_item_cull_mask ( RID light, int mask )

void

canvas_light_set_item_shadow_cull_mask ( RID light, int mask )

void

canvas_light_set_layer_range ( RID light, int min_layer, int max_layer )

void

canvas_light_set_mode ( RID light, CanvasLightMode mode )

void

canvas_light_set_scale ( RID light, float scale )

void

canvas_light_set_shadow_buffer_size ( RID light, int size )

void

canvas_light_set_shadow_color ( RID light, Color color )

void

canvas_light_set_shadow_enabled ( RID light, bool enabled )

void

canvas_light_set_shadow_filter ( RID light, CanvasLightShadowFilter filter )

void

canvas_light_set_shadow_gradient_length ( RID light, float length )

void

canvas_light_set_shadow_smooth ( RID light, float smooth )

void

canvas_light_set_texture ( RID light, RID texture )

void

canvas_light_set_texture_offset ( RID light, Vector2 offset )

void

canvas_light_set_transform ( RID light, Transform2D transform )

void

canvas_light_set_z_range ( RID light, int min_z, int max_z )

RID

canvas_occluder_polygon_create ( )

void

canvas_occluder_polygon_set_cull_mode ( RID occluder_polygon, CanvasOccluderPolygonCullMode mode )

void

canvas_occluder_polygon_set_shape ( RID occluder_polygon, PoolVector2Array shape, bool closed )

void

canvas_occluder_polygon_set_shape_as_lines ( RID occluder_polygon, PoolVector2Array shape )

void

canvas_set_item_mirroring ( RID canvas, RID item, Vector2 mirroring )

void

canvas_set_modulate ( RID canvas, Color color )

RID

directional_light_create ( )

void

draw ( bool swap_buffers=true, float frame_step=0.0 )

RID

environment_create ( )

void

environment_set_adjustment ( RID env, bool enable, float brightness, float contrast, float saturation, RID ramp )

void

environment_set_ambient_light ( RID env, Color color, float energy=1.0, float sky_contibution=0.0 )

void

environment_set_background ( RID env, EnvironmentBG bg )

void

environment_set_bg_color ( RID env, Color color )

void

environment_set_bg_energy ( RID env, float energy )

void

environment_set_canvas_max_layer ( RID env, int max_layer )

void

environment_set_dof_blur_far ( RID env, bool enable, float distance, float transition, float far_amount, EnvironmentDOFBlurQuality quality )

void

environment_set_dof_blur_near ( RID env, bool enable, float distance, float transition, float far_amount, EnvironmentDOFBlurQuality quality )

void

environment_set_fog ( RID env, bool enable, Color color, Color sun_color, float sun_amount )

void

environment_set_fog_depth ( RID env, bool enable, float depth_begin, float depth_end, float depth_curve, bool transmit, float transmit_curve )

void

environment_set_fog_height ( RID env, bool enable, float min_height, float max_height, float height_curve )

void

environment_set_glow ( RID env, bool enable, int level_flags, float intensity, float strength, float bloom_threshold, EnvironmentGlowBlendMode blend_mode, float hdr_bleed_threshold, float hdr_bleed_scale, float hdr_luminance_cap, bool bicubic_upscale )

void

environment_set_sky ( RID env, RID sky )

void

environment_set_sky_custom_fov ( RID env, float scale )

void

environment_set_sky_orientation ( RID env, Basis orientation )

void

environment_set_ssao ( RID env, bool enable, float radius, float intensity, float radius2, float intensity2, float bias, float light_affect, float ao_channel_affect, Color color, EnvironmentSSAOQuality quality, EnvironmentSSAOBlur blur, float bilateral_sharpness )

void

environment_set_ssr ( RID env, bool enable, int max_steps, float fade_in, float fade_out, float depth_tolerance, bool roughness )

void

environment_set_tonemap ( RID env, EnvironmentToneMapper tone_mapper, float exposure, float white, bool auto_exposure, float min_luminance, float max_luminance, float auto_exp_speed, float auto_exp_grey )

void

finish ( )

void

force_draw ( bool swap_buffers=true, float frame_step=0.0 )

void

force_sync ( )

void

free_rid ( RID rid )

int

get_render_info ( RenderInfo info )

RID

get_test_cube ( )

RID

get_test_texture ( )

String

get_video_adapter_name ( ) const

String

get_video_adapter_vendor ( ) const

RID

get_white_texture ( )

RID

gi_probe_create ( )

float

gi_probe_get_bias ( RID probe ) const

AABB

gi_probe_get_bounds ( RID probe ) const

float

gi_probe_get_cell_size ( RID probe ) const

PoolIntArray

gi_probe_get_dynamic_data ( RID probe ) const

int

gi_probe_get_dynamic_range ( RID probe ) const

float

gi_probe_get_energy ( RID probe ) const

float

gi_probe_get_normal_bias ( RID probe ) const

float

gi_probe_get_propagation ( RID probe ) const

Transform

gi_probe_get_to_cell_xform ( RID probe ) const

bool

gi_probe_is_compressed ( RID probe ) const

bool

gi_probe_is_interior ( RID probe ) const

void

gi_probe_set_bias ( RID probe, float bias )

void

gi_probe_set_bounds ( RID probe, AABB bounds )

void

gi_probe_set_cell_size ( RID probe, float range )

void

gi_probe_set_compress ( RID probe, bool enable )

void

gi_probe_set_dynamic_data ( RID probe, PoolIntArray data )

void

gi_probe_set_dynamic_range ( RID probe, int range )

void

gi_probe_set_energy ( RID probe, float energy )

void

gi_probe_set_interior ( RID probe, bool enable )

void

gi_probe_set_normal_bias ( RID probe, float bias )

void

gi_probe_set_propagation ( RID probe, float propagation )

void

gi_probe_set_to_cell_xform ( RID probe, Transform xform )

bool

has_changed ( ) const

bool

has_feature ( Features feature ) const

bool

has_os_feature ( String feature ) const

void

immediate_begin ( RID immediate, PrimitiveType primitive, RID texture )

void

immediate_clear ( RID immediate )

void

immediate_color ( RID immediate, Color color )

RID

immediate_create ( )

void

immediate_end ( RID immediate )

RID

immediate_get_material ( RID immediate ) const

void

immediate_normal ( RID immediate, Vector3 normal )

void

immediate_set_material ( RID immediate, RID material )

void

immediate_tangent ( RID immediate, Plane tangent )

void

immediate_uv ( RID immediate, Vector2 tex_uv )

void

immediate_uv2 ( RID immediate, Vector2 tex_uv )

void

immediate_vertex ( RID immediate, Vector3 vertex )

void

immediate_vertex_2d ( RID immediate, Vector2 vertex )

void

init ( )

void

instance_attach_object_instance_id ( RID instance, int id )

void

instance_attach_skeleton ( RID instance, RID skeleton )

RID

instance_create ( )

RID

instance_create2 ( RID base, RID scenario )

void

instance_geometry_set_as_instance_lod ( RID instance, RID as_lod_of_instance )

void

instance_geometry_set_cast_shadows_setting ( RID instance, ShadowCastingSetting shadow_casting_setting )

void

instance_geometry_set_draw_range ( RID instance, float min, float max, float min_margin, float max_margin )

void

instance_geometry_set_flag ( RID instance, InstanceFlags flag, bool enabled )

void

instance_geometry_set_material_override ( RID instance, RID material )

void

instance_set_base ( RID instance, RID base )

void

instance_set_blend_shape_weight ( RID instance, int shape, float weight )

void

instance_set_custom_aabb ( RID instance, AABB aabb )

void

instance_set_exterior ( RID instance, bool enabled )

void

instance_set_extra_visibility_margin ( RID instance, float margin )

void

instance_set_layer_mask ( RID instance, int mask )

void

instance_set_scenario ( RID instance, RID scenario )

void

instance_set_surface_material ( RID instance, int surface, RID material )

void

instance_set_transform ( RID instance, Transform transform )

void

instance_set_use_lightmap ( RID instance, RID lightmap_instance, RID lightmap, int lightmap_slice=-1, Rect2 lightmap_uv_rect=Rect2( 0, 0, 1, 1 ) )

void

instance_set_visible ( RID instance, bool visible )

Array

instances_cull_aabb ( AABB aabb, RID scenario ) const

Array

instances_cull_convex ( Array convex, RID scenario ) const

Array

instances_cull_ray ( Vector3 from, Vector3 to, RID scenario ) const

void

light_directional_set_blend_splits ( RID light, bool enable )

void

light_directional_set_shadow_depth_range_mode ( RID light, LightDirectionalShadowDepthRangeMode range_mode )

void

light_directional_set_shadow_mode ( RID light, LightDirectionalShadowMode mode )

void

light_omni_set_shadow_detail ( RID light, LightOmniShadowDetail detail )

void

light_omni_set_shadow_mode ( RID light, LightOmniShadowMode mode )

void

light_set_bake_mode ( RID light, LightBakeMode bake_mode )

void

light_set_color ( RID light, Color color )

void

light_set_cull_mask ( RID light, int mask )

void

light_set_negative ( RID light, bool enable )

void

light_set_param ( RID light, LightParam param, float value )

void

light_set_projector ( RID light, RID texture )

void

light_set_reverse_cull_face_mode ( RID light, bool enabled )

void

light_set_shadow ( RID light, bool enabled )

void

light_set_shadow_color ( RID light, Color color )

void

light_set_use_gi ( RID light, bool enabled )

RID

lightmap_capture_create ( )

AABB

lightmap_capture_get_bounds ( RID capture ) const

float

lightmap_capture_get_energy ( RID capture ) const

PoolByteArray

lightmap_capture_get_octree ( RID capture ) const

int

lightmap_capture_get_octree_cell_subdiv ( RID capture ) const

Transform

lightmap_capture_get_octree_cell_transform ( RID capture ) const

bool

lightmap_capture_is_interior ( RID capture ) const

void

lightmap_capture_set_bounds ( RID capture, AABB bounds )

void

lightmap_capture_set_energy ( RID capture, float energy )

void

lightmap_capture_set_interior ( RID capture, bool interior )

void

lightmap_capture_set_octree ( RID capture, PoolByteArray octree )

void

lightmap_capture_set_octree_cell_subdiv ( RID capture, int subdiv )

void

lightmap_capture_set_octree_cell_transform ( RID capture, Transform xform )

RID

make_sphere_mesh ( int latitudes, int longitudes, float radius )

RID

material_create ( )

Variant

material_get_param ( RID material, String parameter ) const

Variant

material_get_param_default ( RID material, String parameter ) const

RID

material_get_shader ( RID shader_material ) const

void

material_set_line_width ( RID material, float width )

void

material_set_next_pass ( RID material, RID next_material )

void

material_set_param ( RID material, String parameter, Variant value )

void

material_set_render_priority ( RID material, int priority )

void

material_set_shader ( RID shader_material, RID shader )

void

mesh_add_surface_from_arrays ( RID mesh, PrimitiveType primitive, Array arrays, Array blend_shapes=[ ], int compress_format=97280 )

void

mesh_clear ( RID mesh )

RID

mesh_create ( )

int

mesh_get_blend_shape_count ( RID mesh ) const

BlendShapeMode

mesh_get_blend_shape_mode ( RID mesh ) const

AABB

mesh_get_custom_aabb ( RID mesh ) const

int

mesh_get_surface_count ( RID mesh ) const

void

mesh_remove_surface ( RID mesh, int index )

void

mesh_set_blend_shape_count ( RID mesh, int amount )

void

mesh_set_blend_shape_mode ( RID mesh, BlendShapeMode mode )

void

mesh_set_custom_aabb ( RID mesh, AABB aabb )

AABB

mesh_surface_get_aabb ( RID mesh, int surface ) const

PoolByteArray

mesh_surface_get_array ( RID mesh, int surface ) const

int

mesh_surface_get_array_index_len ( RID mesh, int surface ) const

int

mesh_surface_get_array_len ( RID mesh, int surface ) const

Array

mesh_surface_get_arrays ( RID mesh, int surface ) const

Array

mesh_surface_get_blend_shape_arrays ( RID mesh, int surface ) const

int

mesh_surface_get_format ( RID mesh, int surface ) const

int

mesh_surface_get_format_offset ( int format, int vertex_len, int index_len, int array_index ) const

int

mesh_surface_get_format_stride ( int format, int vertex_len, int index_len ) const

PoolByteArray

mesh_surface_get_index_array ( RID mesh, int surface ) const

RID

mesh_surface_get_material ( RID mesh, int surface ) const

PrimitiveType

mesh_surface_get_primitive_type ( RID mesh, int surface ) const

Array

mesh_surface_get_skeleton_aabb ( RID mesh, int surface ) const

void

mesh_surface_set_material ( RID mesh, int surface, RID material )

void

mesh_surface_update_region ( RID mesh, int surface, int offset, PoolByteArray data )

void

multimesh_allocate ( RID multimesh, int instances, MultimeshTransformFormat transform_format, MultimeshColorFormat color_format, MultimeshCustomDataFormat custom_data_format=0 )

RID

multimesh_create ( )

AABB

multimesh_get_aabb ( RID multimesh ) const

int

multimesh_get_instance_count ( RID multimesh ) const

RID

multimesh_get_mesh ( RID multimesh ) const

int

multimesh_get_visible_instances ( RID multimesh ) const

Color

multimesh_instance_get_color ( RID multimesh, int index ) const

Color

multimesh_instance_get_custom_data ( RID multimesh, int index ) const

Transform

multimesh_instance_get_transform ( RID multimesh, int index ) const

Transform2D

multimesh_instance_get_transform_2d ( RID multimesh, int index ) const

void

multimesh_instance_set_color ( RID multimesh, int index, Color color )

void

multimesh_instance_set_custom_data ( RID multimesh, int index, Color custom_data )

void

multimesh_instance_set_transform ( RID multimesh, int index, Transform transform )

void

multimesh_instance_set_transform_2d ( RID multimesh, int index, Transform2D transform )

void

multimesh_set_as_bulk_array ( RID multimesh, PoolRealArray array )

void

multimesh_set_mesh ( RID multimesh, RID mesh )

void

multimesh_set_visible_instances ( RID multimesh, int visible )

RID

omni_light_create ( )

RID

particles_create ( )

AABB

particles_get_current_aabb ( RID particles )

bool

particles_get_emitting ( RID particles )

bool

particles_is_inactive ( RID particles )

void

particles_request_process ( RID particles )

void

particles_restart ( RID particles )

void

particles_set_amount ( RID particles, int amount )

void

particles_set_custom_aabb ( RID particles, AABB aabb )

void

particles_set_draw_order ( RID particles, ParticlesDrawOrder order )

void

particles_set_draw_pass_mesh ( RID particles, int pass, RID mesh )

void

particles_set_draw_passes ( RID particles, int count )

void

particles_set_emission_transform ( RID particles, Transform transform )

void

particles_set_emitting ( RID particles, bool emitting )

void

particles_set_explosiveness_ratio ( RID particles, float ratio )

void

particles_set_fixed_fps ( RID particles, int fps )

void

particles_set_fractional_delta ( RID particles, bool enable )

void

particles_set_lifetime ( RID particles, float lifetime )

void

particles_set_one_shot ( RID particles, bool one_shot )

void

particles_set_pre_process_time ( RID particles, float time )

void

particles_set_process_material ( RID particles, RID material )

void

particles_set_randomness_ratio ( RID particles, float ratio )

void

particles_set_speed_scale ( RID particles, float scale )

void

particles_set_use_local_coordinates ( RID particles, bool enable )

RID

reflection_probe_create ( )

void

reflection_probe_set_as_interior ( RID probe, bool enable )

void

reflection_probe_set_cull_mask ( RID probe, int layers )

void

reflection_probe_set_enable_box_projection ( RID probe, bool enable )

void

reflection_probe_set_enable_shadows ( RID probe, bool enable )

void

reflection_probe_set_extents ( RID probe, Vector3 extents )

void

reflection_probe_set_intensity ( RID probe, float intensity )

void

reflection_probe_set_interior_ambient ( RID probe, Color color )

void

reflection_probe_set_interior_ambient_energy ( RID probe, float energy )

void

reflection_probe_set_interior_ambient_probe_contribution ( RID probe, float contrib )

void

reflection_probe_set_max_distance ( RID probe, float distance )

void

reflection_probe_set_origin_offset ( RID probe, Vector3 offset )

void

reflection_probe_set_update_mode ( RID probe, ReflectionProbeUpdateMode mode )

void

request_frame_drawn_callback ( Object where, String method, Variant userdata )

RID

scenario_create ( )

void

scenario_set_debug ( RID scenario, ScenarioDebugMode debug_mode )

void

scenario_set_environment ( RID scenario, RID environment )

void

scenario_set_fallback_environment ( RID scenario, RID environment )

void

scenario_set_reflection_atlas_size ( RID scenario, int size, int subdiv )

void

set_boot_image ( Image image, Color color, bool scale, bool use_filter=true )

void

set_debug_generate_wireframes ( bool generate )

void

set_default_clear_color ( Color color )

void

set_shader_time_scale ( float scale )

RID

shader_create ( )

String

shader_get_code ( RID shader ) const

RID

shader_get_default_texture_param ( RID shader, String name ) const

Array

shader_get_param_list ( RID shader ) const

void

shader_set_code ( RID shader, String code )

void

shader_set_default_texture_param ( RID shader, String name, RID texture )

void

skeleton_allocate ( RID skeleton, int bones, bool is_2d_skeleton=false )

Transform

skeleton_bone_get_transform ( RID skeleton, int bone ) const

Transform2D

skeleton_bone_get_transform_2d ( RID skeleton, int bone ) const

void

skeleton_bone_set_transform ( RID skeleton, int bone, Transform transform )

void

skeleton_bone_set_transform_2d ( RID skeleton, int bone, Transform2D transform )

RID

skeleton_create ( )

int

skeleton_get_bone_count ( RID skeleton ) const

RID

sky_create ( )

void

sky_set_texture ( RID sky, RID cube_map, int radiance_size )

RID

spot_light_create ( )

void

sync ( )

void

texture_allocate ( RID texture, int width, int height, int depth_3d, Format format, TextureType type, int flags=7 )

void

texture_bind ( RID texture, int number )

RID

texture_create ( )

RID

texture_create_from_image ( Image image, int flags=7 )

Array

texture_debug_usage ( )

Image

texture_get_data ( RID texture, int cube_side=0 ) const

int

texture_get_depth ( RID texture ) const

int

texture_get_flags ( RID texture ) const

Format

texture_get_format ( RID texture ) const

int

texture_get_height ( RID texture ) const

String

texture_get_path ( RID texture ) const

int

texture_get_texid ( RID texture ) const

TextureType

texture_get_type ( RID texture ) const

int

texture_get_width ( RID texture ) const

void

texture_set_data ( RID texture, Image image, int layer=0 )

void

texture_set_data_partial ( RID texture, Image image, int src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, int dst_mip, int layer=0 )

void

texture_set_flags ( RID texture, int flags )

void

texture_set_path ( RID texture, String path )

void

texture_set_shrink_all_x2_on_set_data ( bool shrink )

void

texture_set_size_override ( RID texture, int width, int height, int depth )

void

textures_keep_original ( bool enable )

void

viewport_attach_camera ( RID viewport, RID camera )

void

viewport_attach_canvas ( RID viewport, RID canvas )

void

viewport_attach_to_screen ( RID viewport, Rect2 rect=Rect2( 0, 0, 0, 0 ), int screen=0 )

RID

viewport_create ( )

void

viewport_detach ( RID viewport )

int

viewport_get_render_info ( RID viewport, ViewportRenderInfo info )

RID

viewport_get_texture ( RID viewport ) const

void

viewport_remove_canvas ( RID viewport, RID canvas )

void

viewport_set_active ( RID viewport, bool active )

void

viewport_set_canvas_stacking ( RID viewport, RID canvas, int layer, int sublayer )

void

viewport_set_canvas_transform ( RID viewport, RID canvas, Transform2D offset )

void

viewport_set_clear_mode ( RID viewport, ViewportClearMode clear_mode )

void

viewport_set_debug_draw ( RID viewport, ViewportDebugDraw draw )

void

viewport_set_disable_3d ( RID viewport, bool disabled )

void

viewport_set_disable_environment ( RID viewport, bool disabled )

void

viewport_set_global_canvas_transform ( RID viewport, Transform2D transform )

void

viewport_set_hdr ( RID viewport, bool enabled )

void

viewport_set_hide_canvas ( RID viewport, bool hidden )

void

viewport_set_hide_scenario ( RID viewport, bool hidden )

void

viewport_set_msaa ( RID viewport, ViewportMSAA msaa )

void

viewport_set_parent_viewport ( RID viewport, RID parent_viewport )

void

viewport_set_render_direct_to_screen ( RID viewport, bool enabled )

void

viewport_set_scenario ( RID viewport, RID scenario )

void

viewport_set_shadow_atlas_quadrant_subdivision ( RID viewport, int quadrant, int subdivision )

void

viewport_set_shadow_atlas_size ( RID viewport, int size )

void

viewport_set_size ( RID viewport, int width, int height )

void

viewport_set_transparent_background ( RID viewport, bool enabled )

void

viewport_set_update_mode ( RID viewport, ViewportUpdateMode update_mode )

void

viewport_set_usage ( RID viewport, ViewportUsage usage )

void

viewport_set_use_arvr ( RID viewport, bool use_arvr )

void

viewport_set_use_debanding ( RID viewport, bool debanding )

void

viewport_set_use_fxaa ( RID viewport, bool fxaa )

void

viewport_set_vflip ( RID viewport, bool enabled )

Signals

  • frame_post_draw ( )

Emitted at the end of the frame, after the VisualServer has finished updating all the Viewports.


  • frame_pre_draw ( )

Emitted at the beginning of the frame, before the VisualServer updates all the Viewports.

Enumerations

enum CubeMapSide:

  • CUBEMAP_LEFT = 0 --- Marks the left side of a cubemap.

  • CUBEMAP_RIGHT = 1 --- Marks the right side of a cubemap.

  • CUBEMAP_BOTTOM = 2 --- Marks the bottom side of a cubemap.

  • CUBEMAP_TOP = 3 --- Marks the top side of a cubemap.

  • CUBEMAP_FRONT = 4 --- Marks the front side of a cubemap.

  • CUBEMAP_BACK = 5 --- Marks the back side of a cubemap.


enum TextureType:

  • TEXTURE_TYPE_2D = 0 --- Normal texture with 2 dimensions, width and height.

  • TEXTURE_TYPE_CUBEMAP = 2 --- Texture made up of six faces, can be looked up with a vec3 in shader.

  • TEXTURE_TYPE_2D_ARRAY = 3 --- An array of 2-dimensional textures.

  • TEXTURE_TYPE_3D = 4 --- A 3-dimensional texture with width, height, and depth.


enum TextureFlags:

  • TEXTURE_FLAG_MIPMAPS = 1 --- Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.

  • TEXTURE_FLAG_REPEAT = 2 --- Repeats the texture (instead of clamp to edge).

  • TEXTURE_FLAG_FILTER = 4 --- Uses a magnifying filter, to enable smooth zooming in of the texture.

  • TEXTURE_FLAG_ANISOTROPIC_FILTER = 8 --- Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.

This results in better-looking textures when viewed from oblique angles.

  • TEXTURE_FLAG_CONVERT_TO_LINEAR = 16 --- Converts the texture to the sRGB color space.

  • TEXTURE_FLAG_MIRRORED_REPEAT = 32 --- Repeats the texture with alternate sections mirrored.

  • TEXTURE_FLAG_USED_FOR_STREAMING = 2048 --- Texture is a video surface.

  • TEXTURE_FLAGS_DEFAULT = 7 --- Default flags. TEXTURE_FLAG_MIPMAPS, TEXTURE_FLAG_REPEAT and TEXTURE_FLAG_FILTER are enabled.


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_MAX = 3 --- Represents the size of the ShaderMode enum.


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 ArrayType enum.


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_VERTEX = 512 --- Flag used to mark a compressed (half float) vertex 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_BONES = 32768 --- Flag used to mark a compressed bone array.

  • ARRAY_COMPRESS_WEIGHTS = 65536 --- Flag used to mark a compressed (half float) weight array.

  • 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_16_BIT_BONES = 524288 --- Flag used to mark that the array uses 16-bit bones instead of 8-bit.

  • ARRAY_COMPRESS_DEFAULT = 97280 --- Used to set flags ARRAY_COMPRESS_NORMAL, ARRAY_COMPRESS_TANGENT, ARRAY_COMPRESS_COLOR, ARRAY_COMPRESS_TEX_UV, ARRAY_COMPRESS_TEX_UV2 and ARRAY_COMPRESS_WEIGHTS quickly.


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_LINE_LOOP = 3 --- Primitive to draw consists of a line loop (a line strip with a line between the last and the first vertex).

  • PRIMITIVE_TRIANGLES = 4 --- Primitive to draw consists of triangles.

  • PRIMITIVE_TRIANGLE_STRIP = 5 --- Primitive to draw consists of a triangle strip (the last 3 vertices are always combined to make a triangle).

  • PRIMITIVE_TRIANGLE_FAN = 6 --- Primitive to draw consists of a triangle strip (the last 2 vertices are always combined with the first to make a triangle).

  • PRIMITIVE_MAX = 7 --- Represents the size of the PrimitiveType enum.


enum BlendShapeMode:

  • BLEND_SHAPE_MODE_NORMALIZED = 0 --- Blend shapes are normalized.

  • BLEND_SHAPE_MODE_RELATIVE = 1 --- Blend shapes are relative to base weight.


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 LightParam:

  • LIGHT_PARAM_ENERGY = 0 --- The light's energy.

  • 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_NORMAL_BIAS = 12 --- Normal bias used to offset shadow lookup by object normal. Can be used to fix self-shadowing artifacts.

  • LIGHT_PARAM_SHADOW_BIAS = 13 --- Bias the shadow lookup to fix self-shadowing artifacts.

  • LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE = 14 --- Increases bias on further splits to fix self-shadowing that only occurs far away from the camera.

  • LIGHT_PARAM_MAX = 15 --- Represents the size of the LightParam enum.


enum LightBakeMode:

  • LIGHT_BAKE_DISABLED = 0

  • LIGHT_BAKE_INDIRECT = 1

  • LIGHT_BAKE_ALL = 2


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 LightOmniShadowDetail:

  • LIGHT_OMNI_SHADOW_DETAIL_VERTICAL = 0 --- Use more detail vertically when computing shadow map.

  • LIGHT_OMNI_SHADOW_DETAIL_HORIZONTAL = 1 --- Use more detail horizontally when computing shadow map.


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 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 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 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 VIEWPORT_CLEAR_NEVER.


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 ViewportUsage:

  • VIEWPORT_USAGE_2D = 0 --- The Viewport does not render 3D but samples.

  • VIEWPORT_USAGE_2D_NO_SAMPLING = 1 --- The Viewport does not render 3D and does not sample.

  • VIEWPORT_USAGE_3D = 2 --- The Viewport renders 3D with effects.

  • VIEWPORT_USAGE_3D_NO_EFFECTS = 3 --- The Viewport renders 3D but without effects.


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_2D_ITEMS_IN_FRAME = 6 --- Number of 2d items drawn this frame.

  • VIEWPORT_RENDER_INFO_2D_DRAW_CALLS_IN_FRAME = 7 --- Number of 2d draw calls during this frame.

  • VIEWPORT_RENDER_INFO_MAX = 8 --- Represents the size of the ViewportRenderInfo enum.


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_OVERDRAW = 2 --- Overwrites clear color to (0,0,0,0).

  • VIEWPORT_DEBUG_DRAW_WIREFRAME = 3 --- Debug draw draws objects in wireframe.


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 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 InstanceType enum.

  • INSTANCE_GEOMETRY_MASK = 30 --- A combination of the flags of geometry instances (mesh, multimesh, immediate and particles).


enum InstanceFlags:

  • INSTANCE_FLAG_USE_BAKED_LIGHT = 0 --- Allows the instance to be used in baked lighting.

  • INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE = 1 --- When set, manually requests to draw geometry on next frame.

  • INSTANCE_FLAG_MAX = 2 --- Represents the size of the InstanceFlags enum.


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 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 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 CanvasLightShadowFilter:

  • CANVAS_LIGHT_FILTER_NONE = 0 --- Do not apply a filter to canvas light shadows.

  • CANVAS_LIGHT_FILTER_PCF3 = 1 --- Use PCF3 filtering to filter canvas light shadows.

  • CANVAS_LIGHT_FILTER_PCF5 = 2 --- Use PCF5 filtering to filter canvas light shadows.

  • CANVAS_LIGHT_FILTER_PCF7 = 3 --- Use PCF7 filtering to filter canvas light shadows.

  • CANVAS_LIGHT_FILTER_PCF9 = 4 --- Use PCF9 filtering to filter canvas light shadows.

  • CANVAS_LIGHT_FILTER_PCF13 = 5 --- Use PCF13 filtering to filter canvas light shadows.


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 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_2D_ITEMS_IN_FRAME = 6 --- The amount of 2d items in the frame.

  • INFO_2D_DRAW_CALLS_IN_FRAME = 7 --- The amount of 2d draw calls in frame.

  • INFO_USAGE_VIDEO_MEM_TOTAL = 8 --- Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0.

  • INFO_VIDEO_MEM_USED = 9 --- The amount of video memory used, i.e. texture and vertex memory combined.

  • INFO_TEXTURE_MEM_USED = 10 --- The amount of texture memory used.

  • INFO_VERTEX_MEM_USED = 11 --- The amount of vertex memory used.


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.


enum MultimeshTransformFormat:

  • MULTIMESH_TRANSFORM_2D = 0 --- Use Transform2D to store MultiMesh transform.

  • MULTIMESH_TRANSFORM_3D = 1 --- Use Transform to store MultiMesh transform.


enum MultimeshColorFormat:

  • MULTIMESH_COLOR_NONE = 0 --- MultiMesh does not use per-instance color.

  • MULTIMESH_COLOR_8BIT = 1 --- MultiMesh color uses 8 bits per component. This packs the color into a single float.

  • MULTIMESH_COLOR_FLOAT = 2 --- MultiMesh color uses a float per channel.


enum MultimeshCustomDataFormat:

  • MULTIMESH_CUSTOM_DATA_NONE = 0 --- MultiMesh does not use custom data.

  • MULTIMESH_CUSTOM_DATA_8BIT = 1 --- MultiMesh custom data uses 8 bits per component. This packs the 4-component custom data into a single float.

  • MULTIMESH_CUSTOM_DATA_FLOAT = 2 --- MultiMesh custom data uses a float per component.


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 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 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_COLOR_SKY = 3 --- Use a custom color for background, but use a sky for shading and reflections.

  • ENV_BG_CANVAS = 4 --- Use a specified canvas layer as the background. This can be useful for instantiating a 2D scene in a 3D world.

  • ENV_BG_KEEP = 5 --- Do not clear the background, use whatever was rendered last frame as the background.

  • ENV_BG_MAX = 7 --- Represents the size of the EnvironmentBG enum.


enum EnvironmentDOFBlurQuality:

  • ENV_DOF_BLUR_QUALITY_LOW = 0 --- Use lowest blur quality. Fastest, but may look bad.

  • ENV_DOF_BLUR_QUALITY_MEDIUM = 1 --- Use medium blur quality.

  • ENV_DOF_BLUR_QUALITY_HIGH = 2 --- Used highest blur quality. Looks the best, but is the slowest.


enum EnvironmentGlowBlendMode:

  • GLOW_BLEND_MODE_ADDITIVE = 0 --- Add the effect of the glow on top of the scene.

  • GLOW_BLEND_MODE_SCREEN = 1 --- Blends the glow effect with the screen. Does not get as bright as additive.

  • GLOW_BLEND_MODE_SOFTLIGHT = 2 --- Produces a subtle color disturbance around objects.

  • GLOW_BLEND_MODE_REPLACE = 3 --- Shows the glow effect by itself without the underlying scene.


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 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.


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.

Constants

  • 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.

Property Descriptions

  • bool render_loop_enabled

Setter

set_render_loop_enabled(value)

Getter

is_render_loop_enabled()

If false, disables rendering completely, but the engine logic is still being processed. You can call force_draw to draw a frame even with rendering disabled.

Method Descriptions

  • void black_bars_set_images ( RID left, RID top, RID right, RID bottom )

Sets images to be rendered in the window margin.


  • void black_bars_set_margins ( int left, int top, int right, int bottom )

Sets margin size, where black bars (or images, if black_bars_set_images was used) are rendered.


  • 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 free_rid static method.


  • void camera_set_cull_mask ( RID camera, int layers )

Sets the cull mask associated with this camera. The cull mask describes which 3D layers are rendered by this camera. Equivalent to Camera.cull_mask.


  • void camera_set_environment ( RID camera, RID env )

Sets the environment used by this camera. Equivalent to Camera.environment.


Sets camera to use frustum projection. This mode allows adjusting the offset argument to create "tilted frustum" effects.


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.


  • void camera_set_perspective ( RID camera, float fovy_degrees, float z_near, float z_far )

Sets camera to use perspective projection. Objects on the screen becomes smaller when they are far away.


  • void camera_set_transform ( RID camera, Transform transform )

Sets Transform of camera.


  • void camera_set_use_vertical_aspect ( RID camera, bool enable )

If true, preserves the horizontal aspect ratio which is equivalent to Camera.KEEP_WIDTH. If false, preserves the vertical aspect ratio which is equivalent to Camera.KEEP_HEIGHT.


  • RID canvas_create ( )

Creates a canvas and returns the assigned 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 free_rid static method.


Adds a circle command to the CanvasItem's draw commands.


  • void canvas_item_add_clip_ignore ( RID item, bool ignore )

If ignore is true, the VisualServer does not perform clipping.


Adds a line command to the CanvasItem's draw commands.


  • void canvas_item_add_mesh ( RID item, RID mesh, Transform2D transform=Transform2D( 1, 0, 0, 1, 0, 0 ), Color modulate=Color( 1, 1, 1, 1 ), RID texture, RID normal_map )

Adds a mesh command to the CanvasItem's draw commands.


  • void canvas_item_add_multimesh ( RID item, RID mesh, RID texture, RID normal_map )

Adds a MultiMesh to the CanvasItem's draw commands. Only affects its aabb at the moment.


Adds a nine patch image to the CanvasItem's draw commands.

See NinePatchRect for more explanation.


  • void canvas_item_add_particles ( RID item, RID particles, RID texture, RID normal_map )

Adds a particle system to the CanvasItem's draw commands.


Adds a polygon to the CanvasItem's draw commands.