浏览代码

Merge pull request #735 from voylin/2DScreenSpaceShaders4.0Update

Screen Space Shader Update to 4.0
Aaron Franke 3 年之前
父节点
当前提交
521fc2d755

+ 1 - 1
2d/screen_space_shaders/README.md

@@ -5,7 +5,7 @@ Many common full-res effects are implemented here for reference.
 
 Language: [GDSL](https://docs.godotengine.org/en/latest/tutorials/shaders/shader_reference/shading_language.html) and GDScript
 
-Renderer: GLES 3 (the blur effect is not available in GLES 2, the rest work)
+Renderer: Vulkan Clustered
 
 Check out this demo on the asset library: https://godotengine.org/asset-library/asset/122
 

+ 14 - 15
2d/screen_space_shaders/art/burano.jpg.import

@@ -1,8 +1,9 @@
 [remap]
 
 importer="texture"
-type="StreamTexture2D"
-path="res://.godot/imported/burano.jpg-bbae3c5a81f8b6300cd944219dbbbc05.stex"
+type="CompressedTexture2D"
+uid="uid://bxfl16c7nqg0t"
+path="res://.godot/imported/burano.jpg-bbae3c5a81f8b6300cd944219dbbbc05.ctex"
 metadata={
 "vram_texture": false
 }
@@ -10,26 +11,24 @@ metadata={
 [deps]
 
 source_file="res://art/burano.jpg"
-dest_files=["res://.godot/imported/burano.jpg-bbae3c5a81f8b6300cd944219dbbbc05.stex"]
+dest_files=["res://.godot/imported/burano.jpg-bbae3c5a81f8b6300cd944219dbbbc05.ctex"]
 
 [params]
 
 compress/mode=0
 compress/lossy_quality=0.7
-compress/hdr_mode=0
+compress/hdr_compression=1
 compress/bptc_ldr=0
 compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
 process/fix_alpha_border=true
 process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
 process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

+ 15 - 16
2d/screen_space_shaders/art/filmgrain.png.import

@@ -1,9 +1,10 @@
 [remap]
 
 importer="texture"
-type="StreamTexture2D"
-path.s3tc="res://.godot/imported/filmgrain.png-8b1c9d8b22a2ffa8f94b1e004d5eddc9.s3tc.stex"
-path.etc2="res://.godot/imported/filmgrain.png-8b1c9d8b22a2ffa8f94b1e004d5eddc9.etc2.stex"
+type="CompressedTexture2D"
+uid="uid://c5jxxypesp0k5"
+path.s3tc="res://.godot/imported/filmgrain.png-8b1c9d8b22a2ffa8f94b1e004d5eddc9.s3tc.ctex"
+path.etc2="res://.godot/imported/filmgrain.png-8b1c9d8b22a2ffa8f94b1e004d5eddc9.etc2.ctex"
 metadata={
 "imported_formats": ["s3tc", "etc2"],
 "vram_texture": true
@@ -12,26 +13,24 @@ metadata={
 [deps]
 
 source_file="res://art/filmgrain.png"
-dest_files=["res://.godot/imported/filmgrain.png-8b1c9d8b22a2ffa8f94b1e004d5eddc9.s3tc.stex", "res://.godot/imported/filmgrain.png-8b1c9d8b22a2ffa8f94b1e004d5eddc9.etc2.stex"]
+dest_files=["res://.godot/imported/filmgrain.png-8b1c9d8b22a2ffa8f94b1e004d5eddc9.s3tc.ctex", "res://.godot/imported/filmgrain.png-8b1c9d8b22a2ffa8f94b1e004d5eddc9.etc2.ctex"]
 
 [params]
 
 compress/mode=2
 compress/lossy_quality=0.7
-compress/hdr_mode=0
+compress/hdr_compression=1
 compress/bptc_ldr=0
 compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
 process/fix_alpha_border=true
 process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
 process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0

+ 14 - 15
2d/screen_space_shaders/art/forest.jpg.import

@@ -1,8 +1,9 @@
 [remap]
 
 importer="texture"
-type="StreamTexture2D"
-path="res://.godot/imported/forest.jpg-f2ce28f12b0871a15d1e9ebfcd24b47f.stex"
+type="CompressedTexture2D"
+uid="uid://dmposqqlg6e2m"
+path="res://.godot/imported/forest.jpg-f2ce28f12b0871a15d1e9ebfcd24b47f.ctex"
 metadata={
 "vram_texture": false
 }
@@ -10,26 +11,24 @@ metadata={
 [deps]
 
 source_file="res://art/forest.jpg"
-dest_files=["res://.godot/imported/forest.jpg-f2ce28f12b0871a15d1e9ebfcd24b47f.stex"]
+dest_files=["res://.godot/imported/forest.jpg-f2ce28f12b0871a15d1e9ebfcd24b47f.ctex"]
 
 [params]
 
 compress/mode=0
 compress/lossy_quality=0.7
-compress/hdr_mode=0
+compress/hdr_compression=1
 compress/bptc_ldr=0
 compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
 process/fix_alpha_border=true
 process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
 process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

+ 14 - 15
2d/screen_space_shaders/art/mountains.jpg.import

@@ -1,8 +1,9 @@
 [remap]
 
 importer="texture"
-type="StreamTexture2D"
-path="res://.godot/imported/mountains.jpg-fd51eb0e2a35878963804e860ef9d187.stex"
+type="CompressedTexture2D"
+uid="uid://bj5ysvx4sbbw0"
+path="res://.godot/imported/mountains.jpg-fd51eb0e2a35878963804e860ef9d187.ctex"
 metadata={
 "vram_texture": false
 }
@@ -10,26 +11,24 @@ metadata={
 [deps]
 
 source_file="res://art/mountains.jpg"
-dest_files=["res://.godot/imported/mountains.jpg-fd51eb0e2a35878963804e860ef9d187.stex"]
+dest_files=["res://.godot/imported/mountains.jpg-fd51eb0e2a35878963804e860ef9d187.ctex"]
 
 [params]
 
 compress/mode=0
 compress/lossy_quality=0.7
-compress/hdr_mode=0
+compress/hdr_compression=1
 compress/bptc_ldr=0
 compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
 process/fix_alpha_border=true
 process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
 process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

+ 14 - 15
2d/screen_space_shaders/art/platformer.jpg.import

@@ -1,8 +1,9 @@
 [remap]
 
 importer="texture"
-type="StreamTexture2D"
-path="res://.godot/imported/platformer.jpg-ce18350247a11c58497c7e0d8e3be273.stex"
+type="CompressedTexture2D"
+uid="uid://cjycbveqawf6o"
+path="res://.godot/imported/platformer.jpg-ce18350247a11c58497c7e0d8e3be273.ctex"
 metadata={
 "vram_texture": false
 }
@@ -10,26 +11,24 @@ metadata={
 [deps]
 
 source_file="res://art/platformer.jpg"
-dest_files=["res://.godot/imported/platformer.jpg-ce18350247a11c58497c7e0d8e3be273.stex"]
+dest_files=["res://.godot/imported/platformer.jpg-ce18350247a11c58497c7e0d8e3be273.ctex"]
 
 [params]
 
 compress/mode=0
 compress/lossy_quality=0.7
-compress/hdr_mode=0
+compress/hdr_compression=1
 compress/bptc_ldr=0
 compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
 process/fix_alpha_border=true
 process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
 process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

+ 15 - 16
2d/screen_space_shaders/art/vignette.png.import

@@ -1,9 +1,10 @@
 [remap]
 
 importer="texture"
-type="StreamTexture2D"
-path.s3tc="res://.godot/imported/vignette.png-993dbe0a69e475ef62cba692d80d947d.s3tc.stex"
-path.etc2="res://.godot/imported/vignette.png-993dbe0a69e475ef62cba692d80d947d.etc2.stex"
+type="CompressedTexture2D"
+uid="uid://c7uiamx2smpx5"
+path.s3tc="res://.godot/imported/vignette.png-993dbe0a69e475ef62cba692d80d947d.s3tc.ctex"
+path.etc2="res://.godot/imported/vignette.png-993dbe0a69e475ef62cba692d80d947d.etc2.ctex"
 metadata={
 "imported_formats": ["s3tc", "etc2"],
 "vram_texture": true
@@ -12,26 +13,24 @@ metadata={
 [deps]
 
 source_file="res://art/vignette.png"
-dest_files=["res://.godot/imported/vignette.png-993dbe0a69e475ef62cba692d80d947d.s3tc.stex", "res://.godot/imported/vignette.png-993dbe0a69e475ef62cba692d80d947d.etc2.stex"]
+dest_files=["res://.godot/imported/vignette.png-993dbe0a69e475ef62cba692d80d947d.s3tc.ctex", "res://.godot/imported/vignette.png-993dbe0a69e475ef62cba692d80d947d.etc2.ctex"]
 
 [params]
 
 compress/mode=2
 compress/lossy_quality=0.7
-compress/hdr_mode=0
+compress/hdr_compression=1
 compress/bptc_ldr=0
 compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
 process/fix_alpha_border=true
 process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
 process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0

+ 14 - 15
2d/screen_space_shaders/art/white.png.import

@@ -1,8 +1,9 @@
 [remap]
 
 importer="texture"
-type="StreamTexture2D"
-path="res://.godot/imported/white.png-9cdc9524282ba2bce69b45edcd6ac827.stex"
+type="CompressedTexture2D"
+uid="uid://dxb6wr1r452am"
+path="res://.godot/imported/white.png-9cdc9524282ba2bce69b45edcd6ac827.ctex"
 metadata={
 "vram_texture": false
 }
@@ -10,26 +11,24 @@ metadata={
 [deps]
 
 source_file="res://art/white.png"
-dest_files=["res://.godot/imported/white.png-9cdc9524282ba2bce69b45edcd6ac827.stex"]
+dest_files=["res://.godot/imported/white.png-9cdc9524282ba2bce69b45edcd6ac827.ctex"]
 
 [params]
 
 compress/mode=0
 compress/lossy_quality=0.7
-compress/hdr_mode=0
+compress/hdr_compression=1
 compress/bptc_ldr=0
 compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
 process/fix_alpha_border=true
 process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
 process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

+ 14 - 15
2d/screen_space_shaders/icon.png.import

@@ -1,8 +1,9 @@
 [remap]
 
 importer="texture"
-type="StreamTexture2D"
-path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+type="CompressedTexture2D"
+uid="uid://caw5d2ia7qk0b"
+path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
 metadata={
 "vram_texture": false
 }
@@ -10,26 +11,24 @@ metadata={
 [deps]
 
 source_file="res://icon.png"
-dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"]
+dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
 
 [params]
 
 compress/mode=0
 compress/lossy_quality=0.7
-compress/hdr_mode=0
+compress/hdr_compression=1
 compress/bptc_ldr=0
 compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
 process/fix_alpha_border=true
 process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
 process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

+ 5 - 11
2d/screen_space_shaders/project.godot

@@ -6,7 +6,7 @@
 ;   [section] ; section goes between []
 ;   param=value ; assign values to parameters
 
-config_version=4
+config_version=5
 
 [application]
 
@@ -15,16 +15,10 @@ config/description="Several examples of full screen 2D shader processing.
 Many common full-res effects are implemented here for reference."
 run/main_scene="res://screen_shaders.tscn"
 config/icon="res://icon.png"
+config/features=PackedStringArray("4.0")
 
 [display]
 
-window/size/width=800
-window/dpi/allow_hidpi=true
-window/stretch/mode="2d"
-window/stretch/aspect="keep"
-stretch/aspect="keep"
-stretch/mode="2d"
-
-[gdnative]
-
-singletons=[]
+window/size/viewport_width=800
+window/stretch/mode="canvas_items"
+window/stretch/aspect="expand"

+ 84 - 94
2d/screen_space_shaders/screen_shaders.tscn

@@ -1,98 +1,95 @@
-[gd_scene load_steps=31 format=2]
-
-[ext_resource path="res://screen_shaders.gd" type="Script" id=1]
-[ext_resource path="res://art/burano.jpg" type="Texture2D" id=2]
-[ext_resource path="res://art/platformer.jpg" type="Texture2D" id=3]
-[ext_resource path="res://art/mountains.jpg" type="Texture2D" id=4]
-[ext_resource path="res://art/forest.jpg" type="Texture2D" id=5]
-[ext_resource path="res://shaders/vignette.gdshader" type="Shader" id=6]
-[ext_resource path="res://art/vignette.png" type="Texture2D" id=7]
-[ext_resource path="res://art/white.png" type="Texture2D" id=8]
-[ext_resource path="res://shaders/blur.gdshader" type="Shader" id=9]
-[ext_resource path="res://shaders/pixelize.gdshader" type="Shader" id=10]
-[ext_resource path="res://shaders/whirl.gdshader" type="Shader" id=11]
-[ext_resource path="res://shaders/sepia.gdshader" type="Shader" id=12]
-[ext_resource path="res://shaders/negative.gdshader" type="Shader" id=13]
-[ext_resource path="res://shaders/contrasted.gdshader" type="Shader" id=14]
-[ext_resource path="res://shaders/normalized.gdshader" type="Shader" id=15]
-[ext_resource path="res://shaders/BCS.gdshader" type="Shader" id=16]
-[ext_resource path="res://shaders/mirage.gdshader" type="Shader" id=17]
-[ext_resource path="res://shaders/old_film.gdshader" type="Shader" id=18]
-[ext_resource path="res://art/filmgrain.png" type="Texture2D" id=19]
-
-[sub_resource type="ShaderMaterial" id=1]
-shader = ExtResource( 6 )
-shader_param/vignette = ExtResource( 7 )
-
-[sub_resource type="ShaderMaterial" id=2]
-shader = ExtResource( 9 )
+[gd_scene load_steps=31 format=3 uid="uid://dyk2fhwqwi2u0"]
+
+[ext_resource type="Script" path="res://screen_shaders.gd" id="1"]
+[ext_resource type="Texture2D" uid="uid://bxfl16c7nqg0t" path="res://art/burano.jpg" id="2"]
+[ext_resource type="Texture2D" uid="uid://cjycbveqawf6o" path="res://art/platformer.jpg" id="3"]
+[ext_resource type="Texture2D" uid="uid://bj5ysvx4sbbw0" path="res://art/mountains.jpg" id="4"]
+[ext_resource type="Texture2D" uid="uid://dmposqqlg6e2m" path="res://art/forest.jpg" id="5"]
+[ext_resource type="Shader" path="res://shaders/vignette.gdshader" id="6"]
+[ext_resource type="Texture2D" uid="uid://c7uiamx2smpx5" path="res://art/vignette.png" id="7"]
+[ext_resource type="Texture2D" uid="uid://dxb6wr1r452am" path="res://art/white.png" id="8"]
+[ext_resource type="Shader" path="res://shaders/blur.gdshader" id="9"]
+[ext_resource type="Shader" path="res://shaders/pixelize.gdshader" id="10"]
+[ext_resource type="Shader" path="res://shaders/whirl.gdshader" id="11"]
+[ext_resource type="Shader" path="res://shaders/sepia.gdshader" id="12"]
+[ext_resource type="Shader" path="res://shaders/negative.gdshader" id="13"]
+[ext_resource type="Shader" path="res://shaders/contrasted.gdshader" id="14"]
+[ext_resource type="Shader" path="res://shaders/normalized.gdshader" id="15"]
+[ext_resource type="Shader" path="res://shaders/BCS.gdshader" id="16"]
+[ext_resource type="Shader" path="res://shaders/mirage.gdshader" id="17"]
+[ext_resource type="Shader" path="res://shaders/old_film.gdshader" id="18"]
+[ext_resource type="Texture2D" uid="uid://c5jxxypesp0k5" path="res://art/filmgrain.png" id="19"]
+
+[sub_resource type="ShaderMaterial" id="1"]
+shader = ExtResource( "6" )
+shader_param/vignette = ExtResource( "7" )
+
+[sub_resource type="ShaderMaterial" id="2"]
+shader = ExtResource( "9" )
 shader_param/amount = 4.0
 
-[sub_resource type="ShaderMaterial" id=3]
-shader = ExtResource( 10 )
+[sub_resource type="ShaderMaterial" id="3"]
+shader = ExtResource( "10" )
 shader_param/size_x = 0.008
 shader_param/size_y = 0.008
 
-[sub_resource type="ShaderMaterial" id=4]
-shader = ExtResource( 11 )
+[sub_resource type="ShaderMaterial" id="4"]
+shader = ExtResource( "11" )
 shader_param/rotation = 3.0
 
-[sub_resource type="ShaderMaterial" id=5]
-shader = ExtResource( 12 )
+[sub_resource type="ShaderMaterial" id="5"]
+shader = ExtResource( "12" )
 shader_param/base = Color(0.54451, 0.408353, 0.403137, 1)
 
-[sub_resource type="ShaderMaterial" id=6]
-shader = ExtResource( 13 )
+[sub_resource type="ShaderMaterial" id="6"]
+shader = ExtResource( "13" )
 
-[sub_resource type="ShaderMaterial" id=7]
-shader = ExtResource( 14 )
+[sub_resource type="ShaderMaterial" id="7"]
+shader = ExtResource( "14" )
 
-[sub_resource type="ShaderMaterial" id=8]
-shader = ExtResource( 15 )
+[sub_resource type="ShaderMaterial" id="8"]
+shader = ExtResource( "15" )
 
-[sub_resource type="ShaderMaterial" id=9]
-shader = ExtResource( 16 )
+[sub_resource type="ShaderMaterial" id="9"]
+shader = ExtResource( "16" )
 shader_param/brightness = 0.8
 shader_param/contrast = 1.5
 shader_param/saturation = 1.8
 
-[sub_resource type="ShaderMaterial" id=10]
-shader = ExtResource( 17 )
+[sub_resource type="ShaderMaterial" id="10"]
+shader = ExtResource( "17" )
 shader_param/frequency = 60.0
 shader_param/depth = 0.005
 
-[sub_resource type="ShaderMaterial" id=11]
-shader = ExtResource( 18 )
+[sub_resource type="ShaderMaterial" id="11"]
+shader = ExtResource( "18" )
 shader_param/base = Color(0.450274, 0.361255, 0.335059, 1)
 shader_param/grain_strength = 0.3
 shader_param/fps = 12
 shader_param/stretch = 0.5
 shader_param/flashing = 0.01
-shader_param/grain = ExtResource( 19 )
-shader_param/vignette = ExtResource( 7 )
+shader_param/grain = ExtResource( "19" )
+shader_param/vignette = ExtResource( "7" )
 
 [node name="ScreenShaders" type="Control"]
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-script = ExtResource( 1 )
+script = ExtResource( "1" )
 
 [node name="Pictures" type="Control" parent="."]
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-__meta__ = {
-"_edit_use_anchors_": false
-}
 
 [node name="Burano" type="TextureRect" parent="Pictures"]
 offset_right = 40.0
 offset_bottom = 40.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 2 )
+texture = ExtResource( "2" )
 
 [node name="Roby" type="TextureRect" parent="Pictures"]
 visible = false
@@ -100,7 +97,7 @@ offset_right = 40.0
 offset_bottom = 40.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 3 )
+texture = ExtResource( "3" )
 
 [node name="Mountains" type="TextureRect" parent="Pictures"]
 visible = false
@@ -108,7 +105,7 @@ offset_right = 40.0
 offset_bottom = 40.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 4 )
+texture = ExtResource( "4" )
 
 [node name="Forest" type="TextureRect" parent="Pictures"]
 visible = false
@@ -116,7 +113,7 @@ offset_right = 40.0
 offset_bottom = 40.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 5 )
+texture = ExtResource( "5" )
 
 [node name="Effects" type="Control" parent="."]
 anchor_right = 1.0
@@ -133,135 +130,128 @@ size_flags_vertical = 2
 
 [node name="Vignette" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 1 )
+material = SubResource( "1" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="Blur" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 2 )
+material = SubResource( "2" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="Pixelize" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 3 )
+material = SubResource( "3" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="Whirl" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 4 )
+material = SubResource( "4" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="Sepia" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 5 )
+material = SubResource( "5" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 offset_right = 14.0
 offset_bottom = -2.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="Negative" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 6 )
+material = SubResource( "6" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="Contrasted" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 7 )
+material = SubResource( "7" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="Normalized" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 8 )
+material = SubResource( "8" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="BCS" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 9 )
+material = SubResource( "9" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 offset_top = 3.0
 offset_bottom = -3.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="Mirage" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 10 )
+material = SubResource( "10" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="OldFilm" type="TextureRect" parent="Effects"]
 visible = false
-material = SubResource( 11 )
+material = SubResource( "11" )
 anchor_right = 1.0
 anchor_bottom = 1.0
 offset_left = -3.0
 offset_right = 3.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
-texture = ExtResource( 8 )
-expand = true
+texture = ExtResource( "8" )
 
 [node name="Picture" type="OptionButton" parent="."]
 offset_left = 8.0
 offset_top = 7.0
-offset_right = 131.0
-offset_bottom = 28.0
+offset_right = 184.0
+offset_bottom = 38.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
+metadata/_edit_layout_mode = 0
+metadata/_edit_use_custom_anchors = false
 
 [node name="Effect" type="OptionButton" parent="."]
-offset_left = 137.0
+offset_left = 189.0
 offset_top = 7.0
-offset_right = 260.0
-offset_bottom = 28.0
+offset_right = 312.0
+offset_bottom = 38.0
 size_flags_horizontal = 2
 size_flags_vertical = 2
+metadata/_edit_layout_mode = 0
+metadata/_edit_use_custom_anchors = false
 
 [connection signal="item_selected" from="Picture" to="." method="_on_picture_item_selected"]
 [connection signal="item_selected" from="Effect" to="." method="_on_effect_item_selected"]