我在Opengl中使用Eclipse C++創建保齡球遊戲。創建保齡球遊戲。在X軸上修改球的形狀
我創建使用glutSolidCone()錐和使用glutSolidSphere()球
當球的座標是GLfloat ball[] = {/* X */ 0.0f, /* Y */-2.0f, /* Z */ -6.0f, /*sphere*/ 0.9f, 50.0, 50.0 };
和球的代碼是glTranslated(ball[0], ball[1], ball[2]);
glutSolidSphere(ball[3], ball[4], ball[5]);
它看起來像
但是當我改變球的X軸GLfloat ball[] = {/* X */ -5.0f, /* Y */ -2.0f, /* Z */ -6.0f, /*sphere*/ 0.9f, 50.0, 50.0 };
它看起來像
我對glutReshapeFunc()代碼如下: -
static void resize(int width, int height) {
const float ar = (float) width/(float) height;
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-ar, ar, -1.0, 1.0, 1.0, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
爲什麼當我改變它的X值碗的形狀被改變?球在中間時如何保持相同?
什麼問題? – Kevin
@Kevin我在問,爲什麼當我改變球的X值時,第二張圖像中碗的形狀被修改了。 – Umair
這就是所謂的視角,你可能有一個不同的視野超出你的預期。 – Kevin