2011-12-04 65 views
2

我想翻譯一個三角形帶。我的程序獲取人手指觸摸的位置並在那裏創建一個框。我在拼接時遇到了困難,在同一個地方的每次觸摸都會創建這個形狀,並通過Matrix.translateM轉換爲觸摸位置。當我這樣做時,我一切都變得棘手!盒子從屏幕邊緣向中心拉伸,變得無限小。至少它正在註冊觸摸。也許它不工作,因爲MotionEvent getX和y,而不正常?但我不明白這會如何影響mvp Matrix。OpenGL ES 2.0翻譯爲Android-似乎搞亂矩陣

基本上它是這樣onDrawFrame:

對於每個形狀 設置屬性指針 翻譯MMatrix 乘MM,VM店MVP 乘MVP,凸出 畫

我知道的觀點和PROJ矩陣工作,因爲如果我禁用翻譯它工作正常。

正如預期的那樣,將其轉換每一幀上越來越更多 - 我曾在外形的構造函數,但爲簡單起見做翻譯把它放在這裏,並測試它,同樣怪異的結果

+0

你有沒有想過這是什麼原因造成的?翻譯時我看到幾何體上出現奇怪的變形。 – anakin78z

回答

0

這是一個有點硬只有那小小的僞代碼,但我會嘗試; 首先確保你已經在你的modelMatrix上調用了Matrix.setIdentity(),第二,確保它不是你的相機有一個怪異的視角導致「無限延伸」。