自上一篇博客快有两个星期了,间隔有点长了,有时候想写点儿东西,但是总觉得积累的又不够,然后又想再积累一点再写吧,然后就这么拖呀拖呀,时间久了不知不觉就有点狗熊掰棒子的感觉,想了想,以后给自己定下一个规矩,向伞哥同学学习,每个礼拜写一篇,当作周记,技术文章另算。嗯,就这么定了,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着色器讲解的,到时候看完了再说吧,哈哈。