[gd_scene load_steps=16 format=2] [ext_resource path="res://Shared/theme/gdquest.theme" type="Theme" id=1] [ext_resource path="res://Demos/Glow2D/BlurGlow/Scene.tscn" type="PackedScene" id=2] [ext_resource path="res://Shaders/gaussian_blur.shader" type="Shader" id=3] [ext_resource path="res://Shaders/compose.shader" type="Shader" id=4] [ext_resource path="res://Shaders/glow_prepass.shader" type="Shader" id=5] [ext_resource path="res://Shared/sprites/robi_shaded.png" type="Texture" id=6] [ext_resource path="res://Shared/Background2D/Demo2DBackground.tscn" type="PackedScene" id=7] [ext_resource path="res://Utils/DebugViewer.gd" type="Script" id=8] [ext_resource path="res://Shared/DemoInterface.tscn" type="PackedScene" id=9] [sub_resource type="ShaderMaterial" id=1] shader = ExtResource( 3 ) shader_param/blur_scale = Vector2( 0, 4 ) [sub_resource type="ShaderMaterial" id=2] shader = ExtResource( 3 ) shader_param/blur_scale = Vector2( 4, 0 ) [sub_resource type="ShaderMaterial" id=3] shader = ExtResource( 5 ) shader_param/glow_color = Color( 0.156863, 0.580392, 0.886275, 1 ) [sub_resource type="ViewportTexture" id=4] viewport_path = NodePath("MaskView/Viewport") [sub_resource type="ViewportTexture" id=5] viewport_path = NodePath("MaskView/Viewport/Blur2/Viewport/Blur1/Viewport") [sub_resource type="ShaderMaterial" id=6] resource_local_to_scene = true shader = ExtResource( 4 ) shader_param/glow_intensity = 8.0 shader_param/prepass_texture = SubResource( 5 ) shader_param/blur_texture = SubResource( 4 ) [node name="BlurGlowDemo" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 theme = ExtResource( 1 ) __meta__ = { "_edit_use_anchors_": false } [node name="Demo2DBackground" parent="." instance=ExtResource( 7 )] [node name="MaskView" type="ViewportContainer" parent="."] self_modulate = Color( 1, 1, 1, 0 ) anchor_right = 1.0 anchor_bottom = 1.0 stretch = true __meta__ = { "_edit_use_anchors_": false } [node name="Viewport" type="Viewport" parent="MaskView"] size = Vector2( 1920, 1080 ) transparent_bg = true handle_input_locally = false usage = 0 render_target_update_mode = 3 [node name="Blur2" type="ViewportContainer" parent="MaskView/Viewport"] material = SubResource( 1 ) anchor_right = 1.0 anchor_bottom = 1.0 stretch = true __meta__ = { "_edit_use_anchors_": false } [node name="Viewport" type="Viewport" parent="MaskView/Viewport/Blur2"] size = Vector2( 1920, 1080 ) transparent_bg = true handle_input_locally = false usage = 0 render_target_update_mode = 3 [node name="Blur1" type="ViewportContainer" parent="MaskView/Viewport/Blur2/Viewport"] material = SubResource( 2 ) anchor_right = 1.0 anchor_bottom = 1.0 stretch = true __meta__ = { "_edit_use_anchors_": false } [node name="Viewport" type="Viewport" parent="MaskView/Viewport/Blur2/Viewport/Blur1"] size = Vector2( 1920, 1080 ) transparent_bg = true handle_input_locally = false usage = 0 render_target_update_mode = 3 [node name="Sprite" type="Sprite" parent="MaskView/Viewport/Blur2/Viewport/Blur1/Viewport"] material = SubResource( 3 ) position = Vector2( 960, 540 ) texture = ExtResource( 6 ) [node name="MainView" type="ViewportContainer" parent="."] material = SubResource( 6 ) anchor_right = 1.0 anchor_bottom = 1.0 stretch = true __meta__ = { "_edit_use_anchors_": false } [node name="Viewport" type="Viewport" parent="MainView"] size = Vector2( 1920, 1080 ) transparent_bg = true handle_input_locally = false usage = 0 render_target_update_mode = 3 [node name="Scene" parent="MainView/Viewport" instance=ExtResource( 2 )] [node name="Sprite" parent="MainView/Viewport/Scene" index="0"] position = Vector2( 960, 540 ) scale = Vector2( 1, 1 ) [node name="RemoteTransform2D" type="RemoteTransform2D" parent="MainView/Viewport/Scene/Sprite" index="0"] remote_path = NodePath("../../../../../MaskView/Viewport/Blur2/Viewport/Blur1/Viewport/Sprite") [node name="DebugViewer" type="Control" parent="."] margin_top = 120.0 margin_right = 40.0 margin_bottom = 160.0 script = ExtResource( 8 ) __meta__ = { "_edit_use_anchors_": false } [node name="DemoText" parent="." instance=ExtResource( 9 )] text_bbcode = "Takes a sprite with a flat color and blurs it in two passes: Blur1, Blur2. This blurred texture is used as a mask (MaskView), which is fed into the MainView's shader. The MainView applies the glow around the character." [editable path="MainView/Viewport/Scene"]