VisualServer

Inherits: Object

任何可见的东西的服务器。

描述

任何可见对象的服务。VisualServer是所有可见对象的API后端。整个场景系统安装在它上面来显示。

VisualServer是完全不透明的,它的内部结构的完全的具体实现不能被访问。

VisualServer可以用来完全绕过场景系统。

可使用*_create函数创建资源。

所有的对象都被绘制到视窗中。你可以使用附在SceneTree上的Viewport,或者用viewport_create自己创建一个。当使用自定义场景或画布时,需要使用viewport_set_scenarioviewport_attach_canvas将场景或画布附加到视窗上。

在3D中,所有的视觉对象都必须与一个场景相关联。场景是世界的一个视觉表现。如果从一个正在运行的游戏中访问视觉服务,场景可以通过Spatial.get_world从场景树中的任何Spatial节点访问。另外,可以用scenario_create创建一个场景。

相类似地,在2D中,需要一个画布来绘制所有的画布项目。

在3D中,所有可见的对象都是由资源和实例组成。资源可以是网格、粒子系统、光或任何其他3D对象。为了使资源可见,必须使用instance_set_base连接到一个实例。实例也必须使用instance_set_scenario附加到场景中,以便可见。

在2D中,所有可见对象都是某种形式的画布项目。为了可见,一个画布项需要是连接到视窗的画布的子项,或者它需要是最终连接到画布的另一个画布项的子项。

教程

属性

bool

render_loop_enabled

方法

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, bool high_quality )

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_overlay ( RID instance, RID material )

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=2194432 )

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, int array_index ) 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_async_hidden_forbidden ( bool forbidden )

void

set_shader_time_scale ( float scale )

void

set_use_occlusion_culling ( bool enable )

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_sharpen_intensity ( RID viewport, float intensity )

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 )

信号

  • frame_post_draw ( )

在VisualServer完成更新所有视窗后,在帧的最后发出。


  • frame_pre_draw ( )

在VisualServer更新所有视窗之前,在帧的开始发出。

枚举

enum CubeMapSide:

  • CUBEMAP_LEFT = 0 --- 标记立方体贴图的左侧。

  • CUBEMAP_RIGHT = 1 --- 标记立方体贴图cubemap的右侧。

  • CUBEMAP_BOTTOM = 2 --- 标记立方体图cubemap的底部。

  • CUBEMAP_TOP = 3 --- 标记cubemap的顶面。

  • CUBEMAP_FRONT = 4 --- 标记立方体贴图的正面。

  • CUBEMAP_BACK = 5 --- 标记立方体贴图的背面。


enum TextureType:

  • TEXTURE_TYPE_2D = 0 --- 具有 2 个维度,宽度和高度的法线纹理。

  • TEXTURE_TYPE_CUBEMAP = 2 --- 由六个面组成的纹理,可以在着色器中使用 vec3 查找。

  • TEXTURE_TYPE_2D_ARRAY = 3 --- 一组二维纹理。

  • TEXTURE_TYPE_3D = 4 --- 具有宽度、高度和深度的 3 维纹理。


enum TextureFlags:

  • TEXTURE_FLAG_MIPMAPS = 1 --- 生成多级渐远纹理,它是同一纹理的较小版本,在放大时使用,保持长宽比。

  • TEXTURE_FLAG_REPEAT = 2 --- 重复纹理,而不是限制在边缘。

  • TEXTURE_FLAG_FILTER = 4 --- 使用放大过滤器,以实现纹理的平滑放大。

  • TEXTURE_FLAG_ANISOTROPIC_FILTER = 8 --- 使用各向异性的多级渐远纹理过滤。生成具有不同长宽比的同一纹理的较小版本。

当从斜角观看时,这会产生更好看的纹理。

  • TEXTURE_FLAG_CONVERT_TO_LINEAR = 16 --- 将纹理转换为 sRGB 颜色空间。

  • TEXTURE_FLAG_MIRRORED_REPEAT = 32 --- 使用镜像的交替部分重复纹理。

  • TEXTURE_FLAG_USED_FOR_STREAMING = 2048 --- 纹理是视频表面。

  • TEXTURE_FLAGS_DEFAULT = 7 --- 默认标志。启用 TEXTURE_FLAG_MIPMAPSTEXTURE_FLAG_REPEATTEXTURE_FLAG_FILTER


enum ShaderMode:

  • SHADER_SPATIAL = 0 --- 着色器是一个 3D 着色器。

  • SHADER_CANVAS_ITEM = 1 --- 着色器是一个 2D 着色器。

  • SHADER_PARTICLES = 2 --- 着色器是一个粒子着色器。

  • SHADER_MAX = 3 --- 代表ShaderMode枚举的大小。


