2013-07-31 27 views
-1

應該如何將x,y,z,sizeX,sizeY,sizeZ值放到頂點以創建立方體?在OpenGL中創建立方體的方法

public static void cube(float x, float y, float z, float sx, float sy, float sz){  
glPushMatrix(); 
    { 
     glTranslatef(x, y, z); 

//Just one side of the cube is given due to too much unnecessary code. 
     glBegin(GL_QUADS); 
      glVertex3f(-1, -1, 1); 
      glVertex3f(1, -1, 1); 
      glVertex3f(1, 1, 1); 
      glVertex3f(-1, 1, 1); 
     glEnd(); 
    } 
    glPopMatrix(); 
} 

謝謝。

回答

0

無論你在你的代碼,你有例如glVertex3f(-1, -1, 1);以sx,sy,sz的相應值除以2來表示它們。 glVertex3f(-sx/2, -sy/2, sz/2);

對於位置,您可以在繪製立方體之前發出glTranslatef(x, y, z)。如果你堅持對頂點進行硬編碼,那麼你應該把上面的語句寫成glVertex3f(x - sx/2, y - sy/2, z + sz/2);