Opengl中glscalef()为什么有些变大有些不变 啊?

[复制链接]
查看11 | 回复4 | 2012-1-12 01:56:38 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2012-1-12 01:56:38 | 显示全部楼层
这个函数应该是先放大了,然后再画出来的。如果你画了再放大,那么对画的没影响,必须放大了再画。这个函数只有在调用后才对后边的绘图有影响。追问我所有的画图都是放在一个函数中的,不是插在画图代码中间的,放大也只能放大矩阵归一化之前的,之后的就不可以了……不知道这是怎么回事啊?
回复

使用道具 举报

千问 | 2012-1-12 01:56:38 | 显示全部楼层
最好能贴代码上来。
回复

使用道具 举报

千问 | 2012-1-12 01:56:38 | 显示全部楼层
先是这个if(key==\'k\')glScalef(2,2,2);然后是glBegin(GL_TRIANGLES);glColor3f(1.0f,0.0f,1.0f);………………glEnd();glLoadIdentity();//这里重置矩阵了,之后的就不会跟着缩放了……glTranslatef(0,-1.0,0);auxSolidBox(0.5,1,0.05);
回复

使用道具 举报

千问 | 2012-1-12 01:56:38 | 显示全部楼层
呵呵,你这里都矩阵重置了,他的缩放矩阵当然就不好用了。你把glscalef放在矩阵单位化(glLoadIdentity)后面试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行