2016-03-02 85 views
0

我想知道如何将整个Android UI的投影仪显示弯曲(执行几何校正)到曲面屏幕上。弯曲Android UI以获得曲面屏幕

OpenGL是Android平台上的核心库,我知道OpenGL ES允许将每个屏幕帧作为纹理映射到用户定义的网格网格。

我如何利用这个转换整个UI(跨所有应用&主题),如下图所示?

我也研究了可穿戴API,但似乎仅限于单个应用程序,并且不会执行翘曲操作。

如果我不能扭曲整个用户界面,那么我想要扭曲并显示来自Android TV HDMI-In的每一帧。 SDK似乎没有利用Open GL。我可以重写它并进行转换吗?

Warp screen

回答

0

谷歌纸板做这样的事情来校正镜头失真。谷歌尚未正式发布该源代码,但他们根据宽松的开放源代码许可证发布了该二进制文件,因此人们冒昧进行反编译。

发生大部分魔术的课程名为DistortionRenderer。基本上,场景被渲染成纹理缓冲区,然后用于纹理DistortionMesh。这听起来像是同样的技术会适合你,但你必须想出自己的方式来生成与投影仪屏幕相对应的失真网格。

+0

我错过了,你想为所有的应用程序做到这一点,而不仅仅是你自己的。 –

+0

感谢提示凯文。如果我无法扭曲整个用户界面,那么至少是我的Zidoo X9媒体播放器附带的HDMI直通/捕捉应用程序。源代码是开放的,我认为可以在他们的[disHDMI()类]上完成(https://github.com/zidootech/zidoorecorder/blob/master/src/com/zidoo/recorder/tool/HdmiTool.java #L4)。 DistortionRenderer可能效率低下(不知道它是否会迫使我渲染左+右显示)。 –

+0

您的提示让我找到[BitmapMesh [(https://android.googlesource.com/platform/development/+/eclair-sholes-release/samples/ApiDemos/src/com/example/android/apis/graphics/BitmapMesh .java),它看起来像有它的工作方法。我想知道我是否可以利用HDMI In工具。 希望我能找到一个Android开发人员为我工作这个项目。在[自由职业者和其他论坛]上找不到合适的技能(https://www.freelancer.com/projects/Software-Architecture/Android-Warping-Custom-Geometric/#/details) 我的日常工作是解决方案架构师。阅读/理解但无法编码 –