2017-04-05 113 views
0

我试图在openGL中创建和转换一个多边形,我为转换创建了一个函数,但是这会创建一个从x0到v_size的白线,我不明白为什么?翻译功能有什么问题?

这是我的多边形翻译功能

public void translate1(GL2 gl, double x0, double x1, double y0, double y1){ 
    double step = 0.2; 
    for(double i = 0; i < v_size; i += step){ 
     gl.glBegin(GL2.GL_POLYGON); 

      gl.glVertex2d(x0 + i, y0); 
      gl.glVertex2d(x0 + i, y1); 
      gl.glVertex2d(x1 + i, y1); 
      gl.glVertex2d(x1 + i, y0); 

     gl.glEnd(); 
    } 
} 

初始X0 = 0,X1 = 10,Y0 = 20,Y1 = 30

谢谢! 祝您有美好的一天!

回答

1

这样做的原因是,你绘制正方形每隔一个单位远离彼此。由于在此期间没有任何东西被清除,所以重叠的四边形形成一条线。

这是相当不清楚你想达到什么。翻译通常不会绘制多个四边形。如果您正在尝试进行动画制作,那么您必须将动作分成多个帧,并在每个帧中绘制一个正方形。