enum ArrayType:

  • ARRAY_VERTEX = 0 --- 数组是一个顶点数组。

  • ARRAY_NORMAL = 1 --- 数组是普通数组。

  • ARRAY_TANGENT = 2 --- 数组是一个切线数组。

  • ARRAY_COLOR = 3 --- 数组是一个颜色数组。

  • ARRAY_TEX_UV = 4 --- 数组是一个 UV 坐标数组。

  • ARRAY_TEX_UV2 = 5 --- 数组是第二个 UV 坐标的 UV 坐标数组。

  • ARRAY_BONES = 6 --- 数组包含骨骼信息。

  • ARRAY_WEIGHTS = 7 --- 数组是重量信息。

  • ARRAY_INDEX = 8 --- 数组是索引数组。

  • ARRAY_MAX = 9 --- 表示ArrayType枚举的大小。


enum ArrayFormat:

  • ARRAY_FORMAT_VERTEX = 1 --- 用于标记顶点数组的标志。

  • ARRAY_FORMAT_NORMAL = 2 --- 用于标记正常数组的标志。

  • ARRAY_FORMAT_TANGENT = 4 --- 用于标记切线数组的标志。

  • ARRAY_FORMAT_COLOR = 8 --- 用于标记颜色数组的标记。

  • ARRAY_FORMAT_TEX_UV = 16 --- 用于标记 UV 坐标数组的标志。

  • ARRAY_FORMAT_TEX_UV2 = 32 --- 用于标记第二个UV坐标的UV坐标数组的标志。

  • ARRAY_FORMAT_BONES = 64 --- 用来标记骨骼信息数组的标志。

  • ARRAY_FORMAT_WEIGHTS = 128 --- 用于标记重量数组的标记。

  • ARRAY_FORMAT_INDEX = 256 --- 用于标记索引数组的标志。

  • ARRAY_COMPRESS_VERTEX = 512 --- 用于标记压缩(半精度浮点)顶点数组的标志。

  • ARRAY_COMPRESS_NORMAL = 1024 --- 曾经用于标记压缩(半精度浮点)法向数组的 Flag。

  • ARRAY_COMPRESS_TANGENT = 2048 --- 曾经用于标记压缩(半精度浮点)切向数组的Flag。

  • ARRAY_COMPRESS_COLOR = 4096 --- 曾用于标记压缩(半精度浮点)颜色数组的Flag。

  • ARRAY_COMPRESS_TEX_UV = 8192 --- 曾用于标记压缩(半精度浮点)UV 坐标数组的 Flag。

  • ARRAY_COMPRESS_TEX_UV2 = 16384 --- 曾用于标记第二套UV坐标的压缩(半精度浮点)UV坐标数组的Flag。

  • ARRAY_COMPRESS_BONES = 32768 --- 用于标记压缩骨骼数组的标志。

  • ARRAY_COMPRESS_WEIGHTS = 65536 --- 用于标记压缩(半精度浮点)权重数组的标志。

  • ARRAY_COMPRESS_INDEX = 131072 --- 曾用于标记压缩索引数组的Flag。

  • ARRAY_FLAG_USE_2D_VERTICES = 262144 --- 曾用于标记包含2D顶点的数组的Flag。

  • ARRAY_FLAG_USE_16_BIT_BONES = 524288 --- 用于标记数组使用16位骨骼而不是8位的标志。

  • ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION = 2097152 --- 标志用于标记数组使用法线和切线向量的八面表示法,而不是笛卡尔式。

  • ARRAY_COMPRESS_DEFAULT = 2194432 --- 用于快速设置标志ARRAY_COMPRESS_NORMALARRAY_COMPRESS_TANGENTARRAY_COMPRESS_COLORARRAY_COMPRESS_TEX_UVARRAY_COMPRESS_TEX_UV2ARRAY_COMPRESS_WEIGHTSARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION


enum PrimitiveType:

  • PRIMITIVE_POINTS = 0 --- 基本网格绘制由点组成。

  • PRIMITIVE_LINES = 1 --- 基本网格绘制由线条组成。

  • PRIMITIVE_LINE_STRIP = 2 --- 基本网格的绘制由一条首尾闭合的线条组成。

  • PRIMITIVE_LINE_LOOP = 3 --- 绘制的图元包括一个线环,即在最后一个和第一个顶点之间有一条线的线条。

  • PRIMITIVE_TRIANGLES = 4 --- 基本网格的绘制由三角形组成。

  • PRIMITIVE_TRIANGLE_STRIP = 5 --- 基本网格绘制由一个三角形条组成(最后3个顶点总是组合成一个三角形)。

  • PRIMITIVE_TRIANGLE_FAN = 6 --- 图元绘制由三角形条组成,最后3个顶点总是组合成一个三角形。

  • PRIMITIVE_MAX = 7 --- 表示 PrimitiveType 枚举的大小。


