피드로 돌아가기
1993년처럼 그래픽 만들기
GeekNewsGeekNews
Infrastructure

1993년처럼 그래픽 만들기

Oklab 기반 Colormap과 O(1) 조회로 구현한 256색 레트로 렌더러

neo2026년 6월 10일25intermediate

Context

320x240 해상도와 256색 팔레트라는 하드웨어적 제약 내에서 현대적인 시각적 깊이감을 구현해야 하는 과제 직면. 단순 인덱스 기반 렌더링 시 발생하는 평면적인 화면과 색상 표현의 한계를 극복하기 위한 최적화된 조명 및 애셋 파이프라인 설계 필요.

Technical Solution

  • Oklab 색공간 및 지각 거리 공식을 적용하여 인간의 시각적 인지에 최적화된 32단계 Colormap 사전 계산
  • 런타임 시 거리 기반 명암 선택을 2차원 행렬의 O(1) 조회를 통해 처리하여 CPU 연산 비용 최소화
  • Blender Python API를 활용한 사전 렌더링 및 Oklab 기반 팔레트 양자화 자동화 파이프라인 구축
  • 월드 1유닛을 64픽셀로 정의한 고정 픽셀 스케일 규칙 적용을 통해 저해상도 환경의 가독성 및 선명도 확보
  • 결정적 동작 보장을 위한 Game Logic의 Fixed-point 연산과 렌더링 단계의 Floating-point 연산 분리 설계

1. 런타임 성능 병목 예상 지점을 사전 계산 가능한 행렬이나 테이블로 전환 가능한지 검토

2. 색상 처리 시 단순 RGB 거리 대신 Oklab 등 지각 기반 색공간 적용 여부 확인

3. 애셋 파이프라인 구축 시 수동 작업을 최소화하는 스크립트 기반 자동화 및 양자화 단계 설계

4. 일관된 픽셀 스케일 정의를 통해 저해상도 UI/UX의 시각적 왜곡 방지

원문 읽기