Files
Universe/src/Universe.App/Graphics/Shaders/cosmic.vert.glsl
2026-11-01 15:46:28 +01:00

24 lines
736 B
GLSL

#version 330 core
layout(location=0) in vec3 aPosition;
layout(location=1) in vec3 aColor;
layout(location=2) in float aSize;
uniform vec3 uOrigin;
uniform vec3 uAxisX;
uniform vec3 uAxisY;
uniform vec3 uAxisZ;
uniform vec3 uForward;
uniform vec3 uRight;
uniform vec3 uUp;
uniform float uAspect;
uniform float uTanHalfFov;
uniform float uNearFade;
out vec3 vColor;
void main(){
vec3 delta=uAxisX*aPosition.x+uAxisY*aPosition.y+uAxisZ*aPosition.z-uOrigin;
float d=length(delta),z=dot(delta,uForward);
vec2 xy=vec2(dot(delta,uRight)/uAspect,dot(delta,uUp))/uTanHalfFov;
gl_Position=z>0.0?vec4(xy,z*.999999,z):vec4(2,2,2,1);
gl_PointSize=clamp(aSize,1.0,4.5);
vColor=aColor*smoothstep(uNearFade,uNearFade*2.0,d);
}