OpenGL中glScalef()函数的缩放问题.

feng0hua0 2009-04-13 10:09:55
实现两个点之间画一条固定长度的线,所以先连线两点,然后进行缩放,代码是这样的:

glScalef(0.5,0.5,1);//缩小0.5
glBegin(GL_LINES);
glColor3f(0.0f,0.0f,0.0f);

glVertex3f(m_x1,m_y1,0.0 );
glVertex3f(m_x2,m_y2,0.0 );
glEnd();
glScalef(2,2,1);//缩放完后把坐标系还原

但是实际效果变成了,把两个点的X,Y坐标分别缩小0.5,然后连线了....画成长度减小一半的平行线了...
...全文
7135 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
EricYao2013 2009-04-22
  • 打赏
  • 举报
回复
glutPostRedisplay();
chiwa737 2009-04-15
  • 打赏
  • 举报
回复
pop
push肯定行啊,
别的地方有问题。
cindy723 2009-04-14
  • 打赏
  • 举报
回复
试了一下,没有出现平行线啊,是不是你投影设置有问题
feng0hua0 2009-04-13
  • 打赏
  • 举报
回复
.
feng0hua0 2009-04-13
  • 打赏
  • 举报
回复
用PUSH和POP还是不行,没有效果,和之前的一样...
cjren 2009-04-13
  • 打赏
  • 举报
回复
按照你的代码来看,
1. 画了两点之间的线,
2. 将这个线(包括两个端点)做了scale。
就这样。
try:
glPushMatrix();
// do the scale here

// do the draw here

glPopMatrix();
feng0hua0 2009-04-13
  • 打赏
  • 举报
回复
.

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