OpenGL® VBO 란 무엇입니까?
Computer Programming에 Open Graphics Library® (OpenGL®) 컴퓨터 그래픽 라이브러리를 사용할 때 VBO (Vertex Buffer Object)는 3 차원 (3D) 객체를 그래픽 카드 또는 그래픽 하드웨어의 메모리에 구성하고 저장할 수있는 데이터 구조입니다. 이를 통해 OpenGL® VBO를 매우 빠르게 렌더링하고 즉각적인 모드 도면을 사용하는 다른 기술보다 훨씬 적은 시스템 리소스를 사용할 수 있습니다. 속도의 이득과 그래픽 오버 헤드 감소 외에도 OpenGL® VBO는 메모리에 있으면 OpenGL® 디스플레이 목록과 달리 동적 데이터 구조입니다. OpenGL® VBO의 개념은 실제로 다른 이름으로 원래 포함 된 하드웨어 제조업체로 시작하여 나중에 OpenGL® 아키텍처 검토위원회 (ARB)에 의해 표준화 된 OpenGL® 라이브러리의 확장과 유사한 유형의 기능을 포함했습니다.
OpenGL® VBO는 기본적으로두 가지 다른 유형의 OpenGL® 데이터 구조의 조합. 정점 좌표, 정상 및 색상을 포함하여 지오메트리에 대한 정보는 모두 처리를 위해 OpenGL®에 전달 될 수있는 구조적 배열에 저장 될 수 있기 때문에 정점 배열의 기본 기능을 포함합니다. 그러나 정점 배열과 달리 OpenGL® VBO는 렌더러의 서버 측에 저장되며 정점 정보에 대한 클라이언트 측에 지속적으로 액세스 할 필요가 없습니다.
.vbo를 그래픽 메모리에 저장할 수있게함으로써 디스플레이 목록의 일부 속성을 취합니다. 주요 차이점은 OpenGL® VBO를 수정하고 디스플레이 목록을 할 수 없다는 것입니다. 또한 VBO가 디스플레이 목록이 될 때 그래픽 메모리에 반드시 복사 될 필요는 없으므로 메모리에 하나의 데이터 구조 만 존재해야합니다.
.OpenGL® VBO가 마지막으로있을 때렌더링 된 그래픽 메모리로부터의 거리가 저장되고 그래픽 프로세싱 장치 (GPU)가 매우 작기 때문에 먼저 느린 시스템 하드웨어를 통해 이동할 필요없이 매우 빠른 래스터 화를 가능하게합니다. 그러나 경우에 따라 VBO의 사용은 그래픽 카드 하드웨어에서 지원되지 않습니다. 이로 인해 VBO를 사용하여 추가 혜택을 제거하거나 일부 그래픽 카드와 호환되지 않는 프로그램이 추가로 제공되는 프로그래밍 문제가 발생할 수 있습니다.
.사용시 OpenGL® VBO가 처리되는 방식을 최적화하는 데 도움이되는 몇 가지 방법이 있습니다. 이 중 하나는 그래픽 카드 또는 OpenGL®에 힌트를 제공하여 VBO가 메모리에 위치 해야하는 위치를 결정하는 것입니다. 제공된 힌트에 따라 VBO는 그래픽 카드의 그래픽 메모리에 직접 저장하거나 필요한 경우 시스템의 기본 랜덤 액세스 메모리 (RAM)에 저장 될 수 있습니다.
.