作者walker2009 (不害怕。不後悔)
看板AndroidDev
标题[问题] 请问该如何在 cube 六个面贴图
时间Wed Nov 9 21:49:44 2011
大家好, 最近开始学习写 android 程式
有人建议我先看看 API Demos 里面的小程式
我看到 API Demos > Graphics > OpenGL ES > GLSurfaceView 中的 demo
是有两个彩色的 cube 在画面上不停地旋转
我先将 cube 改成只有一个在旋转後, 打算在 cube 的六个面贴上不同的图片
查了一下 API, 有查到贴图是用
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureID);
glEnable(GL10.GL_TEXTURE_2D);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, mTexBuffer);
等指令
自己在写测试程式时, 可以把一张图片成功贴在一个 2D 平面上
可是在平面变成 3D 平面, 以及平面数量大於 1 时
就一直无法贴成功图片 (图片一直跑掉, 或是扭曲)
判断应该是 mTexBuffer 的 coordinates 设定没有设好
尝试了很久一直都没有成功
因此想请教有经验的大大, 该如何成功在 cube 的六个面贴上图片
或是想请教一下 gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, mTexBuffer);
中的 mTexBuffer 该怎麽去设定
感激不尽 Orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.87.64.222
1F:→ walker2009:抱歉刚忘了提, source code 可在以下路径找到 11/09 21:54
2F:→ walker2009:SDK资料夹 > samples > android-10 > apiDemos > src > 11/09 21:56
3F:→ walker2009:com > example > android > apis > graphics > 11/09 21:57
4F:→ walker2009: GLSurfaceViewActivity.java 11/09 21:57
5F:→ mamaya3:如果一个顶点对应到不只一个UV点 该顶点要复制让每个UV点 11/10 04:35
6F:→ mamaya3:都只对应一个顶点索引..我猜你的问题是出在顶点对到多个UV 11/10 04:36
7F:→ mamaya3:所以材质才会跑掉 11/10 04:37
8F:推 milochen:OpenGL 的东西,如果是第一次碰的话,还是得额外花时间.. 11/11 01:18
9F:推 milochen:找个资源补充一下基本的观念,才比较快弄懂OpenGL的code 11/11 01:19
10F:→ walker2009:感谢感谢...学问真的是没捷径@@ 还是好好研读 document 11/11 09:58