OpenGL ES 2.0翻译为Android-似乎搞乱矩阵
问题描述:
我想翻译一个三角形带。我的程序获取人手指触摸的位置并在那里创建一个框。我在拼接时遇到了困难,在同一个地方的每次触摸都会创建这个形状,并通过Matrix.translateM转换为触摸位置。当我这样做时,我一切都变得棘手!盒子从屏幕边缘向中心拉伸,变得无限小。至少它正在注册触摸。也许它不工作,因为MotionEvent getX和y,而不正常?但我不明白这会如何影响mvp Matrix。OpenGL ES 2.0翻译为Android-似乎搞乱矩阵
基本上它是这样onDrawFrame:
对于每个形状 设置属性指针 翻译MMatrix 乘MM,VM店MVP 乘MVP,凸出 画
我知道的观点和PROJ矩阵工作,因为如果我禁用翻译它工作正常。
正如预期的那样,将其转换每一帧上越来越更多 - 我曾在外形的构造函数,但为简单起见做翻译把它放在这里,并测试它,同样怪异的结果
答
这是一个有点硬只有那小小的伪代码,但我会尝试; 首先确保你已经在你的modelMatrix上调用了Matrix.setIdentity(),第二,确保它不是你的相机有一个怪异的视角导致“无限延伸”。
你有没有想过这是什么原因造成的?翻译时我看到几何体上出现奇怪的变形。 – anakin78z