Construyendo un mundo abierto en el navegador, parte 6: Los clipmaps cambiaron el rumbo
Por Oleg Sidorkin, CTO y cofundador de Cinevva
¿Acabas de llegar? Consulta la guía de la serie. Explica qué es un spike y enlaza todas las partes.
Antes del Spike 10, nuestro modelo mental seguía siendo «un mundo más grande implica más geometría». Después del Spike 10, pasó a ser «un presupuesto de geometría constante con actualizaciones de anillos centrados en la cámara». Ese cambio alteró la trayectoria del proyecto.
La idea en la que se basan los clipmaps de geometría es sencilla. El terreno se renderiza como un conjunto de anillos concéntricos centrados en la cámara. El anillo más interno tiene la mayor densidad de vértices. Cada anillo exterior
Esa duplicación es el verdadero truco. La distancia de visión crece geométricamente con el número de anillos,
para
Abrir el Spike 10 en una pestaña nueva ↗ · Ver el código fuente
El truco práctico fue aplicar geomorfismo en los límites de los anillos. Cuando un vértice pasa de un anillo de LOD al siguiente, su altura debe mezclarse suavemente entre la muestra de alta resolución y la de baja resolución. De lo contrario, aparecen saltos visibles cada vez que la cámara se mueve y los anillos cambian de posición. Lo resolvimos con un factor de mezcla basado en la distancia del vértice al borde del anillo, interpolando la altura en el shader de vértices:
donde
Una lección sutil surgió durante las pruebas de movimiento de la cámara. Es fácil evaluar los clipmaps en capturas estáticas y pasar por alto los artefactos de transición. Dedicamos tiempo a realizar recorridos a velocidad constante a través de los límites de los anillos y a observar si aparecía ruido temporal. Las capturas mentían. El movimiento decía la verdad.
Este spike también nos proporcionó un límite arquitectónico claro. Con el tiempo, el terreno del campo cercano podía volverse dinámico y costoso, con edición volumétrica, materiales más complejos e interacción física. El terreno del campo lejano podía seguir siendo estable, predecible y barato. Esa separación se convirtió en la columna vertebral de todas las decisiones arquitectónicas a partir de ese momento.
Si estás evaluando los clipmaps para tu propio proyecto, prueba bucles de estrés, no escenas bonitas. Los recorridos largos, los cambios de altitud de la cámara y los cruces repetidos de límites son los que revelan los problemas reales.
En la parte 7 añadimos mallado volumétrico y pasamos de «el terreno como superficie» a «el terreno como volumen editable». Fue entonces cuando este proyecto dejó de ser un renderizador y empezó a convertirse en un editor de mundos.
Tecnología mencionada en este capítulo
Clipmaps de geometría. Presentados por Losasso y Hoppe en SIGGRAPH 2004 (artículo), los clipmaps de geometría renderizan el terreno como anillos cuadrados concéntricos centrados en la cámara. Cada anillo cubre el doble de área que el anterior con la mitad de resolución de vértices. El número total de vértices es constante: aproximadamente
Geomorfismo. El mayor artefacto visual del LOD de terreno son los saltos: los vértices cambian bruscamente cuando una sección pasa a otro nivel de LOD. El geomorfismo los elimina mezclando las posiciones de los vértices entre niveles de LOD a lo largo de una zona de transición. Cada vértice almacena tanto su altura del LOD actual como su altura del LOD de menor resolución. Un factor de transformación basado en la distancia a la cámara interpola suavemente entre ambas: morphedHeight = mix(fineLodHeight, coarseLodHeight, smoothstep(lodNear, lodFar, distance)). La zona de transición suele ocupar el 20 % exterior de cada anillo. A velocidades normales de cámara, la transición es invisible. Consulta los detalles sobre el geomorfismo.
CDLOD (clipmaps adaptativos con quadtree). Una mejora de los clipmaps de anillos fijos propuesta por Strugar (2014, artículo). En lugar de usar anillos concéntricos con resolución uniforme, CDLOD utiliza un quadtree que se adapta a la complejidad del terreno. Las zonas planas utilizan nodos de baja resolución, mientras que las zonas con mucho detalle —acantilados o crestas— reciben subdivisiones más finas. Esto es importante para los mundos creados por usuarios, donde la complejidad puede variar enormemente entre distintos chunks. Consulta CDLOD en nuestra guía de paisajes.
Parte 6 de 12.
Anterior: Parte 5: Presupuestando los elementos vistosos
Siguiente: Parte 7: Marching cubes y las primeras cuevas de verdad
Guía de la serie: /es/blog/2026-02-25-open-world-browser-series-guide