Gráficos 3D en la web: el pipeline, geometría e instancing, PBR y texturas, glTF, shaders GLSL, TSL con WebGPURenderer y producción.
Cada nivel construye sobre el anterior. Sin saltos, sin huecos.
La visión aérea: qué es un motor de render, dónde encaja Three.js, WebGL frente a WebGPU, y todo el territorio.
De vértices a fragmentos: las etapas del pipeline, qué hace la GPU en cada una, y por qué existe esta arquitectura.
Vectores, producto escalar y vectorial, normalización, y los cinco espacios de coordenadas que atraviesa un vértice.
Matrices de transformación, el orden de multiplicación, la matriz modelo-vista-proyección y por qué importa.
Euler y su gimbal lock, cuaterniones como solución, slerp, y cuándo usar cada representación.
La tríada mínima, el bucle de render, redimensionar bien, el device pixel ratio y el primer cubo girando.
Padres e hijos, matrices locales y globales, el orden de actualización, add y remove, y los grupos.
FOV, aspecto, near y far, el z-fighting, la cámara ortográfica y cuándo cada una.
OrbitControls con damping, los otros controladores, y escribir un control de cámara desde cero.
Qué es un atributo, position, normal y uv, los buffers tipados, y el índice que ahorra vértices.
Box, sphere, plane, torus, extrude, lathe y tube: qué controla cada parámetro y su coste en triángulos.
Generar una malla desde cero, calcular normales, orientación de caras y el winding order.
Mover vértices por código, morph targets, y por qué casi siempre deberías hacerlo en el vertex shader.
InstancedMesh, la matriz por instancia, colores por instancia, y el salto de rendimiento que supone.
Points y su material, el tamaño atenuado, Line frente a LineSegments, y por qué las líneas gruesas son difíciles.
Basic, Lambert, Phong, Standard, Physical y Toon: el modelo de iluminación de cada uno y su coste.
La ecuación de renderizado en versión digerible, energía conservada, y qué significan metalness y roughness.
Clearcoat, transmission, sheen, iridescence, anisotropy: cada capa del material físico y cuándo usarla.
TextureLoader, wrapping, repeat y offset, filtrado, mipmaps y anisotropía.
map, normalMap, roughnessMap, aoMap, displacementMap y emissiveMap: qué hace cada canal.
sRGB frente a lineal, el color management de Three.js, KTX2 con Basis, y el ahorro real de VRAM.
Ambient, hemisphere, directional, point, spot y area: qué simula cada una y cuánto cuesta.
Cómo funciona un shadow map, acne y peter-panning, el bias, el tamaño del mapa y los tipos de filtrado.
Iluminación basada en imagen, cargar un HDRI, PMREM, y por qué un buen entorno mejora más que diez luces.
Qué se puede precocinar, lightmaps y ambient occlusion horneada, y el flujo desde Blender.
La estructura del formato, glTF frente a GLB, las extensiones, y por qué ganó a OBJ y FBX.
Comprimir geometría, el coste de descompresión, y un pipeline real de optimización de modelos.
El sistema de animación, mezclar clips, crossfade, pesos, y controlar la reproducción.
SkinnedMesh, los huesos, los pesos de vértice, el coste del skinning y las restricciones prácticas.
TextGeometry y su coste, los sprites de texto, troika-three-text con SDF, y el HTML superpuesto.
Qué es un shader, vertex frente a fragment, el paralelismo masivo, y por qué no puedes usar un if como en JS.
Pasar datos desde JS, uniforms y attributes, varyings interpoladas, y el tiempo como uniform.
Tipos, swizzling, las funciones integradas, step, smoothstep, mix y clamp como caja de herramientas.
Random determinista, Perlin y simplex, FBM, y construir patrones procedurales que se ven bien.
Ondas, desplazamiento por textura, morphing, y recalcular normales tras deformar.
onBeforeCompile, los chunks de shader, y modificar el MeshStandardMaterial sin reescribirlo entero.
Distance fields, el bucle de marcha, las operaciones booleanas suaves, y el coste de esta técnica.
El render target, la cadena de passes, bloom, DOF, SSAO, y el orden correcto en el pipeline.
Qué es Three.js Shading Language, por qué existe, y cómo un mismo grafo compila a GLSL y a WGSL.
La API de nodos, las operaciones encadenadas, uniforms y attributes en TSL, y el equivalente de cada función GLSL.
MeshStandardNodeMaterial, colorNode, positionNode y normalNode: reemplazar partes sin perder el PBR.
Migrar de WebGLRenderer, qué cambia, el fallback automático a WebGL, y qué features solo existen aquí.
computeAsync, los storage buffers, partículas simuladas en GPU, y el patrón de doble buffer.
El Raycaster, coordenadas normalizadas, el coste de raycast, y optimizar con bounding volumes y BVH.
Integrar un motor de física, cuerpos rígidos y colliders, el bucle fijo, y sincronizar con el render.
Seguimiento suave, lerp y damping independientes del framerate, shake, y transiciones de cámara.
Level of detail, frustum culling, occlusion, y cargar el mundo por trozos sin bloquear el hilo.
Draw calls, triángulos, el panel de estadísticas, el spector, y encontrar si el cuello está en CPU o GPU.
Merge frente a instancing, compartir materiales, texture atlas, reducir el overdraw y el coste de transparencia.
El patrón de montaje y limpieza, dispose de verdad, y la integración con Solid, React y Astro.
El modo XR de Three.js, las sesiones, los controladores, hit testing en AR, y el rendimiento en visores.
La pantalla de carga honesta, detectar capacidad del dispositivo, degradar con dignidad y la accesibilidad del 3D.
La arquitectura de una experiencia 3D completa, el mapa de decisiones técnicas, y hacia dónde va el 3D web.
Empieza por los fundamentos y sube nivel a nivel hasta el dominio total.
Comenzar el camino →