2012-02-17 29 views
1

我对Android开发以及Java相当陌生,我期待创建一个类似于Google天空地图的应用程序活动。我想基本上有一个自定义的摄像头视图,我已经设置并有工作,然后我想我想把一个透明的表面视图,我可以绘制2D图像文件的相机视图的顶部。使用SENSOR_ORIENTATION我希望透明的surfaceView覆盖层四处移动。我假设我将要使用GLsurfaceview,假设我能够将图像绘制到该视图,并且只更改传感器更改上的GLcamera视图点。我应该使用OpenGL ES 1或2 for Android

对于Android的GL不太了解我在问我在Android OpenGL中自我埋没之前,这是否是正确的方法。在这一点上,我注意到在developer.android资源中,有两种类型的OpenGL for android ES 1和ES 2.比这更好一个吗?

Erik

+0

有没有这样的事情,Android ES *什么*。有OpenGL ES 1.1和OpenGL ES 2.0(显然3.0快到了)。 Android添加的只是OpenGL ES扩展。 – 2012-02-17 00:26:56

回答

2

您应该使用Android的OpenGL ES 2。 ES 1更多的是一个FF(固定功能)版本的GL,你不能访问着色器或其他更有趣和利基的功能,而这些功能是你最想要的。与ES 2完全相反,没有固定的功能流水线,而是一切都是顶点和片段着色器。这样做的好处是它更现代化,并且您有一个可编程的管道可供使用。我相当certian一些(较新的)Android设备根本不支持ES 1。或者如果他们这样做是由ES 2模拟,这是慢得多。不像桌面电脑,你可以在自己的危险中混合使用GL版本代码,而使用android则不行。如果您选择ES 1,则无法使用ES 2,如果您选择ES 2,则无法选择ES 1.我建议您使用ES 2,但这不是非常困难。如果你来自写FF代码的背景,你会发现PP(可编程流水线)的概念非常奇怪和冗余。

+0

来自actionScript 3.0的Im所以是的,我发现Java有点od,但我已经习惯了它一点点..谢谢,虽然,你的答案是非常有用的.. – erik 2012-02-17 00:51:03