[問題] 請問該如何在 cube 六個面貼圖

看板AndroidDev作者 (不害怕。不後悔)時間13年前 (2011/11/09 21:49), 編輯推噓2(208)
留言10則, 3人參與, 最新討論串1/1
大家好, 最近開始學習寫 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

11/09 21:54, , 1F
抱歉剛忘了提, source code 可在以下路徑找到
11/09 21:54, 1F

11/09 21:56, , 2F
SDK資料夾 > samples > android-10 > apiDemos > src >
11/09 21:56, 2F

11/09 21:57, , 3F
com > example > android > apis > graphics >
11/09 21:57, 3F

11/09 21:57, , 4F
GLSurfaceViewActivity.java
11/09 21:57, 4F

11/10 04:35, , 5F
如果一個頂點對應到不只一個UV點 該頂點要複製讓每個UV點
11/10 04:35, 5F

11/10 04:36, , 6F
都只對應一個頂點索引..我猜你的問題是出在頂點對到多個UV
11/10 04:36, 6F

11/10 04:37, , 7F
所以材質才會跑掉
11/10 04:37, 7F

11/11 01:18, , 8F
OpenGL 的東西,如果是第一次碰的話,還是得額外花時間..
11/11 01:18, 8F

11/11 01:19, , 9F
找個資源補充一下基本的觀念,才比較快弄懂OpenGL的code
11/11 01:19, 9F

11/11 09:58, , 10F
感謝感謝...學問真的是沒捷徑@@ 還是好好研讀 document
11/11 09:58, 10F
文章代碼(AID): #1EkeJxJ2 (AndroidDev)
文章代碼(AID): #1EkeJxJ2 (AndroidDev)