归档 2010年4月11日

最后更新于 .

这两天整理电脑里一堆乱七八糟的东西,无意中翻出了本科时和室友一起做的一个小游戏,重温了一下,发现还是蛮有意思的,决定把它写下来,算是一篇开发回顾吧。

这是游戏截图:

1

额,游戏不是原创,而是来源于原来上课时经常玩的三星手机上的一个游戏,后来因为我们太有爱又太无聊了,所以就自己写了一个。

游戏虽然小,但是从框架设计到UI、音效、评分系统,全部都有了,称得上是麻雀虽小五脏俱全。

其实无论从代码上还是最后的作品上来看,这个游戏都没啥值得骄傲的,但是即使过去几年了我和小猪偶尔提到这个作品还是会洋洋得意一番,在我看来,再某种程度上,这几乎算的上是自己做过的最好的一个项目了(当然本人也没多少开发经验),且不说敏捷开发的过程,这是我那时做过的不多的作品里唯一一个彻底贯彻了“前台界面和后台逻辑分离”这一原则的,除了coding之前的简单设计和中途的简单调整之外,我们两人的工作几乎没有交集,我只负责游戏的逻辑,小猪承包了所有的界面工作(最后一个晚上我看着小猪通宵的PS游戏里需要的图片素材,几乎是一个像素一个像素的修改,做美工果然很累啊),直到最后两个模块完美的结合在了一起,那时有一种酣畅淋漓的感觉。所以项目的架构绝对是第一重要的。

下面是源码的下载地址,有兴趣的可以去看一下:http://download.csdn.net/source/2228978

最后更新于 .

这一章介绍如何创建一个纹理采样器(Sampler)并应用到一个Shape上。简单的来说,纹理就是一个图像(一个像素信息的2D数组),这个图像可以应用到3D物体的表面。O3D中Texture的图像支持TGA、JPEG、PNG、DDS格式。使用Texture Sampler我们可以设置参数以说明如何将Texture贴到物体表面。

关于Texture

O3d用u表示Texture的水平坐标,用v表示其垂直坐标,坐标(u,v)的取值从(0.0,0.0)到(1.0,1.0),如下:

o3d_3_1

Texture Samplers

Texture Sampler封装一个texture object的指针和一系列状态参数(states),这些参数用于定义texture bitmap如何贴到表面。Sampler status可以通过定义Sampler object或者直接指定Sampler类的方法来设置。Sampler类定义了如下属性(括号里是默认值):


  • addressModeU (WRAP)


  • addressModeV (WRAP)

  • minFilter (LINEAR)

  • magFilter (LINEAR)

  • mipFilter (POINT)

  • borderColor ...

最后更新于 .

由于工作需要,所以最近ssh到服务器上写代码的时间越来越多,反而在本地用gvim写代码的机会却少了,所以工作方式上也就发生了一点变化。

由于ctags本身在windows下运行效率的瓶颈(还有gvim对tags文件的检索),我在windows下面很少愿意提前装载tags的,不过在linux下就完全不一样啦,即使几百兆的工程 tags,在linux下面配合Omnicppcomplete进行全能补全也是速度飞快的。

下面是一些我常用的操作:

一.手动加入、删除文件所在目录的tags文件到vim的tags搜索中

map cta :call Add_tags()<CR> 
map ctd :call Del_tags()<CR> 
function Add_tags()     
    let dir =expand("%:p:h")      
    let curtags = dir.g:vimrc_splitstr."tags"     
    let curtags=substitute(curtags,'\\','\','g')     
    if filereadable(curtags)         
        exec "set tags+=" ...

昨天

2010年4月10日

明天

2010年4月12日

归档