Game Develop

잡다한 에러 고친경험 저장. 본문

ComputerGraphics/My Project

잡다한 에러 고친경험 저장.

MaxLevel 2021. 8. 5. 04:58

 

fxc.exe가 종료되었습니다.(CODE 1)

=> FXC는 셰이더 컴파일도구종류중 하나인거같은데, 갑자기 잘되던게 이 에러뜨면서 빌드가 안된다. 이건 좀 사연이 길다

 

사실 잘되던건 아니고, UV피킹 구현중에 DEVICE설정 좀 건드리느라 혹-시나(전혀 걱정할필요없지만) 기존 컴퓨트피킹에 뭐 영향이 갔나 싶어서 컴퓨트피킹으로 바꿔놓고 빌드했는데 피킹이 갑자기 잘 안된다. 

정말로 많이 당황했다. 셰이더파일 설정같은거 뭐 건드렸나싶어서 다 살펴보고했지만 아무리생각해봐도 전혀 뭘 건드린게 없었다. 이걸로 하루넘게 날렸다. 뭐 UV피킹 구현하는걸로 시간을 쓴것도아니고, 기존에 잘 되던게 갑자기 안되버리니 미치는줄알았다. 

결국 원인을 찾았는데, cbuffer 레지스터 등록이나 구조체,함수 선언을 따로 Heaer에 모아놨었는데, 컴퓨트피킹에서는 이걸 원래 인클루드해서 사용 안했다. 근데 내가 uv피킹 구현하면서 컴퓨트피킹 셰이더파일에 Header를 인클루드했었나보다... 그래서 원래 b0라는 레지스터에 레이버퍼가 넘어와야하는데 뭐 충돌같은게 났었나보다. Header에서 b0는 월드버퍼가 등록되어있다.

왠지 실행하면 셰이더경고가 계속 출력됐었는데... 이 문제였었나보다.

근데 이렇게 해결한건 좀 나중이고, 빌드는 원래 되긴했었다. 근데 피킹이 안되니 뭐 막 이것저것 시도를 했었는데 갑자기 아예 fxc.exe가 종료되었다는 에러와함께 아예 빌드도 안됐었다.

다른 예제프로젝트는 실행해도 잘 되는거보니까 내 프로젝트에서만 뭔가 문제가 생긴것같아서 그냥 삭제해버리고 다시 내 깃허브 레파지토리에서 다운받았다.. 

 

그랬더니 이번엔 assim-vc142-mt.dll이 없다는 에러가 뜬다. 예전에도 떠서 해결한것같았는데 기억이 안났다. 뭐 에러뜨면서 다시 설치하면 될수도 있다고 했는데 그렇게 하기보다는 구글링을 먼저 해봤다. 기억이 가물가물하긴한데 재설치해서 해결하지 않았던거같았다. 보니까 프로젝트의 디버그쪽에 프로젝트에서 참조하고있는 dll파일 똑같은거를 복사해서 넣어줘서 해결한 케이스가 있었다. 똑같이 하니 다행히 해결됐다..

 

혹시나 나중에도 같은 에러가 뜰 경우에 대비해 글을 남겨놓는다.