DirectX Graphics 프로그래밍 가이드 고도의 주제 픽셀 파이프라인 복수의 렌더링 타겟 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
많은 처리은,복수의 렌더링 타겟의 제약을 완화한 기능을 지원 하고 있다. 가장 완화되고 있는 것은, 따로 따로 생성 가능한 복수의 렌더링 타겟을 가질 수가 있는 점이다. 이러한 렌더링 타겟은, 넓이는 같지 않으면 안 되지만, 포맷이 같은 필요는 없다. 파이프라인은,IDirect3DDevice9::SetRenderTarget 를 사용해 설정하는 단일의 렌더링 타겟을 지원 하고 있다. 이것이 확장되어, 장치상에 동시에 복수의 렌더링 타겟을 설정할 수 있게 되었다. 새로운 능력 플래그로 이 능력을 표현한다.
복수의 렌더링 타겟으로는, 다음의 제한이 있다.
능력 플래그 D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS 를 설정했을 경우, 포맷 타입 또는 비트 깊이에 관계없이, 장치는 모든 믹스 포맷을 지원 할 수 있다. 능력 플래그 D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS 를 설정하지 않는 경우, 장치는 16 비트보다 위에의 같은 비트 깊이를 포함한 표면에 대해서, 믹스 포맷 타입을 지원 할 수 있다. 16 비트 깊이 표면에 대한 다른 포맷 타입의 혼재는 미정도리이다.
능력 플래그 D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING 를 설정하는 경우는, 우선 특정의 표면 포맷에 대해, USAGE_QUERY_POSTPIXELSHADER_BLENDING 를 지정한 IDirect3D9::CheckDeviceFormat 의 결과를 조사한다. FALSE 의 경우, 그 특정의 표면 포맷에 대해서 픽셀 셰이더 후 혼합 처리는 이용할 수 없다. TRUE 의 경우, 장치는, 다음과 같이 모든 동시 렌더링 타겟으로 같은 스테이트를 적용 하면 예측된다.
새로운 하드웨어 능력
D3DCAPS9.NumSimultaneousRTs // The value is 1 for all hardware except those that // can support this feature. It is never 0. D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS - True if the hardware can support it D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING - True if the hardware can support it