DirectX 프로그래밍 학습 조언 (yuchi)
Source
Evernote/Inbox/Direct X 프로그래밍 학습에 대한 조언 – yuchi's development.md
Summary
DirectX 학습을 위한 저자의 경험적 조언을 정리한 문서입니다. 핵심은 현대 C++과 달리 DirectX는 포인터와 COM(가상 함수/다중상속) 이해가 필수적이며, 학습 단계에서는 동작 원리를 감추는 CComPtr이나 Wrapper 클래스를 피하고 Raw API/포인터를 사용해야 한다는 점입니다. 버전 학습 순서로는 DirectX 9는 선택사항이나 11은 필수이며, 10은 건너뛰고 11을 마스터한 후 12를 학습해야 한다고 강조합니다.
Key Points
- DirectX(DX2~12)는 포인터 사용이 필수이므로 C/C++ 기초가 부족하면 기초부터 다시 학습해야 함.
- COM 이해 필요: 시중 COM 서적의 방대한 내용보다는 C++ 가상 함수/다중상속 개념과 디스어셈블리 코드 분석, MSDN 참고가 더 유용함.
- 학습 단계에서는 CComPtr이나 Wrapper 클래스 사용 금지: 동작 원리를 감추어 초보자에게 혼란을 주므로 Raw Pointer와 Raw API만 사용해야 함.
- 학습 로드맵: DX9는 선택사항이나 DX11은 필수. DX10은 건너뛰고 DX11을 완벽히 이해한 후 DX12를 학습해야 함(DX12는 DX11의 변경 의도를 이해해야 함).
- 현재 게임 개발의 대부분은 DX11 타겟이며, DX12 학습 시 DX11 지식이 선행 조건임.