以細分兩次的三角形為例,我們注意到,如果只畫外圍大三角形的邊,小三角形的畫法一共有七種
當細分零次時,還有一種型別(第八種):
所以我們可以給細分的小三角形根據顏色分類,只畫需要畫的邊:
畫三角形的頂點順序:
;}
//從乙個三角形開始遞迴地細分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...