More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  d 的 影 子 ™PhotosProfileFriendsMore Tools Explore the Spaces community
View space
*¨^¨* 鸥鸥 *¨^¨*
View space
dAVId.NET

d 的 影 子 ™

d的世界 ™的背面

[WordPress] Long Long Long Trip

从世纪大道换成6号线然后乘14站

14:30~18:30

Post by WordPress Synchronizer V0.1

===========================================

临时决定的行程往往让人措手不及

对于一个每天自由自在开着LPG平均时速40km/h在市区里横行霸道的人

坐几个小时的轨道交通实在是难以忍受啊

特别是晚上回公司的行程赶上了下班高峰的人民广场站

Oh my god!

people mountain people sea

==========================================

话说第一次坐6号线

车子很小4节车厢而已

人也不多

我从世纪大道上的车过了七八站就变成轻轨了

风景还算ok

反正慢慢的越靠近外高桥房子越少

当然最深刻的印象就是6号线超慢的速度

有一段和路程和马路只隔了一层铁丝网

然后我绝望的发现公共汽车开得比我们还快

严重不满!

这14站路花了将近1个小时

正是没想法了

出站的时候发现我一共坐了21站(3站1号,4站2号)公交卡扣掉了5块钱,比想象中少了很多阿

我本来觉得从地球这边坐到地球那边怎么也该多收点对吧

下了车又走了一大段路,终于到了目的地

查验机器,签合同,交钱,走人

==========================================

回到公司6点半,兄长们很讲义气的等我吃晚饭,真感动:P

当然最感动的是将来不用再跑外高桥了,取而代之的是每天都会经过的金沙江路

God bless me!

[More at My Diary]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

[WordPress] Steve Novak!!! Hero

Houston Toyota Center

Rockets V.S. Kings

Last 3 seconds

T-mac turned and flipped the ball to Steve Novak

He made it

Post by WordPress Synchronizer V0.1

===========================================

After defeated by Philadelphia on Jan 15th, Houston has won 12 games in 13 games

8 Win Streak

Today's win owe to Steve Novak

Hero Hero Hero Hero Hero Hero

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

[More at My Diary]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

[WordPress] Call of Duty 4

过年前三天忙里偷闲把07年最强FPS游戏COD4冲底了

玩下来感觉确实强

Post by WordPress Synchronizer V0.1

===========================================

现代战争

很长时间没玩那么刺激的大作了,工作一年基本上也就Pes2008,GTA外加难得和同事联机CS一下,终于过年这几天有机会体验一把表哥口中的极品

开场画面像是切尔诺贝利周围,一次核爆,场面相当震撼

花了2天时间用最简单的难度把整个游戏过了一遍,玩下来最大的感觉就是真实,场景做的很到位,关卡的设计也非常专业

印象最深的有那关death from above

 

This level is a unique experience. You take over as the TV operator for a Spectre AC-130 gunship. In this mission, your responsibility is to target and eliminate any resistance Captain Price, ‘Soap,’ and Gaz encounter as they move through each village.

就如这段官方介绍,绝对是一种独特的体验。黑白两种热感图可供选择,25,40,105三种口径的武器可供选择。105的威力真不是盖的,一发轰倒一片的感觉是在是太爽了。

 

地面场景的夜间任务也相当出色,夜视镜里面可以清楚的看到武器上的红外线瞄准线

 

 

之后一个两名狙击手秘密潜入敌方阵地去狙击扎卡耶夫的那两个任务也是爽到家了

我扮演的一个狙击手跟着一个长官从外围慢慢潜入敌方阵地,一路上隐蔽前进,时不时狙击掉几个敌人的感觉太cool了

最后来到一栋建筑物的最高层,用整个游戏里最强的狙击枪 (就是上面这把).50瞄准800米开外的扎卡耶夫

屏住呼吸,然后瞄准,然后

 

完成了狙杀的任务,接下来要撑过20分钟,支援的飞机才能来接走我们,20分钟里面要面对多少敌人真是太疯狂了,话说这段我打了N次才成功挺过去。。。

