OpenGL® 구체는 무엇입니까?

Open Graphics Library® (OpenGL®) 구체는 가장 기본적인 수준에서 3 차원 (3D) 객체로 일련의 삼각형 또는 사변형으로 구성된 3 차원 (3D) 객체로 정점이 모두 중심 지점에서 동일하게 나타납니다. 이것은 OpenGL® 구가 어떤 각도에서나 볼 때, 조명과 음영은 볼륨에 더 많은 볼과 같은 모양을 줄 수 있지만 개요는 시청자에게 완벽한 원으로 나타납니다. OpenGL® 구체를 생성하는 데 사용되는 정점의 수는 실제 구체에 대한 근사치에서 물체의 부드러움을 결정하고 12 점 미만의 점은 구를 고려할 수없는 물체를 생성합니다. 구체가 많은 그래픽 응용 프로그램 및 라이브러리에서 형태 원시로 간주 되더라도 OpenGL®은 구체를 렌더링 할 수있는 선천적 기능이 없습니다.OpenGL®의 ICES는 어느 정도 부드러움을 가진 구체를 생성하는 데 사용할 수있는 최소한의 포인트는 12이며, Icosahedron으로 알려진 삼각형면이 20 개있는 물체를 만듭니다. 추가 처리없이, 이러한 방식으로 구성된 OpenGL® 구는 가장자리 주위에 보이는 날카로운 모서리를 갖게되며, 일부 응용 분야에서는 허용 될 수 있습니다. 보다 둥근 구체를 얻으려면 각 얼굴이 더 세분화되어야합니다.

ICOSAHEDRON을 세분화하여 포함하는 정점의 수를 늘리고 더 부드러운 OpenGL® 구체를 형성하는 것은 기존 삼각형의 각 가장자리 중앙에 새로운 정점을 생성하는 것입니다. 이것은 각 삼각형 얼굴에 4 개의 삼각형이 포함되어 있음을 의미합니다. 지수를 기하 급수적으로 추가하면 렌더링 시간이 높은 객체를 신속하게 생성하고 번역하기가 어렵게 될 수있는 객체를 신속하게 생성 할 수 있지만 세분은 필요한만큼 계속 될 수 있습니다.

SOM에도 불구하고수학적 편의의 e OpenGL® 구체는 정점 좌표로부터 쉽게 계산할 수있는 표면 정상과 같은 프로그래머에게 제공되며, 구체를 텍스처링하면 몇 가지 복잡성을 나타낼 수 있습니다. 구에 투사 된 표준 2 차원 (2D) 텍스처를 사용하면 텍스처 이미지의 상단과 하단 영역이 압축 될 수 있습니다. 구의 극 근처의 삼각형의 모양이 압축되기 때문입니다. 이를 극복하기 위해 큐브 매핑을 사용하거나 프로그래머가 물체의 텍스처 좌표를 수동으로 생성 할 수 있습니다.

OpenGL® 구체를 생성하기 위해 유틸리티 라이브러리를 사용하는 것에 대한 한 가지 요소에 주목해야합니다. GLUT 또는 이와 유사한 툴킷에 의해 생성 된 구는 때때로 OpenGL® 자체 내에서 수정, 최적화 및 관리하기가 어려울 수 있습니다. 이러한 이유로, 사용자 정의 서면 코드를 사용하여 OpenGL® 구체를 생성하여 생성되어 가장 효율적인 방법으로 사용될 수 있습니다.프로그램을 Ihin.

다른 언어

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

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