opengl绘制长方体线框_OpenGL绘制长方体
#include ? //引用相關(guān)包
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);? //清空顏色緩沖區(qū)
glColor3f(0,1,1);?? //重置顏色
glLoadIdentity();?? //清空矩陣
glTranslatef(0,0,-5); //將場(chǎng)景中的物體沿z軸負(fù)方向移動(dòng)5個(gè)單位長(zhǎng)
glRotatef(40,0,1,0);
//gluLookAt(0,0,5,0,0,0,0,2,0); //視點(diǎn)變換
glScalef(1,2,1);? //模型變換
glutWireCube(1.0); //繪制實(shí)心立方體和線框立方體
glFlush();?? //刷新窗口以顯示當(dāng)前繪制圖形
}
void init(void)
{
glClearColor(0,0,0,0);
glShadeModel(GL_FLAT); //選擇平面明暗模式或光滑明暗模式
}
void reshape(int w,int h)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);?? //設(shè)置機(jī)口
glMatrixMode(GL_PROJECTION);? //指定哪一個(gè)矩陣是當(dāng)前矩陣
glLoadIdentity();
gluPerspective(60,1,1.5,20);?? //創(chuàng)建透視投影矩陣(fovy,aspect,zNear,zFar);
//glFrustum(-1,1,-1,1,1.5,20.0);? //用透視矩陣乘以當(dāng)前矩陣(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("第⑤個(gè)OpenGL程序(繪制立方體)");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop(); //進(jìn)人GLUT事件處理循環(huán)
return 0;
}
運(yùn)行結(jié)果:
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的opengl绘制长方体线框_OpenGL绘制长方体的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 按钮 每一行_word跨页表格如何重复设
- 下一篇: 图片优化_Web 性能优化: 图片优化让