IBO 2

OpenGL IBO를 사용한 큐브 그리기

먼저 아래를 먼저 이해 1. OpenGL VBO로 큐브그리기 2. OpenGL IBO를 이용한 직사각형 그리기 git : cube_ibo (https://github.com/huiyueun/GraphicsStudy/tree/master/5_sdl_cube_indexed)사실 IBO를 이용하여 직사각형을 그렸다면, 그걸 이용하여 6면체를 모두 IBO를 통해 그려주면 된다. 먼저 DrawCall을 아래와 같이 변경한다.기존 임의로 Index의 갯수를 6개 지정했던 코드를 사이즈를 통해 갯수를 알아와서 그리도록 수정했다.12//glDrawElements(GL_TRAINGLES, 6, GL_UNSIGNED_INT, 0);glDrawElements(GL_TRIANGLES, (sizeof(cube_elements)..

개발/Graphics 2018.07.22

OpenGL IBO를 사용한 직사각형 그리기

이전 VBO를 이용한 큐브 그리기 포스팅을 통해, 화면에 그리는 오브젝트는 vertex (정점)의 집합을 통해 이루어져 있어 Vertex Buffer를 이용하여 그릴 수 있었다.버텍스 버퍼만을 사용하여 그리는 오브젝트를 다시 살펴보면, 아래와 같이 하나의 사각형은 두개의 삼각형이 필요하고 그에 따라 6개의 정점이 필요했다. 6개의 직사각형이 필요한 큐브 샘플은 6x6, 36개의 정점 배열이 필요했다. 여기에 색상, 노멀벡터 등이 추가 된다면 메모리 사용량은 계속 커지게 된다. (버텍스를 많이 사용하는 복잡한 오브젝트일 수록 메모리량은 증가) 여기서 버텍스 버퍼만을 이용했을 때 단점을 알 수 있다. 위의 그림과 같이 오브젝트를 그릴 때 공유하는(겹치는) 정점이 있게 된다. 이 때 IBO(Index Buff..

개발/Graphics 2018.07.22
반응형