galaxer och motion blur
This commit is contained in:
23
src/Universe.App/Graphics/Shaders/cosmic.vert.glsl
Normal file
23
src/Universe.App/Graphics/Shaders/cosmic.vert.glsl
Normal file
@@ -0,0 +1,23 @@
|
||||
#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);
|
||||
}
|
||||
Reference in New Issue
Block a user