OpenGL多邊形基礎及變換
阿新 • • 發佈:2018-12-15
剔除多邊形表面
有時候我們用哪個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();