enum BlendShapeMode:

  • BLEND_SHAPE_MODE_NORMALIZED = 0 --- 混合形状是被归一化了的。

  • BLEND_SHAPE_MODE_RELATIVE = 1 --- 混合形状相对于基础的权重。


enum LightType:

  • LIGHT_DIRECTIONAL = 0 --- 是定向(日光)灯。

  • LIGHT_OMNI = 1 --- 是泛光灯。

  • LIGHT_SPOT = 2 --- 是聚光灯。


enum LightParam:

  • LIGHT_PARAM_ENERGY = 0 --- 灯光的能量。

  • LIGHT_PARAM_INDIRECT_ENERGY = 1 --- 与间接光(光反射)一起使用的二次倍增器。

  • LIGHT_PARAM_SIZE = 2 --- 灯光的大小,目前仅用于烘焙光照贴图中的柔和阴影。

  • LIGHT_PARAM_SPECULAR = 3 --- 灯光对镜面反射的影响。

  • LIGHT_PARAM_RANGE = 4 --- 灯光的范围。

  • LIGHT_PARAM_ATTENUATION = 5 --- 光线的衰减。

  • LIGHT_PARAM_SPOT_ANGLE = 6 --- 聚光灯的角度。

  • LIGHT_PARAM_SPOT_ATTENUATION = 7 --- 聚光灯的衰减。

  • LIGHT_PARAM_CONTACT_SHADOW_SIZE = 8 --- 缩放阴影的颜色。

  • LIGHT_PARAM_SHADOW_MAX_DISTANCE = 9 --- 阴影被渲染的最大距离。

  • LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET = 10 --- 第一次拆分所占据的阴影图集的比例。

  • LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET = 11 --- 第二次拆分所占用的阴影图集的比例。

  • LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET = 12 --- 第三次拆分所占用的阴影图集的比例。第四个拆分占据了其余部分。

  • LIGHT_PARAM_SHADOW_NORMAL_BIAS = 13 --- 法线偏移,用于抵消物体法线的阴影查找。可以用来修复自阴影的伪影。

  • LIGHT_PARAM_SHADOW_BIAS = 14 --- 对阴影查找进行偏移,以修复自我阴影的假象。

  • LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE = 15 --- 增加对进一步分割的偏差,以修复仅在远离相机的地方发生的自身阴影。

  • LIGHT_PARAM_MAX = 16 --- 代表LightParam枚举的大小。


enum LightBakeMode:

  • LIGHT_BAKE_DISABLED = 0

  • LIGHT_BAKE_INDIRECT = 1

  • LIGHT_BAKE_ALL = 2


enum LightOmniShadowMode:

  • LIGHT_OMNI_SHADOW_DUAL_PARABOLOID = 0 --- 对泛光灯使用双抛物面阴影贴图。

  • LIGHT_OMNI_SHADOW_CUBE = 1 --- 对泛光灯使用立方体贴图阴影贴图。比双抛物面更慢但质量更好。


enum LightOmniShadowDetail:

  • LIGHT_OMNI_SHADOW_DETAIL_VERTICAL = 0 --- 在计算阴影贴图时,在垂直方向上使用更多的细节。

  • LIGHT_OMNI_SHADOW_DETAIL_HORIZONTAL = 1 --- 在计算阴影贴图时,在水平方向上使用更多的细节。


enum LightDirectionalShadowMode:

  • LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL = 0 --- 对平行光使用正交阴影投影。

  • LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS = 1 --- 使用平行光时,使用 2 个分割进行阴影投影。

  • LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS = 2 --- 使用平行光时,使用 4 个分割进行阴影投影。


enum LightDirectionalShadowDepthRangeMode:

  • LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE = 0 --- 当相机移动时,保持阴影稳定,但有效分辨率较低。

  • LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED = 1 --- 优化阴影贴图的使用,提高有效分辨率。但可能会导致阴影轻微移动或闪烁。


enum ViewportUpdateMode:

  • VIEWPORT_UPDATE_DISABLED = 0 --- 不要更新视窗。

  • VIEWPORT_UPDATE_ONCE = 1 --- 更新一次视窗,然后设置为禁用。

  • VIEWPORT_UPDATE_WHEN_VISIBLE = 2 --- 只要视窗是可见的,就更新视窗。

  • VIEWPORT_UPDATE_ALWAYS = 3 --- 始终更新视窗。


