본문 바로가기

프로그래밍/OpenGL

[OpenGL] 오픈지엘 EBO를 이용한 3차원 도형 그리기

본격적으로 EBO를 이용하여 3차원 도형을 그려보도록 하겠다.

 

01. Cube

 

GLfloat CubeVertexs[24] = {
			-0.5f, 0.5f, -0.5f,  
			-0.5f, 0.5f, 0.5f,  
			0.5f, 0.5f, 0.5f,  
			0.5f, 0.5f, -0.5f, 

			-0.5f, -0.5f, -0.5f, 
			-0.5f, -0.5f, 0.5f, 
			0.5f, -0.5f, 0.5f,  
			0.5f, -0.5f, -0.5f, 
	};

	GLfloat CubeColors[24] = {
				0.0f, 1.0f, 0.0f,  
				0.0f, 1.0f, 1.0f,  
				0.0f, 1.0f, 0.0f, 
				1.0f, 1.0f, 0.0f, 

				1.0f, 0.0f, 1.0f,  
				0.0f, 0.0f, 1.0f, 
				0.0f, 0.0f, 0.0f, 
				1.0f, 0.0f, 0.0f, 
	};

	GLint CubeIndexs[36] =
	{
		0,1,2,
		0,2,3,  

		1,5,6,
		1,6,2, 

		2,6,7,
		2,7,3, 

		0,4,5,
		0,5,1, 

		5,4,6,
		4,7,6,

		0,7,4, 
		0,3,7
	};

 

큐부

 

 

02. Tetrahedron

 

GLfloat TetrahedronVertexs[12] =
	{
		0.0f, 0.5f, 0.0f,
		-0.5f, -0.5f, 0.0f,
		0.5f, -0.5f, 0.0f,
		0.0f, -0.5f, 0.5f,
	};

	GLfloat TetrahedronColors[12] =
	{
		135.f / 255.f,206.f / 255.f,235.f / 255.f,
		135.f / 255.f,206.f / 255.f,235.f / 255.f,
		135.f / 255.f,206.f / 255.f,235.f / 255.f,
		135.f / 255.f,206.f / 255.f,235.f / 255.f,
	};

	GLint TetrahedronIndexs[12] =
	{
		0, 1, 2,
		0, 2, 3,
		0, 1, 3,
		1, 2, 3
	};

 

사면체

 

 

 

03. SquarePyramid

 

GLfloat SquarePyramidVertexs[15] =
	{
		0.0f, 0.5f, 0.0f,		// 꼭짓점
		-0.5f, -0.5f, -0.5f,	// 밑면
		-0.5f, -0.5f, 0.5f,		// 밑면
		0.5f, -0.5f, 0.5f,		// 밑면
		0.5f, -0.5f, -0.5f,		// 밑면
	};

	GLfloat SquarePyramidColors[15] =
	{
		1.0f, 1.0f, 1.0f,
		1.0f, 0.0f, 1.0f,
		0.0f, 0.0f, 1.0f,
		0.0f, 0.0f, 0.0f,
		1.0f, 0.0f, 0.0f,
	};

	GLint SquarePyramidIndexs[18] =
	{
		0, 1, 2,
		0, 2, 3,
		0, 3, 4,
		0, 4, 1,
		1, 2, 3,
		3, 4, 1
	};

 

사각 피라미드