3D 그래픽스 — 직접 구현
이제 GPU에게 일을 맡깁니다. 정점을 버텍스 버퍼·입력 레이아웃으로 올리고, MVP 행렬로 3D를 화면에 투영하고, 카메라·메시·깊이 버퍼·퐁 조명·텍스처까지 실제 Direct3D 11로 구현합니다. 각 주제를 코드 한 줄까지 파고드는 6개 세부 페이지입니다. 창 생성·디바이스/스왑체인 골격은 개발 환경을 참고하세요.
세부 페이지
1 / 6
Model → World → View → Projection
정점을 버퍼에 올리고 MVP를 cbuffer로 넘겨 첫 삼각형을 띄우기. 전치의 이유까지.
Vertex Buffer · Input Layout · cbuffer · MVP
2 / 6
카메라
LookAtLH 뷰 행렬, FPS 카메라의 yaw/pitch, Win32 입력. 왼손 좌표계 주의점.
XMMatrixLookAtLH · yaw/pitch · WM_MOUSEMOVE
3 / 6
삼각형과 메시
인덱스 버퍼, 정점 레이아웃(위치·법선·UV), OBJ 로딩과 DrawIndexed.
Index Buffer · 정점 포맷 · OBJ · DrawIndexed
4 / 6
깊이 버퍼 (Z-Buffer)
깊이 텍스처·DepthStencilView·DepthStencilState. z-파이팅과 리버스드-Z.
DepthStencilView · LESS · z-fighting
5 / 6
조명과 그림자 (퐁 셰이딩)
HLSL 블린-퐁, 법선 행렬, cbuffer 정렬(float3 패딩) 함정을 성분별로.
ambient/diffuse/specular · normal matrix · 16B 정렬
6 / 6
텍스처 매핑
Texture2D·SamplerState·register(t/s), SRV 생성과 밉맵. UV V축 방향.
SRV · SamplerState · GenerateMips · UV