diff options
-rw-r--r-- | doc/classes/ParallaxBackground.xml | 8 | ||||
-rw-r--r-- | doc/classes/ParallaxLayer.xml | 6 | ||||
-rw-r--r-- | drivers/gles3/shaders/scene.glsl | 4 |
3 files changed, 14 insertions, 4 deletions
diff --git a/doc/classes/ParallaxBackground.xml b/doc/classes/ParallaxBackground.xml index a7d616129a..21b6150900 100644 --- a/doc/classes/ParallaxBackground.xml +++ b/doc/classes/ParallaxBackground.xml @@ -4,7 +4,7 @@ A node used to create a parallax scrolling background. </brief_description> <description> - A ParallaxBackground will use one or more [ParallaxLayer] nodes to create a parallax scrolling background. Each [ParallaxLayer] can be set to move at different speeds relative to the camera movement, this can be used to create an illusion of depth in a 2D game. + A ParallaxBackground uses one or more [ParallaxLayer] child nodes to create a parallax effect. Each [ParallaxLayer] can move at a different speed using [member ParallaxLayer.motion_offset]. This creates an illusion of depth in a 2D game. If not used with a [Camera2D], you must manually calculate the [member scroll_offset]. </description> <tutorials> </tutorials> @@ -108,16 +108,22 @@ </methods> <members> <member name="scroll_base_offset" type="Vector2" setter="set_scroll_base_offset" getter="get_scroll_base_offset"> + Base position offset of all [ParallaxLayer] children. </member> <member name="scroll_base_scale" type="Vector2" setter="set_scroll_base_scale" getter="get_scroll_base_scale"> + Base motion scale of all [ParallaxLayer] children. </member> <member name="scroll_ignore_camera_zoom" type="bool" setter="set_ignore_camera_zoom" getter="is_ignore_camera_zoom"> + If [code]true[/code] elements in [ParallaxLayer] child aren't affected by the zoom level of the camera. </member> <member name="scroll_limit_begin" type="Vector2" setter="set_limit_begin" getter="get_limit_begin"> + Top left limits for scrolling to begin. If the camera is outside of this limit the background will stop scrolling. Must be lower than [member scroll_limit_end] to work. </member> <member name="scroll_limit_end" type="Vector2" setter="set_limit_end" getter="get_limit_end"> + Right bottom limits for scrolling to end. If the camera is outside of this limit the background will stop scrolling. Must be higher than [member scroll_limit_begin] to work. </member> <member name="scroll_offset" type="Vector2" setter="set_scroll_offset" getter="get_scroll_offset"> + The ParallaxBackground's scroll value. Calculated automatically when using a [Camera2D], but can be used to manually manage scrolling when no camera is present. </member> </members> <constants> diff --git a/doc/classes/ParallaxLayer.xml b/doc/classes/ParallaxLayer.xml index 6cf5549c8f..8de7e05578 100644 --- a/doc/classes/ParallaxLayer.xml +++ b/doc/classes/ParallaxLayer.xml @@ -4,7 +4,8 @@ A parallax scrolling layer to be used with [ParallaxBackground]. </brief_description> <description> - A ParallaxLayer must be the child of a [ParallaxBackground] node. All child nodes will be affected by the parallax scrolling of this layer. + A ParallaxLayer must be the child of a [ParallaxBackground] node. Each ParallaxLayer can be set to move at different speeds relative to the camera movement or the [member ParallaxBackground.scroll_offset] value. + This node's children will be affected by its scroll offset. </description> <tutorials> </tutorials> @@ -60,10 +61,13 @@ </methods> <members> <member name="motion_mirroring" type="Vector2" setter="set_mirroring" getter="get_mirroring"> + The ParallaxLayer's [Texture] mirroring. Useful for creating an infinite scrolling background. If an axis is set to [code]0[/code] the [Texture] will not be mirrored. Default value: [code](0, 0)[/code]. </member> <member name="motion_offset" type="Vector2" setter="set_motion_offset" getter="get_motion_offset"> + The ParallaxLayer's offset relative to the parent ParallaxBackground's [member ParallaxBackground.scroll_offset]. </member> <member name="motion_scale" type="Vector2" setter="set_motion_scale" getter="get_motion_scale"> + Multiplies the ParallaxLayer's motion. If an axis is set to [code]0[/code] it will not scroll. </member> </members> <constants> diff --git a/drivers/gles3/shaders/scene.glsl b/drivers/gles3/shaders/scene.glsl index 317ca91d98..bf0ebae3e3 100644 --- a/drivers/gles3/shaders/scene.glsl +++ b/drivers/gles3/shaders/scene.glsl @@ -169,7 +169,7 @@ void light_compute(vec3 N, vec3 L,vec3 V, vec3 light_color, float roughness, ino float dotNL = max(dot(N,L), 0.0 ); diffuse += dotNL * light_color / M_PI; - if (roughness < 1.0) { + if (roughness > 0.0) { vec3 H = normalize(V + L); float dotNH = max(dot(N,H), 0.0 ); @@ -1034,7 +1034,7 @@ LIGHT_SHADER_CODE } - if (roughness < 1.0) { + if (roughness > 0.0) { // FIXME: roughness == 0 should not disable specular light entirely // D |