OpenGL 三角形離散化之後只顯示外邊界

2021-09-05 23:29:49 字數 1437 閱讀 4271

以細分兩次的三角形為例,我們注意到,如果只畫外圍大三角形的邊,小三角形的畫法一共有七種

當細分零次時,還有一種型別(第八種):

所以我們可以給細分的小三角形根據顏色分類,只畫需要畫的邊:

畫三角形的頂點順序:

;}

//從乙個三角形開始遞迴地細分n次

void

divide_********

(glfloat * a, glfloat * b, glfloat * c,

int m,

int k)

flag[3]

=7;divide_********

(a, v[0]

, v[1]

, m-

1, flag[0]

);divide_********

(v[0

], b, v[2]

, m-

1, flag[1]

);divide_********

(v[1

], v[2]

, c, m-

1, flag[2]

);divide_********

(v[0

], v[2]

, v[1]

, m-

1, flag[3]

);}else

********

(a, b, c, k)

;}

void

display

(void);

glclear

(gl_color_buffer_bit)

;//清除顏色快取

divide_********

(v[0

], v[1]

,v[2],

4,0)

;glflush()

;}

OpenGL畫三角形

修改paintgl函式 void nehewidget paintgl 清楚螢幕和深度快取 glclear gl color buffer bit gl depth buffer bit 重置當前的模型觀察矩陣 glloadidentity gltranslatef 1.5,0.0,6.0 開始繪製...

OpenGL畫三角形

修改paintgl函式 void nehewidget paintgl 清楚螢幕和深度快取 glclear gl color buffer bit gl depth buffer bit 重置當前的模型觀察矩陣 glloadidentity gltranslatef 1.5,0.0,6.0 開始繪製...

OpenGL隨筆二 opengl繪製三角形

define glew static 1 include include include vbo繪製兩個共邊的三角形需要六個點 float vertices const char vertexshadersource version 330 core n layout location 0 in v...