강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

김재민님의 프로필 이미지
김재민

작성한 질문수

[게임 프로그래머 도약반] DirectX11 입문

삼각형 띄우기

4강 삼각형띄우기 오류관련 질문있습니다

작성

·

8

0

삼각형 띄우기 4강에서 40분까지 강의를 듣고 똑같이 실행했는데 이런 오류가 납니다

void Game::LoadShaderFromFile(const wstring& path, const string& name, const string& version, ComPtr<ID3DBlob>& blob)

{

const uint32 compileFlag = D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION;

HRESULT hr = ::D3DCompileFromFile(

path.c_str(),

nullptr,

D3D_COMPILE_STANDARD_FILE_INCLUDE,

name.c_str(),

version.c_str(),

compileFlag,

0,

blob.GetAddressOf(),

nullptr);

CHECK(hr);

} 이 코드 CHECK(hr)부분에서 걸리고 0x8876086c 오류코드가 나옵니다 코드는 전부 동일한데 도무지 문제를 모르겠어서 질문드립니다!

 

image.png

빌드도 잘 됩니다

image.png

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 김재민님께서 삼각형 띄우기 강의에서 겪고 계신 문제에 대해 도움을 드리겠습니다.

문제 요약: DirectX11의 D3DCompileFromFile 함수 호출에서 CHECK(hr)에서 오류가 발생하고 있습니다. 주어진 HResult 오류 코드 0x8876086c는 DXGI_ERROR_DEVICE_REMOVED 혹은 DXGI_ERROR_DEVICE_HUNG 오류로 해석됩니다. 이는 주로 그래픽 장치가 예상치 않게 제거되었거나, 드라이버가 충돌하여 장치가 대기 상태가 될 수 있음을 나타냅니다.

문제 해결 방법:
1. 파일 경로 확인: 먼저 path 매개변수가 올바른 파일 경로를 가리키고 있는지 확인해주세요. 경로가 틀릴 경우 파일을 찾을 수 없어서 에러가 발생할 수 있습니다.

  1. 셰이더 코드 문법 에러 확인: 셰이더 파일 자체에 에러가 있는지 확인해 보시기 바랍니다. 다른 컴파일 에러가 포함되어 있으면 HResult 오류가 발생할 수 있습니다.

  2. 그래픽 드라이버 업데이트: 현재 사용 중인 그래픽 카드 드라이버를 최신 버전으로 업데이트하세요. 그래픽 드라이버의 버그나 호환성 문제로 인해 발생할 수 있습니다.

  3. DirectX 및 Visual Studio 업데이트: DirectX SDK 및 Visual Studio를 최신 버전으로 업데이트해서 버그 픽스를 적용해 보세요.

  4. 셰이더 파일 포맷: 셰이더 파일의 인코딩 문제로 인해 발생할 수도 있습니다. 가급적 UTF-8로 셰이더 파일을 저장해야 합니다.

해결 방법에 대해서는 아래 유사한 질문들도 살펴보시길 추천드립니다:

더 궁금한 점이나 추가적인 문제가 발생할 경우 질문을 이어서 남겨주시면 빠른 시일 내에 답변 드리겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김재민님의 프로필 이미지
김재민
질문자

파일 검색 오류인거 같아서 계속 바꾸어 봤는데 되질 않아서 혹시 default.hlsl이 코드는 정확한데 그냥 문제가 있는 경우는 없나요?

김재민님의 프로필 이미지
김재민

작성한 질문수

질문하기