enum ViewportClearMode:

  • VIEWPORT_CLEAR_ALWAYS = 0 --- 在绘图之前,视窗总是被清空。

  • VIEWPORT_CLEAR_NEVER = 1 --- 在绘图之前,视窗永远不会被清空。

  • VIEWPORT_CLEAR_ONLY_NEXT_FRAME = 2 --- 视窗被清除一次,然后清除模式设置为 VIEWPORT_CLEAR_NEVER


enum ViewportMSAA:

  • VIEWPORT_MSAA_DISABLED = 0 --- 多重采样抗锯齿被禁用。

  • VIEWPORT_MSAA_2X = 1 --- 多重采样抗锯齿设置为 2×。

  • VIEWPORT_MSAA_4X = 2 --- 多重采样抗锯齿设置为 4×。

  • VIEWPORT_MSAA_8X = 3 --- 多重采样抗锯齿设置为 8×。

  • VIEWPORT_MSAA_16X = 4 --- 多采样抗锯齿设置为16×。

  • VIEWPORT_MSAA_EXT_2X = 5 --- 多重采样抗锯齿设置为外部纹理的2倍。为GLES2 Android VR(Oculus Quest和Go)提供的特殊模式。

  • VIEWPORT_MSAA_EXT_4X = 6 --- 多重采样抗锯齿在外部纹理上被设置为4倍。为GLES2 Android VR(Oculus Quest和Go)提供的特殊模式。


enum ViewportUsage:

  • VIEWPORT_USAGE_2D = 0 --- 视窗并不渲染3D,而是渲染采样。

  • VIEWPORT_USAGE_2D_NO_SAMPLING = 1 --- 视窗并不渲染3D,也不进行采样。

  • VIEWPORT_USAGE_3D = 2 --- 视窗渲染 3D 效果。

  • VIEWPORT_USAGE_3D_NO_EFFECTS = 3 --- 视窗渲染的是3D,但没有效果。


enum ViewportRenderInfo:

  • VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME = 0 --- 在单帧中绘制的对象的数量。

  • VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME = 1 --- 在单个帧中绘制的顶点数。

  • VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME = 2 --- 此帧期间材质更改的数量。

  • VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME = 3 --- 这一帧中着色器变化的数量。

  • VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME = 4 --- 这一帧中表面变化的数量。

  • VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME = 5 --- 此帧期间的绘制调用数。

  • VIEWPORT_RENDER_INFO_2D_ITEMS_IN_FRAME = 6 --- 此帧所绘制的2d项的数量。

  • VIEWPORT_RENDER_INFO_2D_DRAW_CALLS_IN_FRAME = 7 --- 在这一帧中,2d绘制所调用的数量。

  • VIEWPORT_RENDER_INFO_MAX = 8 --- 代表ViewportRenderInfo枚举的大小。


enum ViewportDebugDraw:

  • VIEWPORT_DEBUG_DRAW_DISABLED = 0 --- 调试绘制被禁用。默认设置。

  • VIEWPORT_DEBUG_DRAW_UNSHADED = 1 --- 调试绘制将对象设置为无阴影。

  • VIEWPORT_DEBUG_DRAW_OVERDRAW = 2 --- 将清除颜色覆盖为(0,0,0,0)

  • VIEWPORT_DEBUG_DRAW_WIREFRAME = 3 --- 调试绘制 在线框中绘制对象。


enum ScenarioDebugMode:

  • SCENARIO_DEBUG_DISABLED = 0 --- 不要使用调试模式。

  • SCENARIO_DEBUG_WIREFRAME = 1 --- 以线框模型绘制所有对象。

  • SCENARIO_DEBUG_OVERDRAW = 2 --- 以显示有多少过度绘制的方式绘制对象。当一个像素部分被绘制和着色,然后另一个物体将其覆盖时,就会发生过度绘制。为了优化一个场景,你应该减少过度绘制。

  • SCENARIO_DEBUG_SHADELESS = 3 --- 绘制没有阴影的所有物体。相当于将所有物体的着色器设置为unshaded


enum InstanceType:

  • INSTANCE_NONE = 0 --- 实例没有类型。

  • INSTANCE_MESH = 1 --- 该实例是一个网格。

  • INSTANCE_MULTIMESH = 2 --- 该实例是一个多网格。

  • INSTANCE_IMMEDIATE = 3 --- 该实例是一个即时几何图形。

  • INSTANCE_PARTICLES = 4 --- 该实例是一个粒子发射器。

  • INSTANCE_LIGHT = 5 --- 该实例是一个灯。

  • INSTANCE_REFLECTION_PROBE = 6 --- 该实例是一个反射探针。

  • INSTANCE_GI_PROBE = 7 --- 该实例是一个GI探针。

  • INSTANCE_LIGHTMAP_CAPTURE = 8 --- 该实例是一个光照贴图捕获。

  • INSTANCE_MAX = 9 --- 代表InstanceType枚举的大小。

  • INSTANCE_GEOMETRY_MASK = 30 --- 几何体实例(网格、多网格、即时和粒子)的标志的组合。


