Delphi下OpenGL2d繪圖之畫點(diǎn)的方法
一、前言
Delphi圖形的繪制可以在glBegin()、glEnd()之間完成,繪制的框架代碼可以使用Delphi下OpenGL2d繪圖的初始化代碼,具體內(nèi)容可參考本站//www.jb51.net/article/52141.htm。修改的部份為 Draw 函數(shù)的內(nèi)容。
二、畫點(diǎn)
使用glPointSize 函數(shù)指定柵格化點(diǎn)的直徑。默認(rèn)為1.0,只在GL_POINTS下起作用,關(guān)于消鋸齒等功能以后再研究。使用glBegin(GL_POINTS)告訴OpenGL畫點(diǎn),參數(shù)GL_POINTS表示點(diǎn),還有其他參數(shù),如畫線GL_LINES等,具體可以參考OpenGL單元的源碼。glBegin()與glEnd()函數(shù)說明如下:
函數(shù)原型:
void glBegin(GLenum mode)
void glEnd(void)
參數(shù)說明:
mode:創(chuàng)建圖元的類型。可以是以下數(shù)值
GL_POINTS:把每一個(gè)頂點(diǎn)作為一個(gè)點(diǎn)進(jìn)行處理,頂點(diǎn)n即定義了點(diǎn)n,共繪制N個(gè)點(diǎn)
GL_LINES:把每一個(gè)頂點(diǎn)作為一個(gè)獨(dú)立的線段,頂點(diǎn)2n-1和2n之間共定義了n條線段,總共繪制N/2條線段
GL_LINE_STRIP:繪制從第一個(gè)頂點(diǎn)到最后一個(gè)頂點(diǎn)依次相連的一組線段,第n和n+1個(gè)頂點(diǎn)定義了線段n,總共繪制n-1條線段
GL_LINE_LOOP:繪制從第一個(gè)頂點(diǎn)到最后一個(gè)頂點(diǎn)依次相連的一組線段,然后最后一個(gè)頂點(diǎn)和第一個(gè)頂點(diǎn)相連,第n和n+1個(gè)頂點(diǎn)定義了線段n,總共繪制n條線段
GL_TRIANGLES:把每個(gè)頂點(diǎn)作為一個(gè)獨(dú)立的三角形,頂點(diǎn)3n-2、3n-1和3n定義了第n個(gè)三角形,總共繪制N/3個(gè)三角形
GL_TRIANGLE_STRIP:繪制一組相連的三角形,對(duì)于奇數(shù)n,頂點(diǎn)n、n+1和n+2定義了第n個(gè)三角形;對(duì)于偶數(shù)n,頂點(diǎn)n+1、n和n+2定義了第n個(gè)三角形,總共繪制N-2個(gè)三角形
GL_TRIANGLE_FAN:繪制一組相連的三角形,三角形是由第一個(gè)頂點(diǎn)及其后給定的頂點(diǎn)確定,頂點(diǎn)1、n+1和n+2定義了第n個(gè)三角形,總共繪制N-2個(gè)三角形
GL_QUADS:繪制由四個(gè)頂點(diǎn)組成的一組單獨(dú)的四邊形。頂點(diǎn)4n-3、4n-2、4n-1和4n定義了第n個(gè)四邊形??偣怖L制N/4個(gè)四邊形
GL_QUAD_STRIP:繪制一組相連的四邊形。每個(gè)四邊形是由一對(duì)頂點(diǎn)及其后給定的一對(duì)頂點(diǎn)共同確定的。頂點(diǎn)2n-1、2n、2n+2和2n+1定義了第n個(gè)四邊形,總共繪制N/2-1個(gè)四邊形
GL_POLYGON:繪制一個(gè)凸多邊形。頂點(diǎn)1到n定義了這個(gè)多邊形。
函數(shù)說明:
glBegin和glEnd函數(shù)限定了一組或多組圖元的定點(diǎn)定義。
實(shí)現(xiàn)畫點(diǎn)的源碼如下:
procedure TForm1.Draw; begin // 清空緩沖區(qū) glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); // 設(shè)置點(diǎn)大小,不能再glBegin和glEnd之間 glPointSize(10); glBegin(GL_POINTS); // 畫點(diǎn) // 設(shè)置點(diǎn)的顏色 glColor3f(1, 0, 0); // 繪制點(diǎn) glVertex2f(50, 50); glColor3f(0, 1, 0); glVertex2f(100, 50); glColor3f(0, 0, 1); glVertex2f(150, 50); glEnd; SwapBuffers(FDC); //交換雙緩沖區(qū)內(nèi)容,這將把剛繪制的圖形翻印到屏幕上。 end;
glColor3f()用于繪制點(diǎn)的顏色,glVertex2f繪制點(diǎn)的位置。
完整代碼點(diǎn)此下載
上一篇:Delphi實(shí)現(xiàn)獲取句柄并發(fā)送消息的方法
欄 目:Delphi
下一篇:Delphi實(shí)現(xiàn)限定軟件使用時(shí)間的方法
本文標(biāo)題:Delphi下OpenGL2d繪圖之畫點(diǎn)的方法
本文地址:http://mengdiqiu.com.cn/a1/Delphi/8637.html
您可能感興趣的文章
- 01-10在Delphi實(shí)現(xiàn)在數(shù)據(jù)庫中存取圖像的圖文演示無錯(cuò)
- 01-10delphi建立、讀取、存貯INI文件的方法《三》
- 01-10Delphi Command模式
- 01-10delphi 正弦曲線圖
- 01-10delphi建立、讀取、存貯INI文件的方法《二》
- 01-10插件管理框架 for Delphi(二)
- 01-10插件管理框架 for Delphi(一)
- 01-10Delphi中判斷文件是否為文本文件的函數(shù)
- 01-10delphi中一個(gè)值得大家來考慮的DLL問題
- 01-10初探Delphi中的插件編程


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10在Delphi實(shí)現(xiàn)在數(shù)據(jù)庫中存取圖像的圖
- 01-10delphi建立、讀取、存貯INI文件的方法
- 01-10delphi 正弦曲線圖
- 01-10Delphi Command模式
- 01-10delphi建立、讀取、存貯INI文件的方法
- 01-10插件管理框架 for Delphi(二)
- 01-10插件管理框架 for Delphi(一)
- 01-10Delphi中判斷文件是否為文本文件的函
- 01-10delphi中一個(gè)值得大家來考慮的DLL問題
- 01-10初探Delphi中的插件編程
隨機(jī)閱讀
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法