最后一关也是超级经典,破坏了核弹的目标(本来要打美国的,唉干嘛要修改啊)指令后从敌人的飞弹基地逃走

坐上一辆卡车,后面敌人的卡车疯狂的追着,上面还有直升飞机。我晕,在卡车车厢里瞄准太难了,以至于3次RPG都没能打中那个飞机,害得我们被导弹炸到桥下面。。。这里我也是跳了好几次才没跟着桥面一起掉到河里

 

最后的情节有点悲伤,很像电影,战友分别被爆头,最后被炸得东倒西歪的主角接过战友最后时刻扔过来的一把手枪,干掉了之前用超级狙击枪都没干掉的扎卡耶夫。。。。。游戏就此结束

当然这个游戏的精髓是多人联机,可惜我是没时间去玩了,接下来会是相当忙碌的一个本命年,加油!

[More at My Diary]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

[WordPress] Vmware Tools in Linux

装好Red Hat Enterprise Linux 5已经一段时间了

折腾了半天装上了Vmware Tools 使得我可以全屏使用

Post by WordPress Synchronizer V0.1

===========================================

终于装好了小红帽,用了那么多年windows总算也可以换换口味了

在Gcc里玩了Hello World,极度简单的几行代码,由于是第一次编译还同时编译了Gcc,花了不少时间却也让我感受到了和VC迥然不同的体验

一切都充满了新鲜感,唯一让我不喜欢的就是vmware tools没装好,只能用800×600的屏幕,随便开个网页都显示不全

点击了半天install vmware tools就是没有反应

后来在试玩KDE时猛然发现桌面上有一个install vmware的rpm

翻阅了打印出来dummies 搞清楚了怎么安装rpm文件

rpm -Uhv /.....

装完以后再配置

vmware-config-tools.pl

终于搞定了

[More at My Dairy]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

[WordPress] Timer Timer Again

接到修改意见的时候我一度为这个功能犯愁

这个愁从今天以后就不用再犯了

Post by WordPress Synchronizer V0.1

===========================================

能够顺利实现这个功能,得益于5个月前设计的答题系统

正是这个设计使得计时成为可能

 

 

[More at My Dairy]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

[WordPress] Progress

Track No2 Well Done

Downtown Highway

Post by WordPress Synchronizer V0.1

===========================================

With the great help of Shieny Wijaya the Chef Designer, Track No2 Downtown Highway finally finished!

Now what should I follow up are:

1. Involve the question time into the final score

2. Display Error Message when answer question and add 5 Second for penalty

3. Change the collision between the car and the track

4.More TP Package on the track

5. Build a setup file

6. Submit

 

Cheer on me

[More at My Dairy]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

[WordPress] Such a Busy Day

Busy !

However, I still enjoy.

Post by WordPress Synchronizer V0.1

===========================================

今天非常忙

上周五的Demo Seminar的后续工作,更新iTalk的内容

我主要负责界面上的东西,用FW很轻松就搞定了。

接下来的Track全靠Lothar,总算在下午3点的时候正式上线了,很快就收到了客户的feedback,感觉还不错

期间开了一堆CMO帐号,还有Email,每次开其实还不烦,烦的是要填一堆excel表格

搞定了这个老毛又来了,website上面的photo,制定了album的命名规则,然后开始改名字

期间老N也来凑热闹,拿来AM的照片让我更新

OK,全部搞定已经下班了

忙啊!

明天还要重装两台电脑,唉

TPR进度还算顺利,不过要在答题的同时计时,还有点问题,包括那个答错的5秒惩罚。。。实在很不爽

相信这些还是可以搞定的

那么接下来就只剩最后一点美工的问题了

快点over掉这个Project吧,然后就是XY,英文版包括之前的一些功能修改

这些都搞定的话,下面还有N个Projects

 

[More at My Dairy]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

[WordPress] Reset Resolution

Last year I tried to solve this problem but failed

Yesterday I spent half a day on it and successfully made it

