3P by GN⁺ 21일전 | ★ favorite | 댓글 1개
  • 시야 중심부(포베아) 의 시각적 초점을 감지하는 ShaderToy 기반 시각 효과 코드
  • GPU 셰이더를 활용해 인간의 시선이 집중되는 영역을 실시간으로 시각화하는 구조
  • 렌더링 효과와 시각적 주의 영역 간의 관계를 실험적으로 표현
  • ShaderToy 플랫폼을 통해 웹 브라우저에서 직접 실행 및 조정 가능
  • 인간 시각의 초점 메커니즘을 그래픽 프로그래밍으로 탐구하는 예시

Human Fovea Detector 개요

  • ShaderToy에 게시된 시각적 실험용 셰이더 코드로, 인간의 시야 중심부(포베아) 감지를 시뮬레이션
  • GPU 기반 셰이더를 통해 시선 집중 영역을 강조 표시하는 방식으로 작동
  • 브라우저 환경에서 JavaScript와 WebGL을 활성화해야 실행 가능

기능 및 구현

  • 실시간 렌더링을 통해 화면 내 특정 영역의 시각적 초점을 감지
  • ShaderToy의 인터랙티브 시각 효과 엔진을 사용해 시야 중심의 변화를 표현
  • 코드 실행 시 사용자의 입력이나 마우스 움직임에 따라 시야 중심이 이동하는 효과 구현

기술적 특징

  • GPU 셰이더 프로그래밍을 기반으로 하며, 픽셀 단위의 시각적 계산 수행
  • 브라우저 내 실행을 위해 JavaScript와 쿠키 허용이 필요
  • ShaderToy 플랫폼의 표준 구조를 따르며, GLSL 코드로 작성된 형태

활용 가능성

  • 인간 시각의 초점 이동을 시각화하거나 분석하는 연구용 도구로 활용 가능
  • 시선 추적 인터페이스, 시각적 주의 분석, 그래픽 디자인 실험 등 다양한 분야에 응용 가능

실행 조건

  • 사이트 접속 시 보안 확인 절차와 스크립트 활성화 요구가 있음
  • JavaScript와 쿠키를 허용해야 셰이더 코드가 정상적으로 렌더링됨
  • 원문 페이지에서는 “사람인지 확인 중” 메시지 이후 ShaderToy 렌더링 화면으로 전환
Hacker News 의견
  • 움직이는 물체를 추적하지 않는 한 눈을 부드럽게 움직이는 것은 불가능함
    눈은 항상 빠르고 불연속적인 도약운동(saccade) 을 함
    하지만 이 Shadertoy 예시처럼 부드럽게 움직이는 빨간 원을 보면, 그 원을 따라가며 눈을 매끄럽게 움직일 수 있게 됨

  • 이걸 보다가 Maxwell’s Spot illusion을 발견했음
    이 깜박이는 파란/초록 이미지를 보면, 시선이 머무는 중앙에 어두운 점이 보임

  • 안경 종류에 따라 결과가 완전히 달라서 흥미로웠음
    나는 원시인데, 안경을 벗으면 약간의 사시가 있어서 초점을 못 잡고 8자 모양의 움직임이 보임
    일반 안경을 쓰면 이 효과가 줄지만 중심부 외에는 움직임이 거의 안 보임
    반면 독서용 안경(근시용) 을 쓰면 완벽한 원이 보이고, 주변부에서도 낮은 프레임처럼 움직임을 감지할 수 있음

    • 안경의 도수 세기가 망막에 맺히는 이미지 크기를 바꾸기 때문임
      도수가 높을수록 이미지가 작아지고, 따라서 움직임을 인식하는 범위가 초점 근처로 좁아짐
  • 예전에 이 Shadertoy가 너무 인기를 끌어서 서버가 다운된 적이 있었음
    당시엔 “잠시만요”라는 커스텀 배너까지 띄웠었는데, 다시 HN 메인에 올라온 걸 보니 반갑게 느껴짐
    당시 아카이브 링크

    • 귀엽다고 생각함. IQ는 Shadertoy를 12년 동안 상업화하지 않고 무료로 유지해온 멋진 사람임
  • 페이지를 열자마자 편두통이 심하게 와서 바로 닫았음
    혹시 이런 시각 자극이 발작이나 두통을 유발할 수 있는지 확인이 필요함

    • 나는 평소 편두통은 없지만 시각적 오라가 가끔 있음
      처음엔 재밌었는데, 1분쯤 지나니 시야에 잔상이 남고 귀에서 이명이 들리기 시작했음
      10분이 지나도 여전히 남아 있어서 바로 컴퓨터에서 멀어졌음
    • “그걸 어떻게 확인하냐”는 질문이 나올 수 있지만, 실제로는 검증 방법이 명확하지 않음
    • 원래는 나이 들수록 눈이 초점을 맞출 수 있는 반경이 줄어드는 원리를 보여주는 실험이라 생각했음
      하지만 관련 연구가 부족하다는 걸 알고 정정함
    • 나도 보자마자 이상하고 불편한 느낌이 들었음
      중심부 외에도 뭔가 움직이는 걸 감각적으로 느낄 수 있어서 오래 보면 두통이 올 것 같았음
    • 혹시 VR 헤드셋을 써본 적 있는지 궁금함
      비슷한 불편함이 생기는지 확인해보면 원인을 좁힐 수 있을 것 같음
  • 모든 십자가가 실제로 회전하고 있어서, 이 실험은 시야 중 어느 부분이 변화맹(change blindness) 에 취약한지를 보여줌
    즉, 시야의 99%가 변화를 인식하지 못함

  • 내 댓글이 계기가 되어 새로운 글이 올라왔음

    • 맞음 :)
  • 처음엔 이 회전이 착시인 줄 알았음
    National Geographic의 관련 글을 떠올렸는데, 이번 경우엔 실제 회전임
    다만 중심부(중심와, fovea)에서만 그 회전을 명확히 볼 수 있음

  • 이 실험을 심리측정(psychometric) 버전으로 확장할 수도 있을 것 같음
    스케일 파라미터를 조정하면 주변부에서도 움직임을 볼 수 있고, 피험자가 특정 영역(예: 빨간 원으로 표시된 곳)이 실제로 움직이는지 보고하도록 하면 됨
    주변 시야의 수용영역(receptive field) 이 더 크기 때문에, 그쪽 세포들이 움직임을 감지하려면 더 큰 시각 자극이 필요함

  • 중심부에서 회전을 명확히 볼 수 있는 퍼지한 영역을 금방 찾을 수 있었음
    초점을 풀면 주변 전체가 흐릿하게 움직이는 게 보임
    이게 바로 foveated rendering/streaming의 이론적 배경임