[DirectX11] 별찍기
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#include "framework.h"
ID3D11Buffer* ObStar::fillVertexBuffer = nullptr;
ID3D11Buffer* ObStar::vertexBuffer = nullptr;
void ObStar::CreateStaticMember()
{
VertexPC* Vertex;
Vertex = new VertexPC[5 * 3];
for (UINT i = 0; i < 5; i++)
{
Vertex[i * 3].position.x = 0.0f;
Vertex[i * 3].position.y = 0.0f;
Vertex[i * 3].color = Color(1.0f, 1.0f, 1.0f, 1.0f);
Vertex[i * 3 + 1].position.x = cosf(i * 144 * ToRadian) * 0.5f;
Vertex[i * 3 + 1].position.y = sinf(i * 144 * ToRadian) * 0.5f;
Vertex[i * 3 + 1].color = Color(0.0f, 0.0f, 0.0f, 1.0f);
Vertex[i * 3 + 2].position.x = cosf((i + 1) * 144 * ToRadian) * 0.5f;
Vertex[i * 3 + 2].position.y = sinf((i + 1) * 144 * ToRadian) * 0.5f;
Vertex[i * 3 + 2].color = Color(0.0f, 0.0f, 0.0f, 1.0f);
}
//정점들이 버퍼로 옮겨지는 코드
//익명 스코프
{
D3D11_BUFFER_DESC desc;
desc = { 0 }; //멤버변수 전부 0으로
desc.Usage = D3D11_USAGE_DEFAULT;//버퍼를 읽고 쓰는 방법
desc.ByteWidth = sizeof(VertexPC) * 360 * 3; //버퍼 크기 (바이트)입니다.
desc.BindFlags = D3D11_BIND_VERTEX_BUFFER;//버퍼가 파이프 라인에 바인딩되는 방법을 식별하십시오
D3D11_SUBRESOURCE_DATA data = { 0 };
//하위 리소스를 초기화하기위한 데이터를 지정합니다.
data.pSysMem = Vertex;
//초기화 데이터의 포인터.
//버퍼 만들기
// 서술 원본 복사대상
HRESULT hr = D3D->GetDevice()->CreateBuffer(&desc, &data, &fillVertexBuffer);
assert(SUCCEEDED(hr));
}
delete[] Vertex;
Vertex = new VertexPC[6];
...
}
|
cs |
'⭐ DirectX > DirectX11 2D + WinAPI' 카테고리의 다른 글
[DX11] D3D11 TEXTURE ADDRESS (0) | 2022.09.13 |
---|---|
[DirectX11] 렌더링 파이프라인 (0) | 2022.08.11 |
[WinAPI] 포물선 충돌 및 마찰계수 설정 (0) | 2022.08.11 |
[WinAPI] 충돌 (0) | 2022.08.10 |
[WinAPI] 마우스 회전 (0) | 2022.08.09 |
댓글
이 글 공유하기
다른 글
-
[DX11] D3D11 TEXTURE ADDRESS
[DX11] D3D11 TEXTURE ADDRESS
2022.09.13 -
[DirectX11] 렌더링 파이프라인
[DirectX11] 렌더링 파이프라인
2022.08.11 -
[WinAPI] 포물선 충돌 및 마찰계수 설정
[WinAPI] 포물선 충돌 및 마찰계수 설정
2022.08.11 -
[WinAPI] 충돌
[WinAPI] 충돌
2022.08.10