퍼픽셀 조명
Per-pixel lighting컴퓨터 그래픽에서 픽셀당 조명은 렌더링된 이미지의 각 픽셀에 대한 조명을 계산하는 영상이나 장면을 조명하는 기법을 말한다.이는 3D 모델의 각 꼭지점에서 조명을 계산한 다음 모델의 얼굴 위로 결과 값을 보간하여 최종 픽셀당 색상 값을 계산하는 정점 조명 등 일반적인 다른 조명 방법과는 대조적이다.
픽셀당 조명은 일반적으로 블렌딩, 알파 블렌딩, 알파 to 커버리지, 안티앨리어싱, 텍스처 필터링, 클리핑, 숨겨진 표면 결정, Z-버퍼링, 스텐실 버퍼링, 음영, 미립핑, 일반 매핑, 범프 매핑, 변위 매핑, 시차 매핑, 섀도 매핑, 섀도 볼륨 등의 기법과 함께 사용된다.s, 고경량 렌더링, 주변 차단(화면 공간 주변 차단, 화면 공간 방향 차단, 광선 차단 주변 차단), 광선 추적, 전역 조명 및 테셀레이션.이러한 각 기법은 조명되는 표면 또는 표면의 최종 모양과 느낌에 기여하는 장면과 광원에 대한 몇 가지 추가 데이터를 제공한다.
대부분의 최신 비디오 게임 엔진은 정점 조명 대신 픽셀당 기술을 사용하여 조명을 구현하여 디테일과 사실감을 높인다.브링크와 둠 3 같은 게임을 개발하기 위해 사용된 id Tech 4 엔진은 픽셀 단위 음영 엔진을 완전히 구현한 최초의 게임 엔진 중 하나였다.크라이엔진, 프로스트바이트 엔진, 언리얼 엔진의 모든 버전도 픽셀 단위 음영 기술을 구현한다.
이연 차광은 동상 엔진과 전장 3에서 사용하기로 유명한 픽셀 단위 조명의 최근 발전이다.지연된 음영 기법은 많은 수의 작은 빛을 저렴하게 렌더링할 수 있다(다른 픽셀당 조명 접근법은 크기에 상관없이 장면의 각 조명에 대해 전체 화면 계산이 필요하다).[1]
역사
개인용 컴퓨터와 비디오 하드웨어가 게임과 같은 실시간 애플리케이션에서 완전한 픽셀 단위 음영을 수행할 수 있을 정도로 강력해진 것은 최근이지만, 픽셀 단위 조명 모델에서 사용되는 많은 핵심 개념들이 수십 년 동안 존재해왔다.
프랭크 크로우는 1977년에 그림자 볼륨 이론을 설명하는 논문을 발표했다.[2]이 기법은 스텐실 버퍼를 사용하여 "그림자 볼륨"에 있는 표면에 해당하는 화면 영역 또는 어떤 물체에 의해 광원에서 빠져나온 공간의 볼륨을 나타내는 형태를 지정한다.이러한 그림자 영역은 일반적으로 씬(scene)이 스텐실 버퍼와 함께 그림자 영역을 저장하여 버퍼에 렌더링된 후 음영 처리된다.
짐 블린은 1978년 SIGRAPH 논문에서 처음으로 정상적인 지도 제작에 대한 아이디어를 소개했다.[3]블린은 에드윈 캣멀이 제안한 초기 비라이트 텍스처 맵핑 아이디어는 거친 표면을 시뮬레이션하는 데 비현실적이었다고 지적했다.거칠기를 시뮬레이션하기 위해 어떤 물체에 질감을 매핑하는 대신, 블린은 표면에 있는 점들이 표면 전체에 걸쳐 확립된 "퍼스터브레이션"에 기초하여 받아야 하는 조명 정도를 계산하는 방법을 제안했다.
하드웨어 렌더링
비디오 게임과 같은 실시간 애플리케이션은 보통 픽셀 단위 조명을 픽셀 단위 조명을 픽셀 단위 셰이더로 구현해 GPU 하드웨어가 그 효과를 처리할 수 있게 한다.렌더링할 씬(scene)은 깊이, 정상 방향, 분산 색상 등 렌더링에 사용할 여러 유형의 데이터를 저장하는 버퍼에 먼저 래스터화된다.그런 다음 데이터는 셰이더로 전달되어 장면의 마지막 모습을 픽셀 단위로 계산하는 데 사용된다.
이연 음영 기술은 픽셀당 음영 기법으로 최근 게임에서 실현 가능성이 높아졌다.[4]지연된 음영 처리와 함께 "g-버퍼"를 사용하여 최종 장면을 화소 레벨에서 음영 처리하는데 필요한 모든 용어를 저장한다.이 데이터의 형식은 원하는 효과에 따라 적용마다 다르며, 그 중에서도 정상 데이터, 위치 데이터, 규격 데이터, 분산 데이터, 복사 지도, 알베도 등을 포함할 수 있다.복수의 렌더 표적을 사용하여 이 모든 데이터를 단일 패스로 g-버퍼에 렌더링할 수 있으며, 셰이더는 최종 "디퍼드 패스"에서 g-버퍼의 데이터를 바탕으로 각 픽셀의 최종 색상을 계산할 수 있다.
소프트웨어 렌더링
픽셀당 조명은 또한 많은 고급 상업용 렌더링 어플리케이션의 소프트웨어에서도 수행되며, 일반적으로 대화형 프레이머에서 렌더링을 하지 않는다.이것을 오프라인 렌더링 또는 소프트웨어 렌더링이라고 한다.Autodesk의 Softimage와 같은 제품군과 통합된 NVidia의 멘탈 레이 렌더링 소프트웨어가 잘 알려진 예다.