PowerVR SGX GPU的OpenGL ES问题

我有一个OpenGL动态壁纸,可以在除PowerVR SGX系列以外的所有手机上正常工作。 这几乎包括所有三星手机和摩托罗拉Droid系列。 该壁纸不过是PowerVR GPU手机上的黑屏。 我一直试图解决这个问题,但一直没有运气。

不同的GPU之间的一个区别是纹理压缩。 我在这方面所做的一些事情是我已将纹理图像更改为256x256的正方形。 将它从8位更改为16位rgba,甚至尝试索引。

我列出了可用于PowerVR的所有扩展和Adreno可用扩展的列表。 看起来可用的扩展名有很多不同之处,但我不知道扩展名有哪些功能(虽然我可以猜到)。 以下是我使用的功能列表:

  • glLightfv
  • glMaterialfv
  • glDepthFunc
  • glEnableClientState
  • glViewport
  • glMatrixMode
  • glLoadIdentity
  • gluPerspective
  • glclearcolor
  • glclear
  • 的glTranslatef
  • glRotatef
  • glVertexPointer
  • glTexCoordPointer
  • glColor4f
  • glNormal3f
  • 调用glDrawArrays
  • glTexParamterx
  • 我正在使用Robert Green的GlWallPaperService,并试图在设备上绘制纹理三角形失败时尝试此解决方案,但仿真器正常工作。 为什么? 。 有谁知道为什么PowerVR芯片给我这么难,我能做些什么呢?


    删除EGL10.EGL_RED_SIZE,EGL10.EGL_GREEN_SIZE和EGL10.EGL_BLUE_SIZE但在离开EGL10.EGL_DEPTH_SIZE,EGL10.EGL_NONE在eglChooseConfig工作。 我假定PowerVR芯片以一种能够将其定义为问题的方式处理RGB。


    这可能不会帮助你,但我注意到:

    不同的GPU之间的一个区别是纹理压缩。 我在这方面所做的一些事情是我已将纹理图像更改为256x256的正方形。 将它从8位更改为16位rgba,甚至尝试索引。

    据我所知,目前没有硬件支持索引纹理。 另外,要使用纹理压缩,您需要定位设备特别支持的压缩纹理格式(通常需要在主机/开发平台上运行压缩器)。 SGX支持PVRTC和ETC,但是否启用这些取决于平台


    从我自己使用GPU的经验来看,它将提供GLES配置,一旦应用将不起作用(即不会创建GLES上下文)。 解决方法是查看GLSurfaceView代码,推出自己的代码并尝试每个提供的配置,无论它是否适用于创建上下文。

    链接地址: http://www.djcxy.com/p/33899.html

    上一篇: OpenGL ES problem with PowerVR SGX GPU

    下一篇: Opengl ES sliding texture animation