수일 전부터 맵의 특정 지역 , 특정 각도, 특정 머티리얼 에서만 카툰렌더링이 풀리는 버그 발생
이하는Ai와 함께 했던 여정이라 이미 렌더링 잘 알면 Ai딸깍이가 어떻게 쉬운 문제를 돌아돌아 해결하는지 알 수 있을 거 같다
1.뎁스테스트 이슈인 줄 알고 며칠간 read write 고치고 뎁스에 여유 주는 방식으로 해결하려 함
-> 모델이 시스루가 되어버릴 때까지 여유를 주지 않으면 버그 계속 존재함. 이 때 나는 뎁스를 고치면 실제로 이슈가 사라졌었기 때문에 이걸 계속 붙들었음
2.이때쯤 뎁스를 고치지 않아도 머티리얼별로 괜찮은 애랑 아닌 애가 있는 걸 보고 퍼뮤테이션 이슈라는 말을 듣고 usf나 렌더링코드를 뜯어고쳐보기 시작했는데 해결못함
3.ai가 제발 renderdoc쓰라고 애원하길래 저번에 안됐다 플러그인이 안됐다 싸우다가 결국 재설치 후 이번엔 어떻게든 실행함
3.렌더독을 켰지만 까막눈임 그동안 맹인상태로 디버깅하면서 살았는데 이것저것 건드려보니 막 신기하고 재밋어서 뒤적이다가 디버깅하려고 해당 버퍼를 찾아보니 버그가 나는 프레임에서는 쉐이더 바인딩이 아예 사라지는 걸 발견함. 아 이게 문제구나하고 머티리얼에서 콘스탄스를 연결하거나 두 개 이상의 텍스쳐 샘플을 연결하면 바인딩이 풀린다고 생각하고 열심히 연결했다 말았다하며 우회대책 강구해봤지만 실패
4.그러다가 frame usage 칸을 인지함. 이게 뭔지 모르고 탭마다 누르면 화면에 뜨는 게 바뀌길래 그러려니 했는데 다시 될 때랑 안될 때를 비교해보니 지금껏 레거시에서 내 쉐이더 버리는 줄 알았는데 알고보니 직접 추가한 툰패스에서 머티리얼이 좀 꼬와지면 두 번에 걸쳐서 그리고 있었고 얘네는 언제나 clear하게 돼있어서 나눠지면 어쩌다가 클리어 이후에 다시 그려진 애만 남는거였음
5.허무하게도 텍스쳐를 eload 하게 하고 최초에만 클리어시키므로서 버그가 해결됨
진짜 간단한 문제였는데 렌더독도 모르고 클리어랑 로드가 어케 되는지도 모르는 채로 하다가 제대로 발목잡혔던 경험이었음ㅋㅋㅋ 앞으로 렌더독 열심히 활용해야지..
댓글 0