diff options
-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) | bin | 18745 -> 18745 bytes | |||
-rw-r--r-- | .import/character.png-7a996d3b758d22c506b76a7c15391284.md5 | 3 | ||||
-rw-r--r-- | .import/character.png-7a996d3b758d22c506b76a7c15391284.stex | bin | 0 -> 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) | bin | 3546 -> 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) | bin | 254998 -> 254998 bytes | |||
-rw-r--r-- | .import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.md5 | 3 | ||||
-rw-r--r-- | .import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.stex | bin | 0 -> 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) | bin | 198 -> 198 bytes | |||
-rw-r--r-- | .import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.md5 | 3 | ||||
-rw-r--r-- | .import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.stex | bin | 0 -> 786286 bytes | |||
-rw-r--r-- | CRTFrame.png (renamed from godot2/CRTFrame.png) | bin | 17559 -> 17559 bytes | |||
-rw-r--r-- | CRTFrame.png.import (renamed from godot3/CRTFrame.png.import) | 0 | ||||
-rw-r--r-- | CRTShader.shader | 65 | ||||
-rw-r--r-- | Character.gd | 22 | ||||
-rw-r--r-- | README.md | 26 | ||||
-rw-r--r-- | ShaderTestScreen.tscn (renamed from godot3/ShaderTestScreen.tscn) | 188 | ||||
-rw-r--r-- | character.png | bin | 0 -> 3657 bytes | |||
-rw-r--r-- | character.png.import | 34 | ||||
-rw-r--r-- | default_env.tres (renamed from godot3/default_env.tres) | 0 | ||||
-rw-r--r-- | godot2/CRTDisplayShader.shd | bin | 2107 -> 0 bytes | |||
-rw-r--r-- | godot2/CRTViewportDisplay/CRT.scn | bin | 3540 -> 0 bytes | |||
-rw-r--r-- | godot2/CRTViewportDisplay/CRTDisplayShader.shd | bin | 2126 -> 0 bytes | |||
-rw-r--r-- | godot2/CRTViewportDisplay/CRTFrame.png | bin | 17559 -> 0 bytes | |||
-rw-r--r-- | godot2/ShaderTestsScreen.scn | bin | 4209 -> 0 bytes | |||
-rw-r--r-- | godot2/engine.cfg | 5 | ||||
-rw-r--r-- | godot2/icon.png | bin | 2736 -> 0 bytes | |||
-rw-r--r-- | godot2/icon.png.flags | 1 | ||||
-rw-r--r-- | godot2/sample.png | bin | 254953 -> 0 bytes | |||
-rw-r--r-- | godot2/white.png | bin | 174 -> 0 bytes | |||
-rw-r--r-- | godot3/CRTFrame.png | bin | 17559 -> 0 bytes | |||
-rw-r--r-- | godot3/sample.png | bin | 254953 -> 0 bytes | |||
-rw-r--r-- | godot3/white.png | bin | 174 -> 0 bytes | |||
-rw-r--r-- | icon.png (renamed from godot3/icon.png) | bin | 3498 -> 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.png | bin | 0 -> 273950 bytes | |||
-rw-r--r-- | shaderIcon.png.import | 34 | ||||
-rw-r--r-- | white.png (renamed from godot2/CRTViewportDisplay/white.png) | bin | 174 -> 174 bytes | |||
-rw-r--r-- | white.png.import (renamed from godot3/white.png.import) | 0 | ||||
-rw-r--r-- | withshader.png.import | 34 |
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 Binary files differindex c5c7555..c5c7555 100644 --- a/godot3/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.stex +++ b/.import/CRTFrame.png-96837578d803d46c371247267c1fa407.stex 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 Binary files differnew file mode 100644 index 0000000..adcc8b1 --- /dev/null +++ b/.import/character.png-7a996d3b758d22c506b76a7c15391284.stex 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 Binary files differindex 35d087e..35d087e 100644 --- a/godot3/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex +++ b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex 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 Binary files differindex bb2cbef..bb2cbef 100644 --- a/godot3/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.stex +++ b/.import/sample.png-e83d904df67be35a3470a03c20e2b3c2.stex 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 Binary files differnew file mode 100644 index 0000000..244a982 --- /dev/null +++ b/.import/shaderIcon.png-500a326ecb6c030754b5302e60a07b3b.stex 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 Binary files differindex fb1c958..fb1c958 100644 --- a/godot3/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.stex +++ b/.import/white.png-d8533361663a5f8fe5200e5b5262a62d.stex 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 Binary files differnew file mode 100644 index 0000000..1b3968e --- /dev/null +++ b/.import/withshader.png-9db2b2214c4e6972799a91a8b684c9db.stex diff --git a/godot2/CRTFrame.png b/CRTFrame.png Binary files differindex 9c5ca46..9c5ca46 100644 --- a/godot2/CRTFrame.png +++ b/CRTFrame.png 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) @@ -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 Binary files differnew file mode 100644 index 0000000..bcb6cb0 --- /dev/null +++ b/character.png 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 Binary files differdeleted file mode 100644 index 6b0c8a3..0000000 --- a/godot2/CRTDisplayShader.shd +++ /dev/null diff --git a/godot2/CRTViewportDisplay/CRT.scn b/godot2/CRTViewportDisplay/CRT.scn Binary files differdeleted file mode 100644 index caf3a18..0000000 --- a/godot2/CRTViewportDisplay/CRT.scn +++ /dev/null diff --git a/godot2/CRTViewportDisplay/CRTDisplayShader.shd b/godot2/CRTViewportDisplay/CRTDisplayShader.shd Binary files differdeleted file mode 100644 index 4ca4ed4..0000000 --- a/godot2/CRTViewportDisplay/CRTDisplayShader.shd +++ /dev/null diff --git a/godot2/CRTViewportDisplay/CRTFrame.png b/godot2/CRTViewportDisplay/CRTFrame.png Binary files differdeleted file mode 100644 index 9c5ca46..0000000 --- a/godot2/CRTViewportDisplay/CRTFrame.png +++ /dev/null diff --git a/godot2/ShaderTestsScreen.scn b/godot2/ShaderTestsScreen.scn Binary files differdeleted file mode 100644 index 2624d54..0000000 --- a/godot2/ShaderTestsScreen.scn +++ /dev/null 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 Binary files differdeleted file mode 100644 index c019ef6..0000000 --- a/godot2/icon.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index 200fbf8..0000000 --- a/godot2/sample.png +++ /dev/null diff --git a/godot2/white.png b/godot2/white.png Binary files differdeleted file mode 100644 index 573faa3..0000000 --- a/godot2/white.png +++ /dev/null diff --git a/godot3/CRTFrame.png b/godot3/CRTFrame.png Binary files differdeleted file mode 100644 index 9c5ca46..0000000 --- a/godot3/CRTFrame.png +++ /dev/null diff --git a/godot3/sample.png b/godot3/sample.png Binary files differdeleted file mode 100644 index 200fbf8..0000000 --- a/godot3/sample.png +++ /dev/null diff --git a/godot3/white.png b/godot3/white.png Binary files differdeleted file mode 100644 index 573faa3..0000000 --- a/godot3/white.png +++ /dev/null diff --git a/godot3/icon.png b/icon.png Binary files differindex a0b64ee..a0b64ee 100644 --- a/godot3/icon.png +++ b/icon.png 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 Binary files differnew file mode 100644 index 0000000..a39bb38 --- /dev/null +++ b/shaderIcon.png 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 Binary files differindex 573faa3..573faa3 100644 --- a/godot2/CRTViewportDisplay/white.png +++ b/white.png 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 |