1

OpenGL ES 2.0 是在一个项目中实现的,我一直在使用几个着色器组件来定义从位图修改后纹理的外观。对于我的项目,SurfaceView 将永远只有一个图像。

在过去的 24 小时内做了几种不同的方法并查看代码,只是希望社区能快速做出一两次回应。不寻找解决方案,我会做那个研究。

听起来好像因为我们正在使用着色器,为了根据触摸事件在纹理中进行缩放和移动,我将不得不使用矩阵实用程序和 OpenGL 平移或移动相机来获得与当前在 ImageView 中所做的事情。这是合适的方法吗?也许甚至修改着色器代码,以便我有一些额外的输入变量?

我不相信我可以在 Android 端使用任何能够获得相同效果的东西,例如修改 SurfaceView 的画布或以其他方式改变 UI 的尺寸以达到相同的效果?

谢谢。同样,缩放和四处移动的解决方案不是必需的,只是试图掌握适当地混合 OpenGL 和 Android 以完成任务。

为什么看起来 1.0 中的几个元素比 2.0 容易;易用性应该在版本之间得到改善。

4

1 回答 1

1

是的。您将需要使用正射投影并调整范围以进行缩放。请在此处查看链接。要平移,您可以简单地使用 glTranslatef。

如果您想完全在像素着色器中执行此操作,您可以使用带有 glScalef 和 glTranslatef 的纹理矩阵堆栈。

于 2013-05-10T17:58:58.210 回答