Notas de Shader Brillante
LECTURA
~12 min
TAGS
WebGLGLSL
ACTUALIZADO
2025-08-14
Un shader brillante no es solo brillo. Es una negociación entre Fresnel, micro-rugosidad y el contexto de iluminación.
01· Premisa
Empecemos por lo obvio: la mayoría de los shaders "brillantes" en la web fallan no por el highlight, sino por cómo el material se comporta en penumbra. El highlight es fácil. La penumbra es donde se nota el oficio.
Este artículo recorre tres técnicas que uso para resolver esto: Fresnel modificado, micro-normales por triplanar, y un par de hacks de roughness anisotrópico.
FIGURE 1.1 — FRESNEL CURVES
02· Fresnel
float fresnel = pow(1.0 - dot(N, V), 5.0);
fresnel = mix(0.04, 1.0, fresnel);
vec3 specular = mix(baseColor, vec3(1.0), fresnel);03· Reflexiones
El entorno importa tanto como el material. Sin un IBL correcto, el Fresnel perfecto cae plano.
04· Demos
Implementación en vivo próximamente.