Post by WordPress Synchronizer V0.1

===========================================

最初试过几次,毫无例外都是显示不出来图标,虽然功能是有的。

仔细研究了代码后发现这个看似简单的功能分布在了好几个不同的文件里,所以丝毫的错误也会导致最后失败

首先是 config.h

把 display_resolution这个二维数组定义为[4][2]

因为我只需要4个分辨率:640x480;800x600;1024x768;1280x800

然后是 config.cpp

给这个二维数组赋值,第一维表示屏幕分辨率的 width, 第二维是 height

按照我要的规格定义好

接着便是 menu.cpp

这里要修改的东西非常多,在menu构造函数里有一个 resID,最初的程序意图是通过屏幕分辨率的 width来给它赋一个值

开始不是很清楚为什么要这个值,接着看下去后发现了其中的奥妙

生成config menu的代码中有这样一句

this->addSubmenu(FYR_MENU_CONF, "Display - Resolution", "menu_icon_resolution_", FYR_MENU_CONF, DISPLAY_RES,resID);

想了想是通过这个resID来表示当前的分辨率,然后在初始化这个分辨率菜单时自动选择这个分辨率的icon加上去,让玩家知道当前的分辨率时多少

继续看下去

在choose Menu函数中有这样一段,当发现当前的分辨率和选择的分辨率不同时就立刻跳转到EXIT状态。这也就是为什么能立刻结束游戏的原因了。我本打算在全屏和窗口模式切换时也搞这样一个功能,但是还没有想到通过什么来得知状态改变所有先不实现了,转而考虑在下面加上需要重启才能修改状态的提示。

最为关键的是updateConfigIcons函数

switch case中顺利找到了 DISPLAY_RES

其中 itoa(pThis->value+2,sType,10);

着实让我郁闷了一回,因为这个pThis->value,我想来想去也不知道为什么要+2

结果当我把这个+2去掉之后,图标终于出来了。看着自己用fireworks修改的图片就一个字,爽

最后的menuOk这个函数里再次发现了 DISPLAY_RES,发现了这样一段

pThis->value++;
if (pThis->value > 3)
pThis->value = 0;
cMenu::updateConfigIcons();

难怪那个+2不去掉永远也不会有东西显示出来了。。。

好了现在分辨率再也不是一个问题了

[More at My Dairy]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

[WordPress] Finally Say GoodBye to "Ghost Car"

From the Start of  TPR Project August Last Year

"Ghost Car" is a bug which can drove me mad

Post by WordPress Synchronizer V0.1

===========================================

Today I solved it.

Not perfect but at least the ghost will not come out again.

I just can't help exciting , cause I have been waiting for this moment for a long time.

起先我认为是内存管理不当引起的问题,我仔细的检查了各个对象,追踪他们的创建和释放。考虑了文件死锁,甚至记录下每次tex这个属性的内存地址。最终这些都被我排除了。

依靠MindManager我设想了很多种可能的情况,最终我回到了几个月前就怀疑过的一个地方,仔细的看了代码,终于找到了症结。

        DWORD color; 
        color = (0xFF * (100 - car)/ 100.0);
        color = ((color << 24) | 0x00FFFFFF);

        cars[i]->spr->SetColor(color);
        cars[i]->spr->RenderEx(xCar, yCar, cars[i]->angle);

正是这一段修改颜色的代码,一个DWORD(32位)的 color 变量

首先取到 car 原先 tex 的颜色的 alpha 值

然后左移 24 位 然后和 00ffffff 进行或运算,通过传入的 car 值来调节透明度

在某些情况下是正常的,但是时不时这个变量会给你溢出一下下,导致出场动画完了以后赛车的透明度变成了0......

Ghost Car就这样出来了。

现在找到了症结,暂时先把这段代码去掉避免问题,明天再考虑如何实现相同的功能,当然是在我的掌控之中

Cheers!!!!!!!!!!!!

 

 

[More at My Dairy]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

[WordPress] Renascence Of My Dear LPG

It was a tough time, however I saw the end of it

