我在使用Opengl绘制GL_LINE_STRIP时,出现了比较难以理解的诡异事件,觉得难以捉摸,无从下手解决。事情是这样的:我创建了一个显示列表,该列表的操作是以GL_LINE_STRIP的绘制模式绘制顶点数有1000多个的折线,就像地图上的等高线样的。然后使用glScale对该显示列表调用,发现随着图形不断放大,已经分辨不出顶点在哪,因为这些线条的走向只有竖直和水平方向,还有45度角方向的,有点像电路图,不是我原来建模的折现形状,好像Opengl自动做了优化处理,难道是便于快速显示?可这也不是我要的效果啊?是不是哪里的设置问题?实在是诡异,望高手不吝赐教。这是我绘制结果的示意图http://hi.csdn.net/space-1605543-do-album-picid-569119.html

解决方案 »

  1.   

    Glscale只是对点的坐标值产生缩放,如果你的原点没有在中心点,坐标点缩放后组成的图形会发生变形的
      

  2.   

    地图中的等高线诸位肯定见过吧,就是一圈圈的封闭曲线,它实际上是上千个点连接而成的。如果使用glScale放大显示到细节的时候,理应看到折现段和拐点对吧,可是却是http://hi.csdn.net/space-1605543-do-album-picid-569119.html的结果。3楼说的图形变形情况不会出现,因为各定点的相对关系没有改变,所以形状不会改变。
      

  3.   

    你说的是这个吧http://blog.csdn.net/zhangci226/archive/2009/04/11/4065785.aspx不放大显示是什么样的?
      

  4.   

    不是你说的那种情况。这是我的程序显示的截图http://hi.csdn.net/space-1605543-do-album-picid-569598.html
    整个多边形好像被优化处理了,看不出轮廓和实际的顶点,斜线都被台阶和45度斜线代替。要说明的是,我用GDI绘制同样的顶点时不是这样的,就是把一个个顶点依次连起来的