OpenGL에서 원을 렌더링하는 방법

작가: Eugene Taylor
창조 날짜: 16 팔월 2021
업데이트 날짜: 14 십일월 2024
Anonim
D3D 텍스트 렌더링
동영상: D3D 텍스트 렌더링

콘텐츠

OpenGL 또는 Open Graphics Library는 다양한 프로그래밍 언어와 플랫폼으로 2D 및 3D 애플리케이션을 작성하기위한 그래픽 API (Application Programming Interface)입니다. 단순하고 원시적 인 오브젝트에서 복잡한 3D 장면에 이르기까지 모든 것을 렌더링하는 데 사용할 수 있습니다. Open GL은 컴퓨터 디자인, 과학적 시각화, 비행 시뮬레이션 및 비디오 게임에 널리 사용됩니다. OpenGl에는 직접 원을 그리는 방법이 없지만 일련의 선을 사용하여 원을 만들 수 있습니다. 원을 그리려면 OpenGL에 대한 기본 지식이 있어야합니다.

1 단계

OpenGL 뷰포트로 기본 프로그램을 만듭니다. 이 프로세스에 익숙하지 않은 경우 OpenGL 페이지에 자습서가 있습니다.


2 단계

프로그램 시작 부분에 다음 코드를 입력하여 프로그램에 math.h.header 파일을 추가하십시오. #include . 이렇게하면 원을 계산하는 데 필요한 cos () 및 sin () (사인 및 코사인) 함수가 제공됩니다.

3 단계

콜백 함수를 표시하기 전에 다음 코드를 추가하여 circle 메서드를 시작합니다.

void drawCircle (GLint x, GLint y, GLint 반경, int num_lines) {}

"x"및 "y"변수는 창에서 원의 중심을 정의하는 데 사용되며 "반경"은 원의 반지름을 설정합니다. 정수 "num_lines"는 원을 구성하는 데 사용되는 행 수입니다. 이 숫자가 클수록 원이 더 부드러워집니다.

4 단계

키 내부에 다음 구성 코드를 추가합니다.

부동 각도 GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO.

"angle"변수에는 원을 구성하는 데 사용되는 선의 각도가 포함됩니다. glColor3f () 함수를 호출하면 선의 색상이 검은 색으로 설정됩니다. 여기서 일련의 0은 0에서 1까지의 눈금에서 빨간색, 녹색 및 파란색의 강도에 해당합니다.


5 단계

4 단계의 glColor3f () 함수 아래에 다음 코드를 추가합니다.

glBegin (GL_LINE_LOOP) GO

이것은 OpenGL에게 모든 후속 라인에 드로잉 라인이 포함된다는 것을 알려줍니다. 특히 일련의 연결된 선인 "GL_LINE_LOOP"를 그립니다.

6 단계

glBegin () 호출 후 for 루프에 대해 다음 코드를 입력합니다.

for (int i = 0; i <row_number; i ++) {angle = i * 2 * M_PI / num_line; glVertex2f (x + (cos (각도) * 반경), y + (sin (각도) * 반경)); }

이 루프는 세 가지 작업을 수행합니다. 먼저, "num_lines"의 값에 따라 반복합니다. 여기서 num_lines는 정수이며 각 반복에서 선을 그리고 결과적으로 직선 num_lines로 구성된 원이됩니다. 둘째, 원의 중심을 기준으로 한 선의 각도를 라디안 단위로 계산합니다. "M_P"는 pi를 나타내는 math.h에 정의 된 상수입니다. 마지막으로 glVertex2f ()에 대한 호출은 선의 끝점 좌표를 계산합니다.


7 단계

루프 대상 뒤에 다음 코드 줄을 입력합니다.

glEnd () GO

그러면 OpenGL에게 선 그리기가 완료되었음을 알립니다.

8 단계

장면에 원을 그리려면 drawCircle () 메서드의 호출을 프로그램의 콜백 표시 함수에 추가합니다.이 함수는 1 단계에서 준비해야합니다. x, y, 반경 및 num_lines 값을 지정합니다. 여기서 x 및 y는 점을 나타냅니다. 장면에서 반경은 원의 반경이고 num_lines는 원을 구성하는 선의 수입니다. 다시 말하지만, OpenGL과 콜백 디스플레이에 익숙하지 않은 경우 OpenGL 자습서를 참조하십시오.

9 단계

프로그램을 컴파일하고 실행하십시오. 함수를 올바르게 입력했다면 오류없이 컴파일되어야합니다. x, y 및 반경 값을 지정한 경우 흰색 배경에 검은 색 원이 표시되어야합니다.

고대 건축가들은 돌로 건축하는 가치를 인식했습니다. 과거 5,000 년을 보든 200 년이든, 석재를 원료로 사용한 건축가의 건축은 삶을 살아 남았습니다. 석회석이나 사암과 같은 돌은 땅에서 쉽게 제거되기 때문에 과거에는 사용되었습니다. 화강암과 같은 더 단단한 것들은 오늘날보다 일반적이며 오랜 기간 동안 기후 변화를 견딜 수 있습니다. 모든 세기의 돌 기...

우리가 피부에 넣은 모든 것의 약 60 %가 혈류에 들어갑니다. 그러나 회사들은 개인 용품 및 식품에 의심스러운 안전 성분을 뻔뻔하게 추가하고 있습니다. 여기에는 체중 증가, 노화 된 피부 및 특정 유형의 암과 같은 문제를 일으킬 것으로 의심되는 합성 파라벤 및 방부제가 포함됩니다. 소비자를위한 유일한 자원은 화장품, 클렌저 및 파라벤 프리 식품을 찾는 방...

인기있는 기사