android - 使用 OpenGL ES 的 SurfaceView

标签 android opengl-es

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

虽然在过去 24 小时内采用了几种不同的方法并查看了代码,但只希望能从社区中得到一两个快速响应。不寻找解决方案,我会进行研究。

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

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

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

为什么1.0中有几个元素看起来比2.0容易;版本之间的易用性应该有所提高。

最佳答案

是的。您将需要使用正射投影并调整缩放范围。参见 this链接在这里。要平移,您可以简单地使用 glTranslatef。

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

关于android - 使用 OpenGL ES 的 SurfaceView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16488055/

相关文章:

java - 空对象引用上的 'java.lang.String android.os.Bundle.getString(java.lang.String)'

java - 在 Android 上使用 opengles 播放 YUV 视频后 Activity 困惑

android - Android OpenGLes LoadTextures 内存不足异常

java - 在蓝牙中仅检测到一个设备

android - NestedSCrollView 在 CoordinatorLayout 中没有完全滚动

java - 读取给定时间后收到的短信

c++ - Qt Android 上缺少 QSGContext

android - 是否值得添加排行榜?

javascript - GLSL 中阴影光线的平滑阴影无法正常工作

opengl - 如果我正在尝试学习 OpenGL ES 2.x,是否适合 OpenGL 3.0 书籍?