【发布时间】:2011-12-04 23:22:40
【问题描述】:
我正在尝试翻译三角形带。我的程序获取人的手指触摸的位置并在那里创建一个框。我在应用翻译时遇到了麻烦,形状是在每次触摸时在同一个地方创建的,然后通过 Matrix.translateM 翻译到触摸位置。当我这样做的时候,我的一切都搞砸了!盒子从屏幕边缘到中心被拉得很薄,变得无限小。至少它正在注册触摸。也许它不起作用,因为 MotionEvent getX 和 y 并没有标准化?但我不明白这会如何扰乱 mvp 矩阵。
onDrawFrame 基本上是这样的:
对于每个形状 设置属性指针 翻译 MMatrix 乘以 MM,VM 存储在 mvp 乘以 MVP, Proj 绘制
我知道视图和项目矩阵可以正常工作,因为如果我禁用翻译,它可以正常工作。
正如预期的那样,它在每一帧上的翻译越来越多——我在形状的构造函数中完成了翻译,但为了简单起见,把它放在这里并测试它,同样奇怪的结果
【问题讨论】:
-
你有没有弄清楚是什么原因造成的?翻译时我的几何图形出现了奇怪的变形。
标签: android opengl-es matrix opengl-es-2.0 translate