我有一个Android 4.0应用程序,它使用GL_OES_EGL_image_external渲染视频作为OpenGL表面的方法。这很好。另外,我想在其上扩展/变形一些补丁。目前,我正在为那些区域顶部的某些四边形添加一些着色器来遮挡那些我想要弯曲的区域。我被困在如何获得基础颜色。视频四方形顶部的四边形上的着色器如何扭曲底层图像?可能吗?使用OpenGL ES 2.0可以扭曲底层图像吗?
4
A
回答
3
我在iOS上,但我的应用程序做了非常类似的事情。
我如何实现它取决于sample code from Apple(特别是看RippleModel.m)。它的工作原理是它将视频纹理视频放置在四边形上,但放置在高度细分的网格上,因此您可以获得大量具有大量纹理坐标的三角形。它以编程方式创建此网格的顶点 - 更重要的是,它还以编程方式创建纹理坐标 - 并将它们保存在数组中。
对于每一帧,它遍历所有的顶点并更新每个顶点的纹理坐标,根据用户触摸的位置以纹理模式“翘曲”它们,并根据周围顶点具有多少纹理偏移。因此,几何体完全不会改变,并且它们不会在着色器中执行扭曲,它们都是在纹理坐标中完成的;着色器然后只是在接收到的坐标上进行直纹理查找。所以很难说这种方法是否适合您的需求,但是如果您的经纱只发生在2D中,并且您可以弄清楚如何将经纱定义为纹理坐标调整,这可能会有所帮助。
相关问题
- 1. Android OpenGL ES扭曲图像
- 2. 使用OpenGL ES 2.0绘制2D图像
- 3. OpenGL ES 2.0 - 网格被Y和Z轴扭曲
- 4. 使用OpenGL ES 2.0可以推迟渲染/着色吗?
- 5. 我可以扭曲Flash中的位图图像吗?
- 6. OpenGL vs OpenGL ES 2.0 - OpenGL应用程序可以轻松移植吗?
- 7. 将OpenGL ES 2.0渲染为图像
- 8. OpenGL ES 2.0中的图像和蒙版
- 9. OpenGL ES 2.0 2D图像显示
- 10. OpenGL ES 2.0失去图像质量
- 11. OpenGL ES 2.0书籍,页码底部。 95:
- 12. Libgdx不使用Opengl ES 2.0
- 13. 在iPhone上使用OpenGL ES调用图像:可能吗?
- 14. OpenGL ES 2.0 - 绘图Parallels
- 15. OpenGL ES 2.0 Alpha
- 16. osmesa OpenGL ES 2.0
- 17. 是否可以使OpenGL ES图层透明?
- 18. 我可以为android 3.0编写一个opengl es 2.0吗?
- 19. OpenGL ES 2.0比Metal有更陡的学习曲线吗?
- 20. VTK图像扭曲?
- 21. 使用OpenGL ES 2.0调整图像大小
- 22. 使用高度图扭曲图像?
- 23. 是否可以使用OpenGL ES 2.0绘制多个对象
- 24. 我可以在OpenGL ES 2.0中使用哪些GLSL版本?
- 25. 从OpenGL ES 1.1过渡到OpenGL ES 2.0
- 26. 可以使用桌面(非ES)OpenGL编译此WebGL 2.0代码吗?
- 27. ARB_texture_multisample是否可用于OpenGL ES 2.0?
- 28. 检测OpenGl ES 2.0是否可用
- 29. 可以通过ModelView或Projection矩阵弯曲或扭曲OpenGL空间吗?
- 30. 的OpenGL ES 2.0 3D