강의

멘토링

커뮤니티

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

작성자 없음

작성자 정보가 삭제된 글입니다.

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12

삼각형 띄우기

_vsBlob와 _psBlob에서 nullptr이 뜨면서 실행이 안됩니다

작성

·

4

0

void Shader::CreateShader(const wstring& path, const string& name, const string& version, ComPtr<ID3DBlob>& blob, D3D12_SHADER_BYTECODE& shaderByteCode) 에서 ComPtr<ID3DBlob>& blob의 blob가 nullptr 이 되면서 실행이 안되는데 이유가 뭘까요? 자료랑 비교하면 다 똑같은 코드입니다

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. singthesong2님.

D3DCompileFromFile 함수에서 nullptr이 반환되는 문제는 여러 원인에서 발생할 수 있습니다. 이러한 문제는 대개 다음과 같은 경우에서 발생합니다:

  1. 파일 경로 문제: 쉐이더 파일의 경로가 정확한지 확인해 보세요. 경로가 잘못되어 있으면 파일을 찾지 못해 nullptr을 반환합니다.

  2. 파일 내용 문제: 쉐이더 파일의 내용에 오류가 있는 경우 D3DCompileFromFile이 실패할 수 있습니다. 주석 등에서 발생하는 문제가 없는지 살펴보세요.

  3. DXGI Debug Layer: DirectX의 디버그 레이어를 활성화하여 더 많은 디버깅 정보를 얻을 수 있습니다. HResult 코드를 통해 어떤 오류가 발생하는지 더 상세히 알 수 있습니다.

  4. 컴파일 설정 문제: 컴파일 옵션이나 매크로가 잘못 지정되어 있을 수도 있습니다. 강의와 제공된 코드 또는 프로젝트 설정을 비교해보세요.

관련된 문제에 대한 비슷한 이전 질문을 참고하시기 바랍니다:

위의 답변들을 확인하면서 문제를 해결해 보시면 좋겠습니다.

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기