Java 如何让UVC功能(江东国的模块)在Android上与谷歌VR协同工作?
这个问题可能听起来很模糊,但请稍候,因为我将提供有关我所面临的情况的所有必要细节。请记住,我是一个初学者,Java和Android工作室工作流(我用C++编写桌面程序,我的大部分时间,只是最近需要java java的移动应用程序)。在过去的几个月里,我一直在努力编写一个应用程序,通过智能手机的USB C端口(它使用了一种非常便宜的USB-HDMI捕获芯片,Elgato Cam Link克隆)获取视频输入,并在VR中直接在用户面前投射视频,而不管用户的头部方向如何,不需要头部追踪 我试图通过合并两段已经可用的代码来编写此应用程序:Java 如何让UVC功能(江东国的模块)在Android上与谷歌VR协同工作?,java,android,opengl-es,google-vr,uvc,Java,Android,Opengl Es,Google Vr,Uvc,这个问题可能听起来很模糊,但请稍候,因为我将提供有关我所面临的情况的所有必要细节。请记住,我是一个初学者,Java和Android工作室工作流(我用C++编写桌面程序,我的大部分时间,只是最近需要java java的移动应用程序)。在过去的几个月里,我一直在努力编写一个应用程序,通过智能手机的USB C端口(它使用了一种非常便宜的USB-HDMI捕获芯片,Elgato Cam Link克隆)获取视频输入,并在VR中直接在用户面前投射视频,而不管用户的头部方向如何,不需要头部追踪 我试图通过合并
- 更容易实现,但效率较低的获取
使用预览UVC源的位图
CameravieInterface.captureStillImage(宽度、高度)代码> 用于每个渲染帧并加载它 在纹理(简单纹理_2D)中,使用普通2D纹理 片段着色器中的采样器。此方法是当前使用的方法 在我迄今为止工作过的代码中使用,我将在 这篇文章的结尾
- 更难实现,但最有效的方法是使用
GL_纹理_外部_OES。据我所知,这是一种特殊的
仅当摄影机的SurfaceTexture附着到
该纹理的数字GL控制柄,理论上这将由
电话:
SurfaceTexture.detachFromGLContext();SurfaceTexture.attachToGLContext(texGLHandle)代码> 此外,为了使其工作,我读到一个特殊的ExternalOES采样器必须与纹理一起使用。 在整个“HelloVrActivity.java”文件中,您可能会找到我尝试使用此方法完成的部分剩余内容。我所有的尝试都以失败告终
这是我最后一次尝试(),它实现了位图方法,我在我的华为ELE-L29(又名华为P30)上运行了它,但没有成功。我将非常感谢任何帮助,找出一种方法,使这项工作。另外,请原谅我的代码混乱。我提供的链接是一个包含我一直在做的整个项目的存档。Android上的Google VR对堆做了一些非传统的事情,我称之为buggy。我不得不做一些糟糕的变通来让事情顺利进行。类似于创建中间数据结构。我能给你的建议就是创建一个单独的项目,让你的所有代码在没有任何GVR代码的情况下工作,并使所有内容都成为一个全局变量,然后将其移动到一个最小的GVR项目中。。。