- Código de efectos visuales basado en ShaderToy que detecta el foco visual de la zona central de la visión (fóvea)
- Estructura que visualiza en tiempo real las áreas donde se concentra la mirada humana usando shaders de GPU
- Expresión experimental de la relación entre los efectos de renderizado y las áreas de atención visual
- Se puede ejecutar y ajustar directamente en el navegador web a través de la plataforma ShaderToy
- Un ejemplo de cómo explorar con programación gráfica el mecanismo de enfoque de la visión humana
Descripción general de Human Fovea Detector
- Código de shader para experimentación visual publicado en ShaderToy, que simula la detección de la zona central de la visión humana (fóvea)
- Funciona resaltando las áreas de concentración de la mirada mediante shaders basados en GPU
- Para ejecutarlo en el navegador, es necesario activar JavaScript y WebGL
Funciones e implementación
- Detecta el enfoque visual de áreas específicas en pantalla mediante renderizado en tiempo real
- Representa cambios en el centro del campo visual usando el motor interactivo de efectos visuales de ShaderToy
- Al ejecutar el código, implementa un efecto de desplazamiento del centro visual según la entrada del usuario o el movimiento del mouse
Características técnicas
- Está basado en programación de shaders en GPU y realiza cálculos visuales a nivel de píxel
- Para su ejecución en el navegador, se requiere permitir JavaScript y cookies
- Sigue la estructura estándar de la plataforma ShaderToy y está escrito en código GLSL
Posibles usos
- Puede utilizarse como herramienta de investigación para visualizar o analizar el desplazamiento del enfoque visual humano
- Puede aplicarse en diversos campos como interfaces de seguimiento ocular, análisis de atención visual y experimentos de diseño gráfico
Requisitos de ejecución
- Al acceder al sitio, hay un proceso de verificación de seguridad y solicitud de activar scripts
- Se deben permitir JavaScript y cookies para que el código del shader se renderice correctamente
- En la página original, después del mensaje “Verificando que eres una persona”, se cambia a la pantalla de renderizado de ShaderToy
1 comentarios
Comentarios en Hacker News
Es imposible mover los ojos suavemente a menos que estés siguiendo un objeto en movimiento
Los ojos siempre hacen movimientos sacádicos (saccades) rápidos y discontinuos
Pero si ves un círculo rojo moviéndose suavemente, como en este ejemplo de Shadertoy, puedes seguirlo con la mirada y mover los ojos de forma fluida
Al ver esto, descubrí la ilusión de la mancha de Maxwell (Maxwell’s Spot illusion)
Si miras esta imagen azul/verde parpadeante, se ve un punto oscuro en el centro donde se fija la mirada
Fue interesante que el resultado cambiara por completo según el tipo de lentes
Yo tengo hipermetropía, y si me quito los lentes tengo un poco de estrabismo, así que no logro enfocar y veo un movimiento con forma de 8
Si uso lentes normales, el efecto disminuye, pero casi no veo movimiento fuera de la zona central
En cambio, si uso lentes de lectura (para miopía), veo un círculo perfecto y también puedo detectar el movimiento en la periferia, como si fuera una animación a pocos fps
Cuanto mayor es la graduación, más pequeña se vuelve la imagen, y por eso el rango en el que se percibe el movimiento se reduce hacia la zona cercana al foco
Hace tiempo este Shadertoy se volvió tan popular que el servidor se cayó
En ese momento hasta mostraron un banner personalizado de “un momento”, así que me da gusto verlo otra vez en la portada de HN
Enlace al archivo de esa época
Apenas abrí la página me dio una migraña fuerte, así que la cerré de inmediato
Habría que verificar si este tipo de estímulo visual puede provocar convulsiones o dolor de cabeza
Al principio me pareció divertido, pero después de como 1 minuto empecé a ver una imagen residual en mi campo visual y a escuchar tinnitus en los oídos
Incluso después de 10 minutos seguía ahí, así que me alejé de la computadora enseguida
Pero luego corregí eso al darme cuenta de que hay poca investigación relacionada
Como podía sentir perceptualmente que algo se movía también fuera del centro, me pareció que si lo veía mucho tiempo me iba a dar dolor de cabeza
Probar si te genera una molestia parecida podría ayudar a acotar la causa
Todas las cruces en realidad están girando, así que este experimento muestra qué partes del campo visual son vulnerables a la ceguera al cambio (change blindness)
Es decir, el 99% del campo visual no detecta los cambios
Mi comentario fue el detonante para que se publicara una nueva entrada
Al principio pensé que esta rotación era una ilusión óptica
Me recordó este artículo relacionado de National Geographic, pero en este caso la rotación es real
Solo que esa rotación se puede ver claramente únicamente en la zona central (fóvea, fovea)
Creo que también se podría extender este experimento a una versión psicométrica (psychometric)
Si ajustas el parámetro de escala, también podrías ver el movimiento en la periferia, y bastaría con pedirle al sujeto que informe si cierta zona específica (por ejemplo, la marcada con un círculo rojo) realmente se está moviendo
Como el campo receptivo (receptive field) en la visión periférica es más grande, las células de esa zona necesitan un estímulo visual mayor para detectar movimiento
Pude encontrar rápidamente la zona difusa en la que la rotación se ve claramente en el centro
Si desenfoco la vista, se ve que toda la periferia se mueve borrosamente
Esa es precisamente la base teórica de foveated rendering/streaming