bättre ringworld

This commit is contained in:
2026-11-03 20:32:59 +01:00
parent f447fe8e51
commit 6ea397a9e5
39 changed files with 2141 additions and 54 deletions

View File

@@ -0,0 +1,27 @@
#version 330 core
layout(location=0) in vec3 aPosition;
layout(location=1) in vec3 aNormal;
layout(location=2) in vec3 aDirection;
uniform vec3 uChunkPosition;
uniform vec3 uBodyOrigin;
uniform float uRadius;
uniform mat4 uViewProjection;
uniform mat4 uBodyToWorld;
uniform float uFar;
uniform vec3 uMaterialAnchor;
out vec3 vMaterial;
out vec3 vBody;
out vec3 vDirection;
out vec3 vNormal;
out vec3 vWorld;
out float vFragDepth;
void main() {
vWorld=uChunkPosition+mat3(uBodyToWorld)*aPosition;
vMaterial=aPosition+uMaterialAnchor;
vBody=uBodyOrigin+aPosition/uRadius;
vDirection=aDirection; vNormal=aNormal;
vec4 clip=uViewProjection*vec4(vWorld,1);
vFragDepth=clip.w+1.0;
gl_Position=clip;
gl_Position.z=(2.0*log2(max(.0001,vFragDepth))/log2(uFar+1.0)-1.0)*clip.w;
}