- Fóvea (centro do campo visual): código de efeito visual baseado em ShaderToy que detecta o foco visual
- Estrutura que usa shaders de GPU para visualizar em tempo real a área em que o olhar humano se concentra
- Expressa de forma experimental a relação entre efeitos de renderização e áreas de atenção visual
- Pela plataforma ShaderToy, é possível executar e ajustar diretamente no navegador
- Um exemplo de exploração do mecanismo de foco da visão humana por meio de programação gráfica
Visão geral do Human Fovea Detector
- Código de shader para experimento visual publicado no ShaderToy, que simula a detecção da fóvea humana (centro do campo visual)
- Funciona destacando a área em que o olhar se concentra por meio de shaders baseados em GPU
- Para executar no navegador, é necessário ativar JavaScript e WebGL
Funcionalidades e implementação
- Detecta o foco visual de áreas específicas da tela por meio de renderização em tempo real
- Usa o motor de efeitos visuais interativos do ShaderToy para representar mudanças no centro do campo visual
- Ao executar o código, implementa o efeito de deslocamento do centro da visão de acordo com a entrada do usuário ou o movimento do mouse
Características técnicas
- Baseado em programação de shaders em GPU, realizando cálculos visuais em nível de pixel
- Para execução no navegador, é necessário permitir JavaScript e cookies
- Segue a estrutura padrão da plataforma ShaderToy e foi escrito em código GLSL
Possibilidades de uso
- Pode ser usado como ferramenta de pesquisa para visualizar ou analisar o deslocamento do foco da visão humana
- Pode ser aplicado em diversas áreas, como interfaces de rastreamento ocular, análise de atenção visual e experimentos de design gráfico
Condições de execução
- Ao acessar o site, há etapas de verificação de segurança e exigência de ativação de scripts
- É preciso permitir JavaScript e cookies para que o código do shader seja renderizado corretamente
- Na página original, após a mensagem “Verificando se você é humano”, ocorre a transição para a tela de renderização do ShaderToy
1 comentários
Comentários do Hacker News
A menos que você esteja rastreando um objeto em movimento, é impossível mover os olhos suavemente
Os olhos sempre fazem sacadas (saccades) rápidas e descontínuas
Mas, ao olhar para este exemplo no Shadertoy, com um círculo vermelho se movendo suavemente, você consegue acompanhar o círculo e mover os olhos de forma fluida
Enquanto via isso, descobri a ilusão da Mancha de Maxwell
Ao olhar para esta imagem azul/verde piscando, aparece um ponto escuro no centro onde o olhar está fixado
Foi interessante como o resultado mudava completamente dependendo do tipo de óculos
Eu tenho hipermetropia, e sem óculos tenho um leve estrabismo, então não consigo focar e vejo um movimento em forma de 8
Com óculos normais, esse efeito diminui, mas quase não vejo movimento fora da região central
Já com óculos de leitura (para miopia), vejo um círculo perfeito e consigo detectar o movimento também na periferia, como se fosse um frame-rate baixo
Quanto maior a graduação, menor a imagem, então a faixa em que o movimento é percebido se estreita para perto do foco
Esse Shadertoy já ficou tão popular no passado que o servidor caiu
Na época eles até colocaram um banner personalizado de “um momento”, então foi bom ver isso de volta à página principal do HN
Link do arquivo da época
Assim que abri a página, tive uma enxaqueca forte e fechei na hora
Seria importante verificar se esse tipo de estímulo visual pode provocar crises ou dores de cabeça
No começo pareceu divertido, mas depois de cerca de 1 minuto comecei a ficar com imagem residual na visão e zumbido no ouvido
Depois de 10 minutos isso ainda continuava, então me afastei do computador imediatamente
Mas corrigi isso ao perceber que há pouca pesquisa relacionada
Como dava para sentir perceptualmente algo se movendo fora da região central, parecia o tipo de coisa que poderia causar dor de cabeça se você olhasse por muito tempo
Ver se isso provoca um desconforto parecido talvez ajude a restringir a causa
Todas as cruzes estão realmente girando, então este experimento mostra em que parte do campo visual somos vulneráveis à cegueira para mudanças (change blindness)
Ou seja, 99% do campo visual não percebe a mudança
Um novo post foi publicado por causa do meu comentário
No começo achei que essa rotação fosse uma ilusão de ótica
Lembrei deste artigo da National Geographic, mas neste caso a rotação é real
Só que ela só pode ser vista claramente na região central (fóvea, fovea)
Acho que daria para expandir este experimento para uma versão psicométrica (psychometric)
Ajustando o parâmetro de escala, também seria possível ver o movimento na periferia, e então bastaria pedir que a pessoa testada relatasse se uma determinada região — por exemplo, a indicada por um círculo vermelho — está realmente se movendo
Como o campo receptivo (receptive field) da visão periférica é maior, as células dessa região precisam de estímulos visuais maiores para detectar movimento
Consegui encontrar rapidamente a região difusa em que a rotação pode ser vista claramente no centro
Quando desfoco a visão, dá para ver toda a periferia se movendo de forma borrada
Esse é exatamente o fundamento teórico de foveated rendering/streaming