3 pontos por GN⁺ 2025-11-14 | 1 comentários | Compartilhar no WhatsApp
  • 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

 
GN⁺ 2025-11-14
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

    • Isso acontece porque a graduação das lentes altera o tamanho da imagem formada na retina
      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

    • Acho isso fofo. IQ é uma pessoa incrível por ter mantido o Shadertoy gratuito sem comercializar a plataforma por 12 anos
  • 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

    • Normalmente não tenho enxaqueca, mas às vezes tenho aura visual
      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
    • Pode surgir a pergunta “como verificar isso”, mas na prática não existe um método claro de validação
    • No início achei que isso fosse um experimento mostrando o princípio de que o raio em que os olhos conseguem focar diminui com a idade
      Mas corrigi isso ao perceber que há pouca pesquisa relacionada
    • Eu também senti algo estranho e desconfortável assim que vi
      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
    • Fiquei curioso se você já usou um headset de VR
      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

    • Isso mesmo :)
  • 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