2013年1月17日

自上一篇博客快有两个星期了,间隔有点长了,有时候想写点儿东西,但是总觉得积累的又不够,然后又想再积累一点再写吧,然后就这么拖呀拖呀,时间久了不知不觉就有点狗熊掰棒子的感觉,想了想,以后给自己定下一个规矩,向伞哥同学学习,每个礼拜写一篇,当作周记,技术文章另算。嗯,就这么定了,Y(^ _ ^)Y。

这些天都在琢磨下一个 app 到底如何做,其中主要还是一些技术学习和摸索。另外也包括后面的版本管理和推广问题。

此次我不准备用 cocos2d 相关的游戏引擎,主要是觉得此次这个 app 主要涉及画图,和游戏开发还是有很大区别的,具体关注的点不一样。另外也想从零学习一下 OpenGL ES,因为觉得想用 Box2d 做点好玩的东西,基本画图还是避免不了的,索性还是自己动手吧,就算是重新造轮子啦,呵呵。其实也不算了,如果做的好,说不定可以用 OpenGL ES 封装出一套专门在 iOS 上开发图形的类库,以供娱乐呀。当然了也可以为以后在 iOS 上开发点其它 app 积累一些工具嘛,呵呵。

关于 OpenGL ES 2 的学习资料,只找到了一些相对比较老的英文教程,而且主要都是 3D 方面的,而且都是一些非常入门的内容。此次我只想用 OpenGL ES 2 渲染 2d 图形,而且想学习一下可编程流水线进行图形渲染的技术,找来找去只看到,一本中文翻译的《OpenGL ES 2.0 编程指南》算是比较新的了,其中主要以 OpenGL ES 的可编程渲染管道为主线,以 shader 文件的编写为基础,依据不同的渲染阶段分别进行了讲解,由于其译者的水平有限,前半部分看的还比较清晰,后边就越来越乱了,感觉可能还是要回头看下英文版吧。

整体看下来,基本对最新标准的 OpenGL 渲染管线有了还算清晰的整体认识,也对顶点着色器和段着色器的编写有了基本的认识。老实说,图形学的坑还是很深的,简单画几条线还好,要想真正玩转不下点功夫和时间是不行的,而且对数学的要求又蛮高的,所以还是要做好“吃苦耐劳”的思想准备啊,:D。另外,在图形渲染这块,还有一点需要考虑,就是如何在 OpenGL ES 中做并发,WWDC 大概讲了一下关于这方面的问题,具体怎么做我想还是要仔细考虑一下。

关于 Box2d 方面,看了一下 Chris 开发的 RUBE 编辑器,觉得做的还是很牛 b 的,想以后用 Box2d 做点东西的同学可以了解一下。工具可以生成 cpp 文件和 json 格式的文件,既可以在 web 上用,又可以在本地开发使用。功能还是蛮强大的,还可以使用脚本编辑,不过感觉工具的快捷键还是蛮多的,一看就是 Linux 流派的人,呵呵。另外八卦一下,他人还是不错的,会讲日语,中文也能看懂一点点,呵呵,所以英文不好的同学也不用担心,有问题尽管问他好了,反正他中文也不好,哈哈。

剩下数据库方面,想想就用原生的 Core Data 吧,耦合低一点,想换以后也可以再折腾嘛。

其实,重点还是图形的渲染和 Box2d 方面。关于 OpenGL 我还买了两本书,一本称为蓝宝书的《OpenGL 超级宝典(第五版)》,还有一本是《交互式计算机图形学》。蓝宝书大概翻了一遍,作为入门学习感觉不怎么样,作者自己封装了一套库,隐藏了很多 OpenGL 原生的 API,虽然作者的好意是想避开一些“无用”的细节,但同时带来的负面影响也让初学者感到混乱。当然了,你可以去查看他封装的源代码,但这部分代码书中并没有讲解,需要自己去理解。第二本书还没怎么看,书也很新,也是基于 OpenGL 着色器讲解的,到时候看完了再说吧,哈哈。

Leave a Reply

Your email address will not be published. Required fields are marked *