This commit is contained in:
2026-10-30 14:48:06 +01:00
commit c4a5a4b4ed
131 changed files with 10399 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
#version 330 core
#include "noise.glsl"
in vec2 vUv;
uniform vec3 uForward;
uniform vec3 uRight;
uniform vec3 uUp;
uniform float uAspect;
uniform float uTanHalfFov;
uniform int uLightCount;
uniform vec3 uStarDirections[2];
uniform vec3 uStarColors[2];
uniform float uStarAngles[2];
uniform float uTime;
out vec4 fragColor;
void main() {
vec2 xy=(vUv*2.0-1.0)*uTanHalfFov;
vec3 rd=normalize(uForward+uRight*xy.x*uAspect+uUp*xy.y);
float band=pow(max(0.0,1.0-abs(dot(rd,normalize(vec3(0.32,0.72,0.48))))),17.0);
float dust=smoothstep(-0.26,0.36,fbm(rd*8.0+vec3(4.1,9.2,3.4)));
vec3 color=vec3(0.00013,0.00020,0.00042)+vec3(0.0013,0.0016,0.0026)*band*dust;
for(int i=0;i<2;i++) {
if(i>=uLightCount) break;
float angle=acos(clamp(dot(rd,uStarDirections[i]),-1.0,1.0));
float r=angle/max(uStarAngles[i],0.00001);
float corona=exp(-max(0.0,r-1.0)*6.0)*0.12;
corona+=exp(-max(0.0,r-1.0)*1.5)*0.004;
corona+=0.0002*exp(-angle*28.0);
float strands=0.85+0.15*noise3(rd*18.0+uTime*0.015);
color+=uStarColors[i]*corona*strands;
}
fragColor=vec4(color,1.0);
}