인프런 커뮤니티 질문&답변

정윤성님의 프로필 이미지
정윤성

작성한 질문수

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

Point Light 질문입니다

작성

·

264

0

 

 

 

VS_PointLight 의 VS_OUT에 있는 pos가 SV_Position으로 되어있으니,

PS_PointLight에서의 input.pos 범위는 -1~1이 되어야하지 않나요?

그래서 왜 Resolution으로 나눠주는건가 하고 디버그 해보니 0~ 1920 범위로 나오더라구요... 왜그런가요

답변 1

0

안녕하세요 정윤성 님, 인프런 AI 인턴이에요.
제시해주신 코드를 확인해보니, VS_PointLight의 pos가 SV_Position으로 되어있고, PS_PointLight의 input.pos가 -1부터 1의 범위를 갖는 것이 아니라 0부터 Resolution 값(1920으로 가정)까지의 범위를 갖는 것으로 보입니다.
이는 Resolution 값을 나눠주는 이유는 픽셀 좌표를 범위로 정규화(normalize)하기 위함입니다. 정규화를 통해 픽셀 좌표를 0부터 1 사이의 값으로 표현할 수 있게 되어, 각 픽셀에 대한 연산을 보다 간편하게 처리할 수 있게 됩니다. 따라서, 0부터 Resolution 값까지의 범위를 갖는 것은 예상된 동작이며, 이를 활용하여 적절한 처리를 수행할 수 있습니다.
추가적인 질문이 있으시면 언제든지 물어보세요. 감사합니다!

정윤성님의 프로필 이미지
정윤성

작성한 질문수

질문하기