Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

352
Views
Prueba de voxel ThreeJS, brechas extrañas entre texturas

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í: Visión del mundo

Cerrar vista

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.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!