분류 전체보기

[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가 포함되는 어떤..

[Direct11] 33. 3D Direct Application - Instancing & Culling
1. 3D Direct Application 1.1 Instancing 1.1.1 Instancing - 한 장면에서 같은 물체를 여러 번 그리되 위치나 방향, 척도, 재질, Texture 등을 다르게 하여 그림 - 각 인스턴스마다 매번 정점 자료와 Index 자료를 파이프라인에 공급하는 것은 낭비 - 물체의 Local Space 공간을 기준으로 한 기하구조 자료의 복사본 하나만 저장 후 필요에 따라 그림 - 메모리가 절감되긴 하지만 물체 당 API 호출 부담을 줄어들지 않음, API 호출 부담이 없도록 인스턴싱을 구현 1.1.1.1 Vertex Shader - 하드웨어 인스턴싱에서 정점과 Index 자료 외에 각 인스턴스별 자료도 입력 조립기에 공급 - 파이프라인은 그 자료를 이용하여 메시의 인스턴스를..

[Direct11] 32. 3D Direct Application - Camera
1. 3D Direct Application 1.1 Camera 1.1.1 View Space - 시야 공간은 카메라에 부착된 좌표계, 카메라는 이 좌표계의 원점에 위치해 z축을 바라봄 - 세계 공간에서 시야 공간으로의 좌표 변경 변환을 시야 변환, 해당 변환 행렬을 시야 행렬이라 부름 - 세계 공간에서 시야 공간으로부터 변환 행렬을 수행하려면 역행렬을 통해 변환 행렬을 구함 - 실제 물체를 이동하는것이 아닌 기준계가 세계 공간 좌표계에서 카메라 공간 좌표계로 변경 1.1.2 Cemera System - 카메라 클래스를 생성하여 중요한 두 종류의 정보를 저장 - 카메라 좌표계를 규정하는 속성, 세계공간에서 시야 공간 좌표계의 해당하는 벡터 - 카메라 렌즈에 비유할 수 있는 시야 절두체를 규정하는 속성, ..