opengl绘制长方体线框_OpenGL绘制长方体
#include ? //引用相關包
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);? //清空顏色緩沖區
glColor3f(0,1,1);?? //重置顏色
glLoadIdentity();?? //清空矩陣
glTranslatef(0,0,-5); //將場景中的物體沿z軸負方向移動5個單位長
glRotatef(40,0,1,0);
//gluLookAt(0,0,5,0,0,0,0,2,0); //視點變換
glScalef(1,2,1);? //模型變換
glutWireCube(1.0); //繪制實心立方體和線框立方體
glFlush();?? //刷新窗口以顯示當前繪制圖形
}
void init(void)
{
glClearColor(0,0,0,0);
glShadeModel(GL_FLAT); //選擇平面明暗模式或光滑明暗模式
}
void reshape(int w,int h)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);?? //設置機口
glMatrixMode(GL_PROJECTION);? //指定哪一個矩陣是當前矩陣
glLoadIdentity();
gluPerspective(60,1,1.5,20);?? //創建透視投影矩陣(fovy,aspect,zNear,zFar);
//glFrustum(-1,1,-1,1,1.5,20.0);? //用透視矩陣乘以當前矩陣(left,Right,bottom,top,near,far);
glMatrixMode(GL_MODELVIEW);
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv); //固定格式
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);?? //緩存模式
glutInitWindowSize(400, 400);??? //顯示框的大小
glutInitWindowPosition(400,400); //確定顯示框左上角的位置
glutCreateWindow("第⑤個OpenGL程序(繪制立方體)");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop(); //進人GLUT事件處理循環
return 0;
}
運行結果:
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的opengl绘制长方体线框_OpenGL绘制长方体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 按钮 每一行_word跨页表格如何重复设
- 下一篇: DNF100级战斗法师史诗装备如何搭配