Index Buffer

이승덱·2021년 7월 27일
0

Graphics&DirectX

목록 보기
8/37

Index Buffer

  • Vertex buffer만을 사용할 경우 중복되는 정점을 따로 저장해야 한다는 단점이 생긴다.
  • 이 단점을 해결한 것이 Vertex Buffer와 Index Buffer를 같이 사용하는 방법이다.
	vector<Vertex> vec(4);
	vec[0].pos = Vec3(-0.5f, 0.5f, 0.5f);
	vec[0].color = Vec4(1.f, 0.f, 0.f, 1.f);
	vec[0].uv = Vec2(0.0f, 0.0f);
	vec[1].pos = Vec3(0.5f, 0.5f, 0.5f);
	vec[1].color = Vec4(0.f, 1.f, 0.f, 1.f);
	vec[1].uv = Vec2(1.0f, 0.0f);
	vec[2].pos = Vec3(0.5f, -0.5f, 0.5f);
	vec[2].color = Vec4(0.f, 0.f, 1.f, 1.f);
	vec[2].uv = Vec2(1.0f, 1.0f);
	vec[3].pos = Vec3(-0.5f, -0.5f, 0.5f);
	vec[3].color = Vec4(0.f, 1.f, 0.f, 1.f);
	vec[3].uv = Vec2(0.0f, 1.0f);

	vector<uint32> indexvec;
	{
		indexvec.push_back(0);
		indexvec.push_back(1);
		indexvec.push_back(2);
	}
	{
		indexvec.push_back(0);
		indexvec.push_back(2);
		indexvec.push_back(3);
	}

	mesh->Init(vec, indexvec);
  • 위 코드를 보면 총 4개의 정점을 사용하고 index buffer를 통해 0, 1, 2 정점이 연결관계이고, 0, 2, 3 정점이 연결관계임을 알려주는 방법으로 4개의 정점으로 사각형을 표현하고 있다.
profile
공부 기록용 블로그입니다

0개의 댓글