作者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