Direct11
[Direct11] 36. 3D Direct Application - Dynamic Cube Mapping System
1. 3D Direct Application 1.1 Dynamic Cube Mapping System 1.1.1 Dynamic Cube Mapping - 장면에 움직이는 물체들이 많은 경우, 미리 생성된 입방체 맵은 그러한 움직임을 포착하지 못함 - 입방체 맵을 실생시점에서 생성, 매 프레임마다 입방체 맵의 중심에 카메라를 두고 여섯 가지 축 방향마다 각각 장면을 렌더링해서 입방체 맵의 여섯 면을 생성 - 입방체 맵을 매 프레임마다 생성하면 장면 안에서 움직이는 물체들이 고스란히 입방체 맵에 포착 - 결과적으로 반사 물체 주변의 움직이는 물체들이 제대로 반사 1.1.1.1 Render Target View & Shader Resoure View - 입방체 맵 Texture Resource를 생성하려면 원..
[Direct11] 35. 3D Direct Application - Cube Mapping System
1. 3D Direct Application 1.1 Cube Mapping System 1.1.1 Cube Mapping - 여섯 장의 Texture를 어떤 좌표계의 좌표축들에 정렬된 입방체의 여섯 면으로 사용 - 입방체 Texture가 축에 정렬, 각 면은 좌표계의 각 주축 방향에 대응, 입방체의 특정 면을 지칭하는 구조체 사용 typedef enum D3D11_TEXTURECUBE_FACE; - 2차원 Texture와 달리 입방체 맵에서는 한 텍셀을 2차원 Texture 좌표로 지칭X, 3차원 Texture 좌표가 필요 - 원점에서 시작하는 하나의 3D Lookup Vector를 정의 - Lookup Vector의 3차원 좌표가 지칭하는 텍셀은 Lookup Vector가 입방체 맵과 교차하는 곳의 텍..
[Direct11] 34. 3D Direct Application - Picking System
1. 3D Direct Application 1.1 Picking Algorithm 1.1.1 Picking - 2차원 화면 좌표가 주어졌을 때, 점으로 투영된 3차원 물체를 알아내는 것 - 3차원 공간을 2차원 화면 공간으로 변환하고 화면 공간을 다시 3차원 공간으로 변환 - 2차원 화면의 한 점이 3차원 공간의 점에 고유하게 대응되지 않음 - 즉 2차원 화면 점으로 투영될 수 있는 3차원 점이 여러개 일 수 있음 - 위에 따라 사용자가 실제로 선택한 것이 어떤 물체인지 결정하는데 있어 약간의 애매모호함이 존재 - 보통의 경우 카메라에서 가장 가까운 물체를 사용 - 카메라의 시점에서 부터 어떠한 점 P에 클릭된 지점 - 시점에서 점 P를 통과시키는 Ray를 쏘면 자신이 투영된 영역에 P가 포함되는 어떤..