怎么用OpenGL画两个立方体

我用的是visualstudio,我先画了一个立方体,然后想用translatef在别的地方使用相同的坐标画一个和前面一样的立方体,但是每次运行都只显示一个立方体,这是怎... 我用的是visual studio,我先画了一个立方体,然后想用translatef在别的地方使用相同的坐标画一个和前面一样的立方体,但是每次运行都只显示一个立方体,这是怎么回事,我怎么才能用相同的立方体坐标在两个不同的地方画出立方体呢 展开
 我来答
chengcong0812
推荐于2016-12-02 · TA获得超过125个赞
知道答主
回答量:61
采纳率:0%
帮助的人:75.3万
展开全部
使用压栈和退栈,glPushMatrix压栈,可以存储当前矩阵,glPopMatrix可以弹出上次存储的矩阵,比如你画正方形的代码写成一个DrawCube()函数,每次调用都调用的是同一个画正方形的代码,所以如果你连续调用两次会把第二个正方形覆盖第一个,所以你只能看到一个正方形。如果你把代码改成如下:
glPushMatrix();
DrawCube();// 画第一个正方形
glTranslatef(10,0,0);// 移动坐标,用于绘制第二个正方形
DrawCube();
glPopMatrix();
这样就可以显示两个正方形了。
傲世修罗王
2010-08-10 · TA获得超过1085个赞
知道小有建树答主
回答量:1034
采纳率:0%
帮助的人:740万
展开全部
上代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式