C++ Algorithm & Study/Game Math & DirectX 11

    [Direct11] 39. 3D Direct Application - Terrian Rendering #1

    1. 3D Direct Application 1.1 Terrian Rendering 1.1.1 Terrian Rendering System 1.1.1.1 Height Map - 지형의 산과 계곡에 대한 정보를 높이맵에서 가져옴 - 높이맵은 일종의 2차원 배열으로 원소는 지형 격자의 해당 정점의 높이를 의미 - 격자의 각 정점마다 높이맵의 원소 하나가 대응 - 높이맵은 각 원소를 하나의 바이트로 저장, 하나의 높이는 최소 0, 최대 255 - 지형의 높이들 사이의 전이를 보존하기에 충분하나 응용 프로그램 안에서는 이 구간의 높이들을 응용 프로그램이 렌더링할 3차원 세계의 축척에 맞게 비례시킬 필요가 잇음 - 255미터가 넘는 산을 표현하지 못하므로 응용 프로그램으로 적재할 때 float로 설정 1.1.1...

    [Direct11] 38. 3D Direct Application - Displacement Mapping

    1. 3D Direct Application 1.1 Displacement Mapping System 1.1.1 Displacement Mapping 1.1.1.1 Displacement Mapping - 테셀레이션과 함께 사용하여 렌더링 품질을 더욱 높일 수 있는 변워 매핑 사용 - 법선 매핑이 단지 조명의 세부도만 개선할 뿐 실제 기하구조의 세부도는 개선X - 표면의 굴곡과 균열을 묘사하는 높이 맵이라고 부르는 또 다른 맵을 이용하여 기하구조를 변형 - 법선 맵이 각 픽셀마다 세 색상 성분에 하나의 법선 벡터를 저장 - 높이 맵은 각 픽셀마다 하나의 색상 성분에 높이 값을 저장 - 테셀레이션으로 메시를 더 잘게 쪼개고 영역 셰이더에서 정점을 법선 벡터 방향으로 이동시킬 때의 이동량으로 쓰임 - 테셀레..

    [Direct11] 37. 3D Direct Application - Normal Mapping

    1. 3D Direct Application 1.1 Normal Mapping 1.1.1 Normal Mapping System 1.1.1.1 Normal Mapping - 보통의 Texture Mapping에서 법선 벡터들이 여전히 덜 조밀한 정점 수준에 정의되어 삼각형을 따라 보간 - 표면 법선들을 좀 더 높은 해상도에서 지정 - 조명의 세부도가 높아지지만 메시 기하구조 자체의 세부도까지는 높아지지 않음 - 테셀레이션과 결합된 Normal Mapping을 사용하면 메시의 세부도를 높일 수 있음 - 벽돌 Texture를 사용할 때 올록볼록한 요철 형태에 비해 너무 매끄러워 부자연스럽게 보이는 경우 발생 - 메시 기하구조가 매끄럽기 때문에 이러한 현상 발생, 조명 계산은 메시 기하구조에 근거하여 수행하므..