OpenGL에서 제한된 (256) 색상 표를 어떻게 시뮬레이트 할 수 있습니까?


16

트위터에서 개발중인 게임의 스크린 샷을 발견했습니다.

여기에 이미지 설명을 입력하십시오

상단의 이미지에는 색상 제한이없는 것 같습니다. 그러나 맨 아래에있는 다른 두 그림에는 256 색 팔레트가 있습니다.

나는 비슷한 효과를 달성하고자하는 게임 (나는 OpenGL을 사용하고 있습니다). 어떻게해야합니까?



256 색 그래픽과 같이 구식을 그리시겠습니까, 아니면 24 비트 그래픽을 구식 그래픽처럼 보이게 하시겠습니까? 즉, 프로세스를 게시하거나 실제로 256 색 팔레트를 사용 하시겠습니까? 여기에서 WebGL에 팔레트 256 컬러 그래픽 작업을 수행하는 방법
G 맨

답변:


32

나는 그 이미지의 창조자입니다.

오른쪽의 이미지는 색상 조회 텍스처를 사용하여 렌더링됩니다. 최종 GLSL 셰이더에서 디더를 적용한 다음 RGB 값을 0 <= x <40 범위의 정수로 변환하고 단일 인덱스로 결합한 다음이 이미지에서 결과 색상 값을 찾습니다.

컬러 룩업 테이블

가장 낮은 행은 원시 팔레트입니다.

왼쪽의 이미지는 빨강 및 녹색 채널을 8 값으로 다운 샘플링하고 파랑 채널을 디더를 적용한 후 4 값으로 다운 샘플링하여 쉐이더에서 순수하게 만들어져 RGB332가됩니다. 또한 7 개의 빨간색, 9 개의 녹색 및 4 개의 파란색 음영을 사용하여 252 가지 색상 만 사용했지만 사람의 눈이 가장 민감한 녹색에 더 중점을 두었습니다.


6

여기여기에 설명 된대로 후 처리 단계에서 색상 그레이딩 룩업 테이블을 사용할 수 있습니다 .

여기에 이미지 설명을 입력하십시오

이 기능을 구현 한 후에는 스크린 샷을 만들고 그 위에 조회 텍스처를 오버레이 한 다음 원하는 때까지 임의의 그래픽 소프트웨어로 편집 한 다음 수정 된 조회 텍스처를 다시 검색하기 만하면됩니다. 이것은 검색된 룩업 테이블을 컬러의 서브 세트로 감소시키는 것을 포함하거나 포함하지 않을 수있다.

색상 제한을 염두에두고 조회 텍스처를로드 할 때는 모든 필터링을 비활성화해야 추가 색상이 생성되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.