1.2 创建第一个程序
我们已经安装并配置了工具,现在来创建第一个OpenGL程序。这个程序非常简单:它要做的只是初始化OpenGL并不停地清空屏幕;要得到一个可以实际做点什么的OpenGL程序,这是我们需要的最少的内容。
Joe 问:为什么要不停地清空屏幕
如果已经在每一帧的屏幕上都绘制了内容,清空屏幕好像是浪费的,那为什么还要这样做呢?
回到一切都用软件渲染的时代,清空屏幕总是一种浪费;开发者总是要假定所有东西都已经绘制好了,并能覆盖前一帧的内容,而不必清空它,这样就能达到优化的目的;可以节省清空屏幕的处理时间。有时,这种优化会导致一些游戏中常见的著名的“镜子大厅”(Hall Of Mirrors)效应,如Doom:它导致的视觉效果就像站在镜子大厅中间,旧的内容一遍又一遍重复出现。
这种优化不再有效了;最新的GPU以不同的方式工作,他们使用特殊的渲染技术,如果屏幕是干净的,他们能工作得更快。通过让GPU清空屏幕,可以节省帧拷贝浪费的时间。因为GPU的这种工作方式,清空屏幕可以帮助避免很多问题,如闪烁或者有物品没有绘制;保留旧的内容容易看到不期望或者不理想的结果。
如果你想查看源代码,这本书的所有源代码和相关数据都可以从本书的主页上下载。
新建项目
接下来按照下面的步骤新建项目:
1.在Eclipse菜单中选择“ File→New→Android Application Project”,当对话框弹出时,输入如下信息。
应用程序名(Application Name):
输入“First OpenGL Project”。
包名(Package Name):
包名是一个项目独一无二的标识符;按照惯例,要输入一个Java样式的包名,因此,让我们输入“com.firstopenglproject.android”。
最低SDK版本(Minimum SDK):
选择“API 10: Android 2.3.3 (Gingerbread)”;这是完全支持OpenGL ES 2.0的最低版本号。
2.其余选项使用默认值,那个表格看起来应该与图1-2类似。
3.单击“Next”按钮,不要勾选“Create custom launcher icon”,并且确认勾选了“Create Activity”;你可以为这个项目选择一个不同的目录。
4.再单击“Next”按钮就到了创建Activity的界面;要保证“Blank Activity”被选中了,再单击“Next”按钮,新的“Blank Activity”配置界面就出现了;设置Activity名字为“FirstOpenGLProjectActivity”;你的界面看上去应该与图1-3相似。
5.单击“Finish”按钮,继续并构建这个项目。
当单击“Finish”按钮后,Eclipse会工作一会儿,然后新项目就创建好了。