From 4ff5ed3b5d5b2e736181bd1c467b259d9634066c Mon Sep 17 00:00:00 2001 From: Alexander Rose <alexander.rose@weirdbyte.de> Date: Mon, 12 Dec 2022 21:18:37 -0800 Subject: [PATCH] fix cylinder imposter cap normals --- src/mol-gl/shader/cylinders.vert.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mol-gl/shader/cylinders.vert.ts b/src/mol-gl/shader/cylinders.vert.ts index 52c36b1e0..ff28e5c1b 100644 --- a/src/mol-gl/shader/cylinders.vert.ts +++ b/src/mol-gl/shader/cylinders.vert.ts @@ -55,7 +55,12 @@ void main() { vec3 camDir = -mix(normalize(vModelPosition - uCameraPosition), uCameraDir, uIsOrtho); vec3 dir = vEnd - vStart; // ensure cylinder 'dir' is pointing towards the camera - if(dot(camDir, dir) < 0.0) dir = -dir; + if(dot(camDir, dir) < 0.0) { + dir = -dir; + vec3 tmp = vStart; + vStart = vEnd; + vEnd = tmp; + } vec3 left = cross(camDir, dir); vec3 up = cross(left, dir); -- GitLab