inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12

Deferred Rendering

빛이 여러개 중첩되는 상황이 궁금합니다

372

이동민

작성한 질문수 2

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번의 빛이 중첩이 되는 걸까욥?ㅜㅜ 궁금합니다ㅠㅠ

 

항상 강의 잘 보고 있습니다 감사합니다

게임수학 DirectX

답변 1

1

Rookiss

네 맞습니다.
Blending 옵션을 바꿔서 테스트를 해보시면 확실히 알 수 있습니다.

Lighting 추가하고 나니 프레임이 많이 떨어지는데 원래 이런 건가요?

0

524

0

Deferred Rendering 에서 조명에 Culling이 일어나는 것 같습니다.

1

564

1

static_pointer_cast와 static_cast의 차이가 무엇인가요?

0

1353

1

Engine.lib 파일을 포함 불가

0

617

1

셰이더 VS_Main에서 행렬 곱해줄 때

0

491

2

1:05분 질문(1시간 5분)

0

303

0

오류가 발생합니다

0

479

1

Animation코드가 무한로딩에 걸리네요

0

350

0

fov 관련해서 질문이 있습니다

0

282

0

normal mapping Tangent Space 수학식 질문

0

388

1

커리큘럼 관련 질문 드립니다!

0

278

0

강의를 어떤식으로 들으면 될까요??

0

385

1

머티리얼과 텍스쳐, 셰이더를 따로 관리해도 되나요?

0

444

1

박스 메쉬 생성하는 함수에서 버텍스가 왜 24개인가요

0

245

1

복수개의 서로 다른 동영상을 Picture in Picture 형식으로 rendering하는 가장 최적의 방법이 궁금합니다.

0

262

0

애니메이션 쉐이더에서 행렬보간 부분에 대해 질문드립니다

0

233

0

assert 에서 _currentIndex 와 _elemtSize 를 비교하는게 이해가 잘 안되네요

1

248

1

DX 공부방법에 대해서 질문 있습니다.

0

643

1

Root Parameter 를 정의하는데 있어서 질문있습니다.

0

377

1

Client 콘솔창이 잠깐 켜졌다가 말아요

0

255

1

DirectX12 Root Signature : CBV관련 질문입니다.

0

353

1

뷰 변환 행렬 관련하여

0

634

2

강의 시작!

0

306

1

using namespace Microsoft::WRL;

0

275

1