다중 렌더 대상

Multiple Render Targets

3D 컴퓨터 그래픽 분야에서 다중 렌더 대상(Multiple Render Targets, 또는 MRT)은 프로그램 가능한 렌더링 파이프라인이 영상을 여러 렌더 대상 텍스처로 한 번에 렌더링할 수 있는 현대 그래픽 처리 장치(GPU)의 특징이다.이 텍스처는 다른 셰이더에 대한 입력 또는 3D 모델에 적용된 텍스처 맵으로 사용될 수 있다.OpenGL 2.0과 Direct3D 9가 선보인 MRT는 비디오 게임과 같은 실시간 3D 어플리케이션에 매우 귀중할 수 있다.MRT가 등장하기 전에 프로그래머는 각 렌더 대상 텍스쳐에 대해 3D 장면을 한 번 그리도록 GPU에 명령을 내려야 할 것이며, 이는 가능한 한 빨리 실행될 것으로 예상되는 실시간 프로그램에서 상당한 시간이 소요될 수 있다.MRT로 프로그래머는 각 렌더 대상에 대한 출력 값을 반환하는 픽셀 셰이더를 만든다.이 픽셀 셰이더는 단일 그리기 명령으로 모든 대상을 렌더링한다.

MRT의 일반적인 용도는 지연 음영으로, 전방 음영과는 달리 각 개별 물체가 아닌 전체 3D 장면에서 한 번에 조명 계산을 수행하는 음영 처리다.이를 위해 실시간으로 MRT를 사용하여 조명 계산에 필요한 정보를 복수의 렌더 표적에 저장한 다음 전체 장면을 그린 후 점등된 최종 영상을 계산한다.일반적으로 한 렌더 표적은 물체의 색과 표면 정보를 보유하는 반면, 다른 렌더 표적은 빛의 반사를 계산하는 데 사용되는 장면의 표면 표준과 깊이 정보를 포함한다.추가 렌더 표적을 사용하여 표면의 지정성 및 주변 폐색 데이터와 같은 정보를 저장할 수 있다.

참고 항목