diff options
40 files changed, 450 insertions, 99 deletions
diff --git a/core/color_names.inc b/core/color_names.inc index b0ef507d92..428a8473fe 100644 --- a/core/color_names.inc +++ b/core/color_names.inc @@ -1,4 +1,4 @@ -// Names from https://en.wikipedia.org/wiki/List_of_colors (through https://raw.githubusercontent.com/SuperUserNameMan/color_to_name/616a7cddafefda91478b7bc26167de97fb5badb1/godot_version.gd), slightly edited and normalized +// Names from https://en.wikipedia.org/wiki/X11_color_names #include "core/map.h" static Map<String, Color> _named_colors; diff --git a/doc/classes/CPUParticles.xml b/doc/classes/CPUParticles.xml index 97bd673f0b..6f7fbaecce 100644 --- a/doc/classes/CPUParticles.xml +++ b/doc/classes/CPUParticles.xml @@ -172,10 +172,13 @@ The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_BOX]. </member> <member name="emission_colors" type="PoolColorArray" setter="set_emission_colors" getter="get_emission_colors" default="PoolColorArray( )"> + Sets the [Color]s to modulate particles by when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]. </member> <member name="emission_normals" type="PoolVector3Array" setter="set_emission_normals" getter="get_emission_normals"> + Sets the direction the particles will be emitted in when using [constant EMISSION_SHAPE_DIRECTED_POINTS]. </member> <member name="emission_points" type="PoolVector3Array" setter="set_emission_points" getter="get_emission_points" default="PoolVector3Array( )"> + Sets the initial positions to spawn particles when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]. </member> <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles.EmissionShape" default="0"> Particles will be emitted inside this region. See [enum EmissionShape] for possible values. diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml index 706083e86d..4694fd4663 100644 --- a/doc/classes/CPUParticles2D.xml +++ b/doc/classes/CPUParticles2D.xml @@ -170,10 +170,13 @@ Particle draw order. Uses [enum DrawOrder] values. </member> <member name="emission_colors" type="PoolColorArray" setter="set_emission_colors" getter="get_emission_colors"> + Sets the [Color]s to modulate particles by when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]. </member> <member name="emission_normals" type="PoolVector2Array" setter="set_emission_normals" getter="get_emission_normals"> + Sets the direction the particles will be emitted in when using [constant EMISSION_SHAPE_DIRECTED_POINTS]. </member> <member name="emission_points" type="PoolVector2Array" setter="set_emission_points" getter="get_emission_points"> + Sets the initial positions to spawn particles when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]. </member> <member name="emission_rect_extents" type="Vector2" setter="set_emission_rect_extents" getter="get_emission_rect_extents"> The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_RECTANGLE]. diff --git a/doc/classes/CanvasLayer.xml b/doc/classes/CanvasLayer.xml index 2e56009f50..da0f3a86dc 100644 --- a/doc/classes/CanvasLayer.xml +++ b/doc/classes/CanvasLayer.xml @@ -24,8 +24,10 @@ The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/code], uses the default viewport instead. </member> <member name="follow_viewport_enable" type="bool" setter="set_follow_viewport" getter="is_following_viewport" default="false"> + Sets the layer to follow the viewport in order to simulate a pseudo 3D effect. </member> <member name="follow_viewport_scale" type="float" setter="set_follow_viewport_scale" getter="get_follow_viewport_scale" default="1.0"> + Scales the layer when using [member follow_viewport_enable]. Layers moving into the foreground should have increasing scales, while layers moving into the background should have decreasing scales. </member> <member name="layer" type="int" setter="set_layer" getter="get_layer" default="1"> Layer index for draw order. Lower values are drawn first. diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index 8820cb5c27..aa6ae18825 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -5,7 +5,7 @@ </brief_description> <description> A color is represented by red, green, and blue [code](r, g, b)[/code] components. Additionally, [code]a[/code] represents the alpha component, often used for transparency. Values are in floating-point and usually range from 0 to 1. Some properties (such as [member CanvasItem.modulate]) may accept values greater than 1. - You can also create a color from standardized color names by using [method @GDScript.ColorN]. + You can also create a color from standardized color names by using [method @GDScript.ColorN] or directly using the color constants defined here. The standardized color set is based on the [url=https://en.wikipedia.org/wiki/X11_color_names]X11 color names[/url]. </description> <tutorials> </tutorials> @@ -308,296 +308,442 @@ </members> <constants> <constant name="gray" value="Color( 0.75, 0.75, 0.75, 1 )"> + Gray color. </constant> <constant name="aliceblue" value="Color( 0.94, 0.97, 1, 1 )"> + Alice blue color. </constant> <constant name="antiquewhite" value="Color( 0.98, 0.92, 0.84, 1 )"> + Antique white color. </constant> <constant name="aqua" value="Color( 0, 1, 1, 1 )"> + Aqua color. </constant> <constant name="aquamarine" value="Color( 0.5, 1, 0.83, 1 )"> + Aquamarine color. </constant> <constant name="azure" value="Color( 0.94, 1, 1, 1 )"> + Azure color. </constant> <constant name="beige" value="Color( 0.96, 0.96, 0.86, 1 )"> + Beige color. </constant> <constant name="bisque" value="Color( 1, 0.89, 0.77, 1 )"> + Bisque color. </constant> <constant name="black" value="Color( 0, 0, 0, 1 )"> + Black color. </constant> <constant name="blanchedalmond" value="Color( 1, 0.92, 0.8, 1 )"> + Blanche almond color. </constant> <constant name="blue" value="Color( 0, 0, 1, 1 )"> + Blue color. </constant> <constant name="blueviolet" value="Color( 0.54, 0.17, 0.89, 1 )"> + Blue violet color. </constant> <constant name="brown" value="Color( 0.65, 0.16, 0.16, 1 )"> + Brown color. </constant> <constant name="burlywood" value="Color( 0.87, 0.72, 0.53, 1 )"> + Burly wood color. </constant> <constant name="cadetblue" value="Color( 0.37, 0.62, 0.63, 1 )"> + Cadet blue color. </constant> <constant name="chartreuse" value="Color( 0.5, 1, 0, 1 )"> + Chartreuse color. </constant> <constant name="chocolate" value="Color( 0.82, 0.41, 0.12, 1 )"> + Chocolate color. </constant> <constant name="coral" value="Color( 1, 0.5, 0.31, 1 )"> + Coral color. </constant> <constant name="cornflower" value="Color( 0.39, 0.58, 0.93, 1 )"> + Cornflower color. </constant> <constant name="cornsilk" value="Color( 1, 0.97, 0.86, 1 )"> + Corn silk color. </constant> <constant name="crimson" value="Color( 0.86, 0.08, 0.24, 1 )"> + Crimson color. </constant> <constant name="cyan" value="Color( 0, 1, 1, 1 )"> + Cyan color. </constant> <constant name="darkblue" value="Color( 0, 0, 0.55, 1 )"> + Dark blue color. </constant> <constant name="darkcyan" value="Color( 0, 0.55, 0.55, 1 )"> + Dark cyan color. </constant> <constant name="darkgoldenrod" value="Color( 0.72, 0.53, 0.04, 1 )"> + Dark goldenrod color. </constant> <constant name="darkgray" value="Color( 0.66, 0.66, 0.66, 1 )"> + Dark gray color. </constant> <constant name="darkgreen" value="Color( 0, 0.39, 0, 1 )"> + Dark green color. </constant> <constant name="darkkhaki" value="Color( 0.74, 0.72, 0.42, 1 )"> + Dark khaki color. </constant> <constant name="darkmagenta" value="Color( 0.55, 0, 0.55, 1 )"> + Dark magenta color. </constant> <constant name="darkolivegreen" value="Color( 0.33, 0.42, 0.18, 1 )"> + Dark olive green color. </constant> <constant name="darkorange" value="Color( 1, 0.55, 0, 1 )"> + Dark orange color. </constant> <constant name="darkorchid" value="Color( 0.6, 0.2, 0.8, 1 )"> + Dark orchid color. </constant> <constant name="darkred" value="Color( 0.55, 0, 0, 1 )"> + Dark red color. </constant> <constant name="darksalmon" value="Color( 0.91, 0.59, 0.48, 1 )"> + Dark salmon color. </constant> <constant name="darkseagreen" value="Color( 0.56, 0.74, 0.56, 1 )"> + Dark sea green color. </constant> <constant name="darkslateblue" value="Color( 0.28, 0.24, 0.55, 1 )"> + Dark slate blue color. </constant> <constant name="darkslategray" value="Color( 0.18, 0.31, 0.31, 1 )"> + Dark slate gray color. </constant> <constant name="darkturquoise" value="Color( 0, 0.81, 0.82, 1 )"> + Dark turquoise color. </constant> <constant name="darkviolet" value="Color( 0.58, 0, 0.83, 1 )"> + Dark violet color. </constant> <constant name="deeppink" value="Color( 1, 0.08, 0.58, 1 )"> + Deep pink color. </constant> <constant name="deepskyblue" value="Color( 0, 0.75, 1, 1 )"> + Deep sky blue color. </constant> <constant name="dimgray" value="Color( 0.41, 0.41, 0.41, 1 )"> + Dim gray color. </constant> <constant name="dodgerblue" value="Color( 0.12, 0.56, 1, 1 )"> + Dodger blue color. </constant> <constant name="firebrick" value="Color( 0.7, 0.13, 0.13, 1 )"> + Firebrick color. </constant> <constant name="floralwhite" value="Color( 1, 0.98, 0.94, 1 )"> + Floral white color. </constant> <constant name="forestgreen" value="Color( 0.13, 0.55, 0.13, 1 )"> + Forest green color. </constant> <constant name="fuchsia" value="Color( 1, 0, 1, 1 )"> + Fuchsia color. </constant> <constant name="gainsboro" value="Color( 0.86, 0.86, 0.86, 1 )"> + Gainsboro color. </constant> <constant name="ghostwhite" value="Color( 0.97, 0.97, 1, 1 )"> + Ghost white color. </constant> <constant name="gold" value="Color( 1, 0.84, 0, 1 )"> + Gold color. </constant> <constant name="goldenrod" value="Color( 0.85, 0.65, 0.13, 1 )"> + Goldenrod color. </constant> <constant name="green" value="Color( 0, 1, 0, 1 )"> + Green color. </constant> <constant name="greenyellow" value="Color( 0.68, 1, 0.18, 1 )"> + Green yellow color. </constant> <constant name="honeydew" value="Color( 0.94, 1, 0.94, 1 )"> + Honeydew color. </constant> <constant name="hotpink" value="Color( 1, 0.41, 0.71, 1 )"> + Hot pink color. </constant> <constant name="indianred" value="Color( 0.8, 0.36, 0.36, 1 )"> + Indian red color. </constant> <constant name="indigo" value="Color( 0.29, 0, 0.51, 1 )"> + Indigo color. </constant> <constant name="ivory" value="Color( 1, 1, 0.94, 1 )"> + Ivory color. </constant> <constant name="khaki" value="Color( 0.94, 0.9, 0.55, 1 )"> + Khaki color. </constant> <constant name="lavender" value="Color( 0.9, 0.9, 0.98, 1 )"> + Lavender color. </constant> <constant name="lavenderblush" value="Color( 1, 0.94, 0.96, 1 )"> + Lavender blush color. </constant> <constant name="lawngreen" value="Color( 0.49, 0.99, 0, 1 )"> + Lawn green color. </constant> <constant name="lemonchiffon" value="Color( 1, 0.98, 0.8, 1 )"> + Lemon chiffon color. </constant> <constant name="lightblue" value="Color( 0.68, 0.85, 0.9, 1 )"> + Light blue color. </constant> <constant name="lightcoral" value="Color( 0.94, 0.5, 0.5, 1 )"> + Light coral color. </constant> <constant name="lightcyan" value="Color( 0.88, 1, 1, 1 )"> + Light cyan color. </constant> <constant name="lightgoldenrod" value="Color( 0.98, 0.98, 0.82, 1 )"> + Light goldenrod color. </constant> <constant name="lightgray" value="Color( 0.83, 0.83, 0.83, 1 )"> + Light gray color. </constant> <constant name="lightgreen" value="Color( 0.56, 0.93, 0.56, 1 )"> + Light green color. </constant> <constant name="lightpink" value="Color( 1, 0.71, 0.76, 1 )"> + Light pink color. </constant> <constant name="lightsalmon" value="Color( 1, 0.63, 0.48, 1 )"> + Light salmon color. </constant> <constant name="lightseagreen" value="Color( 0.13, 0.7, 0.67, 1 )"> + Light sea green color. </constant> <constant name="lightskyblue" value="Color( 0.53, 0.81, 0.98, 1 )"> + Light sky blue color. </constant> <constant name="lightslategray" value="Color( 0.47, 0.53, 0.6, 1 )"> + Light slate gray color. </constant> <constant name="lightsteelblue" value="Color( 0.69, 0.77, 0.87, 1 )"> + Light steel blue color. </constant> <constant name="lightyellow" value="Color( 1, 1, 0.88, 1 )"> + Light yellow color. </constant> <constant name="lime" value="Color( 0, 1, 0, 1 )"> + Lime color. </constant> <constant name="limegreen" value="Color( 0.2, 0.8, 0.2, 1 )"> + Lime green color. </constant> <constant name="linen" value="Color( 0.98, 0.94, 0.9, 1 )"> + Linen color. </constant> <constant name="magenta" value="Color( 1, 0, 1, 1 )"> + Magenta color. </constant> <constant name="maroon" value="Color( 0.69, 0.19, 0.38, 1 )"> + Maroon color. </constant> <constant name="mediumaquamarine" value="Color( 0.4, 0.8, 0.67, 1 )"> + Medium aquamarine color. </constant> <constant name="mediumblue" value="Color( 0, 0, 0.8, 1 )"> + Medium blue color. </constant> <constant name="mediumorchid" value="Color( 0.73, 0.33, 0.83, 1 )"> + Medium orchid color. </constant> <constant name="mediumpurple" value="Color( 0.58, 0.44, 0.86, 1 )"> + Medium purple color. </constant> <constant name="mediumseagreen" value="Color( 0.24, 0.7, 0.44, 1 )"> + Medium sea green color. </constant> <constant name="mediumslateblue" value="Color( 0.48, 0.41, 0.93, 1 )"> + Medium slate blue color. </constant> <constant name="mediumspringgreen" value="Color( 0, 0.98, 0.6, 1 )"> + Medium spring green color. </constant> <constant name="mediumturquoise" value="Color( 0.28, 0.82, 0.8, 1 )"> + Medium turquoise color. </constant> <constant name="mediumvioletred" value="Color( 0.78, 0.08, 0.52, 1 )"> + Medium violet red color. </constant> <constant name="midnightblue" value="Color( 0.1, 0.1, 0.44, 1 )"> + Midnight blue color. </constant> <constant name="mintcream" value="Color( 0.96, 1, 0.98, 1 )"> + Mint cream color. </constant> <constant name="mistyrose" value="Color( 1, 0.89, 0.88, 1 )"> + Misty rose color. </constant> <constant name="moccasin" value="Color( 1, 0.89, 0.71, 1 )"> + Moccasin color. </constant> <constant name="navajowhite" value="Color( 1, 0.87, 0.68, 1 )"> + Navajo white color. </constant> <constant name="navyblue" value="Color( 0, 0, 0.5, 1 )"> + Navy blue color. </constant> <constant name="oldlace" value="Color( 0.99, 0.96, 0.9, 1 )"> + Old lace color. </constant> <constant name="olive" value="Color( 0.5, 0.5, 0, 1 )"> + Olive color. </constant> <constant name="olivedrab" value="Color( 0.42, 0.56, 0.14, 1 )"> + Olive drab color. </constant> <constant name="orange" value="Color( 1, 0.65, 0, 1 )"> + Orange color. </constant> <constant name="orangered" value="Color( 1, 0.27, 0, 1 )"> + Orange red color. </constant> <constant name="orchid" value="Color( 0.85, 0.44, 0.84, 1 )"> + Orchid color. </constant> <constant name="palegoldenrod" value="Color( 0.93, 0.91, 0.67, 1 )"> + Pale goldenrod color. </constant> <constant name="palegreen" value="Color( 0.6, 0.98, 0.6, 1 )"> + Pale green color. </constant> <constant name="paleturquoise" value="Color( 0.69, 0.93, 0.93, 1 )"> + Pale turquoise color. </constant> <constant name="palevioletred" value="Color( 0.86, 0.44, 0.58, 1 )"> + Pale violet red color. </constant> <constant name="papayawhip" value="Color( 1, 0.94, 0.84, 1 )"> + Papaya whip color. </constant> <constant name="peachpuff" value="Color( 1, 0.85, 0.73, 1 )"> + Peach puff color. </constant> <constant name="peru" value="Color( 0.8, 0.52, 0.25, 1 )"> + Peru color. </constant> <constant name="pink" value="Color( 1, 0.75, 0.8, 1 )"> + Pink color. </constant> <constant name="plum" value="Color( 0.87, 0.63, 0.87, 1 )"> + Plum color. </constant> <constant name="powderblue" value="Color( 0.69, 0.88, 0.9, 1 )"> + Powder blue color. </constant> <constant name="purple" value="Color( 0.63, 0.13, 0.94, 1 )"> + Purple color. </constant> <constant name="rebeccapurple" value="Color( 0.4, 0.2, 0.6, 1 )"> + Rebecca purple color. </constant> <constant name="red" value="Color( 1, 0, 0, 1 )"> + Red color. </constant> <constant name="rosybrown" value="Color( 0.74, 0.56, 0.56, 1 )"> + Rosy brown color. </constant> <constant name="royalblue" value="Color( 0.25, 0.41, 0.88, 1 )"> + Royal blue color. </constant> <constant name="saddlebrown" value="Color( 0.55, 0.27, 0.07, 1 )"> + Saddle brown color. </constant> <constant name="salmon" value="Color( 0.98, 0.5, 0.45, 1 )"> + Salmon color. </constant> <constant name="sandybrown" value="Color( 0.96, 0.64, 0.38, 1 )"> + Sandy brown color. </constant> <constant name="seagreen" value="Color( 0.18, 0.55, 0.34, 1 )"> + Sea green color. </constant> <constant name="seashell" value="Color( 1, 0.96, 0.93, 1 )"> + Seashell color. </constant> <constant name="sienna" value="Color( 0.63, 0.32, 0.18, 1 )"> + Sienna color. </constant> <constant name="silver" value="Color( 0.75, 0.75, 0.75, 1 )"> + Silver color. </constant> <constant name="skyblue" value="Color( 0.53, 0.81, 0.92, 1 )"> + Sky blue color. </constant> <constant name="slateblue" value="Color( 0.42, 0.35, 0.8, 1 )"> + Slate blue color. </constant> <constant name="slategray" value="Color( 0.44, 0.5, 0.56, 1 )"> + Slate gray color. </constant> <constant name="snow" value="Color( 1, 0.98, 0.98, 1 )"> + Snow color. </constant> <constant name="springgreen" value="Color( 0, 1, 0.5, 1 )"> + Spring green color. </constant> <constant name="steelblue" value="Color( 0.27, 0.51, 0.71, 1 )"> + Steel blue color. </constant> <constant name="tan" value="Color( 0.82, 0.71, 0.55, 1 )"> + Tan color. </constant> <constant name="teal" value="Color( 0, 0.5, 0.5, 1 )"> + Teal color. </constant> <constant name="thistle" value="Color( 0.85, 0.75, 0.85, 1 )"> + Thistle color. </constant> <constant name="tomato" value="Color( 1, 0.39, 0.28, 1 )"> + Tomato color. </constant> <constant name="transparent" value="Color( 1, 1, 1, 0 )"> + Transparent color (white with no alpha). </constant> <constant name="turquoise" value="Color( 0.25, 0.88, 0.82, 1 )"> + Turquoise color. </constant> <constant name="violet" value="Color( 0.93, 0.51, 0.93, 1 )"> + Violet color. </constant> <constant name="webgray" value="Color( 0.5, 0.5, 0.5, 1 )"> + Web gray color. </constant> <constant name="webgreen" value="Color( 0, 0.5, 0, 1 )"> + Web green color. </constant> <constant name="webmaroon" value="Color( 0.5, 0, 0, 1 )"> + Web maroon color. </constant> <constant name="webpurple" value="Color( 0.5, 0, 0.5, 1 )"> + Web purple color. </constant> <constant name="wheat" value="Color( 0.96, 0.87, 0.7, 1 )"> + Wheat color. </constant> <constant name="white" value="Color( 1, 1, 1, 1 )"> + White color. </constant> <constant name="whitesmoke" value="Color( 0.96, 0.96, 0.96, 1 )"> + White smoke color. </constant> <constant name="yellow" value="Color( 1, 1, 0, 1 )"> + Yellow color. </constant> <constant name="yellowgreen" value="Color( 0.6, 0.8, 0.2, 1 )"> + Yellow green color. </constant> </constants> </class> diff --git a/doc/classes/EditorInspectorPlugin.xml b/doc/classes/EditorInspectorPlugin.xml index 3d2af0545e..f91cdeda2d 100644 --- a/doc/classes/EditorInspectorPlugin.xml +++ b/doc/classes/EditorInspectorPlugin.xml @@ -100,7 +100,7 @@ <argument index="5" name="usage" type="int"> </argument> <description> - Called to allow adding property specific editors to the inspector. Usually these inherit [EditorProperty]. + Called to allow adding property specific editors to the inspector. Usually these inherit [EditorProperty]. Returning [code]true[/code] removes the built-in editor for this property, otherwise allows to insert a custom editor before the built-in one. </description> </method> </methods> diff --git a/doc/classes/Geometry.xml b/doc/classes/Geometry.xml index a8ea3e1de3..a70d2caf46 100644 --- a/doc/classes/Geometry.xml +++ b/doc/classes/Geometry.xml @@ -193,6 +193,7 @@ <argument index="0" name="normal" type="Vector3"> </argument> <description> + Used internally by the engine. </description> </method> <method name="intersect_polygons_2d"> diff --git a/doc/classes/ParticlesMaterial.xml b/doc/classes/ParticlesMaterial.xml index 1f23649b75..65f6293c7c 100644 --- a/doc/classes/ParticlesMaterial.xml +++ b/doc/classes/ParticlesMaterial.xml @@ -17,6 +17,7 @@ <argument index="0" name="flag" type="int" enum="ParticlesMaterial.Flags"> </argument> <description> + Returns [code]true[/code] if the specified flag is enabled. </description> </method> <method name="get_param" qualifiers="const"> @@ -25,6 +26,7 @@ <argument index="0" name="param" type="int" enum="ParticlesMaterial.Parameter"> </argument> <description> + Returns the value of the specified parameter. </description> </method> <method name="get_param_randomness" qualifiers="const"> @@ -33,6 +35,7 @@ <argument index="0" name="param" type="int" enum="ParticlesMaterial.Parameter"> </argument> <description> + Returns the randomness ratio associated with the specified parameter. </description> </method> <method name="get_param_texture" qualifiers="const"> @@ -41,6 +44,7 @@ <argument index="0" name="param" type="int" enum="ParticlesMaterial.Parameter"> </argument> <description> + Returns the [Texture] used by the specified parameter. </description> </method> <method name="set_flag"> @@ -51,6 +55,7 @@ <argument index="1" name="enable" type="bool"> </argument> <description> + If [code]true[/code], enables the specified flag. See [enum Flags] for options. </description> </method> <method name="set_param"> @@ -61,6 +66,7 @@ <argument index="1" name="value" type="float"> </argument> <description> + Sets the specified [enum Parameter]. </description> </method> <method name="set_param_randomness"> @@ -71,6 +77,7 @@ <argument index="1" name="randomness" type="float"> </argument> <description> + Sets the randomness ratio for the specified [enum Parameter]. </description> </method> <method name="set_param_texture"> @@ -81,6 +88,7 @@ <argument index="1" name="texture" type="Texture"> </argument> <description> + Sets the [Texture] for the specified [enum Parameter]. </description> </method> </methods> diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml index 0164943ccc..fb48219f46 100644 --- a/doc/classes/Plane.xml +++ b/doc/classes/Plane.xml @@ -170,10 +170,13 @@ </members> <constants> <constant name="PLANE_YZ" value="Plane( 1, 0, 0, 0 )"> + A plane that extends in the Y and Z axes. </constant> <constant name="PLANE_XZ" value="Plane( 0, 1, 0, 0 )"> + A plane that extends in the X and Z axes. </constant> <constant name="PLANE_XY" value="Plane( 0, 0, 1, 0 )"> + A plane that extends in the X and Y axes. </constant> </constants> </class> diff --git a/doc/classes/ProceduralSky.xml b/doc/classes/ProceduralSky.xml index 9ffca20081..abd9a7f6e8 100644 --- a/doc/classes/ProceduralSky.xml +++ b/doc/classes/ProceduralSky.xml @@ -63,14 +63,19 @@ </members> <constants> <constant name="TEXTURE_SIZE_256" value="0" enum="TextureSize"> + Sky texture will be 256x128. </constant> <constant name="TEXTURE_SIZE_512" value="1" enum="TextureSize"> + Sky texture will be 512x256. </constant> <constant name="TEXTURE_SIZE_1024" value="2" enum="TextureSize"> + Sky texture will be 1024x512. This is the default size. </constant> <constant name="TEXTURE_SIZE_2048" value="3" enum="TextureSize"> + Sky texture will be 2048x1024. </constant> <constant name="TEXTURE_SIZE_4096" value="4" enum="TextureSize"> + Sky texture will be 4096x2048. </constant> <constant name="TEXTURE_SIZE_MAX" value="5" enum="TextureSize"> Represents the size of the [enum TextureSize] enum. diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 521491da5c..1870a326f1 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -205,6 +205,7 @@ Icon used for the project, set when project loads. Exporters will also use this icon when possible. </member> <member name="application/config/macos_native_icon" type="String" setter="" getter="" default=""""> + Icon set in [code].icns[/code] format used on macOS to set the game's icon. This is done automatically on start by calling [method OS.set_native_icon]. </member> <member name="application/config/name" type="String" setter="" getter="" default=""""> The project's name. It is used both by the Project Manager and by exporters. The project name can be translated by translating its value in localization files. @@ -217,6 +218,7 @@ If [code]true[/code], the project will save user data to its own user directory (see [member application/config/custom_user_dir_name]). This setting is only effective on desktop platforms. A name must be set in the [member application/config/custom_user_dir_name] setting for this to take effect. If [code]false[/code], the project will save user data to [code](OS user data directory)/Godot/app_userdata/(project name)[/code]. </member> <member name="application/config/windows_native_icon" type="String" setter="" getter="" default=""""> + Icon set in [code].ico[/code] format used on Windows to set the game's icon. This is done automatically on start by calling [method OS.set_native_icon]. </member> <member name="application/run/disable_stderr" type="bool" setter="" getter="" default="false"> If [code]true[/code], disables printing to standard error in an exported build. @@ -243,6 +245,7 @@ Audio buses will disable automatically when sound goes below a given dB threshold for a given time. This saves CPU as effects assigned to that bus will no longer do any processing. </member> <member name="audio/default_bus_layout" type="String" setter="" getter="" default=""res://default_bus_layout.tres""> + Default [AudioBusLayout] resource file to use in the project, unless overridden by the scene. </member> <member name="audio/driver" type="String" setter="" getter="" default=""PulseAudio""> Specifies the audio driver to use. This setting is platform-dependent as each platform supports different audio drivers. If left empty, the default audio driver will be used. @@ -272,6 +275,7 @@ Enables long-distance matching in Zstandard. </member> <member name="compression/formats/zstd/window_log_size" type="int" setter="" getter="" default="27"> + Largest size limit (in power of 2) allowed when compressing using long-distance matching with Zstandard. </member> <member name="debug/gdscript/completion/autocomplete_setters_and_getters" type="bool" setter="" getter="" default="false"> If [code]true[/code], displays getters and setters in autocompletion results in the script editor. This setting is meant to be used when porting old projects (Godot 2), as using member variables is the preferred style from Godot 3 onwards. @@ -370,6 +374,9 @@ Message to be displayed before the backtrace when the engine crashes. </member> <member name="debug/settings/fps/force_fps" type="int" setter="" getter="" default="0"> + Maximum number of frames per second allowed. The actual number of frames per second may still be below this value if the game is lagging. + If [member display/window/vsync/use_vsync] is enabled, it takes precedence and the forced FPS number cannot exceed the monitor's refresh rate. + This setting is therefore mostly relevant for lowering the maximum FPS below VSync, e.g. to perform non real-time rendering of static frames, or test the project under lag conditions. </member> <member name="debug/settings/gdscript/max_call_stack" type="int" setter="" getter="" default="1024"> Maximum call stack allowed for debugging GDScript. @@ -387,14 +394,19 @@ Maximum call stack in visual scripting, to avoid infinite recursion. </member> <member name="debug/shapes/collision/contact_color" type="Color" setter="" getter="" default="Color( 1, 0.2, 0.1, 0.8 )"> + Color of the contact points between collision shapes, visible when "Visible Collision Shapes" is enabled in the Debug menu. </member> <member name="debug/shapes/collision/max_contacts_displayed" type="int" setter="" getter="" default="10000"> + Maximum number of contact points between collision shapes to display when "Visible Collision Shapes" is enabled in the Debug menu. </member> <member name="debug/shapes/collision/shape_color" type="Color" setter="" getter="" default="Color( 0, 0.6, 0.7, 0.5 )"> + Color of the collision shapes, visible when "Visible Collision Shapes" is enabled in the Debug menu. </member> <member name="debug/shapes/navigation/disabled_geometry_color" type="Color" setter="" getter="" default="Color( 1, 0.7, 0.1, 0.4 )"> + Color of the disabled navigation geometry, visible when "Visible Navigation" is enabled in the Debug menu. </member> <member name="debug/shapes/navigation/geometry_color" type="Color" setter="" getter="" default="Color( 0.1, 1, 0.7, 0.4 )"> + Color of the navigation geometry, visible when "Visible Navigation" is enabled in the Debug menu. </member> <member name="display/mouse_cursor/custom_image" type="String" setter="" getter="" default=""""> Custom image for the mouse cursor (limited to 256×256). @@ -455,56 +467,86 @@ [b]Note:[/b] This option is experimental and meant to alleviate stutter experienced by some users. However, some users have experienced a Vsync framerate halving (e.g. from 60 FPS to 30 FPS) when using it. </member> <member name="editor/script_templates_search_path" type="String" setter="" getter="" default=""res://script_templates""> + Search path for project-specific script templates. Script templates will be search both in the editor-specific path and in this project-specific path. </member> <member name="editor/search_in_file_extensions" type="PoolStringArray" setter="" getter="" default="PoolStringArray( "gd", "shader" )"> + Text-based file extensions to include in the script editor's "Find in Files" feature. You can add e.g. [code]tscn[/code] if you wish to also parse your scene files, especially if you use built-in scripts which are serialized in the scene files. </member> <member name="gui/common/default_scroll_deadzone" type="int" setter="" getter="" default="0"> + Default value for [member ScrollContainer.scroll_deadzone], which will be used for all [ScrollContainer]s unless overridden. </member> <member name="gui/common/swap_ok_cancel" type="bool" setter="" getter="" default="false"> If [code]true[/code], swaps OK and Cancel buttons in dialogs on Windows and UWP to follow interface conventions. </member> <member name="gui/theme/custom" type="String" setter="" getter="" default=""""> - Use a custom theme resource, set a path to it here. + Path to a custom [Theme] resource file to use for the project ([code]theme[/code] or generic [code]tres[/code]/[code]res[/code] extension). </member> <member name="gui/theme/custom_font" type="String" setter="" getter="" default=""""> - Use a custom default font resource, set a path to it here. + Path to a custom [Font] resource to use as default for all GUI elements of the project. </member> <member name="gui/theme/use_hidpi" type="bool" setter="" getter="" default="false"> If [code]true[/code], makes sure the theme used works with HiDPI. </member> <member name="gui/timers/incremental_search_max_interval_msec" type="int" setter="" getter="" default="2000"> - Timer setting for incremental search in Tree, IntemList, etc. controls (in milliseconds). + Timer setting for incremental search in [Tree], [ItemList], etc. controls (in milliseconds). </member> <member name="gui/timers/text_edit_idle_detect_sec" type="float" setter="" getter="" default="3"> - Timer for detecting idle in the editor (in seconds). + Timer for detecting idle in [TextEdit] (in seconds). </member> <member name="gui/timers/tooltip_delay_sec" type="float" setter="" getter="" default="0.5"> + Default delay for tooltips (in seconds). </member> <member name="input/ui_accept" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to confirm a focused button, menu or list item, or validate input. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_cancel" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to discard a modal or pending input. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_down" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to move down in the UI. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_end" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to go to the end position of a [Control] (e.g. last item in an [ItemList] or a [Tree]), matching the behavior of [constant KEY_END] on typical desktop UI systems. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_focus_next" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to focus the next [Control] in the scene. The focus behavior can be configured via [member Control.focus_next]. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_focus_prev" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to focus the previous [Control] in the scene. The focus behavior can be configured via [member Control.focus_previous]. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_home" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to go to the start position of a [Control] (e.g. first item in an [ItemList] or a [Tree]), matching the behavior of [constant KEY_HOME] on typical desktop UI systems. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_left" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to move left in the UI. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_page_down" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to go down a page in a [Control] (e.g. in an [ItemList] or a [Tree]), matching the behavior of [constant KEY_PAGEDOWN] on typical desktop UI systems. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_page_up" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to go up a page in a [Control] (e.g. in an [ItemList] or a [Tree]), matching the behavior of [constant KEY_PAGEUP] on typical desktop UI systems. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_right" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to move right in the UI. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_select" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to select an item in a [Control] (e.g. in an [ItemList] or a [Tree]). + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input/ui_up" type="Dictionary" setter="" getter=""> + Default [InputEventAction] to move up in the UI. + [b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are necessary for the internal logic of several [Control]s. The events assigned to the action can however be modified. </member> <member name="input_devices/pointing/emulate_mouse_from_touch" type="bool" setter="" getter="" default="true"> If [code]true[/code], sends mouse input events when tapping or swiping on the touchscreen. @@ -513,164 +555,244 @@ If [code]true[/code], sends touch input events when clicking or dragging the mouse. </member> <member name="layer_names/2d_physics/layer_1" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 1. </member> <member name="layer_names/2d_physics/layer_10" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 10. </member> <member name="layer_names/2d_physics/layer_11" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 11. </member> <member name="layer_names/2d_physics/layer_12" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 12. </member> <member name="layer_names/2d_physics/layer_13" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 13. </member> <member name="layer_names/2d_physics/layer_14" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 14. </member> <member name="layer_names/2d_physics/layer_15" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 15. </member> <member name="layer_names/2d_physics/layer_16" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 16. </member> <member name="layer_names/2d_physics/layer_17" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 17. </member> <member name="layer_names/2d_physics/layer_18" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 18. </member> <member name="layer_names/2d_physics/layer_19" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 19. </member> <member name="layer_names/2d_physics/layer_2" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 2. </member> <member name="layer_names/2d_physics/layer_20" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 20. </member> <member name="layer_names/2d_physics/layer_3" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 3. </member> <member name="layer_names/2d_physics/layer_4" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 4. </member> <member name="layer_names/2d_physics/layer_5" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 5. </member> <member name="layer_names/2d_physics/layer_6" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 6. </member> <member name="layer_names/2d_physics/layer_7" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 7. </member> <member name="layer_names/2d_physics/layer_8" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 8. </member> <member name="layer_names/2d_physics/layer_9" type="String" setter="" getter="" default=""""> + Optional name for the 2D physics layer 9. </member> <member name="layer_names/2d_render/layer_1" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 1. </member> <member name="layer_names/2d_render/layer_10" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 10. </member> <member name="layer_names/2d_render/layer_11" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 11. </member> <member name="layer_names/2d_render/layer_12" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 12. </member> <member name="layer_names/2d_render/layer_13" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 13. </member> <member name="layer_names/2d_render/layer_14" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 14. </member> <member name="layer_names/2d_render/layer_15" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 15. </member> <member name="layer_names/2d_render/layer_16" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 16. </member> <member name="layer_names/2d_render/layer_17" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 17. </member> <member name="layer_names/2d_render/layer_18" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 18. </member> <member name="layer_names/2d_render/layer_19" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 19. </member> <member name="layer_names/2d_render/layer_2" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 2. </member> <member name="layer_names/2d_render/layer_20" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 20. </member> <member name="layer_names/2d_render/layer_3" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 3. </member> <member name="layer_names/2d_render/layer_4" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 4. </member> <member name="layer_names/2d_render/layer_5" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 5. </member> <member name="layer_names/2d_render/layer_6" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 6. </member> <member name="layer_names/2d_render/layer_7" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 7. </member> <member name="layer_names/2d_render/layer_8" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 8. </member> <member name="layer_names/2d_render/layer_9" type="String" setter="" getter="" default=""""> + Optional name for the 2D render layer 9. </member> <member name="layer_names/3d_physics/layer_1" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 1. </member> <member name="layer_names/3d_physics/layer_10" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 10. </member> <member name="layer_names/3d_physics/layer_11" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 11. </member> <member name="layer_names/3d_physics/layer_12" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 12. </member> <member name="layer_names/3d_physics/layer_13" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 13. </member> <member name="layer_names/3d_physics/layer_14" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 14. </member> <member name="layer_names/3d_physics/layer_15" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 15. </member> <member name="layer_names/3d_physics/layer_16" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 16. </member> <member name="layer_names/3d_physics/layer_17" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 17. </member> <member name="layer_names/3d_physics/layer_18" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 18. </member> <member name="layer_names/3d_physics/layer_19" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 19. </member> <member name="layer_names/3d_physics/layer_2" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 2. </member> <member name="layer_names/3d_physics/layer_20" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 20. </member> <member name="layer_names/3d_physics/layer_3" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 3. </member> <member name="layer_names/3d_physics/layer_4" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 4. </member> <member name="layer_names/3d_physics/layer_5" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 5. </member> <member name="layer_names/3d_physics/layer_6" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 6. </member> <member name="layer_names/3d_physics/layer_7" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 7. </member> <member name="layer_names/3d_physics/layer_8" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 8. </member> <member name="layer_names/3d_physics/layer_9" type="String" setter="" getter="" default=""""> + Optional name for the 3D physics layer 9. </member> <member name="layer_names/3d_render/layer_1" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 1. </member> <member name="layer_names/3d_render/layer_10" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 10. </member> <member name="layer_names/3d_render/layer_11" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 11. </member> <member name="layer_names/3d_render/layer_12" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 12. </member> <member name="layer_names/3d_render/layer_13" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 13. </member> <member name="layer_names/3d_render/layer_14" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 14 </member> <member name="layer_names/3d_render/layer_15" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 15. </member> <member name="layer_names/3d_render/layer_16" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 16. </member> <member name="layer_names/3d_render/layer_17" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 17. </member> <member name="layer_names/3d_render/layer_18" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 18. </member> <member name="layer_names/3d_render/layer_19" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 19. </member> <member name="layer_names/3d_render/layer_2" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 2. </member> <member name="layer_names/3d_render/layer_20" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 20. </member> <member name="layer_names/3d_render/layer_3" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 3. </member> <member name="layer_names/3d_render/layer_4" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 4. </member> <member name="layer_names/3d_render/layer_5" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 5. </member> <member name="layer_names/3d_render/layer_6" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 6. </member> <member name="layer_names/3d_render/layer_7" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 7. </member> <member name="layer_names/3d_render/layer_8" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 8. </member> <member name="layer_names/3d_render/layer_9" type="String" setter="" getter="" default=""""> + Optional name for the 3D render layer 9. </member> <member name="locale/fallback" type="String" setter="" getter="" default=""en""> The locale to fall back to if a translation isn't available in a given language. If left empty, [code]en[/code] (English) will be used. @@ -709,24 +831,34 @@ Default size of packet peer stream for deserializing Godot data. Over this size, data is dropped. </member> <member name="network/limits/tcp/connect_timeout_seconds" type="int" setter="" getter="" default="30"> + Timeout (in seconds) for connection attempts using TCP. </member> <member name="network/limits/webrtc/max_channel_in_buffer_kb" type="int" setter="" getter="" default="64"> + Maximum size (in kiB) for the [WebRTCDataChannel] input buffer. </member> <member name="network/limits/websocket_client/max_in_buffer_kb" type="int" setter="" getter="" default="64"> + Maximum size (in kiB) for the [WebSocketClient] input buffer. </member> <member name="network/limits/websocket_client/max_in_packets" type="int" setter="" getter="" default="1024"> + Maximum number of concurrent input packets for [WebSocketClient]. </member> <member name="network/limits/websocket_client/max_out_buffer_kb" type="int" setter="" getter="" default="64"> + Maximum size (in kiB) for the [WebSocketClient] output buffer. </member> <member name="network/limits/websocket_client/max_out_packets" type="int" setter="" getter="" default="1024"> + Maximum number of concurrent output packets for [WebSocketClient]. </member> <member name="network/limits/websocket_server/max_in_buffer_kb" type="int" setter="" getter="" default="64"> + Maximum size (in kiB) for the [WebSocketServer] input buffer. </member> <member name="network/limits/websocket_server/max_in_packets" type="int" setter="" getter="" default="1024"> + Maximum number of concurrent input packets for [WebSocketServer]. </member> <member name="network/limits/websocket_server/max_out_buffer_kb" type="int" setter="" getter="" default="64"> + Maximum size (in kiB) for the [WebSocketServer] output buffer. </member> <member name="network/limits/websocket_server/max_out_packets" type="int" setter="" getter="" default="1024"> + Maximum number of concurrent output packets for [WebSocketServer]. </member> <member name="network/remote_fs/page_read_ahead" type="int" setter="" getter="" default="4"> Amount of read ahead used by remote filesystem. Higher values decrease the effects of latency at the cost of higher bandwidth usage. @@ -735,6 +867,7 @@ Page size used by remote filesystem (in bytes). </member> <member name="network/ssl/certificates" type="String" setter="" getter="" default=""""> + CA certificates bundle to use for SSL connections. If not defined, Godot's internal CA certificates are used. </member> <member name="node/name_casing" type="int" setter="" getter="" default="0"> When creating node names automatically, set the type of casing in this project. This is mostly an editor setting. @@ -743,10 +876,13 @@ What to use to separate node name from number. This is mostly an editor setting. </member> <member name="physics/2d/bp_hash_table_size" type="int" setter="" getter="" default="4096"> + Size of the hash table used for the broad-phase 2D hash grid algorithm. </member> <member name="physics/2d/cell_size" type="int" setter="" getter="" default="128"> + Cell size used for the broad-phase 2D hash grid algorithm. </member> <member name="physics/2d/default_angular_damp" type="float" setter="" getter="" default="1.0"> + The default angular damp in 2D. </member> <member name="physics/2d/default_gravity" type="int" setter="" getter="" default="98"> The default gravity strength in 2D. @@ -765,23 +901,33 @@ [/codeblock] </member> <member name="physics/2d/default_linear_damp" type="float" setter="" getter="" default="0.1"> + The default linear damp in 2D. </member> <member name="physics/2d/large_object_surface_threshold_in_cells" type="int" setter="" getter="" default="512"> + Threshold defining the surface size that constitutes a large object with regard to cells in the broad-phase 2D hash grid algorithm. </member> <member name="physics/2d/physics_engine" type="String" setter="" getter="" default=""DEFAULT""> + Sets which physics engine to use for 2D physics. + "DEFAULT" and "GodotPhysics" are the same, as there is currently no alternative 2D physics server implemented. </member> <member name="physics/2d/sleep_threshold_angular" type="float" setter="" getter="" default="0.139626"> + Threshold angular velocity under which a 2D physics body will be considered inactive. See [constant Physics2DServer.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]. </member> <member name="physics/2d/sleep_threshold_linear" type="float" setter="" getter="" default="2.0"> + Threshold linear velocity under which a 2D physics body will be considered inactive. See [constant Physics2DServer.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]. </member> <member name="physics/2d/thread_model" type="int" setter="" getter="" default="1"> Sets whether physics is run on the main thread or a separate one. Running the server on a thread increases performance, but restricts API access to only physics process. + [b]Warning:[/b] As of Godot 3.2, there are mixed reports about the use of a Multi-Threaded thread model for physics. Be sure to assess whether it does give you extra performance and no regressions when using it. </member> <member name="physics/2d/time_before_sleep" type="float" setter="" getter="" default="0.5"> + Time (in seconds) of inactivity before which a 2D physics body will put to sleep. See [constant Physics2DServer.SPACE_PARAM_BODY_TIME_TO_SLEEP]. </member> <member name="physics/3d/active_soft_world" type="bool" setter="" getter="" default="true"> + Sets whether the 3D physics world will be created with support for [SoftBody] physics. Only applies to the Bullet physics engine. </member> <member name="physics/3d/default_angular_damp" type="float" setter="" getter="" default="0.1"> + The default angular damp in 3D. </member> <member name="physics/3d/default_gravity" type="float" setter="" getter="" default="9.8"> The default gravity strength in 3D. @@ -800,11 +946,14 @@ [/codeblock] </member> <member name="physics/3d/default_linear_damp" type="float" setter="" getter="" default="0.1"> + The default linear damp in 3D. </member> <member name="physics/3d/physics_engine" type="String" setter="" getter="" default=""DEFAULT""> - Sets which physics engine to use. + Sets which physics engine to use for 3D physics. + "DEFAULT" is currently the [url=https://bulletphysics.org]Bullet[/url] physics engine. The "GodotPhysics" engine is still supported as an alternative. </member> <member name="physics/common/enable_object_picking" type="bool" setter="" getter="" default="true"> + Enables [member Viewport.physics_object_picking] on the root viewport. </member> <member name="physics/common/physics_fps" type="int" setter="" getter="" default="60"> Frames per second used in the physics. Physics always needs a fixed amount of frames per second. @@ -854,6 +1003,7 @@ [b]Note:[/b] Only available on the GLES3 backend. </member> <member name="rendering/quality/depth/hdr.mobile" type="bool" setter="" getter="" default="false"> + Lower-end override for [member rendering/quality/depth/hdr] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/depth_prepass/disable_for_vendors" type="String" setter="" getter="" default=""PowerVR,Mali,Adreno,Apple""> Disables depth pre-pass for some GPU vendors (usually mobile), as their architecture already does this. @@ -865,6 +1015,7 @@ The directional shadow's size in pixels. Higher values will result in sharper shadows, at the cost of performance. The value will be rounded up to the nearest power of 2. </member> <member name="rendering/quality/directional_shadow/size.mobile" type="int" setter="" getter="" default="2048"> + Lower-end override for [member rendering/quality/directional_shadow/size] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/driver/driver_name" type="String" setter="" getter="" default=""GLES3""> The video driver to use ("GLES2" or "GLES3"). @@ -888,7 +1039,7 @@ Strategy used for framebuffer allocation. The simpler it is, the less resources it uses (but the less features it supports). If set to "2D Without Sampling" or "3D Without Effects", sample buffers will not be allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/code] will not be available in shaders and post-processing effects will not be available in the [Environment]. </member> <member name="rendering/quality/intended_usage/framebuffer_allocation.mobile" type="int" setter="" getter="" default="3"> - Same as [member rendering/quality/intended_usage/framebuffer_allocation] but for mobile defaults to "3D Without Effects". If effects are desired, set to "3D". + Lower-end override for [member rendering/quality/intended_usage/framebuffer_allocation] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/reflections/atlas_size" type="int" setter="" getter="" default="2048"> Size of the atlas used by reflection probes. A larger size can result in higher visual quality, while a smaller size will be faster and take up less memory. @@ -900,26 +1051,35 @@ If [code]true[/code], uses a high amount of samples to create blurred variants of reflection probes and panorama backgrounds (sky). Those blurred variants are used by rough materials. </member> <member name="rendering/quality/reflections/high_quality_ggx.mobile" type="bool" setter="" getter="" default="false"> + Lower-end override for [member rendering/quality/reflections/high_quality_ggx] on mobile devices, due to performance concerns or driver support. + </member> + <member name="rendering/quality/reflections/irradiance_max_size" type="int" setter="" getter="" default="128"> + Limits the size of the irradiance map which is normally determined by [member Sky.radiance_size]. A higher size results in a higher quality irradiance map similarly to [member rendering/quality/reflections/high_quality_ggx]. Use a higher value when using high-frequency HDRI maps, otherwise keep this as low as possible. + [b]Note:[/b] Low and mid range hardware do not support complex irradiance maps well and may crash if this is set too high. </member> <member name="rendering/quality/reflections/texture_array_reflections" type="bool" setter="" getter="" default="true"> If [code]true[/code], uses texture arrays instead of mipmaps for reflection probes and panorama backgrounds (sky). This reduces jitter noise on reflections, but costs more performance and memory. </member> <member name="rendering/quality/reflections/texture_array_reflections.mobile" type="bool" setter="" getter="" default="false"> + Lower-end override for [member rendering/quality/reflections/texture_array_reflections] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/shading/force_blinn_over_ggx" type="bool" setter="" getter="" default="false"> If [code]true[/code], uses faster but lower-quality Blinn model to generate blurred reflections instead of the GGX model. </member> <member name="rendering/quality/shading/force_blinn_over_ggx.mobile" type="bool" setter="" getter="" default="true"> + Lower-end override for [member rendering/quality/shading/force_blinn_over_ggx] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/shading/force_lambert_over_burley" type="bool" setter="" getter="" default="false"> If [code]true[/code], uses faster but lower-quality Lambert material lighting model instead of Burley. </member> <member name="rendering/quality/shading/force_lambert_over_burley.mobile" type="bool" setter="" getter="" default="true"> + Lower-end override for [member rendering/quality/shading/force_lambert_over_burley] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/shading/force_vertex_shading" type="bool" setter="" getter="" default="false"> If [code]true[/code], forces vertex shading for all rendering. This can increase performance a lot, but also reduces quality immensely. Can be used to optimize performance on low-end mobile devices. </member> <member name="rendering/quality/shading/force_vertex_shading.mobile" type="bool" setter="" getter="" default="true"> + Lower-end override for [member rendering/quality/shading/force_vertex_shading] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/shadow_atlas/quadrant_0_subdiv" type="int" setter="" getter="" default="1"> Subdivision quadrant size for shadow mapping. See shadow mapping documentation. @@ -937,19 +1097,22 @@ Size for shadow atlas (used for OmniLights and SpotLights). See documentation. </member> <member name="rendering/quality/shadow_atlas/size.mobile" type="int" setter="" getter="" default="2048"> + Lower-end override for [member rendering/quality/shadow_atlas/size] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/shadows/filter_mode" type="int" setter="" getter="" default="1"> Shadow filter mode. Higher-quality settings result in smoother shadows that flicker less when moving. "Disabled" is the fastest option, but also has the lowest quality. "PCF5" is smoother but is also slower. "PCF13" is the smoothest option, but is also the slowest. </member> <member name="rendering/quality/shadows/filter_mode.mobile" type="int" setter="" getter="" default="0"> + Lower-end override for [member rendering/quality/shadows/filter_mode] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/subsurface_scattering/follow_surface" type="bool" setter="" getter="" default="false"> Improves quality of subsurface scattering, but cost significantly increases. </member> <member name="rendering/quality/subsurface_scattering/quality" type="int" setter="" getter="" default="1"> - Quality setting for subsurface scaterring (samples taken). + Quality setting for subsurface scattering (samples taken). </member> <member name="rendering/quality/subsurface_scattering/scale" type="int" setter="" getter="" default="1.0"> + Max radius used for subsurface scattering samples. </member> <member name="rendering/quality/subsurface_scattering/weight_samples" type="bool" setter="" getter="" default="true"> Weight subsurface scattering samples. Helps to avoid reading samples from unrelated parts of the screen. diff --git a/doc/classes/Quat.xml b/doc/classes/Quat.xml index eeb633f480..53ea03cd57 100644 --- a/doc/classes/Quat.xml +++ b/doc/classes/Quat.xml @@ -195,6 +195,7 @@ </members> <constants> <constant name="IDENTITY" value="Quat( 0, 0, 0, 1 )"> + The identity rotation. Equivalent to an identity matrix. If a vector is transformed by an identity quaternion, it will not change. </constant> </constants> </class> diff --git a/doc/classes/Spatial.xml b/doc/classes/Spatial.xml index 0309e73eec..53c44caed1 100644 --- a/doc/classes/Spatial.xml +++ b/doc/classes/Spatial.xml @@ -277,7 +277,7 @@ <argument index="0" name="offset" type="Vector3"> </argument> <description> - Changes the node's position by given offset [Vector3]. + Changes the node's position by the given offset [Vector3]. Note that the translation [code]offset[/code] is affected by the node's scale, so if scaled by e.g. [code](10, 1, 1)[/code], a translation by an offset of [code](2, 0, 0)[/code] would actually add 20 ([code]2 * 10[/code]) to the X coordinate. </description> </method> @@ -287,6 +287,7 @@ <argument index="0" name="offset" type="Vector3"> </argument> <description> + Changes the node's position by the given offset [Vector3] in local space. </description> </method> <method name="update_gizmo"> diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml index 0c9ac9fbff..c9613f25af 100644 --- a/doc/classes/SurfaceTool.xml +++ b/doc/classes/SurfaceTool.xml @@ -174,6 +174,7 @@ <return type="Array"> </return> <description> + Commits the data to the same format used by [method ArrayMesh.add_surface_from_arrays]. This way you can further process the mesh data using the [ArrayMesh] API. </description> </method> <method name="create_from"> @@ -197,6 +198,7 @@ <argument index="2" name="blend_shape" type="String"> </argument> <description> + Creates a vertex array from the specified blend shape of an existing [Mesh]. This can be used to extract a specific pose from a blend shape. </description> </method> <method name="deindex"> diff --git a/doc/classes/Texture.xml b/doc/classes/Texture.xml index 238d6929ba..05ceb1cd29 100644 --- a/doc/classes/Texture.xml +++ b/doc/classes/Texture.xml @@ -6,6 +6,7 @@ <description> A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D [Sprite] or GUI [Control]. Textures are often created by loading them from a file. See [method @GDScript.load]. + [Texture] is a base for other resources. It cannot be used directly. </description> <tutorials> </tutorials> @@ -24,6 +25,7 @@ <argument index="4" name="normal_map" type="Texture" default="null"> </argument> <description> + Draws the texture using a [CanvasItem] with the [VisualServer] API at the specified [code]position[/code]. Equivalent to [method VisualServer.canvas_item_add_texture_rect] with a rect at [code]position[/code] and the size of this [Texture]. </description> </method> <method name="draw_rect" qualifiers="const"> @@ -42,6 +44,7 @@ <argument index="5" name="normal_map" type="Texture" default="null"> </argument> <description> + Draws the texture using a [CanvasItem] with the [VisualServer] API. Equivalent to [method VisualServer.canvas_item_add_texture_rect]. </description> </method> <method name="draw_rect_region" qualifiers="const"> @@ -62,12 +65,14 @@ <argument index="6" name="clip_uv" type="bool" default="true"> </argument> <description> + Draws a part of the texture using a [CanvasItem] with the [VisualServer] API. Equivalent to [method VisualServer.canvas_item_add_texture_rect_region]. </description> </method> <method name="get_data" qualifiers="const"> <return type="Image"> </return> <description> + Returns an [Image] with the data from this [Texture]. [Image]s can be accessed and manipulated directly. </description> </method> <method name="get_height" qualifiers="const"> @@ -95,12 +100,13 @@ <return type="bool"> </return> <description> + Returns [code]true[/code] if this [Texture] has an alpha channel. </description> </method> </methods> <members> <member name="flags" type="int" setter="set_flags" getter="get_flags" default="4"> - The texture's flags. + The texture's [enum Flags]. [enum Flags] are used to set various properties of the [Texture]. </member> </members> <constants> diff --git a/doc/classes/TextureArray.xml b/doc/classes/TextureArray.xml index 0a9ac1fb2e..6214229f23 100644 --- a/doc/classes/TextureArray.xml +++ b/doc/classes/TextureArray.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="TextureArray" inherits="TextureLayered" category="Core" version="3.2"> <brief_description> + Array of textures stored in a single primitive. </brief_description> <description> + [TextureArray]s store an array of images in a single [Texture] primitive. Each layer of the texture array has its own mipmap chain. This makes it is a good alternative to texture atlases. </description> <tutorials> </tutorials> diff --git a/doc/classes/TextureLayered.xml b/doc/classes/TextureLayered.xml index 232df8f59b..746f86dd34 100644 --- a/doc/classes/TextureLayered.xml +++ b/doc/classes/TextureLayered.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="TextureLayered" inherits="Resource" category="Core" version="3.2"> <brief_description> + Base class for 3D texture types. </brief_description> <description> + Base class for [Texture3D] and [TextureArray]. Cannot be used directly. </description> <tutorials> </tutorials> diff --git a/doc/classes/VideoPlayer.xml b/doc/classes/VideoPlayer.xml index 3ed53aa447..3bc3898b9f 100644 --- a/doc/classes/VideoPlayer.xml +++ b/doc/classes/VideoPlayer.xml @@ -4,7 +4,8 @@ Control for playing video streams. </brief_description> <description> - Control node for playing video streams. Supported formats are [url=https://www.webmproject.org/]WebM[/url] and [url=https://www.theora.org/]Ogg Theora[/url]. + Control node for playing video streams using [VideoStream] resources. + Supported video formats are [url=https://www.webmproject.org/]WebM[/url] ([VideoStreamWebm]), [url=https://www.theora.org/]Ogg Theora[/url] ([VideoStreamTheora]), and any format exposed via a GDNative plugin using [VideoStreamGDNative]. </description> <tutorials> </tutorials> @@ -61,7 +62,7 @@ Audio bus to use for sound playback. </member> <member name="expand" type="bool" setter="set_expand" getter="has_expand" default="true"> - If [code]true[/code], the video scales to the control size. + If [code]true[/code], the video scales to the control size. Otherwise, the control minimum size will be automatically adjusted to match the video stream's dimensions. </member> <member name="paused" type="bool" setter="set_paused" getter="is_paused" default="false"> If [code]true[/code], the video is paused. diff --git a/doc/classes/VideoStream.xml b/doc/classes/VideoStream.xml index 7772c61e85..635baf85a2 100644 --- a/doc/classes/VideoStream.xml +++ b/doc/classes/VideoStream.xml @@ -4,6 +4,7 @@ Base resource for video streams. </brief_description> <description> + Base resource type for all video streams. Classes that derive from [VideoStream] can all be used as resource types to play back videos in [VideoPlayer]. </description> <tutorials> </tutorials> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 58dd36daa5..6519167857 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -73,6 +73,7 @@ <argument index="0" name="quadrant" type="int"> </argument> <description> + Returns the [enum ShadowAtlasQuadrantSubdiv] of the specified quadrant. </description> </method> <method name="get_size_override" qualifiers="const"> @@ -156,12 +157,14 @@ <argument index="0" name="rect" type="Rect2"> </argument> <description> + Attaches this [Viewport] to the root [Viewport] with the specified rectangle. This bypasses the need for another node to display this [Viewport] but makes you responsible for updating the position of this [Viewport] manually. </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"> @@ -172,6 +175,7 @@ <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="set_size_override"> @@ -243,13 +247,13 @@ <member name="handle_input_locally" type="bool" setter="set_handle_input_locally" getter="is_handling_input_locally" default="true"> </member> <member name="hdr" type="bool" setter="set_hdr" getter="get_hdr" default="true"> - If [code]true[/code], the viewport rendering will receive benefits from High Dynamic Range algorithm. + If [code]true[/code], the viewport rendering will receive benefits from High Dynamic Range algorithm. High Dynamic Range allows the viewport to receive values that are outside the 0-1 range. In Godot HDR uses 16 bits, meaning it does not store the full range of a floating point number. </member> <member name="keep_3d_linear" type="bool" setter="set_keep_3d_linear" getter="get_keep_3d_linear" default="false"> If [code]true[/code], the result after 3D rendering will not have a linear to sRGB color conversion applied. This is important when the viewport is used as a render target where the result is used as a texture on a 3D object rendered in another viewport. It is also important if the viewport is used to create data that is not color based (noise, heightmaps, pickmaps, etc.). Do not enable this when the viewport is used as a texture on a 2D object or if the viewport is your final output. </member> <member name="msaa" type="int" setter="set_msaa" getter="get_msaa" enum="Viewport.MSAA" default="0"> - The multisample anti-aliasing mode. + 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 targetting 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 [World] defined in [code]world[/code] property. @@ -270,16 +274,16 @@ If [code]true[/code], the result of rendering will be flipped vertically. </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 first quadrant on shadow atlas. + 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 second quadrant on shadow atlas. + 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 third quadrant on shadow atlas. + 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 fourth quadrant on shadow atlas. + 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. @@ -332,18 +336,25 @@ Always update the render target. </constant> <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. @@ -385,20 +396,28 @@ 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="USAGE_2D" value="0" enum="Usage"> + Allocates all buffers needed for drawing 2D scenes. This takes less VRAM than the 3D usage modes. </constant> <constant name="USAGE_2D_NO_SAMPLING" value="1" enum="Usage"> + Allocates buffers needed for 2D scenes without allocating a buffer for screen copy. Accordingly, you cannot read from the screen. Of the [enum Usage] types, this requires the least VRAM. </constant> <constant name="USAGE_3D" value="2" enum="Usage"> + Allocates full buffers for drawing 3D scenes and all 3D effects including buffers needed for 2D scenes and effects. </constant> <constant name="USAGE_3D_NO_EFFECTS" value="3" enum="Usage"> + Allocates buffers needed for drawing 3D scenes. But does not allocate buffers needed for reading from the screen and post-processing effects. Saves some VRAM. </constant> <constant name="CLEAR_MODE_ALWAYS" value="0" enum="ClearMode"> Always clear the render target before drawing. diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml index dd87c53c3c..db0eb79813 100644 --- a/doc/classes/VisualServer.xml +++ b/doc/classes/VisualServer.xml @@ -3897,7 +3897,7 @@ <argument index="2" name="screen" type="int" default="0"> </argument> <description> - Copies viewport to a region of the screen specified by [code]rect[/code]. If Viewport.[member Viewport.render_direct_to_screen] is [code]true[/code], then viewport does not use a framebuffer and the contents of the viewport are rendered directly to screen. However, note that the root viewport is drawn last, therefore it will draw over the screen. Accordingly, you must set the root viewport to an area that does not cover the area that you have attached this viewport to. + Copies viewport to a region of the screen specified by [code]rect[/code]. If [member Viewport.render_direct_to_screen] is [code]true[/code], then viewport does not use a framebuffer and the contents of the viewport are rendered directly to screen. However, note that the root viewport is drawn last, therefore it will draw over the screen. Accordingly, you must set the root viewport to an area that does not cover the area that you have attached this viewport to. For example, you can set the root viewport to not render at all with the following code: [codeblock] func _ready(): diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index 712120c7f4..6baf69dc7b 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -1854,6 +1854,9 @@ void RasterizerStorageGLES3::sky_set_texture(RID p_sky, RID p_panorama, int p_ra glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, sky->irradiance, 0); + int irradiance_size = GLOBAL_GET("rendering/quality/reflections/irradiance_max_size"); + int upscale_size = MIN(int(previous_power_of_2(irradiance_size)), p_radiance_size); + GLuint tmp_fb2; GLuint tmp_tex; { @@ -1862,7 +1865,7 @@ void RasterizerStorageGLES3::sky_set_texture(RID p_sky, RID p_panorama, int p_ra glBindFramebuffer(GL_FRAMEBUFFER, tmp_fb2); glGenTextures(1, &tmp_tex); glBindTexture(GL_TEXTURE_2D, tmp_tex); - glTexImage2D(GL_TEXTURE_2D, 0, internal_format, p_radiance_size, 2.0 * p_radiance_size, 0, format, type, NULL); + glTexImage2D(GL_TEXTURE_2D, 0, internal_format, upscale_size, 2.0 * upscale_size, 0, format, type, NULL); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tmp_tex, 0); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); @@ -1882,9 +1885,8 @@ void RasterizerStorageGLES3::sky_set_texture(RID p_sky, RID p_panorama, int p_ra shaders.cubemap_filter.set_uniform(CubemapFilterShaderGLES3::SOURCE_MIP_LEVEL, MAX(Math::floor(Math::log(float(texture->width)) / Math::log(2.0f)) - 10.0f, 0.0f)); // Compute Irradiance for a large texture, specified by radiance size and then pull out a low mipmap corresponding to 32x32 - int vp_size = p_radiance_size; for (int i = 0; i < 2; i++) { - glViewport(0, i * vp_size, vp_size, vp_size); + glViewport(0, i * upscale_size, upscale_size, upscale_size); glBindVertexArray(resources.quadie_array); shaders.cubemap_filter.set_uniform(CubemapFilterShaderGLES3::Z_FLIP, i > 0); @@ -1903,7 +1905,7 @@ void RasterizerStorageGLES3::sky_set_texture(RID p_sky, RID p_panorama, int p_ra shaders.copy.set_conditional(CopyShaderGLES3::USE_LOD, true); shaders.copy.bind(); - shaders.copy.set_uniform(CopyShaderGLES3::MIP_LEVEL, MAX(Math::floor(Math::log(float(p_radiance_size)) / Math::log(2.0f)) - 5.0f, 0.0f)); // Mip level that corresponds to a 32x32 texture + shaders.copy.set_uniform(CopyShaderGLES3::MIP_LEVEL, MAX(Math::floor(Math::log(float(upscale_size)) / Math::log(2.0f)) - 5.0f, 0.0f)); // Mip level that corresponds to a 32x32 texture glViewport(0, 0, size, size * 2.0); glBindVertexArray(resources.quadie_array); diff --git a/modules/gdnative/doc_classes/VideoStreamGDNative.xml b/modules/gdnative/doc_classes/VideoStreamGDNative.xml index ed7678b7be..c4d9a58fbb 100644 --- a/modules/gdnative/doc_classes/VideoStreamGDNative.xml +++ b/modules/gdnative/doc_classes/VideoStreamGDNative.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VideoStreamGDNative" inherits="VideoStream" category="Core" version="3.2"> <brief_description> + [VideoStream] resource for for video formats implemented via GDNative. </brief_description> <description> + [VideoStream] resource for for video formats implemented via GDNative. + It can be used via [url=https://github.com/KidRigger/godot-videodecoder]godot-videodecoder[/url] which uses the [url=https://ffmpeg.org]FFmpeg[/url] library. </description> <tutorials> </tutorials> @@ -11,6 +14,7 @@ <return type="String"> </return> <description> + Returns the video file handled by this [VideoStreamGDNative]. </description> </method> <method name="set_file"> @@ -19,6 +23,7 @@ <argument index="0" name="file" type="String"> </argument> <description> + Sets the video file that this [VideoStreamGDNative] resource handles. The supported extensions depend on the GDNative plugins used to expose video formats. </description> </method> </methods> diff --git a/modules/gdscript/doc_classes/@GDScript.xml b/modules/gdscript/doc_classes/@GDScript.xml index c4b7e4887e..e4f86d233d 100644 --- a/modules/gdscript/doc_classes/@GDScript.xml +++ b/modules/gdscript/doc_classes/@GDScript.xml @@ -39,12 +39,11 @@ <argument index="1" name="alpha" type="float" default="1.0"> </argument> <description> - Returns a color according to the standardised [code]name[/code] with [code]alpha[/code] ranging from 0 to 1. + Returns a color according to the standardized [code]name[/code] with [code]alpha[/code] ranging from 0 to 1. [codeblock] red = ColorN("red", 1) [/codeblock] - Supported color names: - "aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflower", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "webgray", "green", "webgreen", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrod", "lightgray", "lightgreen", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "webmaroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navyblue", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "webpurple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen". + Supported color names are the same as the constants defined in [Color]. </description> </method> <method name="abs"> diff --git a/modules/opensimplex/doc_classes/NoiseTexture.xml b/modules/opensimplex/doc_classes/NoiseTexture.xml index 07d5eb27d6..280d67cd1b 100644 --- a/modules/opensimplex/doc_classes/NoiseTexture.xml +++ b/modules/opensimplex/doc_classes/NoiseTexture.xml @@ -6,6 +6,12 @@ <description> Uses an [OpenSimplexNoise] to fill the texture data. You can specify the texture size but keep in mind that larger textures will take longer to generate and seamless noise only works with square sized textures. NoiseTexture can also generate normalmap textures. + The class uses [Thread]s to generate the texture data internally, so [method Texture.get_data] may return [code]null[/code] if the generation process has not completed yet. In that case, you need to wait for the texture to be generated before accessing the data: + [codeblock] + var texture = preload("res://noise.tres") + yield(texture, "changed") + var image = texture.get_data() + [/codeblock] </description> <tutorials> </tutorials> @@ -16,6 +22,7 @@ If [code]true[/code], the resulting texture contains a normal map created from the original noise interpreted as a bump map. </member> <member name="bump_strength" type="float" setter="set_bump_strength" getter="get_bump_strength" default="8.0"> + Strength of the bump maps used in this texture. A higher value will make the bump maps appear larger while a lower value will make them appear softer. </member> <member name="flags" type="int" setter="set_flags" getter="get_flags" override="true" default="7" /> <member name="height" type="int" setter="set_height" getter="get_height" default="512"> diff --git a/modules/stb_vorbis/audio_stream_ogg_vorbis.h b/modules/stb_vorbis/audio_stream_ogg_vorbis.h index cfa5e97faa..e909759acb 100644 --- a/modules/stb_vorbis/audio_stream_ogg_vorbis.h +++ b/modules/stb_vorbis/audio_stream_ogg_vorbis.h @@ -73,7 +73,7 @@ public: class AudioStreamOGGVorbis : public AudioStream { GDCLASS(AudioStreamOGGVorbis, AudioStream); - OBJ_SAVE_TYPE(AudioStream) //children are all saved as AudioStream, so they can be exchanged + OBJ_SAVE_TYPE(AudioStream); // Saves derived classes with common type so they can be interchanged. RES_BASE_EXTENSION("oggstr"); friend class AudioStreamPlaybackOGGVorbis; diff --git a/modules/theora/doc_classes/VideoStreamTheora.xml b/modules/theora/doc_classes/VideoStreamTheora.xml index 696101e252..ab1fcdcfb4 100644 --- a/modules/theora/doc_classes/VideoStreamTheora.xml +++ b/modules/theora/doc_classes/VideoStreamTheora.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VideoStreamTheora" inherits="VideoStream" category="Core" version="3.2"> <brief_description> + [VideoStream] resource for Ogg Theora videos. </brief_description> <description> + [VideoStream] resource handling the [url=https://www.theora.org/]Ogg Theora[/url] video format with [code].ogv[/code] extension. </description> <tutorials> </tutorials> @@ -11,6 +13,7 @@ <return type="String"> </return> <description> + Returns the Ogg Theora video file handled by this [VideoStreamTheora]. </description> </method> <method name="set_file"> @@ -19,6 +22,7 @@ <argument index="0" name="file" type="String"> </argument> <description> + Sets the Ogg Theora video file that this [VideoStreamTheora] resource handles. The [code]file[/code] name should have the [code].o[/code] extension. </description> </method> </methods> diff --git a/modules/theora/video_stream_theora.cpp b/modules/theora/video_stream_theora.cpp index 9ba77d3c77..cf1fc3f175 100644 --- a/modules/theora/video_stream_theora.cpp +++ b/modules/theora/video_stream_theora.cpp @@ -147,7 +147,6 @@ void VideoStreamPlaybackTheora::clear() { thread = NULL; ring_buffer.clear(); #endif - //file_name = ""; theora_p = 0; vorbis_p = 0; diff --git a/modules/webm/doc_classes/VideoStreamWebm.xml b/modules/webm/doc_classes/VideoStreamWebm.xml index ff11bbb37d..4807672338 100644 --- a/modules/webm/doc_classes/VideoStreamWebm.xml +++ b/modules/webm/doc_classes/VideoStreamWebm.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VideoStreamWebm" inherits="VideoStream" category="Core" version="3.2"> <brief_description> + [VideoStream] resource for WebM videos. </brief_description> <description> + [VideoStream] resource handling the [url=https://www.webmproject.org/]WebM[/url] video format with [code].webm[/code] extension. </description> <tutorials> </tutorials> @@ -11,6 +13,7 @@ <return type="String"> </return> <description> + Returns the WebM video file handled by this [VideoStreamWebm]. </description> </method> <method name="set_file"> @@ -19,6 +22,7 @@ <argument index="0" name="file" type="String"> </argument> <description> + Sets the WebM video file that this [VideoStreamWebm] resource handles. The [code]file[/code] name should have the [code].webm[/code] extension. </description> </method> </methods> diff --git a/modules/webm/video_stream_webm.cpp b/modules/webm/video_stream_webm.cpp index 6e2527595b..41f9e67672 100644 --- a/modules/webm/video_stream_webm.cpp +++ b/modules/webm/video_stream_webm.cpp @@ -30,21 +30,22 @@ #include "video_stream_webm.h" -#include "OpusVorbisDecoder.hpp" -#include "VPXDecoder.hpp" -#include <vpx/vpx_image.h> - -#include "mkvparser/mkvparser.h" - #include "core/os/file_access.h" #include "core/os/os.h" #include "core/project_settings.h" +#include "servers/audio_server.h" #include "thirdparty/misc/yuv2rgb.h" -#include "servers/audio_server.h" +// libsimplewebm +#include <OpusVorbisDecoder.hpp> +#include <VPXDecoder.hpp> + +// libvpx +#include <vpx/vpx_image.h> -#include <string.h> +// libwebm +#include <mkvparser/mkvparser.h> class MkvReader : public mkvparser::IMkvReader { @@ -335,22 +336,22 @@ void VideoStreamPlaybackWebm::update(float p_delta) { } else if (image.chromaShiftW == 1 && image.chromaShiftH == 1) { yuv420_2_rgb8888(w.ptr(), image.planes[0], image.planes[1], image.planes[2], image.w, image.h, image.linesize[0], image.linesize[1], image.w << 2); - // libyuv::I420ToARGB(image.planes[0], image.linesize[0], image.planes[2], image.linesize[2], image.planes[1], image.linesize[1], w.ptr(), image.w << 2, image.w, image.h); + //libyuv::I420ToARGB(image.planes[0], image.linesize[0], image.planes[2], image.linesize[2], image.planes[1], image.linesize[1], w.ptr(), image.w << 2, image.w, image.h); converted = true; } else if (image.chromaShiftW == 1 && image.chromaShiftH == 0) { yuv422_2_rgb8888(w.ptr(), image.planes[0], image.planes[1], image.planes[2], image.w, image.h, image.linesize[0], image.linesize[1], image.w << 2); - // libyuv::I422ToARGB(image.planes[0], image.linesize[0], image.planes[2], image.linesize[2], image.planes[1], image.linesize[1], w.ptr(), image.w << 2, image.w, image.h); + //libyuv::I422ToARGB(image.planes[0], image.linesize[0], image.planes[2], image.linesize[2], image.planes[1], image.linesize[1], w.ptr(), image.w << 2, image.w, image.h); converted = true; } else if (image.chromaShiftW == 0 && image.chromaShiftH == 0) { yuv444_2_rgb8888(w.ptr(), image.planes[0], image.planes[1], image.planes[2], image.w, image.h, image.linesize[0], image.linesize[1], image.w << 2); - // libyuv::I444ToARGB(image.planes[0], image.linesize[0], image.planes[2], image.linesize[2], image.planes[1], image.linesize[1], w.ptr(), image.w << 2, image.w, image.h); + //libyuv::I444ToARGB(image.planes[0], image.linesize[0], image.planes[2], image.linesize[2], image.planes[1], image.linesize[1], w.ptr(), image.w << 2, image.w, image.h); converted = true; } else if (image.chromaShiftW == 2 && image.chromaShiftH == 0) { - // libyuv::I411ToARGB(image.planes[0], image.linesize[0], image.planes[2], image.linesize[2], image.planes[1], image.linesize[1], w.ptr(), image.w << 2, image.w, image.h); - // converted = true; + //libyuv::I411ToARGB(image.planes[0], image.linesize[0], image.planes[2], image.linesize[2] image.planes[1], image.linesize[1], w.ptr(), image.w << 2, image.w, image.h); + //converted = true; } if (converted) { diff --git a/scene/gui/video_player.cpp b/scene/gui/video_player.cpp index 071e8a8ac6..0a693d4023 100644 --- a/scene/gui/video_player.cpp +++ b/scene/gui/video_player.cpp @@ -249,6 +249,10 @@ void VideoPlayer::set_stream(const Ref<VideoStream> &p_stream) { } update(); + + if (!expand) { + minimum_size_changed(); + } }; Ref<VideoStream> VideoPlayer::get_stream() const { diff --git a/scene/resources/audio_stream_sample.cpp b/scene/resources/audio_stream_sample.cpp index bfc7f407eb..e8cb40154e 100644 --- a/scene/resources/audio_stream_sample.cpp +++ b/scene/resources/audio_stream_sample.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "audio_stream_sample.h" + #include "core/io/marshalls.h" #include "core/os/file_access.h" @@ -656,8 +657,8 @@ AudioStreamSample::AudioStreamSample() { data = NULL; data_bytes = 0; } -AudioStreamSample::~AudioStreamSample() { +AudioStreamSample::~AudioStreamSample() { if (data) { AudioServer::get_singleton()->audio_data_free(data); data = NULL; diff --git a/scene/resources/audio_stream_sample.h b/scene/resources/audio_stream_sample.h index d5d8f073fb..adcac14ea8 100644 --- a/scene/resources/audio_stream_sample.h +++ b/scene/resources/audio_stream_sample.h @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef AUDIOSTREAMSAMPLE_H -#define AUDIOSTREAMSAMPLE_H +#ifndef AUDIO_STREAM_SAMPLE_H +#define AUDIO_STREAM_SAMPLE_H #include "servers/audio/audio_stream.h" @@ -153,4 +153,4 @@ public: VARIANT_ENUM_CAST(AudioStreamSample::Format) VARIANT_ENUM_CAST(AudioStreamSample::LoopMode) -#endif // AUDIOSTREAMSample_H +#endif // AUDIO_STREAM_SAMPLE_H diff --git a/scene/resources/material.h b/scene/resources/material.h index 3c2a7c928a..c2501a258f 100644 --- a/scene/resources/material.h +++ b/scene/resources/material.h @@ -42,7 +42,7 @@ class Material : public Resource { GDCLASS(Material, Resource); RES_BASE_EXTENSION("material") - OBJ_SAVE_TYPE(Material) + OBJ_SAVE_TYPE(Material); RID material; Ref<Material> next_pass; diff --git a/scene/resources/texture.h b/scene/resources/texture.h index fcd8547d07..fa698d387b 100644 --- a/scene/resources/texture.h +++ b/scene/resources/texture.h @@ -45,7 +45,8 @@ class Texture : public Resource { GDCLASS(Texture, Resource); - OBJ_SAVE_TYPE(Texture); //children are all saved as Texture, so they can be exchanged + OBJ_SAVE_TYPE(Texture); // Saves derived classes with common type so they can be interchanged. + protected: static void _bind_methods(); diff --git a/scene/resources/video_stream.cpp b/scene/resources/video_stream.cpp deleted file mode 100644 index 81b4477c9a..0000000000 --- a/scene/resources/video_stream.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/*************************************************************************/ -/* video_stream.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#include "video_stream.h" - -void VideoStreamPlayback::_bind_methods(){ - -}; - -VideoStreamPlayback::VideoStreamPlayback(){ - -}; diff --git a/scene/resources/video_stream.h b/scene/resources/video_stream.h index d8aee2eac3..444bb698ae 100644 --- a/scene/resources/video_stream.h +++ b/scene/resources/video_stream.h @@ -37,9 +37,6 @@ class VideoStreamPlayback : public Resource { GDCLASS(VideoStreamPlayback, Resource); -protected: - static void _bind_methods(); - public: typedef int (*AudioMixCallback)(void *p_udata, const float *p_data, int p_frames); @@ -61,28 +58,22 @@ public: virtual void set_audio_track(int p_idx) = 0; - //virtual int mix(int16_t* p_buffer,int p_frames)=0; - virtual Ref<Texture> get_texture() const = 0; virtual void update(float p_delta) = 0; virtual void set_mix_callback(AudioMixCallback p_callback, void *p_userdata) = 0; virtual int get_channels() const = 0; virtual int get_mix_rate() const = 0; - - VideoStreamPlayback(); }; class VideoStream : public Resource { GDCLASS(VideoStream, Resource); - OBJ_SAVE_TYPE(VideoStream); //children are all saved as AudioStream, so they can be exchanged + OBJ_SAVE_TYPE(VideoStream); // Saves derived classes with common type so they can be interchanged. public: virtual void set_audio_track(int p_track) = 0; virtual Ref<VideoStreamPlayback> instance_playback() = 0; - - VideoStream() {} }; #endif diff --git a/servers/audio/audio_stream.cpp b/servers/audio/audio_stream.cpp index 58742c82d4..a58e4eb966 100644 --- a/servers/audio/audio_stream.cpp +++ b/servers/audio/audio_stream.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "audio_stream.h" + #include "core/os/os.h" #include "core/project_settings.h" diff --git a/servers/audio/audio_stream.h b/servers/audio/audio_stream.h index 6d62eabec1..155b683d7d 100644 --- a/servers/audio/audio_stream.h +++ b/servers/audio/audio_stream.h @@ -82,7 +82,7 @@ public: class AudioStream : public Resource { GDCLASS(AudioStream, Resource); - OBJ_SAVE_TYPE(AudioStream) //children are all saved as AudioStream, so they can be exchanged + OBJ_SAVE_TYPE(AudioStream); // Saves derived classes with common type so they can be interchanged. protected: static void _bind_methods(); diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp index b9b492e758..19b9e2c783 100644 --- a/servers/visual_server.cpp +++ b/servers/visual_server.cpp @@ -2397,6 +2397,8 @@ VisualServer::VisualServer() { GLOBAL_DEF("rendering/quality/reflections/texture_array_reflections.mobile", false); GLOBAL_DEF("rendering/quality/reflections/high_quality_ggx", true); GLOBAL_DEF("rendering/quality/reflections/high_quality_ggx.mobile", false); + GLOBAL_DEF("rendering/quality/reflections/irradiance_max_size", 128); + ProjectSettings::get_singleton()->set_custom_property_info("rendering/quality/reflections/irradiance_max_size", PropertyInfo(Variant::INT, "rendering/quality/reflections/irradiance_max_size", PROPERTY_HINT_RANGE, "32,2048")); GLOBAL_DEF("rendering/quality/shading/force_vertex_shading", false); GLOBAL_DEF("rendering/quality/shading/force_vertex_shading.mobile", true); |