enum InstanceFlags:

  • INSTANCE_FLAG_USE_BAKED_LIGHT = 0 --- 允许在烘焙照明中使用实例。

  • INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE = 1 --- 当设置时,手动请求在下一帧绘制几何图形。

  • INSTANCE_FLAG_MAX = 2 --- 代表InstanceFlags枚举的大小。


enum ShadowCastingSetting:

  • SHADOW_CASTING_SETTING_OFF = 0 --- 禁用这个实例的阴影。

  • SHADOW_CASTING_SETTING_ON = 1 --- 从此实例投下阴影。

  • SHADOW_CASTING_SETTING_DOUBLE_SIDED = 2 --- 在渲染对象的阴影时禁用背面剔除。这会稍微慢一些,但可能会产生更正确的阴影。

  • SHADOW_CASTING_SETTING_SHADOWS_ONLY = 3 --- 仅渲染对象的阴影。对象本身不会被绘制。


enum NinePatchAxisMode:

  • NINE_PATCH_STRETCH = 0 --- 九宫格在需要的地方被拉伸。

  • NINE_PATCH_TILE = 1 --- 九宫格在需要的地方填充瓷砖。

  • NINE_PATCH_TILE_FIT = 2 --- 九宫格在需要的地方填充瓷砖,并在需要时将它们拉伸一点。


enum CanvasLightMode:

  • CANVAS_LIGHT_MODE_ADD = 0 --- 向画布添加浅色。

  • CANVAS_LIGHT_MODE_SUB = 1 --- 从画布中减去浅色。

  • CANVAS_LIGHT_MODE_MIX = 2 --- 灯光根据透明度增加颜色。

  • CANVAS_LIGHT_MODE_MASK = 3 --- 灯光根据遮罩增加颜色。


enum CanvasLightShadowFilter:

  • CANVAS_LIGHT_FILTER_NONE = 0 --- 不要对画布上的光影应用滤镜。

  • CANVAS_LIGHT_FILTER_PCF3 = 1 --- 使用PCF3过滤法来过滤画布的光影。

  • CANVAS_LIGHT_FILTER_PCF5 = 2 --- 使用PCF5过滤法来过滤画布的光影。

  • CANVAS_LIGHT_FILTER_PCF7 = 3 --- 使用PCF7过滤法来过滤画布的光影。

  • CANVAS_LIGHT_FILTER_PCF9 = 4 --- 使用PCF9过滤法来过滤画布的光影。

  • CANVAS_LIGHT_FILTER_PCF13 = 5 --- 使用PCF13过滤法来过滤画布的光影。


enum CanvasOccluderPolygonCullMode:

  • CANVAS_OCCLUDER_POLYGON_CULL_DISABLED = 0 --- 禁用画布遮挡物的剔除。

  • CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE = 1 --- 画布遮挡器的剔除是顺时针的。

  • CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE = 2 --- 画布遮挡物的剔除是逆时针的。


enum RenderInfo:

  • INFO_OBJECTS_IN_FRAME = 0 --- 框架中的对象数量。

  • INFO_VERTICES_IN_FRAME = 1 --- 框架中顶点的数量。

  • INFO_MATERIAL_CHANGES_IN_FRAME = 2 --- 框架中修改材质的数量。

  • INFO_SHADER_CHANGES_IN_FRAME = 3 --- 帧中重新绑定的着色器数量。

  • INFO_SURFACE_CHANGES_IN_FRAME = 4 --- 帧中的表面更改量。

  • INFO_DRAW_CALLS_IN_FRAME = 5 --- 帧中绘制调用的数量。

  • INFO_2D_ITEMS_IN_FRAME = 6 --- 帧中2d项的数量。

  • INFO_2D_DRAW_CALLS_IN_FRAME = 7 --- 帧中2d绘制调用数量。

  • INFO_USAGE_VIDEO_MEM_TOTAL = 8 --- 在 GLES2 和 GLES3 渲染后端中未实现,始终返回 0。

  • INFO_VIDEO_MEM_USED = 9 --- 使用的视频内存的数量,即纹理和顶点内存的总和。

  • INFO_TEXTURE_MEM_USED = 10 --- 使用的纹理内存的数量。

  • INFO_VERTEX_MEM_USED = 11 --- 使用的顶点内存数量。


enum Features:

  • FEATURE_SHADERS = 0 --- 硬件支持着色器。这个枚举目前在Godot 3.x中没有使用。

  • FEATURE_MULTITHREADED = 1 --- 硬件支持多线程。这个枚举目前在Godot 3.x中没有使用。


