OpenGL® VBO 란 무엇입니까?

컴퓨터 프로그래밍을 위해 OpenGL® (Open Graphics Library) 컴퓨터 그래픽 라이브러리를 사용할 때, 정점 버퍼 객체 (VBO)는 3 차원 (3D) 객체를 그래픽의 메모리에 구성하고 저장할 수있는 데이터 구조입니다 카드 또는 그래픽 하드웨어. 이를 통해 OpenGL® VBO를 매우 빠르게 렌더링하고 즉각적인 모드 그리기를 사용하는 다른 기술보다 훨씬 적은 시스템 리소스를 사용할 수 있습니다. OpenGL® VBO는 속도 향상 및 그래픽 오버 헤드 감소 외에도 OpenGL® 디스플레이 목록과 달리 동적 데이터 구조로 메모리에 들어간 후에 변경할 수 있습니다. OpenGL® VBO의 개념은 실제로 다른 이름으로 다른 유형의 하드웨어 제조업체에서 시작하여 나중에 OpenGL® Architecture Review Board (ARB)에 의해 표준화 된 OpenGL® 라이브러리의 확장과 유사한 유형의 기능을 포함했습니다.

OpenGL® VBO는 기본적으로 다른 두 가지 유형의 OpenGL® 데이터 구조의 조합입니다. 정점 좌표, 법선 및 색상을 포함한 지오메트리에 대한 정보를 모두 처리를 위해 OpenGL®에 전달할 수있는 구조화 된 배열에 저장할 수 있기 때문에 정점 배열의 기본 기능을 포함합니다. 그러나 정점 배열과 달리 OpenGL® VBO는 렌더러의 서버 측에 저장되며 정점 정보를 위해 클라이언트 측에 지속적으로 액세스 할 필요가 없습니다.

VBO를 그래픽 메모리에 저장함으로써 표시 목록의 일부 속성도 사용합니다. 가장 큰 차이점은 OpenGL® VBO를 수정할 수 있고 표시 목록을 수정할 수 없다는 것입니다. 또한 VBO가 디스플레이 목록처럼 그래픽 메모리에 반드시 복사 될 필요는 없으므로 하나의 데이터 구조 만 메모리에 있어야합니다.

OpenGL® VBO가 최종적으로 렌더링 될 때, 저장되는 그래픽 메모리와 GPU (Graphics Processing Unit)의 거리가 매우 작아서 느린 시스템 하드웨어를 먼저 이동하지 않고도 매우 빠른 래스터 화가 가능합니다. 그러나 일부 경우 그래픽 카드 하드웨어에서 VBO 사용을 지원하지 않습니다. 이로 인해 VBO 사용으로 인한 추가 혜택이나 일부 그래픽 카드와 호환되지 않는 프로그램이 제거되는 프로그래밍 문제가 발생할 수 있습니다.

OpenGL® VBO를 사용할 때 처리 방법을 최적화하는 데 도움이되는 몇 가지 방법이 있습니다. 이 중 하나는 그래픽 카드 또는 OpenGL®에 힌트를 제공하여 메모리에서 VBO의 위치를 ​​결정하는 데 도움이됩니다. 제공된 힌트에 따라 VBO는 그래픽 카드의 그래픽 메모리에 직접 저장하거나 필요한 경우 시스템의 기본 RAM (Random Access Memory)에 저장 될 수 있습니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?