Ch5-8-在OpenGL中繪制圖形課件_第1頁
Ch5-8-在OpenGL中繪制圖形課件_第2頁
Ch5-8-在OpenGL中繪制圖形課件_第3頁
Ch5-8-在OpenGL中繪制圖形課件_第4頁
Ch5-8-在OpenGL中繪制圖形課件_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

5.8在OpenGL中繪制圖形5.8.1點的繪制5.8.2直線的繪制5.8.3多邊形面的繪制5.8.4OpenGL中的字符函數(shù)5.8.5OpenGL中的反走樣5.8在OpenGL中繪制圖形5.8.1點的繪制15.8.1點的繪制點的繪制glBegin(GL_POINTS);glVertex3f(0.0f,0.0f,0.0f);glVertex3f(10.0f,0.0f,0.0f);glEnd();點的屬性(大小)voidglPointSize(GLfloatsize);5.8.1點的繪制點的繪制25.8.2直線的繪制直線的繪制模式GL_LINESGL_LINE_STRIPGL_LINE_LOOP(a)GL_LINES(b)GL_LINE_LOOP(c)GL_LINE_STRIP圖5-60OpenGL畫線模式5.8.2直線的繪制直線的繪制模式(a)GL_LINES3直線的屬性線寬voidglLineWidth(GLfloatwidth)線型glEnable(GL_LINE_STIPPLE);glLineStipple(GLintfactor,GLushortpattern);直線的屬性4圖5-61畫線模式用于構造線段圖5-61畫線模式用于構造線段55.8.3多邊形面的繪制三角形面的繪制GL_TRIANGLESGL_TRIANGLE_STRIPGL_TRIANGLE_FAN四邊形面的繪制GL_QUADSGL_QUADS_STRIP多邊形面的繪制(GL_POLYGON)5.8.3多邊形面的繪制三角形面的繪制6多邊形面的繪制規(guī)則所有多邊形都必須是平面的。多邊形的邊緣決不能相交,而且多邊形必須是凸的。解決:對于非凸多邊形,可以把它分割成幾個凸多邊形(通常是三角形),再將它繪制出來。多邊形面的繪制規(guī)則7問題:輪廓圖形狀態(tài)會看到組成大表面的所有小三角形。處理OpenGL提供了一個特殊標記來處理這些邊緣,稱為邊緣標記。glEdgeFlag(True)glEdgeFlag(False)問題:輪廓圖形狀態(tài)會看到組成大表面的所有小三角形。處理Ope82.多邊形面的屬性(1)多邊形面的正反屬性(繞法) 指定頂點時順序和方向的組合稱為“繞法”。繞法是任何多邊形圖元的一個重要特性。一般默認情況下,OpenGL認為逆時針繞法的多邊形是正對著的。

glFrontFace(GL_CW); glFrontFace(GL_CCW);2.多邊形面的屬性(1)多邊形面的正反屬性(繞法)9(2)多邊形面的顏色glShadeModel(GL_FLAT)用指定多邊形最后一個頂點時的當前顏色作為填充多邊形的純色,唯一例外是GL_POLYGON圖元,它采用的是第一個頂點的顏色。glShadeModel(GL_SMOOTH)從各個頂點給多邊形投上光滑的陰影,為各個頂點指定的顏色之間進行插值。(2)多邊形面的顏色glShadeModel(GL_FLA10例glBegin(GL_TRIANGLES); glColor3f(1.0,0.0,0.0); glVertex2f(5.0,5.0); glColor3f(0.0,1.0,0.0); glVertex2f(25.0,5.0); glColor3f(0.0,0.0,1.0); glVertex2f(5.0,25.0);glEnd();GL_FLATGL_SMOOTH例glBegin(GL_TRIANGLES);GL_FLA11(3)多邊形面的顯示模式glPolygonMode(GLenumface,GLenummode);參數(shù)face用于指定多邊形的哪一個面受到模式改變的影響。參數(shù)mode用于指定新的繪圖模式。(3)多邊形面的顯示模式glPolygonMode(GLe12(4)多邊形面的填充 多邊形面既可以用純色填充,也可以用32×32的模板位圖來填充。voidglPolygonStipple(constGLubyte*mask);glEnable(GL_POLYGON_STIPPLE);(4)多邊形面的填充 多邊形面既可以用純色填充,也可以用13(5)多邊形面的法向量法向量是垂直于面的方向上點的向量,它確定了幾何對象在空間中的方向。在OpenGL中,可以為每個頂點指定法向量。 voidglNormal3{bsidf}(TYPEnx,TYPEny,TYPEnz); voidglNormal3{bsidf}v(constTYPE*v);(5)多邊形面的法向量法向量是垂直于面的方向上點的向量,它145.8.4OpenGL中的字符函數(shù)GLUT位圖字符voidglutBitmapCharacter(void*font,intcharacter);GLUT矢量字符 voidglutStrokeCharacter(void*font,intcharacter);5.8.4OpenGL中的字符函數(shù)GLUT位圖字符155.8.5OpenGL中的反走樣[☆程序5-12]啟用反走樣 glEnable(primitiveType);啟用OpenGL顏色混和 glEnable(GL_BLEND);指定顏色混合函數(shù) glBlendFunc(GL_SCR_ALPHA, GL_ONE_MINUS_SRC_ALPHA);5.8.5OpenGL中的反走樣[☆程序5-12]16顏色混和函數(shù)用于計算兩個相互重疊的對象的顏色。在RGBA顏色模式(A表示透明度)中,已知源像素的顏色值為(Sr,Sg,Sb,Sa)目標像素的顏色值為(Dr,Dg,Db,Da)顏色混合后像素的顏色為:

(RS·Sr+RD·Dr,GS·Sg+GD·Dg,BS·Sb+BD·Db,AS·Sa+AD·Da)顏色混和函數(shù)用于計算兩個相互重疊的對象的顏色。17定義混合因子 voidglBlendFunc(GLenumsrcfactor, GLenumdestfactor);定義混合因子18表5-1源混和因子和目標混合因子常量RGB混合因子Alpha混合因子GL_ZERO(0,0,0)0GL_ONE(1,1,1)1GL_SRC_COLOR(RS,GS,BS)ASGL_ONE_MINUS_SRC_COLOR(1,1,1)-(RS,GS,BS)1-ASGL_DST_COLOR(RD,GD,BD)ADGL_ONE_MINUS_DST_COLOR(1,1,1)-(RD,GD,BD)1-ADGL_SCR_ALPHA(AS,AS,AS)ASGL_ONE_MINUS_S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論