我对Android开发以及Java都很陌生,我希望创建一个与Google天空地图非常相似的应用活动。我想基本上有一个自定义的相机视图,我已经设置并工作,然后我想我想在我可以绘制2D图像文件的相机视图顶部放置一个透明的surfaceview。使用SENSOR_ORIENTATION我希望透明的surfaceView叠加层可以移动。假设我将能够将图像绘制到该视图并且仅更改传感器更改上的GLcamera视点,我假设我将要使用GLsurfaceview。
对于Android的GL不太了解我在问自己在Android OpenGL中埋葬之前是否这是正确的方法。在我注意到developer.android资源上,有两种类型的OpenGL用于Android ES 1和ES 2.对于这个有一个比另一个好吗?
埃里克
答案 0 :(得分:2)
你应该使用OpenGL ES 2 for android。 ES 1更像是一个仅限FF(固定功能)的GL版本,您无法访问着色器或其他您可能想要的更有趣和小众的功能。对于ES 2,它完全相反,没有固定的函数管道,而是所有东西都是顶点和片段着色器。这样做的好处是它更现代,并且您可以使用可编程管道。我相当认证一些(较新的)Android设备根本不支持ES 1。或者,如果他们这样做,则由ES 2模拟,这要慢得多。与台式电脑不同的是,你可以将自己的危险混合使用GL版本代码,而Android则不能。如果您选择ES 1,则不能使用ES 2,如果您选择ES 2,则无法选择ES 1.我建议您使用ES 2,这并不是非常难。如果你来自编写FF代码的背景,你会发现PP(可编程管道)的概念真的很奇怪和冗余。