summaryrefslogtreecommitdiff
path: root/godot2/CRTViewportDisplay/CRTDisplayShader.shd
blob: 4ca4ed4997eed78abe7e2b026488423846b212d1 (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 2e 00 00 00 72 65 73 3a 2f 2f 43 52 54 56 69 65 77 70 6f 72 74 44 69 73 70 ...........res://CRTViewportDisp
00c0 6c 61 79 2f 43 52 54 44 69 73 70 6c 61 79 53 68 61 64 65 72 2e 73 68 64 00 e1 00 00 00 00 00 00 lay/CRTDisplayShader.shd........
00e0 00 11 00 00 00 43 61 6e 76 61 73 49 74 65 6d 53 68 61 64 65 72 00 01 00 00 00 01 00 00 00 1a 00 .....CanvasItemShader...........
0100 00 00 06 00 00 00 05 00 00 00 0d 00 00 00 66 72 61 67 6d 65 6e 74 5f 6f 66 73 00 03 00 00 00 00 ..............fragment_ofs......
0120 00 00 00 05 00 00 00 09 00 00 00 66 72 61 67 6d 65 6e 74 00 05 00 00 00 aa 06 00 00 75 6e 69 66 ...........fragment.........unif
0140 6f 72 6d 20 66 6c 6f 61 74 20 73 63 72 65 65 6e 5f 77 69 64 74 68 20 3d 20 31 30 32 34 3b 0a 75 orm.float.screen_width.=.1024;.u
0160 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 73 63 72 65 65 6e 5f 68 65 69 67 68 74 20 3d 20 36 30 30 niform.float.screen_height.=.600
0180 3b 0a 2f 2f 20 43 75 72 76 61 74 75 72 65 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 42 61 72 ;.//.Curvature.uniform.float.Bar
01a0 72 65 6c 50 6f 77 65 72 20 3d 20 31 2e 31 3b 0a 2f 2f 20 43 6f 6c 6f 72 20 62 6c 65 65 64 69 6e relPower.=.1.1;.//.Color.bleedin
01c0 67 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 63 6f 6c 6f 72 5f 62 6c 65 65 64 69 6e 67 20 3d g.uniform.float.color_bleeding.=
01e0 20 31 2e 32 3b 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 62 6c 65 65 64 69 6e 67 5f 72 61 6e .1.2;.uniform.float.bleeding_ran
0200 67 65 5f 78 20 3d 20 33 3b 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 62 6c 65 65 64 69 6e 67 ge_x.=.3;.uniform.float.bleeding
0220 5f 72 61 6e 67 65 5f 79 20 3d 20 33 3b 0a 2f 2f 20 53 63 61 6e 6c 69 6e 65 0a 75 6e 69 66 6f 72 _range_y.=.3;.//.Scanline.unifor
0240 6d 20 66 6c 6f 61 74 20 6c 69 6e 65 73 5f 64 69 73 74 61 6e 63 65 20 3d 20 33 2e 30 3b 0a 75 6e m.float.lines_distance.=.3.0;.un
0260 69 66 6f 72 6d 20 66 6c 6f 61 74 20 73 63 61 6e 5f 73 69 7a 65 20 3d 20 31 2e 30 3b 0a 75 6e 69 iform.float.scan_size.=.1.0;.uni
0280 66 6f 72 6d 20 66 6c 6f 61 74 20 73 63 61 6e 6c 69 6e 65 5f 61 6c 70 68 61 20 3d 20 30 2e 39 3b form.float.scanline_alpha.=.0.9;
02a0 0a 75 6e 69 66 6f 72 6d 20 66 6c 6f 61 74 20 6c 69 6e 65 73 5f 76 65 6c 6f 63 69 74 79 20 3d 20 .uniform.float.lines_velocity.=.
02c0 2d 2e 30 3b 0a 0a 2f 2f 20 53 63 61 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 0a 76 65 63 34 20 -.0;..//.Scanline.function.vec4.
02e0 67 65 74 5f 63 6f 6c 6f 72 5f 73 63 61 6e 6c 69 6e 65 28 76 65 63 32 20 75 76 2c 20 76 65 63 34 get_color_scanline(vec2.uv,.vec4
0300 20 63 29 7b 0a 09 66 6c 6f 61 74 20 6c 69 6e 65 5f 72 6f 77 20 3d 20 66 6c 6f 6f 72 28 28 75 76 .c){..float.line_row.=.floor((uv
0320 2e 79 20 2a 20 73 63 72 65 65 6e 5f 68 65 69 67 68 74 2f 73 63 61 6e 5f 73 69 7a 65 29 20 2b 20 .y.*.screen_height/scan_size).+.
0340 6d 6f 64 28 54 49 4d 45 2a 6c 69 6e 65 73 5f 76 65 6c 6f 63 69 74 79 2c 20 6c 69 6e 65 73 5f 64 mod(TIME*lines_velocity,.lines_d
0360 69 73 74 61 6e 63 65 29 29 3b 0a 0a 09 66 6c 6f 61 74 20 6e 20 3d 20 31 2e 30 20 2d 20 63 65 69 istance));...float.n.=.1.0.-.cei
0380 6c 28 28 6d 6f 64 28 6c 69 6e 65 5f 72 6f 77 2c 6c 69 6e 65 73 5f 64 69 73 74 61 6e 63 65 29 2f l((mod(line_row,lines_distance)/
03a0 6c 69 6e 65 73 5f 64 69 73 74 61 6e 63 65 29 29 3b 0a 0a 09 63 20 3d 20 63 20 2d 20 6e 2a 63 2a lines_distance));...c.=.c.-.n*c*
03c0 28 31 20 2d 20 73 63 61 6e 6c 69 6e 65 5f 61 6c 70 68 61 29 3b 0a 09 63 2e 61 20 3d 20 31 3b 0a (1.-.scanline_alpha);..c.a.=.1;.
03e0 09 72 65 74 75 72 6e 20 63 3b 0a 7d 0a 0a 2f 2f 20 43 6f 6c 6f 72 20 62 6c 65 65 64 69 6e 67 20 .return.c;.}..//.Color.bleeding.
0400 66 75 6e 63 74 69 6f 6e 0a 0a 76 65 63 34 20 67 65 74 5f 63 6f 6c 6f 72 5f 62 6c 65 65 64 69 6e function..vec4.get_color_bleedin
0420 67 28 76 65 63 32 20 75 76 29 7b 0a 09 66 6c 6f 61 74 20 70 69 78 65 6c 5f 73 69 7a 65 5f 78 20 g(vec2.uv){..float.pixel_size_x.
0440 3d 20 31 2f 73 63 72 65 65 6e 5f 77 69 64 74 68 2a 62 6c 65 65 64 69 6e 67 5f 72 61 6e 67 65 5f =.1/screen_width*bleeding_range_
0460 78 3b 0a 09 66 6c 6f 61 74 20 70 69 78 65 6c 5f 73 69 7a 65 5f 79 20 3d 20 31 2f 73 63 72 65 65 x;..float.pixel_size_y.=.1/scree
0480 6e 5f 68 65 69 67 68 74 2a 62 6c 65 65 64 69 6e 67 5f 72 61 6e 67 65 5f 79 3b 0a 09 76 65 63 34 n_height*bleeding_range_y;..vec4
04a0 20 63 6f 6c 6f 72 5f 6c 65 66 74 20 3d 20 76 65 63 34 28 74 65 78 73 63 72 65 65 6e 28 75 76 20 .color_left.=.vec4(texscreen(uv.
04c0 2d 20 76 65 63 32 28 70 69 78 65 6c 5f 73 69 7a 65 5f 78 2c 20 70 69 78 65 6c 5f 73 69 7a 65 5f -.vec2(pixel_size_x,.pixel_size_
04e0 79 29 29 2c 31 29 3b 0a 09 76 65 63 34 20 63 75 72 72 65 6e 74 5f 63 6f 6c 6f 72 20 3d 20 76 65 y)),1);..vec4.current_color.=.ve
0500 63 34 28 74 65 78 73 63 72 65 65 6e 28 75 76 29 2c 31 29 3b 0a 09 0a 09 63 75 72 72 65 6e 74 5f c4(texscreen(uv),1);....current_
0520 63 6f 6c 6f 72 20 3d 20 63 75 72 72 65 6e 74 5f 63 6f 6c 6f 72 2a 76 65 63 34 28 63 6f 6c 6f 72 color.=.current_color*vec4(color
0540 5f 62 6c 65 65 64 69 6e 67 2c 30 2e 35 2c 31 2d 63 6f 6c 6f 72 5f 62 6c 65 65 64 69 6e 67 2c 31 _bleeding,0.5,1-color_bleeding,1
0560 29 3b 0a 09 63 6f 6c 6f 72 5f 6c 65 66 74 20 3d 20 63 6f 6c 6f 72 5f 6c 65 66 74 2a 76 65 63 34 );..color_left.=.color_left*vec4
0580 28 31 2d 63 6f 6c 6f 72 5f 62 6c 65 65 64 69 6e 67 2c 30 2e 35 2c 63 6f 6c 6f 72 5f 62 6c 65 65 (1-color_bleeding,0.5,color_blee
05a0 64 69 6e 67 2c 31 29 3b 0a 09 0a 09 72 65 74 75 72 6e 20 28 63 75 72 72 65 6e 74 5f 63 6f 6c 6f ding,1);....return.(current_colo
05c0 72 20 2b 20 63 6f 6c 6f 72 5f 6c 65 66 74 29 3b 0a 7d 0a 0a 0a 2f 2f 20 43 75 72 76 61 74 75 72 r.+.color_left);.}...//.Curvatur
05e0 65 20 66 75 6e 63 74 69 6f 6e 0a 76 65 63 32 20 64 69 73 74 6f 72 74 28 76 65 63 32 20 70 29 20 e.function.vec2.distort(vec2.p).
0600 7b 0a 0a 09 66 6c 6f 61 74 20 61 6e 67 6c 65 20 3d 20 70 2e 79 20 2f 20 70 2e 78 3b 0a 09 66 6c {...float.angle.=.p.y./.p.x;..fl
0620 6f 61 74 20 74 68 65 74 61 20 3d 20 61 74 61 6e 32 28 70 2e 79 2c 70 2e 78 29 3b 0a 09 66 6c 6f oat.theta.=.atan2(p.y,p.x);..flo
0640 61 74 20 72 61 64 69 75 73 20 3d 20 6c 65 6e 67 74 68 28 70 29 3b 0a 09 72 61 64 69 75 73 20 3d at.radius.=.length(p);..radius.=
0660 20 70 6f 77 28 72 61 64 69 75 73 2c 20 42 61 72 72 65 6c 50 6f 77 65 72 29 3b 0a 09 0a 09 70 2e .pow(radius,.BarrelPower);....p.
0680 78 20 3d 20 72 61 64 69 75 73 20 2a 20 63 6f 73 28 74 68 65 74 61 29 3b 0a 09 70 2e 79 20 3d 20 x.=.radius.*.cos(theta);..p.y.=.
06a0 72 61 64 69 75 73 20 2a 20 73 69 6e 28 74 68 65 74 61 29 3b 0a 09 0a 09 72 65 74 75 72 6e 20 30 radius.*.sin(theta);....return.0
06c0 2e 35 20 2a 20 28 70 20 2b 20 76 65 63 32 28 31 2e 30 2c 31 2e 30 29 29 3b 0a 7d 0a 0a 2f 2f 20 .5.*.(p.+.vec2(1.0,1.0));.}..//.
06e0 53 65 74 75 70 20 63 75 72 76 61 74 75 72 65 2c 20 74 68 61 6e 20 43 6f 6c 6f 72 20 62 6c 65 65 Setup.curvature,.than.Color.blee
0700 64 69 6e 67 20 61 6e 64 20 66 69 6e 61 6c 6c 79 20 73 63 61 6e 6c 69 6e 65 0a 76 65 63 32 20 78 ding.and.finally.scanline.vec2.x
0720 79 20 3d 20 32 2a 20 53 43 52 45 45 4e 5f 55 56 3b 0a 78 79 2e 78 20 3d 20 78 79 2e 78 2d 31 3b y.=.2*.SCREEN_UV;.xy.x.=.xy.x-1;
0740 0a 78 79 2e 79 20 3d 20 78 79 2e 79 2d 31 3b 0a 0a 66 6c 6f 61 74 20 64 20 3d 20 6c 65 6e 67 74 .xy.y.=.xy.y-1;..float.d.=.lengt
0760 68 28 78 79 29 3b 0a 69 66 28 64 20 3c 20 31 2e 35 29 7b 0a 09 78 79 20 3d 20 64 69 73 74 6f 72 h(xy);.if(d.<.1.5){..xy.=.distor
0780 74 28 78 79 29 3b 0a 7d 0a 65 6c 73 65 7b 0a 09 78 79 20 3d 20 53 43 52 45 45 4e 5f 55 56 3b 0a t(xy);.}.else{..xy.=.SCREEN_UV;.
07a0 7d 0a 0a 76 65 63 34 20 63 20 3d 20 67 65 74 5f 63 6f 6c 6f 72 5f 62 6c 65 65 64 69 6e 67 28 78 }..vec4.c.=.get_color_bleeding(x
07c0 79 29 3b 0a 43 4f 4c 4f 52 20 3d 20 67 65 74 5f 63 6f 6c 6f 72 5f 73 63 61 6e 6c 69 6e 65 28 78 y);.COLOR.=.get_color_scanline(x
07e0 79 2c 63 29 3b 00 05 00 00 00 0b 00 00 00 76 65 72 74 65 78 5f 6f 66 73 00 03 00 00 00 00 00 00 y,c);.........vertex_ofs........
0800 00 05 00 00 00 07 00 00 00 76 65 72 74 65 78 00 05 00 00 00 01 00 00 00 00 05 00 00 00 0a 00 00 .........vertex.................
0820 00 6c 69 67 68 74 5f 6f 66 73 00 03 00 00 00 00 00 00 00 05 00 00 00 06 00 00 00 6c 69 67 68 74 .light_ofs.................light
0840 00 05 00 00 00 01 00 00 00 00 52 53 52 43 ..........RSRC