프로그래밍
2020. 4. 2. 15:13
디퍼드 렌더링의 라이팅 관련 내용을 찾아보다가
발견하였다
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 로 하나
픽셀쉐이더의 렌더링량은 같다
각각 나누어서 렌더링, 한번 안에서 두번 렌더링
다만, 버텍스쉐이더는 공통적으로 사용하기 때문에, 버텍스쉐이더의 렌더링량은 줄어든다
'프로그래밍' 카테고리의 다른 글
쉐이더 그림자 vsm light bleeding (0) | 2020.04.13 |
---|---|
쉐이더 색상값 0 ~ 1 why? (0) | 2020.04.05 |
문제입니다, 이 코드는 컴파일 될까요? (0) | 2020.03.24 |
직선, 반직선, 선분 정의 (0) | 2020.01.14 |
쉐이더 hdr 파헤치기 6장 - 정리를 해볼까 (6) | 2019.12.06 |