v0.7-1.16.5-36.0.14
							
								
								
									
										33
									
								
								kubejs[dw]/assets/uimenu/shaders/program/main_menu.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,33 @@
 | 
			
		||||
{
 | 
			
		||||
	"blend": {
 | 
			
		||||
		"func": "add",
 | 
			
		||||
		"srcrgb": "one",
 | 
			
		||||
		"dstrgb": "zero"
 | 
			
		||||
	},
 | 
			
		||||
	"vertex": "kubejsui:none",
 | 
			
		||||
	"fragment": "uimenu:main_menu_space",
 | 
			
		||||
	"attributes": [
 | 
			
		||||
		"Position"
 | 
			
		||||
	],
 | 
			
		||||
	"samplers": [
 | 
			
		||||
	],
 | 
			
		||||
	"uniforms": [
 | 
			
		||||
		{
 | 
			
		||||
			"name": "time",
 | 
			
		||||
			"type": "float",
 | 
			
		||||
			"count": 1,
 | 
			
		||||
			"values": [
 | 
			
		||||
				0.0
 | 
			
		||||
			]
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"name": "resolution",
 | 
			
		||||
			"type": "float",
 | 
			
		||||
			"count": 2,
 | 
			
		||||
			"values": [
 | 
			
		||||
				1.0,
 | 
			
		||||
				1.0
 | 
			
		||||
			]
 | 
			
		||||
		}
 | 
			
		||||
	]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										169
									
								
								kubejs[dw]/assets/uimenu/shaders/program/main_menu_space.fsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,169 @@
 | 
			
		||||
#version 110
 | 
			
		||||
 | 
			
		||||
#ifdef GL_ES
 | 
			
		||||
precision highp float;// ios
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
uniform float time;
 | 
			
		||||
uniform vec2 resolution;
 | 
			
		||||
 | 
			
		||||
#define speedAll 0.06
 | 
			
		||||
#define iterations 12
 | 
			
		||||
#define formuparam2 0.79
 | 
			
		||||
 | 
			
		||||
#define volsteps 7
 | 
			
		||||
#define stepsize 0.290
 | 
			
		||||
 | 
			
		||||
#define zoom 1.0
 | 
			
		||||
#define tile   0.850
 | 
			
		||||
#define speed2  0.2
 | 
			
		||||
 | 
			
		||||
#define brightness 0.0015
 | 
			
		||||
#define darkmatter 0.100
 | 
			
		||||
#define distfading 0.560
 | 
			
		||||
#define saturation 0.90
 | 
			
		||||
 | 
			
		||||
#define transverseSpeed zoom
 | 
			
		||||
#define cloud 0.17
 | 
			
		||||
 | 
			
		||||
float triangle(float x, float a) {
 | 
			
		||||
    float output2 = 2.0*abs(3.0*  ((x/a) - floor((x/a) + 0.5))) - 1.0;
 | 
			
		||||
    return output2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
float field(in vec3 p) {
 | 
			
		||||
    float strength = 7. + .03 * log(1.e-6 + fract(sin(time*speedAll) * 373.11));
 | 
			
		||||
    float accum = 0.;
 | 
			
		||||
    float prev = 0.;
 | 
			
		||||
    float tw = 0.;
 | 
			
		||||
 | 
			
		||||
    for (int i = 0; i < 6; ++i) {
 | 
			
		||||
        float mag = dot(p, p);
 | 
			
		||||
        p = abs(p) / mag + vec3(-.5, -.8 + 0.1*sin(-time*speedAll*0.1 + 2.0), -1.1+0.3*cos(time*speedAll*0.3));
 | 
			
		||||
        float w = exp(-float(i) / 7.);
 | 
			
		||||
        accum += w * exp(-strength * pow(abs(mag - prev), 2.3));
 | 
			
		||||
        tw += w;
 | 
			
		||||
        prev = mag;
 | 
			
		||||
    }
 | 
			
		||||
    return max(0., 5. * accum / tw - .7);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void main() {
 | 
			
		||||
    vec2 uv2 = 2. * gl_FragCoord.xy / vec2(512) - 1.;
 | 
			
		||||
    vec2 uvs = uv2 * vec2(512)  / 512.;
 | 
			
		||||
 | 
			
		||||
    float time2 = time*speedAll;
 | 
			
		||||
    float speed = -speed2;
 | 
			
		||||
    speed = .005 * cos(time2*0.02 + 3.1415926/4.0);
 | 
			
		||||
    //speed = 0.0;	
 | 
			
		||||
    float formuparam = formuparam2;
 | 
			
		||||
 | 
			
		||||
    //get coords and direction	
 | 
			
		||||
    vec2 uv = uvs;
 | 
			
		||||
    float a_xz = 0.9;
 | 
			
		||||
    float a_yz = -.6;
 | 
			
		||||
    float a_xy = 0.9 + time*speedAll*0.08;
 | 
			
		||||
 | 
			
		||||
    mat2 rot_xz = mat2(cos(a_xz), sin(a_xz), -sin(a_xz), cos(a_xz));
 | 
			
		||||
    mat2 rot_yz = mat2(cos(a_yz), sin(a_yz), -sin(a_yz), cos(a_yz));
 | 
			
		||||
    mat2 rot_xy = mat2(cos(a_xy), sin(a_xy), -sin(a_xy), cos(a_xy));
 | 
			
		||||
 | 
			
		||||
    float v2 =1.0;
 | 
			
		||||
    vec3 dir=vec3(uv*zoom, 1.);
 | 
			
		||||
    vec3 from=vec3(0.0, 0.0, 0.0);
 | 
			
		||||
    from.x += 1.0;
 | 
			
		||||
    from.y += 1.0;
 | 
			
		||||
 | 
			
		||||
    vec3 forward = vec3(0., 0., 1.);
 | 
			
		||||
    from.x += transverseSpeed*(1.0)*cos(0.01*time*speedAll) + 0.001*time*speedAll;
 | 
			
		||||
    from.y += transverseSpeed*(1.0)*sin(0.01*time*speedAll) +0.001*time*speedAll;
 | 
			
		||||
    from.z += 0.003*time*speedAll;
 | 
			
		||||
 | 
			
		||||
    dir.xy*=rot_xy;
 | 
			
		||||
    forward.xy *= rot_xy;
 | 
			
		||||
    dir.xz*=rot_xz;
 | 
			
		||||
    forward.xz *= rot_xz;
 | 
			
		||||
    dir.yz*= rot_yz;
 | 
			
		||||
    forward.yz *= rot_yz;
 | 
			
		||||
 | 
			
		||||
    from.xy*=-rot_xy;
 | 
			
		||||
    from.xz*=rot_xz;
 | 
			
		||||
    from.yz*= rot_yz;
 | 
			
		||||
 | 
			
		||||
    //zoom
 | 
			
		||||
    float zooom = (time2-3311.)*speed;
 | 
			
		||||
    from += forward* zooom;
 | 
			
		||||
    float sampleShift = mod(zooom, stepsize);
 | 
			
		||||
 | 
			
		||||
    float zoffset = -sampleShift;
 | 
			
		||||
    sampleShift /= stepsize;// make from 0 to 1
 | 
			
		||||
 | 
			
		||||
    //volumetric rendering
 | 
			
		||||
    float s=0.24;
 | 
			
		||||
    float s3 = s + stepsize/2.0;
 | 
			
		||||
    vec3 v=vec3(0.);
 | 
			
		||||
    float t3 = 0.0;
 | 
			
		||||
 | 
			
		||||
    vec3 backCol2 = vec3(0.);
 | 
			
		||||
    for (int r=0; r<volsteps; r++) {
 | 
			
		||||
        vec3 p2=from+(s+zoffset)*dir;// + vec3(0.,0.,zoffset);
 | 
			
		||||
        vec3 p3=from+(s3+zoffset)*dir;// + vec3(0.,0.,zoffset);
 | 
			
		||||
 | 
			
		||||
        p2 = abs(vec3(tile)-mod(p2, vec3(tile*2.)));// tiling fold
 | 
			
		||||
        p3 = abs(vec3(tile)-mod(p3, vec3(tile*2.)));// tiling fold		
 | 
			
		||||
        #ifdef cloud
 | 
			
		||||
        t3 = field(p3);
 | 
			
		||||
        #endif
 | 
			
		||||
 | 
			
		||||
        float pa, a=pa=0.;
 | 
			
		||||
        for (int i=0; i<iterations; i++) {
 | 
			
		||||
            //p2=abs(p2)/dot(p2, p2)-formuparam;// the magic formula
 | 
			
		||||
            p2=abs(p2)/max(dot(p2, p2), 0.002)-formuparam;// another interesting way to reduce noise
 | 
			
		||||
            float D = abs(length(p2)-pa);// absolute sum of average change
 | 
			
		||||
            a += i > 7 ? min(12., D) : D;
 | 
			
		||||
            pa=length(p2);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        //float dm=max(0.,darkmatter-a*a*.001); //dark matter
 | 
			
		||||
        a*=a*a;// add contrast
 | 
			
		||||
        //if (r>3) fade*=1.-dm; // dark matter, don't render near
 | 
			
		||||
        // brightens stuff up a bit
 | 
			
		||||
        float s1 = s+zoffset;
 | 
			
		||||
        // need closed form expression for this, now that we shift samples
 | 
			
		||||
        float fade = pow(distfading, max(0., float(r)-sampleShift));
 | 
			
		||||
        //t3 += fade;		
 | 
			
		||||
        v+=fade;
 | 
			
		||||
        //backCol2 -= fade;
 | 
			
		||||
 | 
			
		||||
        // fade out samples as they approach the camera
 | 
			
		||||
        if (r == 0)
 | 
			
		||||
        fade *= (1. - (sampleShift));
 | 
			
		||||
        // fade in samples as they approach from the distance
 | 
			
		||||
        if (r == volsteps-1)
 | 
			
		||||
        fade *= sampleShift;
 | 
			
		||||
        v+=vec3(s1, s1*s1, s1*s1*s1*s1)*a*brightness*fade;// coloring based on distance
 | 
			
		||||
 | 
			
		||||
        backCol2 += mix(.4, 1., v2) * vec3(1.8 * t3 * t3 * t3, 1.4 * t3 * t3, t3) * fade;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        s+=stepsize;
 | 
			
		||||
        s3 += stepsize;
 | 
			
		||||
    }//фор
 | 
			
		||||
 | 
			
		||||
    v=mix(vec3(length(v)), v, saturation);//color adjust	
 | 
			
		||||
 | 
			
		||||
    vec4 forCol2 = vec4(v*.01, 1.);
 | 
			
		||||
    #ifdef cloud
 | 
			
		||||
    backCol2 *= cloud;
 | 
			
		||||
    #endif
 | 
			
		||||
    backCol2.b *= 1.8;
 | 
			
		||||
    backCol2.r *= 0.05;
 | 
			
		||||
 | 
			
		||||
    backCol2.b = 0.5*mix(backCol2.g, backCol2.b, 0.8);
 | 
			
		||||
    backCol2.g = 0.0;
 | 
			
		||||
    backCol2.bg = mix(backCol2.gb, backCol2.bg, 0.5*(cos(time*speedAll*0.01) + 1.0));
 | 
			
		||||
    gl_FragColor = forCol2 + vec4(backCol2, 1.0);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								kubejs[dw]/assets/uimenu/textures/bg.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 928 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								kubejs[dw]/assets/uimenu/textures/button.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								kubejs[dw]/assets/uimenu/textures/chat.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								kubejs[dw]/assets/uimenu/textures/creeper.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 6.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								kubejs[dw]/assets/uimenu/textures/packname.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										5
									
								
								kubejs[dw]/assets/uimenu/textures/packname.png.mcmeta
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "texture": {
 | 
			
		||||
    "blur": true
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								kubejs[dw]/assets/uimenu/textures/person.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 298 KiB  | 
							
								
								
									
										5
									
								
								kubejs[dw]/assets/uimenu/textures/person.png.mcmeta
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "texture": {
 | 
			
		||||
    "blur": true
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								kubejs[dw]/assets/uimenu/textures/widgets.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 15 KiB  |