一、前言
圖形的繪制可以使用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:創建圖元的類型。可以是以下數值
函數說明:
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