프로그래밍 2020. 4. 2. 15:13
728x90

디퍼드 렌더링의 라이팅 관련 내용을 찾아보다가

발견하였다

 

MRT MRT 말은 많이 들었지만,

별 관심을 두지 않았는데,

 

이거, 나처럼 포워드 렌더링을 사용하는 경우에도, 

아주 유용한 정보이다

 

요점은,

보통 픽셀쉐이더에서 color 정보 하나만을 리턴하는데,

struct 로 color 를 여러개 묶어서, 리턴할수 있다는 것이다

 

struct OUTPUT_PS 

{

   float4 color0 : COLOR0;
   float4 color1 : COLOR1;
};

 

OUTPUT_PS  PS( ... )
{
    OUTPUT_PS  outColor;
    //
    return outColor;
}

묶어서 리턴한 color 정보들은

미리 

SetRenderTartget( 0, )

SetRenderTartget( 1, )

...

로 지정해둔, 인덱스에 해당하는 렌더타겟에 각각 컬러값이 저장된다는것

 

 

이거 너무 좋잖아!

(이제 알았두아~~)

 

 

이것을 이용하면, 여기저기 반복적인 렌더링 횟수를 줄여줄수 있을듯하다

 

 

요기 블러그에 잘 정리되어 있으니, 참고해보자

감사합니두아~!

출처: https://3dmpengines.tistory.com/1231 [3DMP]

 

 

일단, 적용해서 테스트를 해봐야할듯~~

 

 

*RT 로 하나 MRT 로 하나

픽셀쉐이더의 렌더링량은 같다

각각 나누어서 렌더링, 한번 안에서 두번 렌더링

다만, 버텍스쉐이더는 공통적으로 사용하기 때문에, 버텍스쉐이더의 렌더링량은 줄어든다

 

728x90
posted by BK dddDang
: