:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/SubViewport.xml. .. _class_SubViewport: SubViewport =========== **Inherits:** :ref:`Viewport` **<** :ref:`Node` **<** :ref:`Object` Creates a sub-view into the screen. Description ----------- ``SubViewport`` is a :ref:`Viewport` that isn't a :ref:`Window`, i.e. it doesn't draw anything by itself. To display something, ``SubViewport``'s :ref:`size` must be non-zero and it should be either put inside a :ref:`SubViewportContainer` or assigned to a :ref:`ViewportTexture`. Tutorials --------- - :doc:`Using Viewports <../tutorials/rendering/viewports>` - :doc:`Viewport and canvas transforms <../tutorials/2d/2d_transforms>` - `GUI in 3D Demo `__ - `3D in 2D Demo `__ - `2D in 3D Demo `__ - `Screen Capture Demo `__ - `Dynamic Split Screen Demo `__ - `3D Viewport Scaling Demo `__ Properties ---------- +------------------------------------------------+----------------------------------------------------------------------------------------+------------------------+ | :ref:`ClearMode` | :ref:`render_target_clear_mode` | ``0`` | +------------------------------------------------+----------------------------------------------------------------------------------------+------------------------+ | :ref:`UpdateMode` | :ref:`render_target_update_mode` | ``2`` | +------------------------------------------------+----------------------------------------------------------------------------------------+------------------------+ | :ref:`Vector2i` | :ref:`size` | ``Vector2i(512, 512)`` | +------------------------------------------------+----------------------------------------------------------------------------------------+------------------------+ | :ref:`Vector2i` | :ref:`size_2d_override` | ``Vector2i(0, 0)`` | +------------------------------------------------+----------------------------------------------------------------------------------------+------------------------+ | :ref:`bool` | :ref:`size_2d_override_stretch` | ``false`` | +------------------------------------------------+----------------------------------------------------------------------------------------+------------------------+ Enumerations ------------ .. _enum_SubViewport_ClearMode: .. _class_SubViewport_constant_CLEAR_MODE_ALWAYS: .. _class_SubViewport_constant_CLEAR_MODE_NEVER: .. _class_SubViewport_constant_CLEAR_MODE_ONCE: enum **ClearMode**: - **CLEAR_MODE_ALWAYS** = **0** --- Always clear the render target before drawing. - **CLEAR_MODE_NEVER** = **1** --- Never clear the render target. - **CLEAR_MODE_ONCE** = **2** --- Clear the render target on the next frame, then switch to :ref:`CLEAR_MODE_NEVER`. ---- .. _enum_SubViewport_UpdateMode: .. _class_SubViewport_constant_UPDATE_DISABLED: .. _class_SubViewport_constant_UPDATE_ONCE: .. _class_SubViewport_constant_UPDATE_WHEN_VISIBLE: .. _class_SubViewport_constant_UPDATE_WHEN_PARENT_VISIBLE: .. _class_SubViewport_constant_UPDATE_ALWAYS: enum **UpdateMode**: - **UPDATE_DISABLED** = **0** --- Do not update the render target. - **UPDATE_ONCE** = **1** --- Update the render target once, then switch to :ref:`UPDATE_DISABLED`. - **UPDATE_WHEN_VISIBLE** = **2** --- Update the render target only when it is visible. This is the default value. - **UPDATE_WHEN_PARENT_VISIBLE** = **3** --- Update the render target only when its parent is visible. - **UPDATE_ALWAYS** = **4** --- Always update the render target. Property Descriptions --------------------- .. _class_SubViewport_property_render_target_clear_mode: - :ref:`ClearMode` **render_target_clear_mode** +-----------+-----------------------+ | *Default* | ``0`` | +-----------+-----------------------+ | *Setter* | set_clear_mode(value) | +-----------+-----------------------+ | *Getter* | get_clear_mode() | +-----------+-----------------------+ The clear mode when the sub-viewport is used as a render target. \ **Note:** This property is intended for 2D usage. ---- .. _class_SubViewport_property_render_target_update_mode: - :ref:`UpdateMode` **render_target_update_mode** +-----------+------------------------+ | *Default* | ``2`` | +-----------+------------------------+ | *Setter* | set_update_mode(value) | +-----------+------------------------+ | *Getter* | get_update_mode() | +-----------+------------------------+ The update mode when the sub-viewport is used as a render target. ---- .. _class_SubViewport_property_size: - :ref:`Vector2i` **size** +-----------+------------------------+ | *Default* | ``Vector2i(512, 512)`` | +-----------+------------------------+ | *Setter* | set_size(value) | +-----------+------------------------+ | *Getter* | get_size() | +-----------+------------------------+ The width and height of the sub-viewport. ---- .. _class_SubViewport_property_size_2d_override: - :ref:`Vector2i` **size_2d_override** +-----------+-----------------------------+ | *Default* | ``Vector2i(0, 0)`` | +-----------+-----------------------------+ | *Setter* | set_size_2d_override(value) | +-----------+-----------------------------+ | *Getter* | get_size_2d_override() | +-----------+-----------------------------+ The 2D size override of the sub-viewport. If either the width or height is ``0``, the override is disabled. ---- .. _class_SubViewport_property_size_2d_override_stretch: - :ref:`bool` **size_2d_override_stretch** +-----------+---------------------------------------+ | *Default* | ``false`` | +-----------+---------------------------------------+ | *Setter* | set_size_2d_override_stretch(value) | +-----------+---------------------------------------+ | *Getter* | is_size_2d_override_stretch_enabled() | +-----------+---------------------------------------+ If ``true``, the 2D size override affects stretch as well. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`