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

작가: Eugene Taylor
창조 날짜: 16 팔월 2021
업데이트 날짜: 10 1 월 2025
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 및 반경 값을 지정한 경우 흰색 배경에 검은 색 원이 표시되어야합니다.

파열 된 인대는 관절이 비틀거나 과부하되었을 때 발생합니다. 이러한 휴식의 대부분은 무릎이나 발목에서 발생합니다. 테니스 나 축구와 같은 격렬한 움직임이 필요한 운동을 할 때도 발생할 수 있습니다. 인대가 파열되면 부상당한 사람은 보통 스냅을 듣습니다. 그것은 매우 고통 스러울 수 있지만 치료할 수 있습니다. 인대가 찢어진다면 의료 도움을 받으십시오. 발목...

시스코 라우터는 기본적으로 DN를 검색합니다. 명령의 이름을 잘못 입력하면 라우터는 DN 조회를 통해 이름을 확인해야한다고 가정합니다. 이렇게하면 키패드가 잠기고 구성 명령 입력이 지연됩니다. DN 서버가 없으면이 쿼리를 모두 비활성화하는 것이 좋습니다. 원치 않는 DN 조회 사용 안 함 (Fotolia.com에서 onlinebewerbung.de하여 3d...

꼭 봐야 해