IndexBuffer를 활용해서 원 출력을 했습니다. TOPOLOGY는 TRIANGLESTRIP을 사용했습니다.
1, 0, 2, 2, 0, 3, 3, 0, 4.... 마지막으로는 360가 0, 1,과 연결되어야 한다. 이런식으로 IndexBuffer에 정보를 줘야한다.
사용자 정의 함수 부분이 섞이긴 했지만, 충분히 알아볼 수 있을 것이다.

.cpp
geometry.AddVertex(D3D11_VertexColor(D3DXVECTOR3(0.0f, 0.0f, 0.0f), color));
for (int i = 1; i <= 360; ++i)
{
int angleDouble = i;
double angle = D3DXToRadian(angleDouble);
geometry.AddVertex(D3D11_VertexColor(D3DXVECTOR3(static_cast<FLOAT>(cos(angle)), static_cast<FLOAT>(sin(angle)), 0.0f), color));
}
for (uint i = 1; i <= 360; i++)
{
geometry.AddIndex(i);
geometry.AddIndex(0);
if (i == 360)
{
geometry.AddIndex(1);
}
else
geometry.AddIndex(i + 1);
}
'DirectX11 2D > 과제' 카테고리의 다른 글
| <DirectX11 2D 과제> 텍스쳐 4개 출력 (0) | 2021.09.16 |
|---|---|
| <DirectX11 2D 과제> 별모양 출력 (0) | 2021.09.02 |
| <DirectX11 2D 과제> 육각형 출력 (0) | 2021.09.01 |
| <DirectX11 2D 과제> 오각형 출력 (0) | 2021.09.01 |