닌텐도 64 팔레트 조명 트릭 사용법
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

닌텐도 64에서 팔레트 조명 트릭 사용법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

게임 개발

대상자

게임 엔지니어, 레트로 게임 개발자, 3D 그래픽 최적화 연구자

핵심 요약

  • 팔레트 텍스처 기반 조명은 CPU에서 실시간으로 팔레트 색상만 업데이트하여 전체 텍스처에 조명 효과 적용
  • K-means 군집 알고리듬으로 디퓨즈/노멀 텍스처의 팔레트 인덱스를 공유하여 4bpp 이미지 데이터 압축 가능
  • 오브젝트 공간 노멀 맵은 표면 노멀 정보를 정확히 반영하지만, 반복 텍스처 활용 제한

섹션별 세부 요약

1. 팔레트 기반 조명 기술

  • 텍스처 대신 팔레트 변경으로 실시간 조명 효과 구현
  • 방향성 조명만 지원 가능, 쉐이딩 불연속성 발생
  • N64 데모에서 반사광/직접광/환경광 복합 활용

2. 노멀 매핑 최적화

  • 오브젝트 공간 노멀 맵은 계산이 단순하지만 반복 텍스처 사용 어려움
  • 텐전트 공간 노멀 맵은 자연스러운 표면 보정 가능
  • 32색 팔레트 압축으로 고해상도 노멀 맵 특성 유지 가능

3. 라이팅 공식 및 구현

  • ambient = vertex_rgb * grey_irradiance_map(N)
  • direct = vertex_alpha sun_color dot(N, sun_dir)
  • color = diffuse_texture * (ambient + direct)
  • 환경광은 등각원통 투영(equirectangular projection)으로 단순화

4. 구현 한계 및 해결 방안

  • 대형 메시 분할을 통해 메시별 폴리곤 노멀 기반 world-to-model 행렬 생성
  • 팔레트 공유로 전체 라이팅 품질 보장
  • 스페큘러 반사광은 구형 개체 근사로 구현

결론

  • K-means 군집 알고리듬을 활용한 팔레트 압축이 4bpp 이미지 데이터 최적화에 효과적
  • 실행 시간 CPU 연산 기반 조명은 성능 저하 발생 가능
  • PAL 호환 N64 ROM 파일 공개로 데모 재현 가능, 단 불안정한 다운로드 주의 필요