藍寶書 第三章
本章主要是講解繪制圖元,主要圖元如下表所示。
圖片來源:點擊打開鏈接
多邊形通用設置
1)正反面
一般來說,看向多邊形時,該多邊形通過點逆時針連接而成的面為正面,順時針連接而成的面為背面。
glFrontFace(GL_CW); 設置多邊形順時針連接的面為正面
glFrontFace(GL_CCW);設置多邊形逆時針連接的面為正面
2)純色填充
glShadeModel(GL_FLAT);多邊形純色填充,填充顏色為多邊形最后一個頂點的顏色
3)線條平滑
glShadeModel(GL_SMOOTH);
4)深度緩沖區功能
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);//初始化深度緩沖區功能
glEnable(GL_DEPTH_TEST); //開啟深度緩沖功能
glDisable(GL_DEPTH_TEST); //關閉深度緩沖功能
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //清除深度緩沖
深度緩沖功能:繪制圖形時按照當前視覺角度查找當前圖像是否會被其他圖像遮擋,若被遮擋則當前被遮擋部分不進行繪制,即只繪制最上層圖像。一般繪制3D圖像時需要開啟該功能,使圖像更真實,若要繪制透明圖像,則需關閉該功能,參考:點擊打開鏈接
5)剔除功能
去除圖像正面或背面,減少不必要的開銷,提高運算速度
參考:點擊打開鏈接
6)多邊形模式
glPolygonMode(GL_BACK,GL_LINE);設置圖形背面使用線條
glPolygonMode(GL_BACK,GL_FILL);設置圖形背面填充
GL_BACK,GL_FRONT 設置圖形正反面,GL_LINE設置使用線條描繪輪廓,GL_FILL設置使用顏色填充圖形
使用該模式時,需禁用該面的剔除功能,否則無法看到正面或反面
新聞熱點
疑難解答