-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
빛이 여러개 중첩되는 상황이 궁금합니다
21.10.29 03:10 작성 조회수 272
1
강사님께서 올려주신 코드에서
SceneManager::LoadTestScene()
에서 PointLight 를 그대로 2개 복사하여 총 3개를 만들었습니다. 빛의 중첩이 효과가 있는지를 확인하기 위해서 였습니다.
저는 사실 이렇게 할 경우 효과가 없을 줄 알았습니다. 왜냐하면
Point Light 가 3개일 경우 lighting.fx 의 PS_PointLight 에서
Deffered Rendering 에서 만들어 낸 g_tex0(Position RT) 와 g_tex1(Normal RT) 으로 1번 Point Light 의 빛을 계산한 후 Light shader 의 Render Target 인 DiffuseLightTarget 와 SpecularLightTarget 으로 출력하고,
그 다음에 2번째 Point Light 의 PS_PointLight 가 실행될 때 위의 과정을 거쳐 DiffuseLightTarget 와 SpecularLightTarget 에다가 그 결과를 덮어씌우고,
마지막 3번 째 Point Light 역시 DiffuseLightTarget 와 SpecularLightTarget 에 결과를 덮어씌워서 결과적으로
하나의 Point Light 를 사용한 결과가 나올 줄 알았습니다.
왜냐하면 위의 3개의 Point Light 의 결과물을 더해주는 과정이 어디있는지 찾을 수 없어서 입니다;;
혹시 이 더해주는 과정들이 BLEND_TYPE::ONE_TO_ONE_BLEND
이것을 지정해 줌으로서 shader 에서 알아서 계산을 해주는 것인가욥??
그게 아니라면 위와 같은 상황에서 어떻게 3번의 빛이 중첩이 되는 걸까욥?ㅜㅜ 궁금합니다ㅠㅠ
항상 강의 잘 보고 있습니다 감사합니다
답변을 작성해보세요.
1
답변 1