1. 程式人生 > >OpenGL多邊形基礎及變換

OpenGL多邊形基礎及變換

剔除多邊形表面

有時候我們用哪個opengl畫的圖是三維的,我們都可以看見,但是我們其實看不見背面的東西, 另外一些情況,多個物體堆疊在一塊,我們只能看到前面的,後面的物體都被擋住了,

glEnable(GL_CULL_FACE);   //啟動自動剔除

glDisable(GL_CULL_FACE);   //關閉剔除功能

glCullFace(GL_FRONT);   //剔除正面

還可以選擇剔除反面或者剔除正面加反面

多邊形鏤空

glEnable(GL_POLYGON_STIPPLE);   //啟動鏤空

glDisable(GL_POLYGON_STIPPLE);   //關閉鏤空
glPolygonStipple(const GLubyte  *mask);   //設定鏤空模式

顏色表

glIndexi(GLint c);   //索引顏色

清除螢幕顏色

glClear(GL_BUFFER_BIT); //清除螢幕顏色緩衝

設定著色方式

glShadeMode(GL_SMOOTH); //平滑模式 glShadeModel(GL_FLAT); //單色模式

檢視變換

glMatrixMode(GL_MODELVIEW);   //設定當前操作的矩陣為模型檢視矩陣
glLoadIdentity();   //設定當前矩陣為單位矩陣
glTranslatef(GLfloat x,GLfloat y,GLfloat z);   //平移
glRotatef(); //  旋轉
glScale();  //縮放

投影變換

glMatrixMode(GL_PROJECTION);   //設定當前矩陣為投影矩陣
glLoadIdentity();
glFrustum(引數);
glPerspective(引數);   //具體引數百度一下

視口變換

glViewport();

操作矩陣堆疊

glPushMatrix();
glPopMatrix();