mirror of
https://github.com/godotengine/godot.git
synced 2024-12-03 09:52:18 +08:00
373 lines
17 KiB
XML
373 lines
17 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="Viewport" inherits="Node" version="4.0">
|
|
<brief_description>
|
|
Creates a sub-view into the screen.
|
|
</brief_description>
|
|
<description>
|
|
A Viewport creates a different view into the screen, or a sub-view inside another viewport. Children 2D Nodes will display on it, and children Camera3D 3D nodes will render on it too.
|
|
Optionally, a viewport can have its own 2D or 3D world, so they don't share what they draw with other viewports.
|
|
If a viewport is a child of a [ViewportContainer], it will automatically take up its size, otherwise it must be set manually.
|
|
Viewports can also choose to be audio listeners, so they generate positional audio depending on a 2D or 3D camera child of it.
|
|
Also, viewports can be assigned to different screens in case the devices have multiple screens.
|
|
Finally, viewports can also behave as render targets, in which case they will not be visible unless the associated texture is used to draw.
|
|
</description>
|
|
<tutorials>
|
|
<link>https://docs.godotengine.org/en/latest/tutorials/2d/2d_transforms.html</link>
|
|
<link>https://docs.godotengine.org/en/latest/tutorials/viewports/index.html</link>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="find_world" qualifiers="const">
|
|
<return type="World3D">
|
|
</return>
|
|
<description>
|
|
Returns the 3D world of the viewport, or if none the world of the parent viewport.
|
|
</description>
|
|
</method>
|
|
<method name="find_world_2d" qualifiers="const">
|
|
<return type="World2D">
|
|
</return>
|
|
<description>
|
|
Returns the 2D world of the viewport.
|
|
</description>
|
|
</method>
|
|
<method name="get_camera" qualifiers="const">
|
|
<return type="Camera3D">
|
|
</return>
|
|
<description>
|
|
Returns the active 3D camera.
|
|
</description>
|
|
</method>
|
|
<method name="get_final_transform" qualifiers="const">
|
|
<return type="Transform2D">
|
|
</return>
|
|
<description>
|
|
Returns the total transform of the viewport.
|
|
</description>
|
|
</method>
|
|
<method name="get_mouse_position" qualifiers="const">
|
|
<return type="Vector2">
|
|
</return>
|
|
<description>
|
|
Returns the mouse position relative to the viewport.
|
|
</description>
|
|
</method>
|
|
<method name="get_render_info">
|
|
<return type="int">
|
|
</return>
|
|
<argument index="0" name="info" type="int" enum="Viewport.RenderInfo">
|
|
</argument>
|
|
<description>
|
|
Returns information about the viewport from the rendering pipeline.
|
|
</description>
|
|
</method>
|
|
<method name="get_shadow_atlas_quadrant_subdiv" qualifiers="const">
|
|
<return type="int" enum="Viewport.ShadowAtlasQuadrantSubdiv">
|
|
</return>
|
|
<argument index="0" name="quadrant" type="int">
|
|
</argument>
|
|
<description>
|
|
Returns the [enum ShadowAtlasQuadrantSubdiv] of the specified quadrant.
|
|
</description>
|
|
</method>
|
|
<method name="get_texture" qualifiers="const">
|
|
<return type="ViewportTexture">
|
|
</return>
|
|
<description>
|
|
Returns the viewport's texture.
|
|
[b]Note:[/b] Due to the way OpenGL works, the resulting [ViewportTexture] is flipped vertically. You can use [method Image.flip_y] on the result of [method Texture2D.get_data] to flip it back, for example:
|
|
[codeblock]
|
|
var img = get_viewport().get_texture().get_data()
|
|
img.flip_y()
|
|
[/codeblock]
|
|
</description>
|
|
</method>
|
|
<method name="get_viewport_rid" qualifiers="const">
|
|
<return type="RID">
|
|
</return>
|
|
<description>
|
|
Returns the viewport's RID from the [RenderingServer].
|
|
</description>
|
|
</method>
|
|
<method name="get_visible_rect" qualifiers="const">
|
|
<return type="Rect2">
|
|
</return>
|
|
<description>
|
|
Returns the visible rectangle in global screen coordinates.
|
|
</description>
|
|
</method>
|
|
<method name="gui_get_drag_data" qualifiers="const">
|
|
<return type="Variant">
|
|
</return>
|
|
<description>
|
|
Returns the drag data from the GUI, that was previously returned by [method Control.get_drag_data].
|
|
</description>
|
|
</method>
|
|
<method name="gui_is_dragging" qualifiers="const">
|
|
<return type="bool">
|
|
</return>
|
|
<description>
|
|
Returns [code]true[/code] if the viewport is currently performing a drag operation.
|
|
</description>
|
|
</method>
|
|
<method name="input">
|
|
<return type="void">
|
|
</return>
|
|
<argument index="0" name="event" type="InputEvent">
|
|
</argument>
|
|
<argument index="1" name="in_local_coords" type="bool" default="false">
|
|
</argument>
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="input_text">
|
|
<return type="void">
|
|
</return>
|
|
<argument index="0" name="text" type="String">
|
|
</argument>
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="is_embedding_subwindows" qualifiers="const">
|
|
<return type="bool">
|
|
</return>
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="is_input_handled" qualifiers="const">
|
|
<return type="bool">
|
|
</return>
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="set_input_as_handled">
|
|
<return type="void">
|
|
</return>
|
|
<description>
|
|
Stops the input from propagating further down the [SceneTree].
|
|
</description>
|
|
</method>
|
|
<method name="set_shadow_atlas_quadrant_subdiv">
|
|
<return type="void">
|
|
</return>
|
|
<argument index="0" name="quadrant" type="int">
|
|
</argument>
|
|
<argument index="1" name="subdiv" type="int" enum="Viewport.ShadowAtlasQuadrantSubdiv">
|
|
</argument>
|
|
<description>
|
|
Sets the number of subdivisions to use in the specified quadrant. A higher number of subdivisions allows you to have more shadows in the scene at once, but reduces the quality of the shadows. A good practice is to have quadrants with a varying number of subdivisions and to have as few subdivisions as possible.
|
|
</description>
|
|
</method>
|
|
<method name="unhandled_input">
|
|
<return type="void">
|
|
</return>
|
|
<argument index="0" name="event" type="InputEvent">
|
|
</argument>
|
|
<argument index="1" name="in_local_coords" type="bool" default="false">
|
|
</argument>
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="update_worlds">
|
|
<return type="void">
|
|
</return>
|
|
<description>
|
|
Forces update of the 2D and 3D worlds.
|
|
</description>
|
|
</method>
|
|
<method name="warp_mouse">
|
|
<return type="void">
|
|
</return>
|
|
<argument index="0" name="to_position" type="Vector2">
|
|
</argument>
|
|
<description>
|
|
Warps the mouse to a position relative to the viewport.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="audio_listener_enable_2d" type="bool" setter="set_as_audio_listener_2d" getter="is_audio_listener_2d" default="false">
|
|
If [code]true[/code], the viewport will process 2D audio streams.
|
|
</member>
|
|
<member name="audio_listener_enable_3d" type="bool" setter="set_as_audio_listener" getter="is_audio_listener" default="false">
|
|
If [code]true[/code], the viewport will process 3D audio streams.
|
|
</member>
|
|
<member name="canvas_item_default_texture_filter" type="int" setter="set_default_canvas_item_texture_filter" getter="get_default_canvas_item_texture_filter" enum="Viewport.DefaultCanvasItemTextureFilter" default="1">
|
|
</member>
|
|
<member name="canvas_item_default_texture_repeat" type="int" setter="set_default_canvas_item_texture_repeat" getter="get_default_canvas_item_texture_repeat" enum="Viewport.DefaultCanvasItemTextureRepeat" default="0">
|
|
</member>
|
|
<member name="canvas_transform" type="Transform2D" setter="set_canvas_transform" getter="get_canvas_transform">
|
|
The canvas transform of the viewport, useful for changing the on-screen positions of all child [CanvasItem]s. This is relative to the global canvas transform of the viewport.
|
|
</member>
|
|
<member name="debug_draw" type="int" setter="set_debug_draw" getter="get_debug_draw" enum="Viewport.DebugDraw" default="0">
|
|
The overlay mode for test rendered geometry in debug purposes.
|
|
</member>
|
|
<member name="global_canvas_transform" type="Transform2D" setter="set_global_canvas_transform" getter="get_global_canvas_transform">
|
|
The global canvas transform of the viewport. The canvas transform is relative to this.
|
|
</member>
|
|
<member name="gui_disable_input" type="bool" setter="set_disable_input" getter="is_input_disabled" default="false">
|
|
If [code]true[/code], the viewport will not receive input event.
|
|
</member>
|
|
<member name="gui_embed_subwindows" type="bool" setter="set_embed_subwindows_hint" getter="get_embed_subwindows_hint" default="false">
|
|
</member>
|
|
<member name="gui_snap_controls_to_pixels" type="bool" setter="set_snap_controls_to_pixels" getter="is_snap_controls_to_pixels_enabled" default="true">
|
|
If [code]true[/code], the GUI controls on the viewport will lay pixel perfectly.
|
|
</member>
|
|
<member name="handle_input_locally" type="bool" setter="set_handle_input_locally" getter="is_handling_input_locally" default="true">
|
|
</member>
|
|
<member name="msaa" type="int" setter="set_msaa" getter="get_msaa" enum="Viewport.MSAA" default="0">
|
|
The multisample anti-aliasing mode. A higher number results in smoother edges at the cost of significantly worse performance. A value of 4 is best unless targeting very high-end systems.
|
|
</member>
|
|
<member name="own_world" type="bool" setter="set_use_own_world" getter="is_using_own_world" default="false">
|
|
If [code]true[/code], the viewport will use [World3D] defined in [code]world[/code] property.
|
|
</member>
|
|
<member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking" default="false">
|
|
If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process.
|
|
</member>
|
|
<member name="shadow_atlas_quad_0" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv" default="2">
|
|
The subdivision amount of the first quadrant on the shadow atlas.
|
|
</member>
|
|
<member name="shadow_atlas_quad_1" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv" default="2">
|
|
The subdivision amount of the second quadrant on the shadow atlas.
|
|
</member>
|
|
<member name="shadow_atlas_quad_2" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv" default="3">
|
|
The subdivision amount of the third quadrant on the shadow atlas.
|
|
</member>
|
|
<member name="shadow_atlas_quad_3" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv" default="4">
|
|
The subdivision amount of the fourth quadrant on the shadow atlas.
|
|
</member>
|
|
<member name="shadow_atlas_size" type="int" setter="set_shadow_atlas_size" getter="get_shadow_atlas_size" default="0">
|
|
The shadow atlas' resolution (used for omni and spot lights). The value will be rounded up to the nearest power of 2.
|
|
[b]Note:[/b] If this is set to 0, shadows won't be visible. Since user-created viewports default to a value of 0, this value must be set above 0 manually.
|
|
</member>
|
|
<member name="transparent_bg" type="bool" setter="set_transparent_background" getter="has_transparent_background" default="false">
|
|
If [code]true[/code], the viewport should render its background as transparent.
|
|
</member>
|
|
<member name="world" type="World3D" setter="set_world" getter="get_world">
|
|
The custom [World3D] which can be used as 3D environment source.
|
|
</member>
|
|
<member name="world_2d" type="World2D" setter="set_world_2d" getter="get_world_2d">
|
|
The custom [World2D] which can be used as 2D environment source.
|
|
</member>
|
|
</members>
|
|
<signals>
|
|
<signal name="gui_focus_changed">
|
|
<argument index="0" name="node" type="Control">
|
|
</argument>
|
|
<description>
|
|
Emitted when a Control node grabs keyboard focus.
|
|
</description>
|
|
</signal>
|
|
<signal name="size_changed">
|
|
<description>
|
|
Emitted when the size of the viewport is changed, whether by resizing of window, or some other means.
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
<constants>
|
|
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_DISABLED" value="0" enum="ShadowAtlasQuadrantSubdiv">
|
|
This quadrant will not be used.
|
|
</constant>
|
|
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_1" value="1" enum="ShadowAtlasQuadrantSubdiv">
|
|
This quadrant will only be used by one shadow map.
|
|
</constant>
|
|
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_4" value="2" enum="ShadowAtlasQuadrantSubdiv">
|
|
This quadrant will be split in 4 and used by up to 4 shadow maps.
|
|
</constant>
|
|
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_16" value="3" enum="ShadowAtlasQuadrantSubdiv">
|
|
This quadrant will be split 16 ways and used by up to 16 shadow maps.
|
|
</constant>
|
|
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_64" value="4" enum="ShadowAtlasQuadrantSubdiv">
|
|
This quadrant will be split 64 ways and used by up to 64 shadow maps.
|
|
</constant>
|
|
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_256" value="5" enum="ShadowAtlasQuadrantSubdiv">
|
|
This quadrant will be split 256 ways and used by up to 256 shadow maps. Unless the [member shadow_atlas_size] is very high, the shadows in this quadrant will be very low resolution.
|
|
</constant>
|
|
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_1024" value="6" enum="ShadowAtlasQuadrantSubdiv">
|
|
This quadrant will be split 1024 ways and used by up to 1024 shadow maps. Unless the [member shadow_atlas_size] is very high, the shadows in this quadrant will be very low resolution.
|
|
</constant>
|
|
<constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_MAX" value="7" enum="ShadowAtlasQuadrantSubdiv">
|
|
Represents the size of the [enum ShadowAtlasQuadrantSubdiv] enum.
|
|
</constant>
|
|
<constant name="RENDER_INFO_OBJECTS_IN_FRAME" value="0" enum="RenderInfo">
|
|
Amount of objects in frame.
|
|
</constant>
|
|
<constant name="RENDER_INFO_VERTICES_IN_FRAME" value="1" enum="RenderInfo">
|
|
Amount of vertices in frame.
|
|
</constant>
|
|
<constant name="RENDER_INFO_MATERIAL_CHANGES_IN_FRAME" value="2" enum="RenderInfo">
|
|
Amount of material changes in frame.
|
|
</constant>
|
|
<constant name="RENDER_INFO_SHADER_CHANGES_IN_FRAME" value="3" enum="RenderInfo">
|
|
Amount of shader changes in frame.
|
|
</constant>
|
|
<constant name="RENDER_INFO_SURFACE_CHANGES_IN_FRAME" value="4" enum="RenderInfo">
|
|
Amount of surface changes in frame.
|
|
</constant>
|
|
<constant name="RENDER_INFO_DRAW_CALLS_IN_FRAME" value="5" enum="RenderInfo">
|
|
Amount of draw calls in frame.
|
|
</constant>
|
|
<constant name="RENDER_INFO_MAX" value="6" enum="RenderInfo">
|
|
Represents the size of the [enum RenderInfo] enum.
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_DISABLED" value="0" enum="DebugDraw">
|
|
Objects are displayed normally.
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_UNSHADED" value="1" enum="DebugDraw">
|
|
Objects are displayed without light information.
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_OVERDRAW" value="3" enum="DebugDraw">
|
|
Objected are displayed semi-transparent with additive blending so you can see where they intersect.
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_WIREFRAME" value="4" enum="DebugDraw">
|
|
Objects are displayed in wireframe style.
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_GI_PROBE_ALBEDO" value="6" enum="DebugDraw">
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_GI_PROBE_LIGHTING" value="7" enum="DebugDraw">
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_GI_PROBE_EMISSION" value="8" enum="DebugDraw">
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_SHADOW_ATLAS" value="9" enum="DebugDraw">
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS" value="10" enum="DebugDraw">
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_SCENE_LUMINANCE" value="11" enum="DebugDraw">
|
|
</constant>
|
|
<constant name="DEBUG_DRAW_SSAO" value="12" enum="DebugDraw">
|
|
</constant>
|
|
<constant name="MSAA_DISABLED" value="0" enum="MSAA">
|
|
Multisample anti-aliasing mode disabled. This is the default value.
|
|
</constant>
|
|
<constant name="MSAA_2X" value="1" enum="MSAA">
|
|
Use 2x Multisample Antialiasing.
|
|
</constant>
|
|
<constant name="MSAA_4X" value="2" enum="MSAA">
|
|
Use 4x Multisample Antialiasing.
|
|
</constant>
|
|
<constant name="MSAA_8X" value="3" enum="MSAA">
|
|
Use 8x Multisample Antialiasing. Likely unsupported on low-end and older hardware.
|
|
</constant>
|
|
<constant name="MSAA_16X" value="4" enum="MSAA">
|
|
Use 16x Multisample Antialiasing. Likely unsupported on medium and low-end hardware.
|
|
</constant>
|
|
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST" value="0" enum="DefaultCanvasItemTextureFilter">
|
|
</constant>
|
|
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR" value="1" enum="DefaultCanvasItemTextureFilter">
|
|
</constant>
|
|
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS" value="2" enum="DefaultCanvasItemTextureFilter">
|
|
</constant>
|
|
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS" value="3" enum="DefaultCanvasItemTextureFilter">
|
|
</constant>
|
|
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_MAX" value="4" enum="DefaultCanvasItemTextureFilter">
|
|
</constant>
|
|
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_DISABLED" value="0" enum="DefaultCanvasItemTextureRepeat">
|
|
</constant>
|
|
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_ENABLED" value="1" enum="DefaultCanvasItemTextureRepeat">
|
|
</constant>
|
|
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_MIRROR" value="2" enum="DefaultCanvasItemTextureRepeat">
|
|
</constant>
|
|
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_MAX" value="3" enum="DefaultCanvasItemTextureRepeat">
|
|
</constant>
|
|
</constants>
|
|
</class>
|