怎么用OpenGL画两个立方体我用的是visual studio,我先画了一个立方体,然后想用translatef在别的地方使用相同的坐标画一个和前面一样的立方体,但是每次运行都只显示一个立方体,这是怎么回事,我

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 16:54:56
怎么用OpenGL画两个立方体我用的是visual studio,我先画了一个立方体,然后想用translatef在别的地方使用相同的坐标画一个和前面一样的立方体,但是每次运行都只显示一个立方体,这是怎么回事,我
xnQ_KLKhF4JP*6(N)"Rc0s~R6. Y6*oC}L[? ,x:=b=t ݾWg im N  1 P47'P0[%RM,RǙԋ91 3b}i r#U;=Jx"g1Ql"d:k0Gl ]%0. gTiIսa$ E~%ϬG^4+^ĵ<Rh)˱9bkgcT](Yi&bؗp9箺'8i]]=J ڜ-P.ܷ'w6wս'Fޑ-(IܜYcV ߝfZovWqlkFD

怎么用OpenGL画两个立方体我用的是visual studio,我先画了一个立方体,然后想用translatef在别的地方使用相同的坐标画一个和前面一样的立方体,但是每次运行都只显示一个立方体,这是怎么回事,我
怎么用OpenGL画两个立方体
我用的是visual studio,我先画了一个立方体,然后想用translatef在别的地方使用相同的坐标画一个和前面一样的立方体,但是每次运行都只显示一个立方体,这是怎么回事,我怎么才能用相同的立方体坐标在两个不同的地方画出立方体呢

怎么用OpenGL画两个立方体我用的是visual studio,我先画了一个立方体,然后想用translatef在别的地方使用相同的坐标画一个和前面一样的立方体,但是每次运行都只显示一个立方体,这是怎么回事,我
使用压栈和退栈,glPushMatrix压栈,可以存储当前矩阵,glPopMatrix可以弹出上次存储的矩阵,比如你画正方形的代码写成一个DrawCube()函数,每次调用都调用的是同一个画正方形的代码,所以如果你连续调用两次会把第二个正方形覆盖第一个,所以你只能看到一个正方形.如果你把代码改成如下:
glPushMatrix();
DrawCube();// 画第一个正方形
glTranslatef(10,0,0);// 移动坐标,用于绘制第二个正方形
DrawCube();
glPopMatrix();
这样就可以显示两个正方形了.