The Renascence Of My LPG 04P

Post by WordPress Synchronizer V0.1 with FCKEditor 2.5.1

===========================================

I don't know when but definitely not a short period, my LPG can not run over the speed limit 50Km/H.

2 Weeks ago, what coming with the winter is the trouble that my LPG can ONLY run at 30Km/H.

Yesterday, I was mad with rage when I tried to cross a bridge with the speed 5Km/H.

 

"It's Time" Just like the slogan of Houston Rockets for season 07-08.

I know it's time to change the situation.

 

Today I go to Yongjiu LPG repair center on NuJiang Rd.

I spend RMB 550 to change my : carburetor, high-pressure pipe, rear tire, rear brakes, air cleaner.

The result is I can run over 50Km/H now !

Cheers!!!!!!!!!!!!!!!!!!!!!

[More at My Dairy]

Post By WordPress Synchronizer v0.1

David Huang Copyright 2008

TPR Project Reopened

Current Process: V0.94

Project Reopened

Task 1:

Change the question sequence from 4-4-2 to 4-3-3

Task 2:

Change the 2nd Map use the "unlimited style"

Task 3:

Time calculate and emphasize

Task 4:

"Ghost Car"

Task 5:

Generate final score file

 

Your Recent WordPress Post has been synchronized! Hello DWorld

Hi David,

This is a greeting from wordpress.

I hope you all the best in 2008.

Cheers,

 

WordPress

[More at xxxxxx Growing Diary]

WordPress Synchronizer by David Huang

Class Template

MSDN 是程序员的 Bible

让我困惑很久的 类模板链接错误 总算解决了

Post by Windowss Live Writer @ Windows Vista RC 2 5744

===========================================

这几天一直在构建一个 solution ,里面包含了各种 Data Structure 和相关的 Algorithms

这个 solution 包括了很多  projects 。考虑到过去也写过很多,所以我会考虑重用那些旧的工程。

LinearList 是一个用类模板的工程,当我把它加入到新 solution 时要做些调整,因为不能同时有几个 main()

这个时候意想不到的问题来了,当我单独创建 main.cpp 并且试图创建一个对象时

main_program.obj : error LNK2019: unresolved external symbol......

明明已经 include 相关的头文件,怎么还有这种错误,奇怪的是如果不单独在 main 里而是在他自己的 cpp里就没问题。

尝试了很多办法,包括 extern ,都失败了。非常郁闷。

今天在查看 MSDN 时,好奇的点了一下这个一直没用过的功能

然后自动连接到 MSDN 论坛上,并且定位在一个非常友好的搜索界面,意思是让你提问题之前先查看一下是不是已经有人提过相同的问题。

很顺利找到一个有点像的问题,点进去一看,果然和我一样的问题。并且回复中已经给出了解答。

All template code must be placed inside of h-file. 

Template function implementation must be inside of class, or immediately after class, with inline keyword

The reason of this restriction is that template class is not real class, it cannot be compiled and placed to .obj file.

Template is compiled only when client instantiates it. At this time, compiler must see all template implementation.

If some functions are missing, they remain unresolved, because they don't appear in other cpp file.

Template is not subject of linking.

Template libraries like STL and ATL, are always supplied as set of h-files which contain all their code, without .lib and .dll files.

大致意思是说,一定要把模板类的实现和定义都放在 .h 里面,而不是我现在的 定义在.h 实现在 .cpp里。

要这样限制是因为 模板类 不是一个真的 类 所以不可以被编译并且放到 obj 文件里。当企图实例化的时候编译器要查看所有的模板实现。

我确实把 .h 包括到 main 里,但是.h里只有定义却没有实现,这个时候编译器就没办法链接了。

当我把cpp里的内容拷贝到 h 后,顺利地通过了编译。 happy !

昨天

上午我从赤峰路最西边走到最东边花了25分钟

下午我从宜山路绕了个圈子走到吴中路花了15分钟

===========================================

接上回

740,3号线,赤峰路