enum MultimeshTransformFormat:

  • MULTIMESH_TRANSFORM_2D = 0 --- 使用 Transform2D 存储 MultiMesh 变换。

  • MULTIMESH_TRANSFORM_3D = 1 --- 使用 Transform 存储 MultiMesh 变换。


enum MultimeshColorFormat:

  • MULTIMESH_COLOR_NONE = 0 --- MultiMesh不使用每个实例的颜色。

  • MULTIMESH_COLOR_8BIT = 1 --- 多网格颜色使用每个组件 8 位。这将颜色打包成一个浮点数。

  • MULTIMESH_COLOR_FLOAT = 2 --- 多网格颜色使用每个通道的浮点数。


enum MultimeshCustomDataFormat:

  • MULTIMESH_CUSTOM_DATA_NONE = 0 --- MultiMesh不使用自定义数据。

  • MULTIMESH_CUSTOM_DATA_8BIT = 1 --- 多网格自定义数据每个组件使用 8 位。这将 4 个组件的自定义数据打包到一个浮点数中。

  • MULTIMESH_CUSTOM_DATA_FLOAT = 2 --- 多网格自定义数据使用每个组件的浮点数。


enum ReflectionProbeUpdateMode:

  • REFLECTION_PROBE_UPDATE_ONCE = 0 --- 反射探针将更新一次反射,然后停止。

  • REFLECTION_PROBE_UPDATE_ALWAYS = 1 --- 反射探针将每帧更新。这种模式对于捕捉移动物体是必要的。


enum ParticlesDrawOrder:

  • PARTICLES_DRAW_ORDER_INDEX = 0 --- 按照粒子数组中出现的顺序绘制粒子。

  • PARTICLES_DRAW_ORDER_LIFETIME = 1 --- 根据粒子的寿命对其进行分类。

  • PARTICLES_DRAW_ORDER_VIEW_DEPTH = 2 --- 根据粒子与相机的距离对其进行排序。


enum EnvironmentBG:

  • ENV_BG_CLEAR_COLOR = 0 --- 用透明的颜色作为背景。

  • ENV_BG_COLOR = 1 --- 使用指定的颜色作为背景。

  • ENV_BG_SKY = 2 --- 使用天空资源作为背景。

  • ENV_BG_COLOR_SKY = 3 --- 使用自定义颜色作为背景,但使用天空作为阴影和反射。

  • ENV_BG_CANVAS = 4 --- 使用一个指定的画布层作为背景。这对在三维世界中实例化一个二维场景很有用。

  • ENV_BG_KEEP = 5 --- 不要清除背景,使用上一帧渲染的东西作为背景。

  • ENV_BG_MAX = 7 --- 代表EnvironmentBG枚举的大小。


enum EnvironmentDOFBlurQuality:

  • ENV_DOF_BLUR_QUALITY_LOW = 0 --- 使用最低的模糊质量。最快,但可能看起来不好。

  • ENV_DOF_BLUR_QUALITY_MEDIUM = 1 --- 使用中等模糊质量。

  • ENV_DOF_BLUR_QUALITY_HIGH = 2 --- 使用最高的模糊质量。看起来最好,但速度最慢。


enum EnvironmentGlowBlendMode:

  • GLOW_BLEND_MODE_ADDITIVE = 0 --- 在场景的顶部添加辉光的效果。

  • GLOW_BLEND_MODE_SCREEN = 1 --- 将辉光效果与屏幕相融合。不像添加物那样明亮。

  • GLOW_BLEND_MODE_SOFTLIGHT = 2 --- 在物体周围产生微妙的颜色扰动。

  • GLOW_BLEND_MODE_REPLACE = 3 --- 在没有底层场景的情况下,单独显示辉光效果。


enum EnvironmentToneMapper:

  • ENV_TONE_MAPPER_LINEAR = 0 --- 颜色怎么进来就怎么输出。

  • ENV_TONE_MAPPER_REINHARD = 1 --- 使用 Reinhard 色调映射器。

  • ENV_TONE_MAPPER_FILMIC = 2 --- 使用电影色调映射器。

  • ENV_TONE_MAPPER_ACES = 3 --- 使用 ACES 色调映射器。

  • ENV_TONE_MAPPER_ACES_FITTED = 4 --- 使用ACES的拟合色调图。


enum EnvironmentSSAOQuality:

  • ENV_SSAO_QUALITY_LOW = 0 --- 最低的屏幕空间环境遮挡质量。

  • ENV_SSAO_QUALITY_MEDIUM = 1 --- 中等质量的屏幕空间环境遮挡。

  • ENV_SSAO_QUALITY_HIGH = 2 --- 最高质量的屏幕空间环境遮挡。


