add chart

This commit is contained in:
ntr 2018-12-30 23:02:10 +11:00
parent 4a25904b1e
commit 2492e76ca1

View File

@ -1,5 +1,62 @@
const Phaser = require('phaser'); const Phaser = require('phaser');
const CHART = `
#ifdef GL_ES
precision mediump float;
#endif
#extension GL_OES_standard_derivatives : enable
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;
float rand(float n){return fract(sin(n) * 43758.5453123 * time * 0.00001);}
float noise(float p){
float fl = floor(p);
float fc = fract(p);
// return mix(rand(fl), rand(fl + 1.0), p);
return mix(rand(fl), rand(fl + 1.0), p);
}
float getLine(vec2 p, float y){
float margin = 0.;
vec2 pos = p;
float a = time * 100. + y * 31.;
vec2 lineCenter = vec2(0.5, y);
pos -= lineCenter;
pos *- mat2(cos(a), -sin(a), sin(a), cos(a));
pos += lineCenter;
float marginb = 0.005;
float b = 0.004;
float t = y + (noise((pos.x + y) * 100.) - 0.5) * 0.02;
float f = (smoothstep(t - b, t, pos.y) - smoothstep(t, t + b, pos.y));
f *= smoothstep(margin - marginb, margin, pos.x) - smoothstep(1. - margin, 1. - margin + marginb, pos.x);
f *= 0.8;
float light = 0.5 + 0.5 * sin(time * .2);
vec2 point = vec2(margin + light * (1. - margin * 2.), t);
f += .008 / distance(pos, point);
return f;
}
void main( void ) {
vec2 p = gl_FragCoord.xy / resolution.xy;
float f = 0.;
for(int i = 0; i < 10; i++){
f += getLine(p, 0.1 + (0.8) / 10. * float(i));
}
vec3 color = vec3(0., .4, .6) * f;
gl_FragColor = vec4(color, 1.);
}`;
const STARS = ` const STARS = `
//--- hatsuyuki --- //--- hatsuyuki ---
// by Catzpaw 2016 // by Catzpaw 2016
@ -32,8 +89,8 @@ const PLASMA = `
precision mediump float; precision mediump float;
uniform sampler2D uMainSampler; uniform sampler2D uMainSampler;
uniform vec2 uResolution; uniform vec2 resolution;
uniform float uTime; uniform float time;
varying vec2 outTexCoord; varying vec2 outTexCoord;
varying vec4 outTint; varying vec4 outTint;
@ -42,7 +99,7 @@ varying vec4 outTint;
void main( void ) void main( void )
{ {
vec2 v_texCoord = gl_FragCoord.xy / uResolution; vec2 v_texCoord = gl_FragCoord.xy / resolution;
vec2 p = v_texCoord * 8.0 - vec2(20.0); vec2 p = v_texCoord * 8.0 - vec2(20.0);
vec2 i = p; vec2 i = p;
@ -51,7 +108,7 @@ void main( void )
for (int n = 0; n < MAX_ITER; n++) for (int n = 0; n < MAX_ITER; n++)
{ {
float t = uTime * (1.0 - (3.0 / float(n+1))); float t = time * (1.0 - (3.0 / float(n+1)));
i = p + vec2(cos(t - i.x) + sin(t + i.y), i = p + vec2(cos(t - i.x) + sin(t + i.y),
sin(t - i.y) + cos(t + i.x)); sin(t - i.y) + cos(t + i.x));