欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Delphi下OpenGL2d繪圖之畫點的方法

 更新時間:2014年07月14日 12:03:48   投稿:shichen2014  
這篇文章主要介紹了Delphi下OpenGL2d繪圖之畫點的方法,需要的朋友可以參考下

一、前言

Delphi圖形的繪制可以在glBegin()、glEnd()之間完成,繪制的框架代碼可以使用Delphi下OpenGL2d繪圖的初始化代碼,具體內容可參考本站http://www.dbjr.com.cn/article/52141.htm。修改的部份為 Draw 函數的內容。

二、畫點

使用glPointSize 函數指定柵格化點的直徑。默認為1.0,只在GL_POINTS下起作用,關于消鋸齒等功能以后再研究。使用glBegin(GL_POINTS)告訴OpenGL畫點,參數GL_POINTS表示點,還有其他參數,如畫線GL_LINES等,具體可以參考OpenGL單元的源碼。glBegin()與glEnd()函數說明如下:

函數原型:

void glBegin(GLenum mode)

void glEnd(void)

參數說明:

mode:創(chuàng)建圖元的類型??梢允且韵聰抵?/span>

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個四邊形??偣怖L制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
 // 清空緩沖區(qū)
 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); //交換雙緩沖區(qū)內容,這將把剛繪制的圖形翻印到屏幕上。
end;

glColor3f()用于繪制點的顏色,glVertex2f繪制點的位置。

完整代碼點此下載

相關文章

最新評論