openGL绘制立方体时,如何在屏幕上同时观察到立方体的三个面

看了一些openGL的教程,其中关于立方体构造方面的内容,很少讲到如何同时显示立方体的三个面。目前的效果是:我期望的效果是:我认为关键性的代码如下:publicvoido... 看了一些openGL的教程,其中关于立方体构造方面的内容,很少讲到如何同时显示立方体的三个面。目前的效果是:

我期望的效果是:

我认为关键性的代码如下:
public void onDrawFrame(GL10 gl) {
if (mCallback != null) {
mCallback.animate();
}
gl.glClearColor(0.5f,0.5f,0.5f,1);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glTranslatef(0f, 0f, -3.0f);
gl.glScalef(0.5f, 0.5f, 0.5f);

gl.glColor4f(0.7f, 0.7f, 0.7f, 1.0f);
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
gl.glEnable(GL10.GL_CULL_FACE);
gl.glShadeModel(GL10.GL_SMOOTH);
gl.glEnable(GL10.GL_DEPTH_TEST);

mWorld.draw(gl);
}
我试着修改了gl.glTranslatef的参数,改成gl.glTranslatef(0.5f, -0.3f, -3.0f),发现效果并不太好。还望大家指点迷津,谢谢
展开
 我来答
archmageee4
2015-07-20 · TA获得超过1516个赞
知道大有可为答主
回答量:1581
采纳率:78%
帮助的人:927万
展开全部
你别只用Translate啊 ,关键是要用Rotate把这个魔方 横向旋转45度,纵向也45度
我记得差不多是
glRotatef(45,0,1,0);
glRotatef(45,1,0,0);
追问
我试着这样修改过,由于我是直接在旋转立方体的代码基础上修改的,我发现当我把旋转立方体的旋转部分代码(位于OnDrawFrame大方法下)gl.glRotatef(angleCube, 1.0f, 1.0f, 1.0f);改成你给的代码后,这个立方体并没有旋转,而是依旧只显示了一个面?不知这是怎么回事?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式