enum EnvironmentSSAOBlur:

  • ENV_SSAO_BLUR_DISABLED = 0 --- 禁用 SSAO 的模糊设置。会使 SSAO 看起来噪点更多。

  • ENV_SSAO_BLUR_1x1 = 1 --- 对 SSAO 输出执行 1x1 模糊。

  • ENV_SSAO_BLUR_2x2 = 2 --- 对 SSAO 输出执行 2x2 模糊。

  • ENV_SSAO_BLUR_3x3 = 3 --- 对SSAO输出执行3x3模糊。使用它可以获得最平滑的SSAO。

常量

  • NO_INDEX_ARRAY = -1 --- 标记一个错误,表明索引数组为空。

  • ARRAY_WEIGHTS_SIZE = 4 --- 每个顶点的权重/骨骼数。

  • CANVAS_ITEM_Z_MIN = -4096 --- 画布项目的最小 Z 层。

  • CANVAS_ITEM_Z_MAX = 4096 --- 帆布项目的最大 Z 层。

  • MAX_GLOW_LEVELS = 7 --- 可用于发光后期处理效果的最大发光级别数。

  • MAX_CURSORS = 8 --- 在Godot 3.x中未使用的枚举。

  • MATERIAL_RENDER_PRIORITY_MIN = -128 --- 所有材质的最小渲染优先级。

  • MATERIAL_RENDER_PRIORITY_MAX = 127 --- 所有材质的最大渲染优先级。

属性说明

  • bool render_loop_enabled

Setter

set_render_loop_enabled(value)

Getter

is_render_loop_enabled()

如果false,则完全禁用渲染,但引擎逻辑仍在处理中。即使禁用渲染,您也可以调用 force_draw 来绘制帧。

方法说明

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

设置边距大小,其中呈现黑条(或图像,如果使用 black_bars_set_images)。


  • RID camera_create ( )

创建一个相机并将其添加到VisualServer中。它可以通过返回的RID进行访问。这个RID将用于所有camera_* VisualServer函数。

一旦完成了对RID的处理,你将需要使用VisualServer的free_rid静态方法释放RID。


  • void camera_set_cull_mask ( RID camera, int layers )

设置与此相机相关的剔除遮罩。剔除遮罩描述了此相机渲染的 3D 层。相当于Camera.cull_mask


  • void camera_set_environment ( RID camera, RID env )

设置此相机所使用的环境。等同于Camera.environment


设置相机使用锥形投影。此模式允许调整 offset 参数以创建“倾斜视锥”效果。


将相机设置为使用正交投影,也称为正射投影。物体在屏幕上保持相同的尺寸,无论它们有多远。


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

将相机设置为使用透视投影。屏幕上的物体在远处时变得更小。


  • void camera_set_transform ( RID camera, Transform transform )

设置相机的Transform


  • void camera_set_use_vertical_aspect ( RID camera, bool enable )

如果 true, 保留水平长宽比,相当于 Camera.KEEP_WIDTH。如果false,保留垂直长宽比,相当于Camera.KEEP_HEIGHT


  • RID canvas_create ( )

创建一个画布并返回指定的RID。可以用返回的RID来访问它。这个RID可在所有canvas_*VisualServer函数中使用。

你一旦完成了RID处理,可使用VisualServer的free_rid静态方法释放RID。


CanvasItem 的绘制命令中添加圆形指令。


  • void canvas_item_add_clip_ignore ( RID item, bool ignore )

如果ignore是true,VisualServer将不会执行剪裁。


CanvasItem 的绘图命令中添加一条直线指令。


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

CanvasItem 的绘图指令中加入网格指令。


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

CanvasItem的绘制指令中添加一个MultiMesh。目前只影响其aabb。


CanvasItem 的绘制指令中添加九宫格图像。

请参阅 NinePatchRect


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

CanvasItem的绘制指令添加粒子系统。


CanvasItem 的绘图指令中添加多边形。


CanvasItem 的绘制指令中添加多线段,多线段是指由多个点组成的具有一定宽度的线。


CanvasItem 的绘图指令添加一个基本网格。


  • void canvas_item_add_rect ( RID item, Rect2 rect, Color color )

CanvasItem 的绘图指令中添加矩形。


  • void canvas_item_add_set_transform ( RID item, Transform2D transform )

CanvasItem的绘图指令中添加Transform2D指令。

这在执行时设置extra_matrix uniform 。这会影响到画布项的后续指令。


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

CanvasItem 的绘图指令中添加纹理矩形。


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

CanvasItem的绘制命令中添加带有区域设置的纹理矩形。


CanvasItem 的绘图命令添加三角形组。


  • void canvas_item_clear ( RID item )

清除CanvasItem并删除其中的所有命令。


  • RID canvas_item_create ( )

