2008년 02월 08일
[게임 디자인] 버쳐 파이터 5의 3D 디자인 스킬 - 7
■ VF5는 FP16 베이스의 리얼 HDR 렌더링을 채용
톤 매핑에도 VTF를 활용!
최신 3D게임의 그래픽으로 흐름이 되고 있는 것이 하이·다이나믹·레인지 (High Dynamic Range Rendering)이다.VF5에서도, 당연히 HDR 렌더링을 적용하고 있고 , 렌더링타겟버퍼는 αRGB 각 16비트 부동 소수점(FP16)의 64비트 버퍼(이하 FP16-64비트)를 채용하고 있다


VP2편때에도 소개한 카와세씨 MGF사용
반사 맵/환경맵등도 HDR화해 두지 않으면 HDR씬이 비쳤을 때에 HDR 정보가 없어져 버린다.
(RGB 각 8비트 정수에 말 수 있어 버린다)
본래는, 렌더타켓(frame buffer), texture등의 모든 자원을 FP16-64비트 버퍼와 같은
HDR 포맷으로 통일해 렌더링 해야 하지만, 현행 GPU에서는 버스 대역의 한계,
FPtexture의 고속의 압축 수단이 없는 것으로부터 오는 비디오메모리의 용량적인 한계,
얼라이징 제거나 texture 필터링에 관련되는 사양 제한등에서 좀처럼 그렇게 할수는 없다.
따라서 texture는 αRGB 각 8비트의 통상의 정수 포맷을 채용하고, HDR 렌더링의 결과, 고휘도가 되는 경우에는,
그 α부에 추가 휘도 정보를 넣는 테크닉을 사용했습니다
VF5 개발 현장의 반응으로서는, FP16-64비트의 렌더링은 반투명 포함이 약간 늦은 반응도 있었지만,
그것보다 FP16-64비트 texture의 읽기가 늦고, 렌더링 파이프라인의 보틀넥이 되기 쉬웠다고 말한다.
야마노우치씨「FPtexture의 읽기는 아마 필터링이 늦다라고 생각합니다.
작은 코드의 스텝수는 먹습니다만(FP16-64비트 texture를 필터링 첨부로 읽는 것보다는),
HDR 정보를 encode, 디코드해 정수 texture를 사용하는 방식이 빨랐지요」

texture는 유사 HDR 기법에 따르는 처리가 된다.
마루에 밖의 경치나 불길이 비치고 있는 점에 주목.
비쳐도 고휘도 부분의 정보는 없어지지 않은 것을 알 수 있다.
마루에 밖의 경치나 불길이 비치고 있는 점에 주목.
비쳐도 고휘도 부분의 정보는 없어지지 않은 것을 알 수 있다.
PC게임등에서는 HDR인 FP16-64비트 texture를 사용한 타이틀도 나오고는 있지만,
그것은 가변 프레임으로 문제 없는 PC게임이기 때문에 할 수 있었던 것으로,
VF5와 같은 60 fps생명의 게임에서는
「풀HDR인 파이프라인 설계는 더이상 지금의 GPU로는 못한다」라고 하는 것이다.
HDR 렌더링으로 완성된 HDR 프레임은 그대로라면 FP16-64비트 버퍼이며,
RGB 각 8비트색체계의 디스플레이 장치에서는 표시할 수 없다.
거기서 이것을 RGB 각 8비트색체계에 조정하는 포스트프로세스를 행한다.
이 때, HDR 프레임의 휘도량을 산출하고, 실제로 그 HDR 씬에 인간이나 카메라가 있으면 보게 된다,
또한, 적정 휘도에 보정하는 처리 「톤 매핑」(TONE MAPPING) 처리를 행하는 것이 일반적이다.
덧붙여 이러한 HDR 프레임에 대한 조광시뮬레이션적인
포스트프로세스까지를 포함해 HDR 렌더링이라고 부르기도 한다.
톤 매핑으로 인해 귀찮은 것은, 그 HDR 프레임의 적정 휘도를 요구하는 처리다.
HDR 프레임을 CPU에 되돌려 계산하거나 다시 한번 픽셀 파이프라인에
되돌리고 픽쉘쉐이더를 요구하거나……와 같은 방식에는 몇개의 수법이 있지만,
어쨌든 조금 불필요한 수고와 시간이 걸린다.
거기서, VF5에서는, 이 톤 매핑 처리에 대해선, 독특한 방법을 적용하고,
그 문제의 극복을 시도하고 있다.
( 여기에서는 VTF를 사용해 약 1 패스분 처리의 단축을 실현하고 있다.)
1 x1픽셀에까지 축소한 HDR 프레임을 texture로 해, 이 texture를
VTF 기능을 사용해 정점 쉐이더측에서 읽어내,
영상의 평균 휘도를 정점 파이프라인측에서 계산해 버린다.
그 결과를 톤 매핑용의 정수로서 계속 되는 픽셀 파이프라인(픽쉘쉐이더)에 건네주어 버리면,
CPU도 사용하지 않고, 불필요한 렌더링 파이프라인을 돌리지 않고 톤 매핑을 실현할 수 있다.
톤 매핑에 의해서 적정 휘도에 안정될 때까지는 카메라나 눈의 눈동자의
조임이 움직이는 느낌을 모방하고 있으며,
역광의 씬이나, 옥내의 어두운 씬등에서 볼 수 있다..

동적 노출 보정 있음

동적 노출 보정 없음.

동적 노출 보정 있음

동적 노출 보정 없음
# by | 2008/02/08 01:01 | Game Developer | 트랙백 | 덧글(0)














☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]