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

    [Direct11] 12. EX App Program - Hills

    1. EX App Program 1.1 Hills 1.1.1 Create Grid Vertex - xz 평면에 격자 생성, m × n개인 격자는 (m - 1) × (n - 1)개의 낱칸으로 이루어짐 - 각 낱간은 두 개의 삼각형으로 구성되며 총 2배의 삼각형이 필요 - 격자의 너비 w, 깊이 d라고 하면 낱칸의 간격은 x축 일 경우 w / (n - 1), z축일 경우 d / (m - 1) ) - 위의 정보를 바탕으로 격자의 왼쪽 상단 모퉁이에서 시작하여 각 행별로 좌표를 증가하면서 좌표를 계산 void GeometryGenerator::CreateGrid(float width, float depth, UINT m, UINT n, MeshData& meshData); 1.1.2 Create Index - ..

    [Direct11] 11. EX App Program - Color Box

    1. EX App Program 1.1 Color Box 1.1.1 Geometry Buffer - 색상이 있는 박스를 생성하기 위해 각 정점에 대해 좌표 및 색상 적용 Vertex vertices[] = { { XMFLOAT3(-1.0f, -1.0f, -1.0f), XMFLOAT4((const float*)&Colors::White) }, { XMFLOAT3(-1.0f, +1.0f, -1.0f), XMFLOAT4((const float*)&Colors::Black) }, { XMFLOAT3(+1.0f, +1.0f, -1.0f), XMFLOAT4((const float*)&Colors::Red) }, { XMFLOAT3(+1.0f, -1.0f, -1.0f), XMFLOAT4((const float*)&C..

    [Direct11] 10. Direct3D Effect Framework

    1. Direct3D Effect Framework 1.1 Effect Framework - 특정한 렌더링 효과를 구현하는 데 함께 쓰이는 셰이더 프로그램 - 렌더 상태들을 효과라고 부르는 단위로 조직화하고 관리하는 틀을 제공하는 편의용 코드 집합 - 물을 렌더링하기 위한 셰이더 프로그램들과 렌더 상태들을 하나의 효과로 둘 수 있음 - 구름, 금속 물체, 캐릭터 애니메이션을 위한 것들을 각각 개별적인 효과로 두어서 관리 - 하나의 효과는 하나의 정점 셰이더 & 하나의 픽셀 셰이더, 그 효과를 구현하는데 필요한 렌더 상태로 이루어짐 1.1.1 Effect File - 셰이더 코드와 상수 버퍼의 내용을 담을 뿐아니라 하나의 기법 정의 & 패스를 포함 - technique11로 시작하는 Section은 하나의..