作者laugher (.。oO)
看板AndroidDev
標題[問題] OpenGL 2.0 translateM 導致物體變形
時間Tue Jun 25 21:34:17 2013
我想用OpenGL畫3D, 也的確成功了
但現在碰到一個問題
假如我用translateM進行位移, 物體就會產生變形
這變形可以理解, 因為視角跟攝影機位置都不變的話
物體位移的確會變形
但我想弄成像2D平移一樣, 3D物件平移的外形也完整不變
請問這樣有辦法辦到嗎?
我的問題跟這個一樣
http://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1273726617.A.3B4.html
謝謝
補充視角設定:
int_width跟int_height為螢幕寬高
GLES20.glViewport(0, 0, int_width, int_height);
float flo_ratio = (float) int_width / int_height;
Matrix.frustumM(proj_matrix, 0, -flo_ratio, flo_ratio, -1, 1, 1, 100);
Matrix.setLookAtM(view_matrix, 0, 0, 0, 5, 0, 0, 0, 0f, 1f, 0f);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.72.155
1F:推 stu85010:你有rotate或scale嗎? 06/26 14:07
2F:→ laugher:有scale, 但沒rotate 06/26 14:41
3F:→ laugher:不過就算沒scale, 也就是只有位移, 形狀也是會變 06/26 14:44
※ 編輯: laugher 來自: 140.116.72.155 (06/26 14:50)
4F:→ laugher:自己找到方法了, 更改視角是沒用的, 因為這是OpenGL本身的 06/27 02:51
5F:→ laugher:特性, 所以要更改的是畫布的位置, 也就是frustumM 06/27 02:52
6F:→ laugher:更改frustumM的邊界座標就行了 06/27 02:52