Delphi下OpenGL2d繪圖(02)-畫點

來源:互聯網
上載者:User

標籤:style   class   blog   code   http   color   

一、前言

圖形的繪製可以使用glBegin()、glEnd()之間完成,繪製的架構代碼可以使用 Delphi下OpenGL2d繪圖(01)-初始化 中的代碼。修改的部份為 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:建立圖元的類型。可以是以下數值

    • 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(255, 0, 0);  // 繪製點  glVertex2f(50, 50);  glColor3f(0, 255, 0);  glVertex2f(100, 50);  glColor3f(0, 0, 255);  glVertex2f(150, 50);  glEnd;  SwapBuffers(FDC); //交換雙緩衝區內容,這將把剛繪製的圖形翻印到螢幕上。end;
glColor3f()用於繪製點的顏色,glVertex2f繪製點的位置。如下:

 

2014-06-26 by lin

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.