出了站台开始问路,保安叔叔们都很热心,不过当我告诉他我要到63号时,他说这里是660号。。。。。

于是我走了25分钟,终于让门牌除了10。其实半途我想拉叉头的,结果发现是单行道。。。。。

到了63号再次遇到热心的保安叔叔,我很白痴的问我要去403,然后得到的回答是这里好多楼,哪个403,当场厥倒。好在我说出了公司名字后很快得到指点。那个最高的。

到了里面发现还在装修,在电梯里还有一男的老外和女的中国人。然后听出两个人在说德语,好久没听到了德语了。

出了电梯找到了这个公司,开始填表格和笔试。题目没啥意思,不过个人觉得这种开放性的题目比较适合考察应聘者。

30分钟左右答完了,交给前台后让我等一下。我好奇地参观公司的工作场所,很小,很乱,很暗。难怪被同学们称为垃圾。。。

本来就是来玩玩得,也就不当真了,比较汗的事情是我还没怎么参观,一个员工很不客气地说让我离开工作场地。。。

ok,是我犯贱自己往垃圾堆里钻

接着来了一个人开始面试,聊了一会,发现不投缘,也就随便聊聊。面试官连问题都描述不清楚。。。不说什么了。

结束了3步并2步逃离。这次我学乖了,找到对面的公车站乘公车回轻轨站。一路看着窗外刚才自己走过的路,感慨自己的双脚居然没废,说明每天跑步机上的汗水没白流:P

赤峰路轻轨站下的KFC解决午饭,然后开始从赤峰路到宜山路的轻轨之旅。

13站路。。。心里暗暗觉得这个数字不妙。

果然下了轻轨又是一大段路要步行。。。

15分钟后在目的地和同去的同学接上头,一起上到13楼。这里可以参考Elsie的blog。基本上开始阶段是一样的。填好表格就无聊的等。

只不过接下来的笔试题目让我比较汗。。。死板,无聊,枯燥,可悲,还做不来。。。。

回家的740总算有个位子坐,否则估计脚要废了。

anyway,还是学到了很多,至少我知道我要准备些什么了。。。。

DLL & LIB & Managed Assembly

VC++ Walkthroughs Samples

DLL 和 LIB 属于Native C++,Managed Assembly则属于CLI

Post by Windowss Live Writer @ Windows Vista RC 2 5744

===========================================

你的大脑是一个沉睡的巨人。————托尼·巴赞

这几天在疯狂的学习C++,看了早就拥有却一直没仔细阅读的《学习的革命》,还有托尼巴赞的Mind Map,越发觉得人的大脑潜力无限。

使用VS2005很久了,每天都能发现点新鲜的功能。今天在MSDN上逛到C++中心,找到了很好的例子,然后很幸喜的在本地MSDN上找到了它们。

如果你也装了MSDN for vs2005,那么可以查看这个地址

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio....

第一个例子教你如何使用 VS2005 这个IDE,虽然自认为很熟了还是推荐看看。

后面3个例子就是今天的学习对象了,DLL ,LIB , Managed Assembly。前面两种用了很多年了,后面的托管集让你可以充分利用.net framework。

3个例子都先创建了一个可复用对象,然后写一段代码来调用。照着做一遍有助于提高动手能力。

总结下我的实践经验和收获:

1.VS2005里创建一个class

过去我只知道建立一个.h 然后一个 .cpp ,却不知道直接右键生成个 new class ... 用了下还是挺方便的

2. 项目属性里很多平时没用过的选项,比如预编译头,这3个例子都是不使用预编译头

3.如何引用创建的可复用对象,DLL,Lib,托管代码方法稍有不同但基本都一个思路就是reference一下

--------------------------------managed assembly---------------------------

4.int main(array<System::String ^> ^args) 托管代码的main真可爱哈,两个追踪句柄^

5.public ref class MyMathFuncs  一个 ref 表明了这是一个托管类

6.using namespace System 让我觉得自己是在写 C#

