Variable: MESH_PICK_VERTEX
ts
const MESH_PICK_VERTEX: '\nprecision highp float;\nprecision highp int;\n\nuniform uint uPickBase;\nflat out uint vPickId;\n\nvoid main() {\n vec4 p = vec4(position, 1.0);\n#ifdef USE_INSTANCING\n p = instanceMatrix * p;\n#endif\n gl_Position = projectionMatrix * modelViewMatrix * p;\n#if defined(PICK_VERTEX)\n vPickId = uPickBase + uint(gl_VertexID);\n#elif defined(PICK_TRIANGLE)\n // All three vertices of triangle t (non-indexed: vertex ids 3t..3t+2) agree, so the flat\n // varying is the triangle index whichever vertex is provoking.\n vPickId = uPickBase + uint(gl_VertexID) / 3u;\n#elif defined(PICK_INSTANCE)\n vPickId = uPickBase + uint(gl_InstanceID);\n#else\n vPickId = uPickBase;\n#endif\n}\n';Experimental
Generic mesh pick vertex shader. Defines select the element id: PICK_VERTEX, PICK_TRIANGLE, PICK_INSTANCE, or none (object-level).