diff --git a/src/mol-gl/shader/cylinders.vert.ts b/src/mol-gl/shader/cylinders.vert.ts index 52c36b1e0e1bbd53ef24e579cb2095fb86e0388f..ff28e5c1bdc061df4b144510702b59cba75cd687 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);