程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Delphi下OpenGL2d畫圖之畫點的辦法

Delphi下OpenGL2d畫圖之畫點的辦法

編輯:更多關於編程

Delphi下OpenGL2d畫圖之畫點的辦法。本站提示廣大學習愛好者:(Delphi下OpenGL2d畫圖之畫點的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Delphi下OpenGL2d畫圖之畫點的辦法正文


1、媒介

Delphi圖形的繪制可以在glBegin()、glEnd()之間完成,繪制的框架代碼可使用Delphi下OpenGL2d畫圖的初始化代碼,詳細內容可參考本站http://www.jb51.net/article/52141.htm。修正的部分為 Draw 函數的內容。

2、畫點

應用glPointSize 函數指定柵格化點的直徑。默許為1.0,只在GL_POINTS下起感化,關於消鋸齒等功效今後再研討。應用glBegin(GL_POINTS)告知OpenGL畫點,參數GL_POINTS表現點,還有其他參數,如畫線GL_LINES等,詳細可以參考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繪制點的地位。

完全代碼點此下載

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved