From fb3e42e2d13138865d5eb40a0f65ef14e67f995b Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 21 Jan 2024 03:27:01 +0000 Subject: Dynamic number of segments into curve render Simpler formula than the old one, neither scientific, needs to tests to demonstrate a decent result for whatever formula we use. --- gfx/gl/shaders/networkCurve.gs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gfx') diff --git a/gfx/gl/shaders/networkCurve.gs b/gfx/gl/shaders/networkCurve.gs index 326e8b6..619625f 100644 --- a/gfx/gl/shaders/networkCurve.gs +++ b/gfx/gl/shaders/networkCurve.gs @@ -24,7 +24,8 @@ getRot(float angle) void main() { - float segs = floor(GL_MAX_GEOMETRY_OUTPUT_VERTICES / (profile.length() * 2)); + float segs = clamp( + round(reps[0] * radius[0] / 1000), 4, floor(GL_MAX_GEOMETRY_OUTPUT_VERTICES / (profile.length() * 2))); vec3 arcstep = vec3((bangle[0] - aangle[0]), // angle reps[0], // texture (bpos[0].z - apos[0].z)) // height -- cgit v1.2.3