미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
렌더 타겟을 SRV로 사용하려고 합니다.
렌더 타겟을 SRV로 사용을 하려고 합니다.우선 결론을 말씀드리면 기존에 투명 파티클인 Bubble 파티클 뒤에 보이는 픽셀들에굴절 효과를 추가하려고 합니다.그러기 위해 렌더 타겟을 텍스쳐로 만들어서 SRV로 파티클 셰이더에 텍스쳐로 보내려고 합니다. 제가 시도해본 과정입니다.Scene의 RenderFinal 함수에서 shared_ptr로 renderTargetTexture을 가져와서제가 만든 Resources 클래스의 멤버 변수인 _renderTargetTexture에 Set 하였습니다.(원래는 리소스의 상태를 렌더 타겟에서 SRV로 수정을 했어야 하나, 결과가 똑같아서 제외하였습니다.)그리고 파티클 시스템의 FinalUpdate에서 RenderTargetTexture를 가져와서 0번 텍스쳐에 Set을 해주었습니다. 아래는 실행 결과입니다.빨간색으로 표시된 부분은 제가 기존에 만들어봤던 파티클들이고파란색으로 표시된 부분은 렌더 타겟을 텍스쳐로 만들어 셰이더에 전달한 것을 출력하는 파티클들 입니다.결과를 보면 렌더 타겟에 보이는 빨간 부분 파티클들이 제대로 파란색 표시된 쪽에 출력이 된 것을 확인할 수 있었습니다.그러나 렌더 타겟으로 파티클을 띄웠으면 배경이나 (가운데 잘 안보이지만) 구 객체도 같이 출력이 되었어야 하는데 파티클들만 출력이 된 것을 확인할 수 있었습니다.아마 예상으로는 구나 배경(디퍼드 렌더링)을 찍는 0번 카메라와 파티클(포워드 렌더링)을 찍는 1번 카메라 중 1번 카메라만 렌더 타겟 텍스쳐로 전달이 되어서 발생하는 문제라고 생각했습니다. PIX로 디버깅을 해본 결과여기는 또 이상하게 렌더 타겟에 보이는 모든 객체들이 셰이더에 SRV로 잘 전달이 되었다고 나오고 있습니다. 렌더링이 올바르게 되지 않는 결과를 알고 싶습니다.또한 투명 파티클 뒤의 픽셀들을 굴절시키는 다른 좋은 방법이 있다면 그것 또한 알고 싶습니다.