OpenGL® 정점 버퍼 란 무엇입니까?
Open Graphics Library® (OpenGL®) Vertex 버퍼는 다양한 정점 및 해당 속성에 매우 빠르게 액세스 할 수있는 그래픽 카드에 직접 위치한 컴퓨터 메모리 영역입니다. 대부분의 경우 OpenGL® Vertex 버퍼는 VBO (Vertex Buffer Object)를 작성하는 데 사용되며, 3 차원 (3D) 장면 내의 객체를 즉각 모드가 아닌 디스플레이 목록의 일부로 렌더링 할 수 있습니다. 그러나 때때로 VBO 외부에서 정점 버퍼를 사용하여 객체에 대한 정보를 저장하거나 복잡한 모델에서 더 쉽게 변환 할 수 있습니다. 정점 버퍼는 데이터 구조와 같이 할당 될 수 있기 때문에 그래픽 카드 메모리에 위치 할 필요가 없습니다. OpenGL® Vertex 버퍼가 VBO의 일부로 사용되는 경우, 사용중인 그래픽 카드는 버퍼를 그래픽 메모리에 배치하기 위해 특수 OpenGL® VBO 확장을 지원해야합니다.
가장 기본적인 레벨에서는 OpenGL® 정점 버퍼가단순한 버퍼, 데이터를 저장할 수있는 할당 된 메모리 영역. 정점 배열이 그 안에 저장되면 정점 버퍼가됩니다. OpenGL® Vertex 배열은 개별 정점의 모든 속성을 정의하는 데이터 구조 배열입니다. 이 정보는 3D 장면에서 정점의 x, y 및 z 위치, 정점의 색상, 정상 및 기타 속성을 포함 할 수 있습니다.
즉시 모드 렌더링에서 OpenGL® 명령은 프로그램 내에서 호출되면 직접 실행됩니다. 이 경우 정점 배열을 갖는 것은 불필요합니다. 정점을 배치하고 그리기위한 명령은 하드웨어에 직접 제공 될 수 있지만 심각한 성능 문제를 일으킬 수 있기 때문입니다. 비 임시 모드 렌더링의 경우, 3D 객체 또는 모델에 대한 정보는 먼저 정점 배열에 배치되어야하므로 OpenGL®이 쉽게 해석 할 수있는 구조가 있습니다. 그 thaT 배열은 OpenGL® 정점 버퍼로 알려진 특수한 메모리 영역에 저장해야합니다.
그 자체로는 정점 버퍼가 객체를 그리는 데 사용되는 완전한 정보 모음 이외의 특별한 속성을 가지고 있지는 않습니다. 그러나 OpenGL® Vertex 버퍼가 OpenGL ® vertex 버퍼 객체로 변환되면 OpenGL 확장을 통해 특수한 이벤트 시퀀스가 발생합니다. 즉, 버퍼는 Client-Server Setup OpenGL®의 서버 측면에서 그래픽 카드 메모리에 할당되어 저장됩니다. 일부 계산은 VBO에서 미리 수행 할 수 있으므로 가능한 빨리 렌더링 할 수 있습니다. VBO 외에는 일반 정점 버퍼가 일반적 으로이 처리를받지 않으며 다른 데이터 유형과 마찬가지로 할당되어 사용할 수 있습니다.