7.#using 和上面的using可不同,这个用来#include 一个托管集(managed assembly)我自己翻译的,不知道标准的中文怎么说:P

--------------------------------DLL------------------------------------------------

8.static __declspec (dllexport) double Add(double a, double b);

Note the __declspec(dllexport) modifier in the method declarations above. These modifiers enable the method to be exported by the DLL so they can be used by other applications.

9.使用DLL的常用方式,在调用DLL的程序头上 #include 相关 DLL 的 .h

--------------------------------LIB------------------------------------------------

10.static double Add(double a, double b);

11.基本上和平时使用 DirectX 一样,最为熟悉的方式

相关知识:动态连接库 和 静态连接库

自从微软推出第一个版本的Windows操作系统以来,动态链接库(DLL)一直是Windows操作系统的基础。

动态链接库通常都不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含能被可执行程序或其它DLL调用来完成某项工作的函数。只有在其它模块调用动态链接库中的函数时,它才发挥作用。

Windows API中的所有函数都包含在DLL中。其中有3个最重要的DLL,Kernel32.dll,它包含用于管理内存、进程和线程的各个函数;User32.dll,它包含用于执行用户界面任务(如窗口的创建和消息的传送)的各个函数;GDI32.dll,它包含用于画图和显示文本的各个函数。

静态库LIB:函数和数据被编译进一个二进制文件(通常扩展名为.LIB)。在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件(.EXE文件)。

动态库DLL:在使用动态库的时候,往往提供两个文件:一个引入库和一个DLL。引入库包含被DLL导出的函数和变量的符号名,DLL包含实际的函数和数据。在编译链接可执行文件时,只需要链接引入库,DLL中的函数代码和数据并不复制到可执行文件中,在运行的时候,再去加载DLL,访问DLL中导出的函数

MAYA 项目结束

以小组形式提交的项目

由于缺乏贴图资源,所以不是很完美

Post by Windowss Live Writer @ Windows Vista RC 2 5744

===========================================

 

整个场景要表现的是一条古代街道

我制作了牌楼,灯笼,底座和那个3层楼,并完成了整个场景和所有贴图

阿丁完成了那个2层楼

cc做了那个小房子和桌子椅子

gy找了贴图

MVD_Skybox 立方体版完成

基于 XYGE 开发的 MVD  在稳步进行中

今天我完成了其中的 Skybox  功能

Post by Windowss Live Writer @ Windows Vista RC 2 5744

===========================================

昨天就开始研究了,参考了暑假里的一个工程,结构什么全部写好了。但是就是不能跑

一跑就死机,郁闷的睡了一觉,今天早上起来决心一定要搞定,因为我觉得问题不会很大

下午为了腾出PC机上硬盘空间,把PES6和PB第一季刻盘了,2张DVD。最终得到了9G多空间

刻盘期间不能写程序就找了本书看,绿皮书的后续3D版,橘皮书,挺不错,教你如何从头写一个引擎,这正是我现在在做的事情

吃好晚饭开始进行今天的工作,查看昨天的代码后发现原来问题出在初始化里。我自己把 Protected 方法改成 public....

结果在 Init 后,PreRender 里又初始化了一遍,难怪死机

改好后终于可以移动摄像机了

接着开始搞鼠标,发现 XYGE 的 Input 里少了些功能,自己添加上后终于实现了类似 FPS 游戏的鼠标键盘配合漫游,不过还有个问题没解决,应该是坐标系的问题,明天去学校的时候争取解决了。

今天完成的 Skybox 是立方体实现的,6张纹理贴在6个面上

 

当然这个近距离看面和面接缝处还是很明显的

下一步要做的就是实现球形 Skybox

MAYA 考试完美结束

随着今天下午的期末考试为期10周的maya课结束了

我非常喜欢这门课特别是这门课的老师 Mr Su yanhui

Post by Windowss Live Writer @ Windows Vista RC 2 5744

===========================================

优秀的老师 + 优秀的软件 =  优秀的 maya 教学

可惜时间不长,我将来也不会做游戏美工,不过我还是非常非常喜欢这门课

