오보에블로그

[DirectX] Window 콘솔 창에서 fxc 명령어 실행 오류 해결 방법 본문

GameEngine & CG/DirectX

[DirectX] Window 콘솔 창에서 fxc 명령어 실행 오류 해결 방법

(OBO) 2022. 1. 19. 15:51
728x90

fxc 란?

  • DireceX 에 포함된 셰이더를 오프라인에서 컴파일 시 사용하는 도구

실행 방법

디버그 모드

  • 버텍스 셰이더 관련 컴파일
    • fxc "컴파일 할 셰이더 파일명.hlsl" /Od /Zi /T vs_5_0 /E "버텍스 셰이더 함수명" /Fo "컴파일한 셰이더 파일 명.cso" /Fc "컴파일한 어셈블리 코드 명.asm"
  • 픽셀 셰이더 관련 컴파일
    • fxc "컴파일 할 셰이더 파일명.hlsl" /Od /Zi /T ps_5_0 /E "픽셀 셰이더 함수명" /Fo "컴파일한 셰이더 파일 명.cso" /Fc "컴파일한 어셈블리 코드 명.asm"

릴리즈 모드

  • 버텍스 셰이더 관련 컴파일
    • fxc "컴파일 할 셰이더 파일명.hlsl" /T vs_5_0 /E "버텍스 셰이더 함수명" /Fo "컴파일한 셰이더 파일 명.cso" /Fc "컴파일한 어셈블리 코드 명.asm"
  • 픽셀 셰이더 관련 컴파일
    • fxc "컴파일 할 셰이더 파일명.hlsl" /T ps_5_0 /E "픽셀 셰이더 함수명" /Fc "컴파일한 셰이더 파일 명.cso" /Fc "컴파일한 어셈블리 코드 명.asm"

오류 및 해결

상황

  • fxc 명령어 실행시 아래와 같은 문구가 뜨면서 실행 명령어를 실행할수 없다고 표시된다.
'fxc'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

해결 방법

  • 해당 실행 파일을 콘솔에서 못찾고 있으므로 직접 경로를 지정해준다.
  • Windows Kits 경로에 버전에 맞는 폴더 및 bin 폴더를 선택해서 진입하면 나온다.
  • 필자는 C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64/fxc.exe 경로에있는 실행파일을 사용했다.
728x90