我有一個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