이미 생성한 이미지를 다른 Renderpass에서 가져다 쓰는 것은 이제 익숙해서
skybox 적용은 나름 쉽게 할줄 알았는데
꽤나 어려웠고 사실 아직 고쳐야할 부분도 많다.
우선 적용 하는 방법은 쉬웠다.
hdr파일을 우선 cubemap형태로 초기 변환을 해주고
렌더링 중에 배경을 따로 렌더링하는 renderpass를 만들어서 나중에 model이 안그려지는 부분에 추가하면 끝!
사실 따로 renderpass를 안만들고 바로 적용시킬 수도 있었을 거 같은데
좀 더 직관적이고 쉬운 방법을 사용했다.
적용하는 방법은 쉬웠지만 디테일에서 조금 문제가 생겼는데..
문제가 생긴 부분은 hdr 파일 때문이다.
가장 처음 의심되었던 부분은
셰이더에서 톤매핑 기법을 안해서 그런가보다 해서
reinhard 톤매핑 기법으로 매핑을 해줬더니
우중충하지 나아지지 않는다
그래서 받아올 때부터 잘못 되었구나 생각했다.
hdr파일의 특징이 이미지 색상을 기존 8비트에서 32비트 또는 16비트로 저장한다는 점인데
vulkan은 이미지를 받아오거나 저장하려면 이미지 포맷설정을 해야하는데
기존 8비트 형식으로 받아오는것 처럼 받아오려니깐 생긴 문제인거같다.
그래서 코드상 이미지 받아오는 부분을 여차저차 바꿔봤는데
도무지 되지 않아서 일단 포기하고 씬구성에 skybox를 안밝은 걸로 선택해서 보이고 나중에 고치려고 생각했었다!
사실 블로그 쓰면서 생각났다..ㅎ 고쳐야지..
아 고쳐야하는게 너무 많다
너무너무 많다
'Computer Graphics > Vulkan' 카테고리의 다른 글
Vulkan Game Engine - 19. skybox개선, 콜라이더 그리기 (0) | 2025.02.28 |
---|---|
Vulkan Game Engine - 18. 그림자 퀄리티 개선, PCF (0) | 2025.02.17 |
Vulkan Game Engine - 16. 중간 정검 (0) | 2025.02.17 |
Vulkan Game Engine - 15. UI 이식 (1) | 2025.02.03 |
Vulkan - 14. 점광원에 대한 그림자 적용 (shadow cubemap) (0) | 2025.01.26 |