经过这10多周的学习,我比较熟练的掌握了普通的 polygon 建模,贴图 和一些基本的命令操作。

要说掌握 maya 那差的还太远太远,不过我确实喜欢用 maya 来做模型,然后导成.x 放到游戏引擎里

从第一次课堂作业 建立手的模型到今天考试,我多多少少还是做了些小作品

下面是今天考试当场做的作品

  宝剑

  人体骨骼

 手指关节

 

考试还是很顺利的,前面100分我都完成了,这里要特别感谢 Elsie 

阴郁

讨厌下雨天

昨天晚上做梦了

今天有点恍惚,有点失落

明天考maya,加油

Equinox Super Car

HGE是一个不错的2D游戏引擎

Mr Wu 用它布置了期末项目的一部分

————给自带的赛车游戏加上粒子效果

Post by Windowss Live Writer @ Windows Vista RC 2 5744

===========================================

经过4天的研究,今天终于完成了可以交作业的产品。

拿来来总结下

先看下效果

选择赛车,里面有世界上速度最快的跑车 koenigsegg 克尼塞克 纪录片里说时速 388 km  :)

最多支持 4 分屏,现在是 2 分屏

加入的粒子效果,静态看起来没什么效果,动态可是不错的

从上周六拿到这个项目就一直扑在上面,以至于实验室的MVD项目被我搁置,主要原因是我蛮喜欢赛车游戏的:P

总的来说 2d 引擎难度不会很大,无非是搞清楚程序的各个部分

VS2005 配合 VSS2005 来管理代码,我可以放心的修改,反正可以从 VSS 里取出原先的版本( 有代码控制的日子就是爽 )

参考了 Tutorial 3 ,4 知道了如何生成 HgeParticle 对象,有了这个对象就可以实现粒子效果了

第一次尝试在 car.cpp 的 render 里添加,结果每次都在运行时出错,为此郁闷了 2 天

直到昨天晚上偶然的尝试在 track.cpp 里加,居然成功了,整个游戏第一次有了粒子效果。

重新用 Vs 建立了工程 ,把所有代码注释完毕后开始 check in check out

每到一个 milestone 就 check in 一次,然后再 check out,目的就是让 vss 能够多提供些版本

昨天晚上调试出了问题,今天下午静下心从头再来了一遍,理顺了这些代码工作起来就是有效率

4:30分最后一次 check in ,完成了最后的版本, vss 帮我生成了 report 看了下,修改了17个 version :P

好久没更新了,现在开始每天更新

堕落了那么久,该回来了

Post by Windowss Live Writer @ Windows Vista RC 2 5744

===========================================

mvd 项目正在稳步推进中,有了 XYGE 作为 Framework 我确实省力了很多

而且这次开始使用 VSS2005 来控制代码, check out check in 玩得不亦乐乎:P

延伸的桌面让我拥有更宽广的视野,不过可惜是 CRT 的,如果能搬个19寸的 LCD 回去那就完美了

工作娱乐两不误:P

IRR Licht

公司里用这个引擎,所以今天开始研究

Post by Windowss Live Writer @ Windows Vista RC 2 5744

===========================================

============================================================

1. Directory Structure Overview

============================================================

You will find some directories after uncompressing the archive of the SDK. These are:

\bin The compiled library Irrlicht.DLL and some compiled demo and example applications, just start them to see the Irrlicht Engine in action. Windows only.

\doc Documentation of the Irrlicht Engine.

\examples Examples and tutorials showing how to use the engine with C++.

\example.net Examples and tutorials showing how to use the engine with.NET languages.

\exporters Exporters and tools for various 3D modelling packages. There is a readme file with more details in the directory.

\include Header files to include when programming with the engine.

\lib Libs to link with your programs when using the engine.

\media Graphics and sound resources for the demo applications and examples.

\source The source code of the Irrlicht Engine. This code is not needed to develop applications with the engine, but it is included to enable recompilation and debugging, if necessary.


\tools Useful tools (with sourcecode) for the engine.

