0

我正在尝试创建一个包含显示 9 个平面的 GLView 的 SurfaceView。我试图让飞机在原点周围以菱形定向。本质上,它将使顶层以 120 度角全部指向原点,以 120 度的圆形分隔。中间层也将分开 120 度,但垂直于 x 轴并平行于 y。底层将与顶层相反。

到目前为止,我已经尝试过循环(没有很好地结束,飞机分散在整个创作中)并逐个飞机进行,以确保正确设置偏航和俯仰。两者都没有工作。

如果您有任何想法,请告诉我或指出一个像样的教程的方向。

谢谢~Aedon

这是我的逐行代码片段:

偏航和俯仰:120度

w & h:相应的宽度(2)和高度(3)

间距:0.5f

// Top Layer
mGL.glRotatef(dyaw, 0, 1f, 0);
mGL.glRotatef(dpitch, 0, 0, 1f);
mGL.glTranslatef(0, h + spacing, 0);
mPanels[0].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[1].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[2].drawColorful(mGL);
// Middle Layer
mGL.glRotatef(dyaw, 0, 1f, 0);
mGL.glRotatef(-dpitch, 0, 0, 1f);
mGL.glTranslatef(0, -(h + spacing), 0);
mPanels[3].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[4].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[5].drawColorful(mGL);
// Bottom Layer
mGL.glRotatef(dyaw, 0, 1f, 0);
mGL.glRotatef(-dpitch, 0, 0, 1f);
mGL.glTranslatef(0, -(h + spacing), 0);
mPanels[6].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[7].drawColorful(mGL);
mGL.glRotatef(dyaw, 0, 1f, 0);
mPanels[8].drawColorful(mGL);
4

1 回答 1

0

没关系,从 INsanity找到了更好的教程。如果有人对 android 有任何关于 OpenGL 的问题,请参考这些人的教程,他们太棒了。

~伊顿

于 2011-01-19T18:28:03.190 回答