创建新的 CanvasItem 并返回其 RID。可以用返回的RID来访问它。这个RID可用于所有canvas_item_* VisualServer函数。

一旦完成了你的RID处理,可使用VisualServer的free_rid静态方法释放RID。


  • void canvas_item_set_clip ( RID item, bool clip )

CanvasItem设置剪裁。


  • void canvas_item_set_copy_to_backbuffer ( RID item, bool enabled, Rect2 rect )

设置 CanvasItem 以将矩形复制到后台缓冲区。


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

CanvasItem 定义一个自定义的绘图矩形。


  • void canvas_item_set_distance_field_mode ( RID item, bool enabled )

为正在渲染基于距离字段的字体的GUI元素,启用距离字段。


  • void canvas_item_set_draw_behind_parent ( RID item, bool enabled )

CanvasItem 设置为在其父项后面绘制。


  • void canvas_item_set_draw_index ( RID item, int index )

设置 CanvasItem 的索引。


  • void canvas_item_set_light_mask ( RID item, int mask )

光线遮罩。关于其更多信息,请参阅LightOccluder2D


  • void canvas_item_set_material ( RID item, RID material )

CanvasItem 设置新材质。


  • void canvas_item_set_modulate ( RID item, Color color )

设置调制 CanvasItem 及其子代的颜色。


  • void canvas_item_set_parent ( RID item, RID parent )

设置CanvasItem的父级。父级可以是另一个画布项目,也可以是连接到视窗的根画布。


  • void canvas_item_set_self_modulate ( RID item, Color color )

设置在没有子代的情况下调制 CanvasItem 的颜色。


  • void canvas_item_set_sort_children_by_y ( RID item, bool enabled )

设置 CanvasItem 的子代是否应按 y 坐标排序。


设置 CanvasItemTransform2D


  • void canvas_item_set_use_parent_material ( RID item, bool enabled )

设置 CanvasItem 是否使用其父级的材质。


  • void canvas_item_set_visible ( RID item, bool visible )

设置画布项是否可见,包括其子代。


  • void canvas_item_set_z_as_relative_to_parent ( RID item, bool enabled )

如果启用此选项,则父项的 Z 索引将添加到子项的 Z 索引中。


  • void canvas_item_set_z_index ( RID item, int z_index )

设置 CanvasItem 的 Z 索引,即它的绘制顺序(首先绘制数值较低的索引)。


  • void canvas_light_attach_to_canvas ( RID light, RID canvas )

将画布灯连接到画布上,并将其从以前的画布中取出。


  • RID canvas_light_create ( )

创建画布灯并将其添加到 VisualServer。可以使用返回的 RID 访问它。此 RID 可用于所有 canvas_light_* VisualServer 函数。

完成 RID 处理后,可使用 VisualServer 的 free_rid 静态方法释放 RID。


  • void canvas_light_occluder_attach_to_canvas ( RID occluder, RID canvas )

将光遮挡物添加到画布上,并将其从之前的画布中移除。


  • RID canvas_light_occluder_create ( )

创建灯光遮挡器并将其添加到VisualServer中。可以用返回的RID来访问它。这个RID可用于所有canvas_light_ocluder_* VisualServer函数。

一旦完成了RID处理,可使用VisualServer的free_rid静态方法释放RID。


  • void canvas_light_occluder_set_enabled ( RID occluder, bool enabled )

启用或禁用遮光器。


  • void canvas_light_occluder_set_light_mask ( RID occluder, int mask )

光线遮罩。关于其更多信息,请参阅LightOccluder2D


  • void canvas_light_occluder_set_polygon ( RID occluder, RID polygon )

设置光遮挡物的多边形。


  • void canvas_light_occluder_set_transform ( RID occluder, Transform2D transform )

设置光遮挡物的 Transform2D


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

光线遮罩。关于其更多信息,请参阅LightOccluder2D


  • void canvas_light_set_item_shadow_cull_mask ( RID light, int mask )

用于确定此画布灯光阴影影响哪些图层的二进制蒙版。有关光遮罩的更多信息,请参阅 LightOccluder2D


  • void canvas_light_set_layer_range ( RID light, int min_layer, int max_layer )

使用此灯光渲染的图层范围。


光的模式,详见CanvasLightMode


  • void canvas_light_set_scale ( RID light, float scale )

设置灯光的纹理比例因子。相当于 Light2D.texture_scale


  • void canvas_light_set_shadow_buffer_size ( RID light, int size )

设置阴影缓冲区的宽度,大小为2的n次幂。


  • void canvas_light_set_shadow_color ( RID light, Color color )

设置画布灯的阴影颜色。


  • void canvas_light_set_shadow_enabled ( RID light, bool enabled )

启用或禁用画布灯的阴影。