【问题标题】:OpenGL ES 2.0 Translation for Android- seems to mess up matrices适用于 Android 的 OpenGL ES 2.0 翻译 - 似乎弄乱了矩阵
【发布时间】: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


【解决方案1】:

只有那一小段伪代码有点难,但无论如何我都会尝试; 首先确保你在你的modelMatrix上调用了Matrix.setIdentity(),其次,确保不是你的相机有一个奇怪的视角导致“无限拉伸”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    相关资源
    最近更新 更多