如何在android.view.TextureView中绘制opengl Cube

时间:2015-01-19 15:09:38

标签: android view opengl-es custom-view textureview

我在opengl android中有一个Textured Cube组件。哪个可以在触摸事件上旋转,我们可以将此组件用作单独视图。 但我正在尝试在滚动视图中使用多个多维数据集组件时遇到问题。

我知道andorid在scrollview中不支持不同的glsurface视图组件。

我听说过包含api level 14的TextureView,它能够保持开放的gl视图并且像andorid本机视图一样工作,但是我无法用TextuerView实现相同的opengl cube组件。

所以我的查询很少

  1. 是否可以在TextureView上绘制opengl cube组件?如果可能怎么样?
  2. opengl视图的2秒问题第一次加载需要时间(显示为黑屏1秒或2秒)。

    1. 我们可以使用带有android自定义视图类(没有opengl)的正交2d投影来实现立方体组件。

1 个答案:

答案 0 :(得分:1)

您可以将OpenGL ES与TextureView一起使用,就像使用SurfaceView一样。最好只有一个EGL上下文,并将每个TextureView视为不同的表面。这将避免出现多个上下文并在它们之间切换的开销。

拥有单个曲面并自己处理渲染和滚动会更有效,但这样做更有效。

Grafika有很多例子。最简单的是" TextureView GL activity",这看起来有些不愉快,但展示了基本概念。