Link: https://informationalmind.appspot.com/2012/07/10/AboutSomethingRecently.html


好久没更新了,主要是因为最近做的事情比较杂,而且没有一个完成的,所以一直没有写。而且到现在为止,依然是各种未完成……

最近都干啥了呢?应付各种考试,看书,读KlayGE的一部分代码,“调研”某些基于GPU的技术,参加了个某某企业举办的程序设计比赛(刚初赛结束),写了个数独游戏的逻辑(这个算是写完了),开始搭OpenGL的架子为以后的捣鼓做准备………………

我流水帐一下吧。

考试这个没什么可说的,各种恶心,各种应付。

看书,刚开始看Real-Time Rendering, 3rd,发现有些不对头,虽然之前看过图形学的书和教程了,但感觉中间还是有一点缺口,所以看了几章就先去再一次去看图形学的基础书籍Fundamentals of Computer Graphics, 3rd了……现在再看这本相对基础的书看起来就很快了,不过,又来了其他一堆破事儿,这个又暂停了……坑啊……

读KlayGE的代码,很大程度上是想了解一下其渲染管线相关的代码结构怎么规划的,并自己模仿着简单山寨下,最初是想做个WebGL版的小渲染器,结果又是开了个头又因为一堆破事儿停下来了……现在这个WebGL的东西只是刚刚能用一些渲染器里面写的类硬编码画了个茶壶而已。只写了个最基本的Shader,没有FrameBuffer相关的各种东西,连渲染管线的各种设置都没有。不知道什么时候才能继续这个工程。

所谓的“调研”,实验室的一个做3D GIS的项目,地形LOD这块想做的好一些,所以就分了任务给几个人,一个看基于CPU的LOD,我去看看GPU上有什么可用的通用或者特定加速方法。GPU上的通用加速方法么,当然是GPGPU工具啦,什么OpenCL,CUDA,Direct Compute,C++ AMP。我大概看了下AMP这个东西,这个感觉好方便,直接用cpp写GPU上的运算代码。特定的加速方法么,最容易想到的当然是Tessellation了,可以用这个做LOD。当然,这些只是看了看……

某企业的程序设计比赛,咳咳……和同学三人一组,初赛题目4选1,我们也就那个要求在XP下用VC6的纯C的题目还会做了……于是乎先用C#两天搞了个原型,和队友十几天里抽空用CPP写完了实现,然后就开始蛋疼的向C代码迁移…………你要知道,没有类,没有容器库,写代码那叫一个疼啊……于是乎我就搞了个基于宏的C的模板容器库,写的过程中发现了一个很恶心的问题,C的头文件里绝对不能出现任何函数的definition,只能有declaration,所以写C代码的模板容器就不能像CPP的模板库那样直接写在头文件里就行了,还得绕开这种类似CPP模板的全写在头文件里的写法……目前此C版模板容器库目前只有一个Vector,和一个凑合着用的用Array实现的Map。然后从CPP向C的迁移之路也算顺利。再然后就是从VS9/10向VC6的迁移,蛋疼的VC6呃……话说,这好象是我自从在本科学完C语言和数据结构以来,第一次用C呢……

数独游戏的逻辑,其实也没什么,因为之前写过一个逻辑不正确的(呃……),所以这次写的比较快,用了不到两天写完了。其实就是一个类为了各种高效的查询,维护了很多内部状态,当设置数独里的数字时,更新各种数据。如果不用维护这些状态,那这个代码就真么什么可写的了。对了,这个是用JS写的,并且和朋友组队搞的,他去开发界面和整个的游戏逻辑了。目前还没搞完,等搞定以后再发链接~

搭OpenGL的架子这个,很大程度上是因为想亲自实现一下Tessellation,所以就开始四处抄袭代码了,包括我的那个WebGL的,包括KlayGE的。目前离能画个有贴图的茶壶还很遥远……感慨一下,浏览器提供的基础设施真多啊,用CPP写OpenGL,要做的事情比在浏览器上用JS写WebGL多太多了……对了,CPP11的东西用起来挺爽的,虽然VS10还没有完整支持CPP11。期待VS11。

流水帐结束。

呃,忘了现在还有个文案的任务要做……算了,不提了。

现在想想看,干脆把WebGL的那个工程当作试验品,先在上面写东西,写的差不多了再往本地的CPP的OpenGL的工程上迁移也不错。不过还是继续看书要紧。没干货,也写不出来什么好东西。

 

最后发一下感慨:

自我感觉弱爆了,这几个月才干了点啥啊……

手机也坏了几个月了,该换个了……

就这些吧。呃,话说,我几个月没出过校门了来着…………………………………………………………………………………………………………

posted on 2012-07-17 00:24  ? ? ?  阅读(136)  评论(0编辑  收藏  举报