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

초보언리얼님의 프로필 이미지
초보언리얼

작성한 질문수

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

장치 초기화

그래픽카드와 d3d12.h 컴파일 관련

작성

·

331

0

컴퓨터로 공부할때는 문제가 없었는데,

8년전에 산 노트북으로 작업할때 이상하게 _device가 초기화되지 않는 문제를 알게되었습니다.

정확히 문제가 되는 지점은 Device의 Init함수에서 

::D3D12CreateDevice(nullptr, D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&_device));

이 부분이 실행되어 Device가 만들어져서 _device에 정보가 들어가야하는데 저의 노트북에서 자꾸 0x00000000 으로 나오면서 생성되지 않는것을 알게되었습니다.

 

혹시 오래된 노트북이 그래픽카드 문제로 DirectX12를 지원하지 않으면 프로그램 개발도 안되는건가, 싶어서 구글링을 해보니, 제 노트북 그래픽카드는 삼성노트북의 내장 그래픽으로 intel Graphics 4000인데, DirectX11 까지 지원한다고 나와있더군요.

그래서 ::D3D12CreateDevice 함수가 제대로 실행되지 않은 이유가 그래픽카드 자체에서 DirectX12 라이브러리를 참조할 수 없기 때문에 그런건지 궁금합니다.

 

 

제가 생각한대로 각 컴퓨터의 그래픽카드 사양이 만약 DirectX12를 지원하지 못한다면, 프로그램 개발도 안되는건가요?

DirectX12를 지원하지 않는 그래픽카드는 ::D3D12CreateDevice 함수를 사용할 수 없다는 생각이 맞는건가요?

 

(저는 바보처럼, 프로그램 개발은 그래픽카드에 영향을 딱히 안받을줄 알고 있었는데 그게 아닌가 무척 궁금합니다!)

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

네 예상하신게 맞습니다.
너무 오래된 그래픽 카드는 DX12를 지원하지 않을 수 있으니 스펙을 확인해야 합니다.
반면 서버 쪽은 CPU만 사용하기 때문에 느리더라도 느린대로 개발이 가능합니다.

초보언리얼님의 프로필 이미지
초보언리얼

작성한 질문수

질문하기