summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.import/CRTFrame.png-96837578d803d46c371247267c1fa407.md5 (renamed from godot3/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.md5)0
-rw-r--r--.import/CRTFrame.png-96837578d803d46c371247267c1fa407.stex (renamed from godot3/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.stex)bin18745 -> 18745 bytes
-rw-r--r--.import/character.png-7a996d3b758d22c506b76a7c15391284.md53
-rw-r--r--.import/character.png-7a996d3b758d22c506b76a7c15391284.stexbin0 -> 5494 bytes
-rw-r--r--.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 (renamed from godot3/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5)0
-rw-r--r--.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex (renamed from godot3/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex)bin3546 -> 3546 bytes
-rw-r--r--.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.md5 (renamed from godot3/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.md5)0
-rw-r--r--.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.stex (renamed from godot3/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.stex)bin254998 -> 254998 bytes
-rw-r--r--.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.md53
-rw-r--r--.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.stexbin0 -> 260064 bytes
-rw-r--r--.import/white.png-d8533361663a5f8fe5200e5b5262a62d.md5 (renamed from godot3/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.md5)0
-rw-r--r--.import/white.png-d8533361663a5f8fe5200e5b5262a62d.stex (renamed from godot3/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.stex)bin198 -> 198 bytes
-rw-r--r--.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.md53
-rw-r--r--.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.stexbin0 -> 786286 bytes
-rw-r--r--CRTFrame.png (renamed from godot2/CRTFrame.png)bin17559 -> 17559 bytes
-rw-r--r--CRTFrame.png.import (renamed from godot3/CRTFrame.png.import)0
-rw-r--r--CRTShader.shader65
-rw-r--r--Character.gd22
-rw-r--r--README.md26
-rw-r--r--ShaderTestScreen.tscn (renamed from godot3/ShaderTestScreen.tscn)188
-rw-r--r--character.pngbin0 -> 3657 bytes
-rw-r--r--character.png.import34
-rw-r--r--default_env.tres (renamed from godot3/default_env.tres)0
-rw-r--r--godot2/CRTDisplayShader.shdbin2107 -> 0 bytes
-rw-r--r--godot2/CRTViewportDisplay/CRT.scnbin3540 -> 0 bytes
-rw-r--r--godot2/CRTViewportDisplay/CRTDisplayShader.shdbin2126 -> 0 bytes
-rw-r--r--godot2/CRTViewportDisplay/CRTFrame.pngbin17559 -> 0 bytes
-rw-r--r--godot2/ShaderTestsScreen.scnbin4209 -> 0 bytes
-rw-r--r--godot2/engine.cfg5
-rw-r--r--godot2/icon.pngbin2736 -> 0 bytes
-rw-r--r--godot2/icon.png.flags1
-rw-r--r--godot2/sample.pngbin254953 -> 0 bytes
-rw-r--r--godot2/white.pngbin174 -> 0 bytes
-rw-r--r--godot3/CRTFrame.pngbin17559 -> 0 bytes
-rw-r--r--godot3/sample.pngbin254953 -> 0 bytes
-rw-r--r--godot3/white.pngbin174 -> 0 bytes
-rw-r--r--icon.png (renamed from godot3/icon.png)bin3498 -> 3498 bytes
-rw-r--r--icon.png.import (renamed from godot3/icon.png.import)0
-rw-r--r--project.godot (renamed from godot3/project.godot)4
-rw-r--r--sample.png.import (renamed from godot3/sample.png.import)0
-rw-r--r--shaderIcon.pngbin0 -> 273950 bytes
-rw-r--r--shaderIcon.png.import34
-rw-r--r--white.png (renamed from godot2/CRTViewportDisplay/white.png)bin174 -> 174 bytes
-rw-r--r--white.png.import (renamed from godot3/white.png.import)0
-rw-r--r--withshader.png.import34
45 files changed, 318 insertions, 104 deletions
diff --git a/godot3/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.md5 b/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.md5
index fd23a82..fd23a82 100644
--- a/godot3/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.md5
+++ b/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.md5
diff --git a/godot3/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.stex b/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.stex
index c5c7555..c5c7555 100644
--- a/godot3/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.stex
+++ b/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.stex
Binary files differ
diff --git a/.import/character.png-7a996d3b758d22c506b76a7c15391284.md5 b/.import/character.png-7a996d3b758d22c506b76a7c15391284.md5
new file mode 100644
index 0000000..cc614ee
--- /dev/null
+++ b/.import/character.png-7a996d3b758d22c506b76a7c15391284.md5
@@ -0,0 +1,3 @@
+source_md5="87fc463f554c58d9c9d508dcb315434b"
+dest_md5="de4744bcb797287bdf157f9adfa40830"
+
diff --git a/.import/character.png-7a996d3b758d22c506b76a7c15391284.stex b/.import/character.png-7a996d3b758d22c506b76a7c15391284.stex
new file mode 100644
index 0000000..adcc8b1
--- /dev/null
+++ b/.import/character.png-7a996d3b758d22c506b76a7c15391284.stex
Binary files differ
diff --git a/godot3/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5
index 1f3b6a6..1f3b6a6 100644
--- a/godot3/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5
+++ b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5
diff --git a/godot3/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex
index 35d087e..35d087e 100644
--- a/godot3/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex
+++ b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex
Binary files differ
diff --git a/godot3/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.md5 b/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.md5
index e44a2dc..e44a2dc 100644
--- a/godot3/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.md5
+++ b/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.md5
diff --git a/godot3/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.stex b/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.stex
index bb2cbef..bb2cbef 100644
--- a/godot3/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.stex
+++ b/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.stex
Binary files differ
diff --git a/.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.md5 b/.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.md5
new file mode 100644
index 0000000..93cdff4
--- /dev/null
+++ b/.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.md5
@@ -0,0 +1,3 @@
+source_md5="d8ca914d6fa66d7f2d478c2065b644a3"
+dest_md5="513137dc7b8d9b652b0263350579bd0a"
+
diff --git a/.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.stex b/.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.stex
new file mode 100644
index 0000000..244a982
--- /dev/null
+++ b/.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.stex
Binary files differ
diff --git a/godot3/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.md5 b/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.md5
index 8d1ed0a..8d1ed0a 100644
--- a/godot3/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.md5
+++ b/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.md5
diff --git a/godot3/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.stex b/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.stex
index fb1c958..fb1c958 100644
--- a/godot3/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.stex
+++ b/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.stex
Binary files differ
diff --git a/.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.md5 b/.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.md5
new file mode 100644
index 0000000..a8a5250
--- /dev/null
+++ b/.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.md5
@@ -0,0 +1,3 @@
+source_md5="4d9627ea72b879314c9b4ae53ffa976b"
+dest_md5="9aa01ac4dba8c9d5eb85cb1c723b8968"
+
diff --git a/.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.stex b/.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.stex
new file mode 100644
index 0000000..1b3968e
--- /dev/null
+++ b/.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.stex
Binary files differ
diff --git a/godot2/CRTFrame.png b/CRTFrame.png
index 9c5ca46..9c5ca46 100644
--- a/godot2/CRTFrame.png
+++ b/CRTFrame.png
Binary files differ
diff --git a/godot3/CRTFrame.png.import b/CRTFrame.png.import
index 73baf73..73baf73 100644
--- a/godot3/CRTFrame.png.import
+++ b/CRTFrame.png.import
diff --git a/CRTShader.shader b/CRTShader.shader
new file mode 100644
index 0000000..d7e8afd
--- /dev/null
+++ b/CRTShader.shader
@@ -0,0 +1,65 @@
+shader_type canvas_item;
+
+uniform float screen_width = 1024;
+uniform float screen_height = 600;
+
+// Curvature
+uniform float BarrelPower =1.1;
+// Color bleeding
+uniform float color_bleeding = 1.2;
+uniform float bleeding_range_x = 3;
+uniform float bleeding_range_y = 3;
+// Scanline
+uniform float lines_distance = 4.0;
+uniform float scan_size = 2.0;
+uniform float scanline_alpha = 0.9;
+uniform float lines_velocity = 30.0;
+
+vec2 distort(vec2 p)
+{
+ float angle = p.y / p.x;
+ float theta = atan(p.y,p.x);
+ float radius = pow(length(p), BarrelPower);
+
+ p.x = radius * cos(theta);
+ p.y = radius * sin(theta);
+
+ return 0.5 * (p + vec2(1.0,1.0));
+}
+
+void get_color_bleeding(inout vec4 current_color,inout vec4 color_left){
+ current_color = current_color*vec4(color_bleeding,0.5,1.0-color_bleeding,1);
+ color_left = color_left*vec4(1.0-color_bleeding,0.5,color_bleeding,1);
+}
+
+void get_color_scanline(vec2 uv,inout vec4 c,float time){
+ float line_row = floor((uv.y * screen_height/scan_size) + mod(time*lines_velocity, lines_distance));
+ float n = 1.0 - ceil((mod(line_row,lines_distance)/lines_distance));
+ c = c - n*c*(1.0 - scanline_alpha);
+ c.a = 1.0;
+}
+
+void fragment()
+{
+ vec2 xy = SCREEN_UV * 2.0;
+ xy.x -= 1.0;
+ xy.y -= 1.0;
+
+ float d = length(xy);
+ if(d < 1.5){
+ xy = distort(xy);
+ }
+ else{
+ xy = SCREEN_UV;
+ }
+
+ float pixel_size_x = 1.0/screen_width*bleeding_range_x;
+ float pixel_size_y = 1.0/screen_height*bleeding_range_y;
+ vec4 color_left = texture(SCREEN_TEXTURE,xy - vec2(pixel_size_x, pixel_size_y));
+ vec4 current_color = texture(SCREEN_TEXTURE,xy);
+ get_color_bleeding(current_color,color_left);
+ vec4 c = current_color+color_left;
+ get_color_scanline(xy,c,TIME);
+ COLOR = c;
+
+}
diff --git a/Character.gd b/Character.gd
new file mode 100644
index 0000000..ecd2314
--- /dev/null
+++ b/Character.gd
@@ -0,0 +1,22 @@
+extends AnimatedSprite
+
+var moving = 0
+
+func _ready():
+ playing = true
+ animation = "idle"
+
+func _process(delta):
+ if (Input.is_key_pressed(KEY_LEFT)):
+ moving = -1
+ elif (Input.is_key_pressed(KEY_RIGHT)):
+ moving = 1
+ else:
+ moving = 0
+
+ if (moving == 0):
+ animation = "idle"
+ else:
+ animation = "run"
+ scale = Vector2(moving, 1) * Vector2(abs(scale.x), scale.y)
+ position += Vector2(moving * 200 * delta, 0)
diff --git a/README.md b/README.md
index e5d829c..4b328c1 100644
--- a/README.md
+++ b/README.md
@@ -1,28 +1,22 @@
# SimpleGodotCRTShader
-A simple Godot (v2.x and v3.x) shader that simulates CRT Displays.
+A simple Godot shader that simulates CRT Displays.
+
![Without Shader](sample.png)
![With Shader](withshader.png)
+## How to install
-# How to install
-
-**Compatibility**: Thank you MohabMohamed for porting the Shader to Godot 3.x! Both projects can be found on their respective folders. To test, remember to change the variable values on the shader script.
-
-## For Godot 2.x
+You can copy simply copy the CRTShader.shader
-You can use the shader by just copying the "CRTDisplayShader.shd" to your project (it's the Shader raw code). But if you don't know how to setup the shader material, you can just use the CRTViewportDisplay:
+A tutorial on how to install the Shader on Godot 2.x (YouTube): [https://www.youtube.com/watch?v=ydrC-3Uy-aY&feature=youtu.be](https://www.youtube.com/watch?v=ydrC-3Uy-aY&feature=youtu.be)
-1. Copy-paste the "CRTViewportDisplay" folder to your project.
-2. Open the "CRT.scn" on Godot Editor, and set the correct size of the viewport and the frames for your project display size.
-3. Add the main scene of your project as a child of the Viewport node.
+## For Godot 3.x
-The viewport will than render your project using the CRT Shader.
+You can simply copy the CRTShader.shader code to use on your project; to set it up, just use it in a an TextureRect with a white texture. Your game must be running 'under' the node for the CRT Shader to have any effect.
You can modify the values of the Shader using the Uniform Variables.
-A tutorial on how to install the Shader (YouTube): [https://www.youtube.com/watch?v=ydrC-3Uy-aY&feature=youtu.be](https://www.youtube.com/watch?v=ydrC-3Uy-aY&feature=youtu.be)
-
-# How the Shader works
+## How the Shader works
This Shader is made of 3 main components:
* Distortion: It is the effect that causes the '3D'-like monitor effect.
@@ -36,6 +30,8 @@ The effects are based on these articles:
* Distortion: http://www.geeks3d.com/20140213/glsl-shader-library-fish-eye-and-dome-and-barrel-distortion-post-processing-filters/2/
* Color Bleeding and Scanlines: http://www.magneticrealms.com/posts/2014/02/03/a-crt-filter-without-shaders/
-A shoutout for the Godot developpers group on facebook! I would be completely lost without you guys, haha.
+## Credits
The screen sample was made by 'ansimuz' - the art is in public domain (CC0), and can be found in: http://opengameart.org/content/country-side-platform-tiles.
+
+Character was made by EdwoodNigma - the spritesheet is in public domain (CC0), and can be found in: https://opengameart.org/content/platformer-character-0
diff --git a/godot3/ShaderTestScreen.tscn b/ShaderTestScreen.tscn
index caee966..4154bc2 100644
--- a/godot3/ShaderTestScreen.tscn
+++ b/ShaderTestScreen.tscn
@@ -1,8 +1,94 @@
-[gd_scene load_steps=12 format=2]
+[gd_scene load_steps=29 format=2]
[ext_resource path="res://sample.png" type="Texture" id=1]
[ext_resource path="res://white.png" type="Texture" id=2]
[ext_resource path="res://CRTFrame.png" type="Texture" id=3]
+[ext_resource path="res://character.png" type="Texture" id=4]
+[ext_resource path="res://Character.gd" type="Script" id=5]
+[ext_resource path="res://CRTShader.shader" type="Shader" id=6]
+
+[sub_resource type="AtlasTexture" id=9]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 120, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=10]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 140, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=11]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 160, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=12]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 180, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=13]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 200, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=14]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 220, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=15]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 240, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=16]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 260, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=17]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 0, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=18]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 20, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=19]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 40, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=20]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 60, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=21]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 80, 0, 20, 24 )
+
+[sub_resource type="AtlasTexture" id=22]
+flags = 4
+atlas = ExtResource( 4 )
+region = Rect2( 100, 0, 20, 24 )
+
+[sub_resource type="SpriteFrames" id=23]
+animations = [ {
+"frames": [ SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 16 ) ],
+"loop": true,
+"name": "idle",
+"speed": 5.0
+}, {
+"frames": [ SubResource( 17 ), SubResource( 18 ), SubResource( 19 ), SubResource( 20 ), SubResource( 21 ), SubResource( 22 ) ],
+"loop": true,
+"name": "run",
+"speed": 5.0
+} ]
[sub_resource type="Shader" id=1]
code = "shader_type canvas_item;
@@ -97,91 +183,18 @@ shader_param/size_screen = 600.0
shader_param/scanline_alpha = 0.9
shader_param/lines_velocity = 30.0
-[sub_resource type="Shader" id=7]
-code = "shader_type canvas_item;
-
-uniform float screen_width = 1024;
-uniform float screen_height = 600;
-
-// Curvature
-uniform float BarrelPower =1.1;
-// Color bleeding
-uniform float color_bleeding = 1.2;
-uniform float bleeding_range_x = 3;
-uniform float bleeding_range_y = 3;
-// Scanline
-uniform float lines_distance = 4.0;
-uniform float scan_size = 2.0;
-uniform float scanline_alpha = 0.9;
-uniform float lines_velocity = 30.0;
-vec2 distort(vec2 p)
-{
-
- float angle = p.y / p.x;
- float theta = atan(p.y,p.x);
- float radius = pow(length(p), BarrelPower);
-
- p.x = radius * cos(theta);
- p.y = radius * sin(theta);
-
- return 0.5 * (p + vec2(1.0,1.0));
-}
-
-void get_color_bleeding(inout vec4 current_color,inout vec4 color_left){
-
- current_color = current_color*vec4(color_bleeding,0.5,0.25,1);
- color_left = color_left*vec4(0.25,0.5,color_bleeding,1);
-}
-
-void get_color_scanline(vec2 uv,inout vec4 c,float time){
- float line_row = floor((uv.y * screen_height/scan_size) + mod(time*lines_velocity, lines_distance));
-
- float n = 1.0 - ceil((mod(line_row,lines_distance)/lines_distance));
-
- c = c - n*c*(1.0 - scanline_alpha);
- c.a = 1.0;
-
-}
-
-void fragment()
-{
-
-vec2 xy = SCREEN_UV * 2.0;
-xy.x -= 1.0;
-xy.y -= 1.0;
-
-float d = length(xy);
-if(d < 1.5){
- xy = distort(xy);
-}
-else{
- xy = SCREEN_UV;
-}
-
-float pixel_size_x = 1.0/screen_width*bleeding_range_x;
-float pixel_size_y = 1.0/screen_height*bleeding_range_y;
-vec4 color_left = texture(SCREEN_TEXTURE,xy - vec2(pixel_size_x, pixel_size_y));
-vec4 current_color = texture(SCREEN_TEXTURE,xy);
-get_color_bleeding(current_color,color_left);
-vec4 c = current_color+color_left;
-get_color_scanline(xy,c,TIME);
-COLOR = c;
-
-}
-"
-
[sub_resource type="ShaderMaterial" id=8]
-shader = SubResource( 7 )
+shader = ExtResource( 6 )
shader_param/screen_width = 1024.0
shader_param/screen_height = 600.0
-shader_param/BarrelPower = 1.1
-shader_param/color_bleeding = 1.2
-shader_param/bleeding_range_x = 3.0
-shader_param/bleeding_range_y = 3.0
-shader_param/lines_distance = 4.0
+shader_param/BarrelPower = 1.12
+shader_param/color_bleeding = 2.0
+shader_param/bleeding_range_x = 2.0
+shader_param/bleeding_range_y = 2.0
+shader_param/lines_distance = 3.0
shader_param/scan_size = 2.0
shader_param/scanline_alpha = 0.9
-shader_param/lines_velocity = 30.0
+shader_param/lines_velocity = 40.0
[node name="Control" type="Control"]
margin_right = 40.0
@@ -191,9 +204,19 @@ margin_bottom = 40.0
texture = ExtResource( 1 )
centered = false
+[node name="Character" type="AnimatedSprite" parent="."]
+position = Vector2( 95.038, 473.203 )
+scale = Vector2( 3.77667, 3.77667 )
+frames = SubResource( 23 )
+animation = "idle"
+script = ExtResource( 5 )
+
[node name="Shaders" type="Control" parent="."]
margin_right = 40.0
margin_bottom = 40.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
[node name="Curvature" type="TextureRect" parent="Shaders"]
visible = false
@@ -234,3 +257,6 @@ margin_right = 1082.0
margin_bottom = 812.0
rect_scale = Vector2( 0.946396, 0.738916 )
texture = ExtResource( 3 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
diff --git a/character.png b/character.png
new file mode 100644
index 0000000..bcb6cb0
--- /dev/null
+++ b/character.png
Binary files differ
diff --git a/character.png.import b/character.png.import
new file mode 100644
index 0000000..a43cd0d
--- /dev/null
+++ b/character.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://character.png"
+dest_files=[ "res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/godot3/default_env.tres b/default_env.tres
index 0f8c712..0f8c712 100644
--- a/godot3/default_env.tres
+++ b/default_env.tres
diff --git a/godot2/CRTDisplayShader.shd b/godot2/CRTDisplayShader.shd
deleted file mode 100644
index 6b0c8a3..0000000
--- a/godot2/CRTDisplayShader.shd
+++ /dev/null
Binary files differ
diff --git a/godot2/CRTViewportDisplay/CRT.scn b/godot2/CRTViewportDisplay/CRT.scn
deleted file mode 100644
index caf3a18..0000000
--- a/godot2/CRTViewportDisplay/CRT.scn
+++ /dev/null
Binary files differ
diff --git a/godot2/CRTViewportDisplay/CRTDisplayShader.shd b/godot2/CRTViewportDisplay/CRTDisplayShader.shd
deleted file mode 100644
index 4ca4ed4..0000000
--- a/godot2/CRTViewportDisplay/CRTDisplayShader.shd
+++ /dev/null
Binary files differ
diff --git a/godot2/CRTViewportDisplay/CRTFrame.png b/godot2/CRTViewportDisplay/CRTFrame.png
deleted file mode 100644
index 9c5ca46..0000000
--- a/godot2/CRTViewportDisplay/CRTFrame.png
+++ /dev/null
Binary files differ
diff --git a/godot2/ShaderTestsScreen.scn b/godot2/ShaderTestsScreen.scn
deleted file mode 100644
index 2624d54..0000000
--- a/godot2/ShaderTestsScreen.scn
+++ /dev/null
Binary files differ
diff --git a/godot2/engine.cfg b/godot2/engine.cfg
deleted file mode 100644
index 44f4999..0000000
--- a/godot2/engine.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[application]
-
-name="ShaderTest"
-main_scene="res://ShaderTestsScreen.scn"
-icon="res://icon.png"
diff --git a/godot2/icon.png b/godot2/icon.png
deleted file mode 100644
index c019ef6..0000000
--- a/godot2/icon.png
+++ /dev/null
Binary files differ
diff --git a/godot2/icon.png.flags b/godot2/icon.png.flags
deleted file mode 100644
index 5130fd1..0000000
--- a/godot2/icon.png.flags
+++ /dev/null
@@ -1 +0,0 @@
-gen_mipmaps=false
diff --git a/godot2/sample.png b/godot2/sample.png
deleted file mode 100644
index 200fbf8..0000000
--- a/godot2/sample.png
+++ /dev/null
Binary files differ
diff --git a/godot2/white.png b/godot2/white.png
deleted file mode 100644
index 573faa3..0000000
--- a/godot2/white.png
+++ /dev/null
Binary files differ
diff --git a/godot3/CRTFrame.png b/godot3/CRTFrame.png
deleted file mode 100644
index 9c5ca46..0000000
--- a/godot3/CRTFrame.png
+++ /dev/null
Binary files differ
diff --git a/godot3/sample.png b/godot3/sample.png
deleted file mode 100644
index 200fbf8..0000000
--- a/godot3/sample.png
+++ /dev/null
Binary files differ
diff --git a/godot3/white.png b/godot3/white.png
deleted file mode 100644
index 573faa3..0000000
--- a/godot3/white.png
+++ /dev/null
Binary files differ
diff --git a/godot3/icon.png b/icon.png
index a0b64ee..a0b64ee 100644
--- a/godot3/icon.png
+++ b/icon.png
Binary files differ
diff --git a/godot3/icon.png.import b/icon.png.import
index 96cbf46..96cbf46 100644
--- a/godot3/icon.png.import
+++ b/icon.png.import
diff --git a/godot3/project.godot b/project.godot
index 78aa4cf..ddfcecb 100644
--- a/godot3/project.godot
+++ b/project.godot
@@ -15,9 +15,9 @@ _global_script_class_icons={
[application]
-config/name="ShaderTest"
+config/name="CRTShader"
run/main_scene="res://ShaderTestScreen.tscn"
-config/icon="res://icon.png"
+config/icon="res://shaderIcon.png"
[rendering]
diff --git a/godot3/sample.png.import b/sample.png.import
index 30ae8b5..30ae8b5 100644
--- a/godot3/sample.png.import
+++ b/sample.png.import
diff --git a/shaderIcon.png b/shaderIcon.png
new file mode 100644
index 0000000..a39bb38
--- /dev/null
+++ b/shaderIcon.png
Binary files differ
diff --git a/shaderIcon.png.import b/shaderIcon.png.import
new file mode 100644
index 0000000..763f604
--- /dev/null
+++ b/shaderIcon.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://shaderIcon.png"
+dest_files=[ "res://.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/godot2/CRTViewportDisplay/white.png b/white.png
index 573faa3..573faa3 100644
--- a/godot2/CRTViewportDisplay/white.png
+++ b/white.png
Binary files differ
diff --git a/godot3/white.png.import b/white.png.import
index b7b4631..b7b4631 100644
--- a/godot3/white.png.import
+++ b/white.png.import
diff --git a/withshader.png.import b/withshader.png.import
new file mode 100644
index 0000000..5660359
--- /dev/null
+++ b/withshader.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://withshader.png"
+dest_files=[ "res://.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0