Editar: he reducido el problema. Mi atlas de texturas es de 256 px por 256 px con texturas de 16x16. Por alguna razón, establecer mis coordenadas UV en 1/16 es agregar un borde de 1 píxel en todos los bordes. No estoy seguro de por qué, pero creo que puedo resolverlo.
Como una forma de aprender ThreeJS y la representación de gráficos, estoy trabajando en un motor de vóxeles para simular un poco a Minecraft. Recientemente implementé la selección de mallas y muchas otras optimizaciones para renderizar grandes escenas de vóxeles de manera eficiente. Ahora estoy en el proceso de agregar texturas a las mallas. Recientemente implementé un sombreador de vértices y fragmentos básico muy estándar que puedes encontrar aquí:
const vertexShader = ` varying vec2 vUv; void main(){ vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); } `; const fragmentShader = ` uniform sampler2D texture1; varying vec2 vUv; void main() { gl_FragColor = texture2D(texture1, vUv); } `; El problema se puede ver aquí: 

En mi función de generación de mundos (algo de ruido perlin simple) asigno a cada bloque una identificación que luego corresponde a un valor UV específico en mi atlas de textura cuando se procesa ese bloque/cara. En cuanto a las mallas, creo los vóxeles usando 6 PlaneBufferGeometries "maestras" (una para cada dirección). Cuando se trata de renderizar un bloque, cualquier cara visible se clona, se traduce, se le otorgan atributos uv y luego se empuja a una matriz que finalmente se fusiona para formar la malla para cada fragmento.
Antes de implementar mi sombreador de vértices y fragmentos, cada plano "maestro" tenía su propia textura, solo para que no tuviera que usar una estructura alámbrica. Durante este tiempo, todas las texturas encajaban a la perfección, y este espacio no estaba allí. ¿Alguien tiene alguna idea que pueda ayudarme? La brecha solo existe en ángulos fuera de lugar. Si enderezo mi vista, la brecha desaparece. Por alguna razón, de cerca, uno de los ejes no tiene el espacio, pero a la distancia sí. El antialiasing está activado, el ajuste de textura está desactivado. Cuando alterno cualquiera de esos parámetros, el problema empeora.
Cualquier ayuda es apreciada.