Three.js y 3D
Gráficos 3D en la web: el pipeline, geometría e instancing, PBR y texturas, glTF, shaders GLSL, TSL con WebGPURenderer y producción.
00
Nivel 0
5 temas- 01Qué hace un motor de render y qué no hacehechoen curso
- 02Las capas: del silicio a tu código, y dónde entra Three.jshechoen curso
- 03WebGL2 y WebGPU: dos contratos, no dos versioneshechoen curso
- 04Babylon, PlayCanvas y escribir el tuyo: cuándo Three.js no es la respuestahechoen curso
- 05El mapa del territorio: siete regiones del 3D en la webhechoen curso
01
Nivel 1
5 temas- 01Por qué el dibujado está partido en etapas y no en una funciónhechoen curso
- 02Ensamblado de vértices y vertex shaderhechoen curso
- 03Teselación y geometría: las etapas que la web decidió no tenerhechoen curso
- 04Rasterización: del espacio de recorte a los fragmentoshechoen curso
- 05Fragment shader, pruebas por fragmento y mezclahechoen curso
02
Nivel 2
5 temas- 01Vectores: desplazamientos, no posicioneshechoen curso
- 02El producto escalar: la medida de alineaciónhechoen curso
- 03El producto vectorial: la fábrica de perpendiculareshechoen curso
- 04Los cinco espacios que atraviesa un vérticehechoen curso
- 05Cambiar de espacio en Three.js sin equivocarsehechoen curso
03
Nivel 3
5 temas- 01Qué es una transformación lineal y por qué se escribe como matrizhechoen curso
- 02Coordenadas homogéneas: por qué hacen falta cuatro dimensioneshechoen curso
- 03Componer transformaciones: el producto no es conmutativohechoen curso
- 04La matriz modelo-vista-proyecciónhechoen curso
- 05La matriz normal: por qué las normales no usan la matriz de modelohechoen curso
04
Nivel 4
5 temas- 01Ángulos de Euler: tres números y doce convencioneshechoen curso
- 02Gimbal lock: la demostración, no la anécdotahechoen curso
- 03Cuaterniones: qué son esos cuatro númeroshechoen curso
- 04Interpolar orientaciones: slerp frente a lerphechoen curso
- 05Rotaciones en Three.js: qué método usar en cada casohechoen curso
05
Nivel 5
5 temas- 01Escena, cámara y renderer: la tríada mínimahechoen curso
- 02El bucle de render: setAnimationLoop y por qué no tu propio rAFhechoen curso
- 03Redimensionar bien: las tres cosas que hay que actualizarhechoen curso
- 04devicePixelRatio: la decisión de rendimiento más rentablehechoen curso
- 05Delta time: el primer objeto girando de verdadhechoen curso
06
Nivel 6
5 temas- 01Object3D: la anatomía del nodohechoen curso
- 02Jerarquía: add, remove, attach y el árbol de la escenahechoen curso
- 03Matrices locales y globales: cuándo se actualizanhechoen curso
- 04Grupos y pivotes: rotar alrededor de lo que no es el origenhechoen curso
- 05Recorrer la escena: traverse y las recetas que resuelvehechoen curso
07
Nivel 7
5 temas- 01PerspectiveCamera: FOV vertical, aspecto y el frustumhechoen curso
- 02Qué cabe dentro del frustum: culling y volúmenes envolventeshechoen curso
- 03Z-fighting: la culpa es de near, no de farhechoen curso
- 04OrthographicCamera: isométrico, sombras y editoreshechoen curso
- 05ArrayCamera y StereoCamera: varias vistas de una escenahechoen curso
08
Nivel 8
5 temas- 01OrbitControls y el damping: por qué hay que llamar a update()hechoen curso
- 02Acotar OrbitControls: ángulos, distancias y estadohechoen curso
- 03MapControls y FlyControls: recorrer en lugar de orbitarhechoen curso
- 04PointerLockControls y TrackballControlshechoen curso
- 05Escribir un control de cámara desde cerohechoen curso
10
Nivel 10
5 temas- 01El catálogo, la caja y el plano: aprender a contar triánguloshechoen curso
- 02SphereGeometry frente a IcosahedronGeometryhechoen curso
- 03Cilindro, cono, toro y compañía: los sólidos de revoluciónhechoen curso
- 04Extrusión, torno y tubo: geometría a partir de curvashechoen curso
- 05TextGeometry y el presupuesto de triánguloshechoen curso
11
Nivel 11
5 temas12
Nivel 12
5 temas- 01Deformar en la CPU: mover el array de posicioneshechoen curso
- 02Por qué deformar en la CPU casi siempre es la opción equivocadahechoen curso
- 03Morph targets: interpolar entre poses fijashechoen curso
- 04Desplazar en el vertex shader: la respuesta correctahechoen curso
- 05Las normales después de deformar: las tres maneras de recalcularlashechoen curso
13
Nivel 13
5 temas14
Nivel 14
5 temas- 01Points y PointsMaterial: un vértice, un cuadradohechoen curso
- 02El tamaño de un punto: sizeAttenuation y el techo del hardwarehechoen curso
- 03Texturas de partícula: gl_PointCoord, alfa y el orden que nunca cuadrahechoen curso
- 04Line, LineSegments y LineLoop: tres formas de unir vérticeshechoen curso
- 05Por qué no puedes engordar una líneahechoen curso
15
Nivel 15
5 temas- 01Basic, Lambert y Phong: los materiales anteriores al PBRhechoen curso
- 02Standard y Physical: los dos materiales PBRhechoen curso
- 03Toon, Matcap, Normal y Depth: estilo y depuraciónhechoen curso
- 04Lo que comparten todos: side, transparent, alphaTest y depthWritehechoen curso
- 05Elegir material: el árbol de decisión y la tabla de costehechoen curso
16
Nivel 16
5 temas- 01La ecuación de renderizado, en versión digeriblehechoen curso
- 02Qué es una BRDF y qué tiene que cumplirhechoen curso
- 03Conservación de energía y por qué importa tantohechoen curso
- 04Metallic-roughness frente a specular-glossinesshechoen curso
- 05Metalness es binario: los valores intermedios que arruinan una escenahechoen curso
17
Nivel 17
5 temas- 01clearcoat: la capa de laca que va encima de todohechoen curso
- 02transmission, thickness e ior: vidrio de verdadhechoen curso
- 03sheen: por qué un tejido no es un MeshStandardMaterialhechoen curso
- 04iridescence y anisotropy: interferencia y metal cepilladohechoen curso
- 05specularIntensity, specularColor y el coste de cada capahechoen curso
18
Nivel 18
5 temas- 01TextureLoader y LoadingManager: cargar sin mentirhechoen curso
- 02Coordenadas UV: de dónde salen y por qué se tuercenhechoen curso
- 03wrapS, wrapT, repeat, offset y rotation: la matriz UVhechoen curso
- 04Filtrado y mipmaps: el problema que resuelven de verdadhechoen curso
- 05Anisotropía: el suelo que deja de verse borrosohechoen curso
19
Nivel 19
5 temas- 01map, alphaMap y emissiveMap: el color y lo que se vehechoen curso
- 02normalMap y el espacio tangentehechoen curso
- 03roughnessMap, metalnessMap y el empaquetado ORMhechoen curso
- 04aoMap y lightMap: por qué exigen un segundo juego de UVshechoen curso
- 05displacementMap: geometría de verdad y su preciohechoen curso
20
Nivel 20
5 temas- 01sRGB frente a lineal: por qué existe la curvahechoen curso
- 02Color o dato: la regla que evita el error silenciosohechoen curso
- 03El camino del color, del fichero al píxelhechoen curso
- 04Tone mapping: las seis curvas y cuál elegirhechoen curso
- 05KTX2 y Basis Universal: el ahorro real de VRAMhechoen curso
21
Nivel 21
5 temas- 01El modelo de iluminación de Three.js y sus unidadeshechoen curso
- 02AmbientLight y HemisphereLight: las dos luces que no son luceshechoen curso
- 03DirectionalLight: la fuente que está infinitamente lejoshechoen curso
- 04PointLight y SpotLight: la atenuación, el cono y la penumbrahechoen curso
- 05RectAreaLight, la tabla de costes y los helpers de luzhechoen curso
22
Nivel 22
5 temas- 01Cómo funciona un shadow map, paso a pasohechoen curso
- 02Shadow acne y peter-panning: la causa geométrica y la curahechoen curso
- 03La cámara de sombra: el ajuste que lo cambia todohechoen curso
- 04Tamaño del mapa, memoria y sombras que no se recalculanhechoen curso
- 05Los cuatro tipos de filtrado de sombrashechoen curso
23
Nivel 23
5 temas- 01Por qué un entorno ilumina mejor que diez luceshechoen curso
- 02HDRI, rango dinámico y los cargadores que existen en r184hechoen curso
- 03PMREMGenerator: qué precomputa exactamente y por quéhechoen curso
- 04scene.environment frente a scene.background, y los seis mandoshechoen curso
- 05Entornos procedurales: RoomEnvironment y fromScenehechoen curso
24
Nivel 24
5 temas25
Nivel 25
5 temas- 01Por qué glTF ganó a OBJ, FBX y COLLADAhechoen curso
- 02La estructura de un glTF: escenas, nodos, mallas, primitivashechoen curso
- 03Accesores, buffer views y buffers: cómo viaja la geometríahechoen curso
- 04.gltf frente a .glb: el contenedor binario por dentrohechoen curso
- 05El sistema de extensiones y las que de verdad importanhechoen curso
26
Nivel 26
5 temas- 01GLTFLoader con sus tres decodificadoreshechoen curso
- 02Draco: qué comprime, cuánto y a qué preciohechoen curso
- 03KTX2 y Basis Universal: el ahorro que se nota en VRAMhechoen curso
- 04Meshopt frente a Draco: dos filosofías de compresiónhechoen curso
- 05Un pipeline real de optimización, con los númeroshechoen curso
27
Nivel 27
5 temas- 01El modelo del sistema de animación: mixer, clip y actionhechoen curso
- 02AnimationClip y las pistas de keyframeshechoen curso
- 03Controlar una acción: play, stop, pausa y velocidadhechoen curso
- 04Pesos, crossfade y mezcla aditivahechoen curso
- 05Modos de bucle, el evento finished y la limpiezahechoen curso
28
Nivel 28
5 temas29
Nivel 29
5 temas- 01TextGeometry: texto que es geometría de verdadhechoen curso
- 02Sprites de texto: pintar en un canvas y pegarlohechoen curso
- 03troika-three-text y los campos de distancia con signohechoen curso
- 04HTML superpuesto: CSS2DRenderer y CSS3DRendererhechoen curso
- 05Elegir entre las cuatro técnicas de textohechoen curso
30
Nivel 30
5 temas- 01Qué es un shader y dónde se ejecuta de verdadhechoen curso
- 02Vertex frente a fragment: dos etapas, dos escalashechoen curso
- 03Paralelismo masivo: miles de invocaciones que no se hablanhechoen curso
- 04La ejecución divergente: por qué un if no es un ifhechoen curso
- 05Sin estado: dónde vive la memoria de un shaderhechoen curso
31
Nivel 31
5 temas- 01ShaderMaterial frente a RawShaderMaterialhechoen curso
- 02Uniforms: el canal de la CPU al shaderhechoen curso
- 03Attributes: de dónde vienen los datos por vérticehechoen curso
- 04Varyings: el puente interpolado entre las dos etapashechoen curso
- 05El tiempo como uniform y las constantes con defineshechoen curso
33
Nivel 33
5 temas42
Nivel 42
5 temas- 01El modelo de cómputo de Three.jshechoen curso
- 02Storage buffers: instancedArray, attributeArray y storagehechoen curso
- 03El kernel: Fn, workgroups y el tamaño del despachohechoen curso
- 04Doble buffer y un sistema de partículas entero en GPUhechoen curso
- 05GPGPU clásico: render targets y GPUComputationRendererhechoen curso
44
Nivel 44
5 temas46
Nivel 46
5 temas47
Nivel 47
5 temas- 01renderer.info: qué significa cada contadorhechoen curso
- 02Stats y el panel de rendimiento del navegadorhechoen curso
- 03CPU o GPU: la pregunta que decide todo lo demáshechoen curso
- 04Inspeccionar un frame: Spector.js y el Inspector de Three.jshechoen curso
- 05Un protocolo de medición que no mientehechoen curso
48
Nivel 48
5 temas- 01Fusionar, instanciar o agrupar: los tres caminos a un draw callhechoen curso
- 02Compartir materiales y el coste real de un programa de shaderhechoen curso
- 03Texture atlas: unir texturas sin romper los bordeshechoen curso
- 04Overdraw, early-z y el orden en que Three dibujahechoen curso
- 05El coste de la transparencia y las optimizaciones que son mitohechoen curso
49
Nivel 49
5 temas- 01El patrón de montaje y desmontaje de una escenahechoen curso
- 02dispose de verdad: la fuga de memoria de GPU que mata la pestañahechoen curso
- 03El bucle de render frente al ciclo de vida del componentehechoen curso
- 04Integrar con Solid y con Astro: señales sin re-render e islas sin SSRhechoen curso
- 05El modelo declarativo: qué aporta React Three Fiber y qué escondehechoen curso
50
Nivel 50
5 temas- 01El modo XR de Three.js y las sesiones inmersivashechoen curso
- 02Los botones de entrada: VRButton, ARButton y XRButtonhechoen curso
- 03Controladores, modelos de mando y seguimiento de manoshechoen curso
- 04Espacios de referencia y hit testing en ARhechoen curso
- 05Rendimiento en visores: dos ojos, noventa hercios y lo que quedahechoen curso
51
Nivel 51
5 temas- 01La pantalla de carga honesta: LoadingManager y progreso realhechoen curso
- 02Detectar la capacidad del dispositivo y degradar con dignidadhechoen curso
- 03Cuando no hay WebGL: detección, contexto perdido y fallbackhechoen curso
- 04La accesibilidad del 3D: alternativa, teclado y movimientohechoen curso
- 05El presupuesto de peso y de memoria de una experiencia 3Dhechoen curso
52
Nivel 52
5 temas