일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 프로그래밍
- 동기화
- Direct3D Init
- DESC
- RenderTargetView
- DirectXTK
- 다이렉트X
- 코딩
- engine
- View
- swapchain
- Direct Init
- Input Assembler
- vertex
- DirectX
- DirectX12
- GPU
- 세팅
- 전처리문
- 다이렉트 초기화
- CommandList
- C언어
- UE4
- 다중표본화
- C++
- CPU
- 다이렉트X 튜토리얼
- Direct3D
- c
- 게임수학
- Today
- Total
목록vertex (3)
비타Cpp
Direct3D에서는 정점(Vertex)에 공간적인 좌표값과 다른 추가적인 데이터를 부여할 수 있다. 원하는 데이터(특성)를 커스텀 정점 형식(Vertex Format)을 만들려면 우선 그러한 자료를 담을 구조체를 정의해야 한다. 다음은 서로 다른 두 가지 정점 형식의 예이다. Vertex1 구조체 struct Vertex1 { XMFLOAT3 Pos; XMFLOAT4 Color; } Vertex2 구조체 struct Vectex2 { XMFLOAT3 Pos; XMFLOAT3 Normal; XMFLOAT2 Tex0; XMFLOAT2 Tex1; } 정점 구조체를 정의한 다음에는 정점 구조체의 각 필드, 즉 정점의 각 성분으로 무엇을 해야 하는지를 Direct3D에게 알려 주어야 한다. 그러한 정보를 Dir..
고형 3차원 물체(3D Primitive)의 기본 구축 요소는 삼각형이다. 예를 들어 삼각형 하나와 팔각형 하나를 Triangle List를 이용해서 구축한다고 할 때 다음은 이에 필요한 정점 배열이다. //사각형 Vertex Quad[6] = { v0, v1, v2,//삼각형1 v0, v2, v3//삼각형2 }; //팔각형 Vertex Octagon[24] = { v0, v1, v2,//삼각형1 v0, v2, v3,//삼각형2 v0, v3, v4,//삼각형3 v0, v4, v5,//삼각형4 v0, v5, v6,//삼각형5 v0, v6, v7,//삼각형6 v0, v7, v8,//삼각형7 v0, v8, v1,//삼각형8 }; 정점 배열과 위 그림을 봤을때, 각 삼각형을 이루는 정점들 중 중복되는 정점들이 ..
IA(Input Assembler) 단계에서는 메모리에서 기하 자료(정점과 색인)를 읽어 기하학적 기본 도형(primitive)을 조립한다.(색인은 정점들을 모아서 기본 도형을 형성하는 방식을 결정한다.) 정점(vertex)은 하나의 점을 의미한다. 하지만 Direct3D에서의 정점은 공간적 위치 이외의 정보를 담을 수 있다. 예를 들어 법선 벡터를 추가하거나, 텍스처 좌표를 추가할 수도 있다. 이를 통해 Direct3D에서는 좀 더 복잡한 효과를 유연하게 적용시킬 수 있다. 정점들은 정점 버퍼(vertex buffer)라고 하는 Direct3D 자료구조 안에 담겨서 렌더링 파이프 라인에 묶인다. 정점 버퍼는 그냥 정점들을 연속적인 메모리에 저장하는 자료구조이다. 정점 버퍼에서 기본도형들을 위한 정점의 ..