summaryrefslogtreecommitdiff
path: root/godot2/CRTDisplayShader.shd
blob: 6b0c8a3a075d1c924220436b33a60da8e09b56a2 (plain)
ofshex dumpascii
0000 52 53 52 43 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 11 00 00 00 43 61 6e 76 RSRC........................Canv
0020 61 73 49 74 65 6d 53 68 61 64 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 asItemShader....................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 72 65 73 6f 75 72 63 65 2f 6e 61 .....................resource/na
0080 6d 65 00 06 00 00 00 5f 63 6f 64 65 00 0e 00 00 00 73 63 72 69 70 74 2f 73 63 72 69 70 74 00 00 me....._code.....script/script..
00a0 00 00 00 01 00 00 00 1b 00 00 00 72 65 73 3a 2f 2f 43 52 54 44 69 73 70 6c 61 79 53 68 61 64 65 ...........res://CRTDisplayShade
00c0 72 2e 73 68 64 00 ce 00 00 00 00 00 00 00 11 00 00 00 43 61 6e 76 61 73 49 74 65 6d 53 68 61 64 r.shd.............CanvasItemShad
00e0 65 72 00 01 00 00 00 01 00 00 00 1a 00 00 00 06 00 00 00 05 00 00 00 0d 00 00 00 66 72 61 67 6d er.........................fragm
0100 65 6e 74 5f 6f 66 73 00 03 00 00 00 00 00 00 00 05 00 00 00 09 00 00 00 66 72 61 67 6d 65 6e 74 ent_ofs.................fragment
0120 00 05 00 00 00 aa 06 00 00 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 73 63 72 65 65 6e 5f 77 69 .........uniform.float.screen_wi
0140 64 74 68 20 3d 20 31 30 32 34 3b 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 73 63 72 65 65 6e dth.=.1024;.uniform.float.screen
0160 5f 68 65 69 67 68 74 20 3d 20 36 30 30 3b 0a 2f 2f 20 43 75 72 76 61 74 75 72 65 0a 75 6e 69 66 _height.=.600;.//.Curvature.unif
0180 6f 72 6d 20 66 6c 6f 61 74 20 42 61 72 72 65 6c 50 6f 77 65 72 20 3d 20 31 2e 31 3b 0a 2f 2f 20 orm.float.BarrelPower.=.1.1;.//.
01a0 43 6f 6c 6f 72 20 62 6c 65 65 64 69 6e 67 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 63 6f 6c Color.bleeding.uniform.float.col
01c0 6f 72 5f 62 6c 65 65 64 69 6e 67 20 3d 20 31 2e 32 3b 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 or_bleeding.=.1.2;.uniform.float
01e0 20 62 6c 65 65 64 69 6e 67 5f 72 61 6e 67 65 5f 78 20 3d 20 33 3b 0a 75 6e 69 66 6f 72 6d 20 66 .bleeding_range_x.=.3;.uniform.f
0200 6c 6f 61 74 20 62 6c 65 65 64 69 6e 67 5f 72 61 6e 67 65 5f 79 20 3d 20 33 3b 0a 2f 2f 20 53 63 loat.bleeding_range_y.=.3;.//.Sc
0220 61 6e 6c 69 6e 65 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 6c 69 6e 65 73 5f 64 69 73 74 61 anline.uniform.float.lines_dista
0240 6e 63 65 20 3d 20 33 2e 30 3b 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 73 63 61 6e 5f 73 69 nce.=.3.0;.uniform.float.scan_si
0260 7a 65 20 3d 20 31 2e 30 3b 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 73 63 61 6e 6c 69 6e 65 ze.=.1.0;.uniform.float.scanline
0280 5f 61 6c 70 68 61 20 3d 20 30 2e 39 3b 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 6c 69 6e 65 _alpha.=.0.9;.uniform.float.line
02a0 73 5f 76 65 6c 6f 63 69 74 79 20 3d 20 2d 2e 30 3b 0a 0a 2f 2f 20 53 63 61 6e 6c 69 6e 65 20 66 s_velocity.=.-.0;..//.Scanline.f
02c0 75 6e 63 74 69 6f 6e 0a 76 65 63 34 20 67 65 74 5f 63 6f 6c 6f 72 5f 73 63 61 6e 6c 69 6e 65 28 unction.vec4.get_color_scanline(
02e0 76 65 63 32 20 75 76 2c 20 76 65 63 34 20 63 29 7b 0a 09 66 6c 6f 61 74 20 6c 69 6e 65 5f 72 6f vec2.uv,.vec4.c){..float.line_ro
0300 77 20 3d 20 66 6c 6f 6f 72 28 28 75 76 2e 79 20 2a 20 73 63 72 65 65 6e 5f 68 65 69 67 68 74 2f w.=.floor((uv.y.*.screen_height/
0320 73 63 61 6e 5f 73 69 7a 65 29 20 2b 20 6d 6f 64 28 54 49 4d 45 2a 6c 69 6e 65 73 5f 76 65 6c 6f scan_size).+.mod(TIME*lines_velo
0340 63 69 74 79 2c 20 6c 69 6e 65 73 5f 64 69 73 74 61 6e 63 65 29 29 3b 0a 0a 09 66 6c 6f 61 74 20 city,.lines_distance));...float.
0360 6e 20 3d 20 31 2e 30 20 2d 20 63 65 69 6c 28 28 6d 6f 64 28 6c 69 6e 65 5f 72 6f 77 2c 6c 69 6e n.=.1.0.-.ceil((mod(line_row,lin
0380 65 73 5f 64 69 73 74 61 6e 63 65 29 2f 6c 69 6e 65 73 5f 64 69 73 74 61 6e 63 65 29 29 3b 0a 0a es_distance)/lines_distance));..
03a0 09 63 20 3d 20 63 20 2d 20 6e 2a 63 2a 28 31 20 2d 20 73 63 61 6e 6c 69 6e 65 5f 61 6c 70 68 61 .c.=.c.-.n*c*(1.-.scanline_alpha
03c0 29 3b 0a 09 63 2e 61 20 3d 20 31 3b 0a 09 72 65 74 75 72 6e 20 63 3b 0a 7d 0a 0a 2f 2f 20 43 6f );..c.a.=.1;..return.c;.}..//.Co
03e0 6c 6f 72 20 62 6c 65 65 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 0a 0a 76 65 63 34 20 67 65 74 5f lor.bleeding.function..vec4.get_
0400 63 6f 6c 6f 72 5f 62 6c 65 65 64 69 6e 67 28 76 65 63 32 20 75 76 29 7b 0a 09 66 6c 6f 61 74 20 color_bleeding(vec2.uv){..float.
0420 70 69 78 65 6c 5f 73 69 7a 65 5f 78 20 3d 20 31 2f 73 63 72 65 65 6e 5f 77 69 64 74 68 2a 62 6c pixel_size_x.=.1/screen_width*bl
0440 65 65 64 69 6e 67 5f 72 61 6e 67 65 5f 78 3b 0a 09 66 6c 6f 61 74 20 70 69 78 65 6c 5f 73 69 7a eeding_range_x;..float.pixel_siz
0460 65 5f 79 20 3d 20 31 2f 73 63 72 65 65 6e 5f 68 65 69 67 68 74 2a 62 6c 65 65 64 69 6e 67 5f 72 e_y.=.1/screen_height*bleeding_r
0480 61 6e 67 65 5f 79 3b 0a 09 76 65 63 34 20 63 6f 6c 6f 72 5f 6c 65 66 74 20 3d 20 76 65 63 34 28 ange_y;..vec4.color_left.=.vec4(
04a0 74 65 78 73 63 72 65 65 6e 28 75 76 20 2d 20 76 65 63 32 28 70 69 78 65 6c 5f 73 69 7a 65 5f 78 texscreen(uv.-.vec2(pixel_size_x
04c0 2c 20 70 69 78 65 6c 5f 73 69 7a 65 5f 79 29 29 2c 31 29 3b 0a 09 76 65 63 34 20 63 75 72 72 65 ,.pixel_size_y)),1);..vec4.curre
04e0 6e 74 5f 63 6f 6c 6f 72 20 3d 20 76 65 63 34 28 74 65 78 73 63 72 65 65 6e 28 75 76 29 2c 31 29 nt_color.=.vec4(texscreen(uv),1)
0500 3b 0a 09 0a 09 63 75 72 72 65 6e 74 5f 63 6f 6c 6f 72 20 3d 20 63 75 72 72 65 6e 74 5f 63 6f 6c ;....current_color.=.current_col
0520 6f 72 2a 76 65 63 34 28 63 6f 6c 6f 72 5f 62 6c 65 65 64 69 6e 67 2c 30 2e 35 2c 31 2d 63 6f 6c or*vec4(color_bleeding,0.5,1-col
0540 6f 72 5f 62 6c 65 65 64 69 6e 67 2c 31 29 3b 0a 09 63 6f 6c 6f 72 5f 6c 65 66 74 20 3d 20 63 6f or_bleeding,1);..color_left.=.co
0560 6c 6f 72 5f 6c 65 66 74 2a 76 65 63 34 28 31 2d 63 6f 6c 6f 72 5f 62 6c 65 65 64 69 6e 67 2c 30 lor_left*vec4(1-color_bleeding,0
0580 2e 35 2c 63 6f 6c 6f 72 5f 62 6c 65 65 64 69 6e 67 2c 31 29 3b 0a 09 0a 09 72 65 74 75 72 6e 20 .5,color_bleeding,1);....return.
05a0 28 63 75 72 72 65 6e 74 5f 63 6f 6c 6f 72 20 2b 20 63 6f 6c 6f 72 5f 6c 65 66 74 29 3b 0a 7d 0a (current_color.+.color_left);.}.
05c0 0a 0a 2f 2f 20 43 75 72 76 61 74 75 72 65 20 66 75 6e 63 74 69 6f 6e 0a 76 65 63 32 20 64 69 73 ..//.Curvature.function.vec2.dis
05e0 74 6f 72 74 28 76 65 63 32 20 70 29 20 7b 0a 0a 09 66 6c 6f 61 74 20 61 6e 67 6c 65 20 3d 20 70 tort(vec2.p).{...float.angle.=.p
0600 2e 79 20 2f 20 70 2e 78 3b 0a 09 66 6c 6f 61 74 20 74 68 65 74 61 20 3d 20 61 74 61 6e 32 28 70 .y./.p.x;..float.theta.=.atan2(p
0620 2e 79 2c 70 2e 78 29 3b 0a 09 66 6c 6f 61 74 20 72 61 64 69 75 73 20 3d 20 6c 65 6e 67 74 68 28 .y,p.x);..float.radius.=.length(
0640 70 29 3b 0a 09 72 61 64 69 75 73 20 3d 20 70 6f 77 28 72 61 64 69 75 73 2c 20 42 61 72 72 65 6c p);..radius.=.pow(radius,.Barrel
0660 50 6f 77 65 72 29 3b 0a 09 0a 09 70 2e 78 20 3d 20 72 61 64 69 75 73 20 2a 20 63 6f 73 28 74 68 Power);....p.x.=.radius.*.cos(th
0680 65 74 61 29 3b 0a 09 70 2e 79 20 3d 20 72 61 64 69 75 73 20 2a 20 73 69 6e 28 74 68 65 74 61 29 eta);..p.y.=.radius.*.sin(theta)
06a0 3b 0a 09 0a 09 72 65 74 75 72 6e 20 30 2e 35 20 2a 20 28 70 20 2b 20 76 65 63 32 28 31 2e 30 2c ;....return.0.5.*.(p.+.vec2(1.0,
06c0 31 2e 30 29 29 3b 0a 7d 0a 0a 2f 2f 20 53 65 74 75 70 20 63 75 72 76 61 74 75 72 65 2c 20 74 68 1.0));.}..//.Setup.curvature,.th
06e0 61 6e 20 43 6f 6c 6f 72 20 62 6c 65 65 64 69 6e 67 20 61 6e 64 20 66 69 6e 61 6c 6c 79 20 73 63 an.Color.bleeding.and.finally.sc
0700 61 6e 6c 69 6e 65 0a 76 65 63 32 20 78 79 20 3d 20 32 2a 20 53 43 52 45 45 4e 5f 55 56 3b 0a 78 anline.vec2.xy.=.2*.SCREEN_UV;.x
0720 79 2e 78 20 3d 20 78 79 2e 78 2d 31 3b 0a 78 79 2e 79 20 3d 20 78 79 2e 79 2d 31 3b 0a 0a 66 6c y.x.=.xy.x-1;.xy.y.=.xy.y-1;..fl
0740 6f 61 74 20 64 20 3d 20 6c 65 6e 67 74 68 28 78 79 29 3b 0a 69 66 28 64 20 3c 20 31 2e 35 29 7b oat.d.=.length(xy);.if(d.<.1.5){
0760 0a 09 78 79 20 3d 20 64 69 73 74 6f 72 74 28 78 79 29 3b 0a 7d 0a 65 6c 73 65 7b 0a 09 78 79 20 ..xy.=.distort(xy);.}.else{..xy.
0780 3d 20 53 43 52 45 45 4e 5f 55 56 3b 0a 7d 0a 0a 76 65 63 34 20 63 20 3d 20 67 65 74 5f 63 6f 6c =.SCREEN_UV;.}..vec4.c.=.get_col
07a0 6f 72 5f 62 6c 65 65 64 69 6e 67 28 78 79 29 3b 0a 43 4f 4c 4f 52 20 3d 20 67 65 74 5f 63 6f 6c or_bleeding(xy);.COLOR.=.get_col
07c0 6f 72 5f 73 63 61 6e 6c 69 6e 65 28 78 79 2c 63 29 3b 00 05 00 00 00 0b 00 00 00 76 65 72 74 65 or_scanline(xy,c);.........verte
07e0 78 5f 6f 66 73 00 03 00 00 00 00 00 00 00 05 00 00 00 07 00 00 00 76 65 72 74 65 78 00 05 00 00 x_ofs.................vertex....
0800 00 01 00 00 00 00 05 00 00 00 0a 00 00 00 6c 69 67 68 74 5f 6f 66 73 00 03 00 00 00 00 00 00 00 ..............light_ofs.........
0820 05 00 00 00 06 00 00 00 6c 69 67 68 74 00 05 00 00 00 01 00 00 00 00 52 53 52 43 ........light..........RSRC