============================================================

2. How to start

============================================================

To see the engine in action in Windows, just go to the \bin\Win32-VisualStudio directory, and start some applications. There should also be an application named Demo.exe which should show the most interesting features of Irrlicht.

To start developing own applications and games with the engine take a look at the 01.HelloWorld example in the \examples directory. There is also a .html file with a tutorial which should be
easily comprehensible.

The Irrlicht Engine is a static lib under linux. A precompiled version can be generated from the sources using the Makefile in source/Irrlicht. Unzip the file source.zip in the /source directory. Run 'make' in the newly created subfolder source/Irrlicht. After this you should be able to 'make' all example applications in /examples. You can run the examples directly from the directory they are created in.
It is also possible to use Irrlicht as shared object (libIrrlicht.so.versionNumber). Use the proper makefile target for this by running 'make sharedlib' in the source folder. See the Makefile for details.

看了那个demo,感觉不错,是Quack里的一个室内场景

远距离观察

学习maya的第二个作品

有了上次做手的经验,这次的脚做起来显然熟了很多 

Post by Windowss Live Writer @ Windows Vista RC 1 5600

===========================================

初步的polygon模型和对应的subdiv模型

经过一下午精细打磨成的精致版

这个连指甲都做好了,相比手指甲,脚指甲的形状更容易些

正如Mr Su说的,模型就是花的时间越多效果越好

如何利用DirectX SDK里的帮助文档进行学习

学习DirectX有一段时间了

走了不少弯路但同时也渐渐摸索出了比较好的学习方法

和大家分享:P

Post by Windowss Live Writer @ Windows Vista RC 1 5600

===========================================

首先打开帮助文档,一般建议在MSDN内打开而不是单独打开chm。

你会看到有以下组成部分:

DirectX Software Development Kit

DirectX Graphics

DirectX Input

DirectX Audio

DirectX SDK Technical Articles

Glossary

分别来看看这些:

DirectX Software Development Kit主要介绍当前版本的SDK信息,比如这个版本有什么变化,SDK有什么新的工具等。

DirectX Graphics,Input,Audio分别详细介绍图形,输入,音频等信息。

DirectX SDK Techniacl Articles里面是这个版本SDK发行前一些比较好的技术文章的精选。

Glossary则是整个SDK的术语表,你可以查到所有出现过的术语。

对于我们来说,最关心的就是DirectX Graphics了,下面来详细介绍下这个部分:

由于Vista还未正式发布,所以目前最新的DirectX版本还算9,毕竟10还没正式发布。而且能支持10的显卡也寥寥无几。

Converting to Direct3D 9这个目录下介绍了如何从早期版本升级到9,不过我认为做升级不如直接开发新的,因为每个版本的差别都是很大的,性能上的提升更是惊人。升级不能很好发挥这些。

Programming Guide

这里给出了几个方向:入门,DXUT 框架,HLSL ,Effects,高级话题,编成技巧。

个人觉得这些能够通读一遍,你就是高手了。所以别问我什么书好。市面上的书都是基于SDK的文档的。这才是我们真正应该好好研究的资料!!!!!

入门里介绍了D3d的结构,D3d设备,D3d资源,坐标系。。。都是些看似基础却非常重要的概念,强烈建议大家仔细阅读。

DXUT里详细的介绍了DXUT这个框架,几乎所有的SDK的sample都用这个框架写的。所以如果你要学习sample这个非常重要!!!!

HLSL你想做这个的话,别愁没资料,这就是最好的资料

Effects特效也是个大方向,先从了解开始吧,一步一步走。

Advanced Topics等你有了一定基础再来看吧,否则就是天书

Programming Tips等你完成上述步骤,你应该也可以看看这个

Graphics Tools

介绍了编译和调试Shader的工具

Tutorials and Samples

重要程度我就不再强调了,这些全部搞定,你肯定可以做游戏了。Tutorials相比Samples简单的多,大家觉得基础不好就从这里开始看。然后等有了DXUT基础再开始看Samples。