我正在为新的Google Cast API开发一个Android应用程序,用于远程显示 https://developers.google.com/cast/docs/remote
我使用libgdx在设备android屏幕上渲染我的对象。 这工作得很好。
现在我想为我的应用添加功能:将一些其他对象渲染到另一个可以传递到远程屏幕布局的视图。
我在远程显示示例中尝试过,首先我创建了一个AndroidGraphic并将其传递给setRender函数,因为AndroidGraphic正在实现Renderer接口:
setContentView(R.layout.first_screen_layout);
firstScreenSurfaceView = (GLSurfaceView) findViewById(R.id.surface_view);
// Create an OpenGL ES 2.0 context.
firstScreenSurfaceView.setEGLContextClientVersion(2);
// Allow UI elements above this surface; used for text overlay
firstScreenSurfaceView.setZOrderMediaOverlay(true);
firstScreenSurfaceView.setRenderer((AndroidGraphics) mGraphics);
如果我单独运行,这可以正常工作 - 对象由libgdx呈现到远程屏幕。但是如果我开始通过libgdx渲染我的Activity并且我也在服务中启动渲染器,如上所述,一个屏幕在开始时冻结,在我的情况下远程屏幕中的另一个屏幕(通过Chromecast连接的电视)正在渲染视图。
我现在的问题是:是否可以使用libgx android后端同时渲染两个视图?或者他们使用的共享资源是不可能的?
因为如果我通过libgdx在设备渲染上运行我的活动并同时运行CubeRender,它们同时运行良好。所以我认为我的问题是libgdx和共享资源。