glLoadIdentity的问题 为了使两次调用glTranslatef效果不叠加,在第二次glTranslatef之前我使用了glLoadIdentity,但是为什么第二次glTranslatef后画出的东西不见了?如果循环调用 glPushMatrix()和glPopMatrix()可以解决这个问题,但是我想知道原因 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码如下: glPushMatrix(); glColor3f(1,1,1); glTranslatef (0,0,1.0f); auxSolidSphere(0.02f);//这个可以画出来 glLoadIdentity(); glTranslatef (0,0,1.1f); TextOutPut(0,0,"中国");//这个我找不到了 可能是,如果没有没有压栈的话,可能会导致glLoadIdentity对以前的影响!压栈的话,只对当前的有影响,对以前的没有影响! to fandh :你可以说的具体些吗?或者在代码的基础上改一下 glLoadIdentity()函数的作用是对这个函数以下的起作用吗? 我说说我的想法吧(当然,我的水平也很菜,高手别见笑啊)glLoadIdentity()就是把当前矩阵变成单位矩阵。我感觉你之所以看不见第二个“中国”。我感觉有两种原因。第一种我不太确定,我是拿c写opengl的!所以你用的TextOutPut我表示我没见过啊……(c里面的glut库里面auxSolidSphere这个函数也没有!)但是好像在opengl里面直接写字直接调用这种函数就可以了吗?这个我就不知道了!我觉得有一点点可能是因为你直接调用TextOutPut所以他显示不出来。我觉得你可以再画个其他什么图形试试看。第二种我觉得可能是你定义的视景体的问题。恩……我忘了是不是叫这个了!就是用glOrtho或者glPerspective那些修改的投影的东西。你调用glTranslatef (0,0,1.0f);这样相当于是往电脑屏幕外面移动。很有可能就移出视景体外面了!那样当然就看不到了!我再补充点没用的,你连续调用glTranslatef (0,0,1.0f);和glTranslatef (0,0,1.1f);的效果。就相当于glTranslatef (0,0,2.1f);当然,两次调用中间别画其他东西了! LZ 知道是什么原因了吗? 我也是遇到这里有点迷惑了。刚开始学OpenGL. 还请指点。 求救RemoteData Control控件的问题 在windows API 中载入GIF 高分求解 关于注册表操作问题 请问怎么实现双语言的选择. 内存释放的问题? 急问m_pRecordset->Open 一个小问题??? 急!!在98下对access数据库进行ado数据集Open时出错是怎么回事? 一个问题/ 高分,如何使加速键不起作用? Socket关闭和接收和连接事件的问题 如何动态修改Ribbon风格窗口的标题
glPushMatrix();
glColor3f(1,1,1);
glTranslatef (0,0,1.0f);
auxSolidSphere(0.02f);//这个可以画出来 glLoadIdentity();
glTranslatef (0,0,1.1f);
TextOutPut(0,0,"中国");//这个我找不到了
压栈的话,只对当前的有影响,对以前的没有影响!
我感觉你之所以看不见第二个“中国”。
我感觉有两种原因。
第一种我不太确定,我是拿c写opengl的!所以你用的TextOutPut我表示我没见过啊……(c里面的glut库里面auxSolidSphere这个函数也没有!)但是好像在opengl里面直接写字直接调用这种函数就可以了吗?这个我就不知道了!我觉得有一点点可能是因为你直接调用TextOutPut所以他显示不出来。我觉得你可以再画个其他什么图形试试看。
第二种我觉得可能是你定义的视景体的问题。恩……我忘了是不是叫这个了!就是用glOrtho或者glPerspective那些修改的投影的东西。你调用glTranslatef (0,0,1.0f);这样相当于是往电脑屏幕外面移动。很有可能就移出视景体外面了!那样当然就看不到了!我再补充点没用的,你连续调用glTranslatef (0,0,1.0f);和glTranslatef (0,0,1.1f);的效果。就相当于glTranslatef (0,0,2.1f);当然,两次调用中间别画其他东西了!