Delphi 아래 OpenGL2d 그림 그리 기 포인트 방법

2485 단어 DelphiOpenGL
머리말
Delphi 그래 픽 의 그리 기 는 glBegin(),glEnd()사이 에서 이 루어 집 니 다.그 려 진 프레임 코드 는 Delphi 아래 OpenGL2d 그림 의 초기 화 코드 를 사용 할 수 있 습 니 다.구체 적 인 내용 은 본 사이트 를 참조 하 십시오.https://www.jb51.net/article/52141.htm。수 정 된 부분 은 Draw 함수 의 내용 입 니 다.
화점
glPointSize 함 수 를 사용 하여 격자 화 점 의 지름 을 지정 합 니 다.기본 값 1.0,GL 에 만 있 음POINTS 는 톱날 제거 등의 기능 에 대해 나중에 연구 하 는 역할 을 한다.glBegin 사용(GLPOINTS)OpenGL 화점 알려 주기,인자 GLPOINTS 표시 점,그리고 다른 매개 변수,예 를 들 어 선 그리 기 GLLINES 등 은 구체 적 으로 OpenGL 단원 의 소스 코드 를 참고 할 수 있다.glBegin()과 glEnd()함수 설명 은 다음 과 같 습 니 다.
함수 원형:
void glBegin(GLenum mode)
void glEnd(void)
매개 변수 설명:
mode:그림 의 형식 을 만 듭 니 다.아래 수치 일 수 있 습 니 다.
GL_POINTS:모든 정점 을 하나의 점 으로 처리 합 니 다.정점 n 은 점 n,공동 그림 N 개 점 을 정의 합 니 다.
GL_LINES:모든 정점 을 하나의 독립 된 선분 으로 하고 정점 2n-1 과 2n 사이 에 n 개의 선분 을 정의 하 며 모두 N/2 개의 선분 을 그립 니 다.
GL_LINE_STRIP:첫 번 째 정점 에서 마지막 정점 까지 순서대로 연 결 된 선분 을 그립 니 다.n 과 n+1 개의 정점 은 선분 n 을 정의 하고 모두 n-1 개의 선분 을 그립 니 다.
GL_LINE_LOOP:첫 번 째 정점 에서 마지막 정점 까지 차례대로 연 결 된 선분 을 그립 니 다.그리고 마지막 정점 은 첫 번 째 정점 과 연결 되 고 n 과 n+1 개의 정점 은 선분 n 을 정의 합 니 다.모두 n 개의 선분 을 그립 니 다.
GL_TRIANGLES:각 정점 을 하나의 독립 된 삼각형 으로 하고 정점 3n-2,3n-1 과 3n 은 n 번 째 삼각형 을 정의 하여 모두 N/3 개의 삼각형 을 그립 니 다.
GL_TRIANGLE_STRIP:연 결 된 삼각형 을 그립 니 다.홀수 n,정점 n,n+1 과 n+2 에 대해 n 번 째 삼각형 을 정의 합 니 다.짝수 n 에 대해 정점 n+1,n 과 n+2 는 n 번 째 삼각형 을 정의 하고 모두 N-2 개의 삼각형 을 그립 니 다.
GL_TRIANGLE_FAN:연 결 된 삼각형 을 그립 니 다.삼각형 은 첫 번 째 정점 과 그 후에 주어진 정점 에 의 해 확정 되 고 정점 1,n+1 과 n+2 는 n 번 째 삼각형 을 정의 합 니 다.모두 N-2 개의 삼각형 을 그립 니 다.
GL_QUADS:네 개의 정점 으로 구 성 된 단독 사각형 을 그립 니 다.정점 4n-3,4n-2,4n-1 과 4n 은 n 번 째 사각형 을 정의 했다.총 N/4 개의 사각형 그리 기
GL_QUAD_STRIP:연 결 된 사각형 을 그립 니 다.모든 사각형 은 한 쌍 의 정점 과 그 후에 주어진 한 쌍 의 정점 에 의 해 공동으로 확정 된다.정점 2n-1,2n,2n+2 와 2n+1 은 n 번 째 사각형 을 정의 하고 모두 N/2-1 개의 사각형 을 그립 니 다.
GL_POLYGON:볼록 다각형 을 그립 니 다.정점 1 부터 n 까지 이 다각형 을 정의 합 니 다.
함수 설명:
glBegin 과 glEnd 함 수 는 한 그룹 또는 여러 그룹 그림 의 정점 정 의 를 제한 합 니 다.
화점 을 실현 하 는 소스 코드 는 다음 과 같다.

procedure TForm1.Draw;
begin
 //      
 glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
 //      ,   glBegin glEnd  
 glPointSize(10);
 glBegin(GL_POINTS); //   
 //       
 glColor3f(1, 0, 0);
 //    
 glVertex2f(50, 50);
 glColor3f(0, 1, 0);
 glVertex2f(100, 50);
 glColor3f(0, 0, 1);
 glVertex2f(150, 50);
 glEnd;
 SwapBuffers(FDC); //        ,               。
end;

glColor3f()는 점 의 색 을 그립 니 다.glVertex2f 는 점 의 위 치 를 그립 니 다.
전체 코드 점

좋은 웹페이지 즐겨찾기