??xml version="1.0" encoding="utf-8" standalone="yes"?>色天使久久综合网天天,久久人人添人人爽添人人片牛牛,99精品久久精品一区二区http://www.shnenglu.com/CornerZhang/category/3977.html生命的隐喻:自我意识产生于躯体,w体产生于食物,食物源于物质Q物质源于太阌能? <P>http://cyberzei.wordpress.com</P> zh-cnThu, 05 Mar 2015 06:33:18 GMTThu, 05 Mar 2015 06:33:18 GMT60关于本h接触到的一些技术方案的感想http://www.shnenglu.com/CornerZhang/archive/2015/03/05/209926.htmlCorner ZhangCorner ZhangThu, 05 Mar 2015 01:41:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2015/03/05/209926.htmlhttp://www.shnenglu.com/CornerZhang/comments/209926.htmlhttp://www.shnenglu.com/CornerZhang/archive/2015/03/05/209926.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/209926.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/209926.htmlq几q随着Ud端市场的兴vQcocos2d[-x], Unity3D变得很火
逼得Epic的UQ4现在都走free路线了,不过q会使得有UE开发经验的Q+Q程序员变得值钱了!

app开?
appleq_的iOS/macosxq是用objective-c比较靠谱Q对于新出来的swiftQXcode的支持好Ҏ面还没跟q,p最新版的XCode6.1.1中,当playground的文件一长,速度慢的不行,?swift文g里,代码一长也发生太多语言highlights的问题.而且不论是objective-cqswiftQ这两个~程语言对于出错处理有太多的不严谨,很难用来作server端技术了Q有谁看刎ͽpple的官Ҏ里有用objective-c和swift的网lserver端的描qCQ!用这两个货作app的RAD开发才是apple的战?/div>
google的androidZ错,卌用EQ+q能用JavaQ推出的界面设计ҎMaterial Designer很不?/div>

~程语言Q?/div>
C++ 11出来了,Clang,VC12,gcc都支持的不错QC++ 14更是要把boost::asio和boost::filesystem成ؓstd::asio, std::filesystemQEQ+E序员永q不会被淘汰
html5规范也定义完整了Q兼容各cLC备的Ҏ\支持媒体\支持QDQ支持矢量图Q意味着adobe的flash要失M部分市场

世态变q:
以5q以上的跨度?/div>
* 国内自己研发的Game Engine比不上国外的Q技术也无法能跟上国外的步调Q不知国内还在作引擎的程序员是该自我鞭策Q还是另辟蹊?
* app开发,除了与已有的web应用结合,新出来的app与那些个game可能走l分市场的\U,_֓路线Q换一句话说就是,竞争Ȁ烈 ^^
* game 我只能说它与p行业很相|我们玩过了然后忘了,然后{待下一个"刺激Q!游戏q营商劲的用广告\各种营销手段来给产品Q催化处一个市场来Q大家知道化学中的催化剂的原理就是,把自己消耗掉呗!国的米高梅׃不也是砸d大制作上的?Q?/div>
* 貌似UEq个东西从8Q年代到现在发展了很久,Tim用EQ+折腾了许?/div>
* apple的硬件更斎ͼobjective-c曄也改了许久,swift不知...
* C++管?8标准走到现在出?4Q好在都可以用编译器选项保持对原有代码的兼容QQ何严谨的~程dq得Q+Q.q能靠他E稳的赚?带惛_C99也非常的E_好用
* html5可以使各cL览器E统一些吧

q轻时做加法Q年老时做减法!Q-能隐隐的发现哪些事物随着岁月在发挥着Q篏U"效应


Corner Zhang 2015-03-05 09:41 发表评论
]]>寒!用了nq的VCQ今天才发现目讄中加入另一U宏定义的样子!http://www.shnenglu.com/CornerZhang/archive/2010/08/03/122106.htmlCorner ZhangCorner ZhangTue, 03 Aug 2010 13:33:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2010/08/03/122106.htmlhttp://www.shnenglu.com/CornerZhang/comments/122106.htmlhttp://www.shnenglu.com/CornerZhang/archive/2010/08/03/122106.html#Feedback7http://www.shnenglu.com/CornerZhang/comments/commentRss/122106.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/122106.html

Corner Zhang 2010-08-03 21:33 发表评论
]]>
发hq 《攻x动队》经典对?/title><link>http://www.shnenglu.com/CornerZhang/archive/2010/06/13/117805.html</link><dc:creator>Corner Zhang</dc:creator><author>Corner Zhang</author><pubDate>Sun, 13 Jun 2010 11:13:00 GMT</pubDate><guid>http://www.shnenglu.com/CornerZhang/archive/2010/06/13/117805.html</guid><wfw:comment>http://www.shnenglu.com/CornerZhang/comments/117805.html</wfw:comment><comments>http://www.shnenglu.com/CornerZhang/archive/2010/06/13/117805.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/CornerZhang/comments/commentRss/117805.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/CornerZhang/services/trackbacks/117805.html</trackback:ping><description><![CDATA[<p>素子:<br>不得不说那的是部好电媄<br>不过无论什么娱乐,基本上都只是一时的Q而且也应该如?br>像这U没有开始也没有l束Q只是持l观众着qP一炚w不肯放过观众的电?br>不管那让为有多好看,l究只是有害无益而已</p> <p>导演:<br>哦,q真是严厉啊Q?br>你是不是惌Q我们这些观众有应该回到的现实中dQ?br>若要剥夺q些观众的梦惻I你承担得赯L责Q吗?</p> <p>素子:<br>承担不vQ?br>但正是在现实中打|梦想才有意义<br>只是自己投在他h的梦里面Q跟d有什么两?/p> <p>导演:<br>真是个现实主义?br>哪天你所怿的现实被创造出来的时候,记得来叫我们。到时候我们会dq个电媄院的</p> <p> </p> <p> </p><img src ="http://www.shnenglu.com/CornerZhang/aggbug/117805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/CornerZhang/" target="_blank">Corner Zhang</a> 2010-06-13 19:13 <a href="http://www.shnenglu.com/CornerZhang/archive/2010/06/13/117805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>需要Google Wave邀L留言http://www.shnenglu.com/CornerZhang/archive/2010/05/07/114789.htmlCorner ZhangCorner ZhangFri, 07 May 2010 12:24:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2010/05/07/114789.htmlhttp://www.shnenglu.com/CornerZhang/comments/114789.htmlhttp://www.shnenglu.com/CornerZhang/archive/2010/05/07/114789.html#Feedback21http://www.shnenglu.com/CornerZhang/comments/commentRss/114789.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/114789.html

Corner Zhang 2010-05-07 20:24 发表评论
]]>
一个乞丐的故事 --Q感兴趣的看?http://www.shnenglu.com/CornerZhang/archive/2010/01/20/106039.htmlCorner ZhangCorner ZhangTue, 19 Jan 2010 16:03:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2010/01/20/106039.htmlhttp://www.shnenglu.com/CornerZhang/comments/106039.htmlhttp://www.shnenglu.com/CornerZhang/archive/2010/01/20/106039.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/106039.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/106039.html

Corner Zhang 2010-01-20 00:03 发表评论
]]>
【望理员置】警告脓?-- 最q我一好友遭遇msn上的|络诈骗Q幸好被我等好h协助Q得以揭I,值得q里一?/title><link>http://www.shnenglu.com/CornerZhang/archive/2009/12/29/104378.html</link><dc:creator>Corner Zhang</dc:creator><author>Corner Zhang</author><pubDate>Tue, 29 Dec 2009 07:53:00 GMT</pubDate><guid>http://www.shnenglu.com/CornerZhang/archive/2009/12/29/104378.html</guid><wfw:comment>http://www.shnenglu.com/CornerZhang/comments/104378.html</wfw:comment><comments>http://www.shnenglu.com/CornerZhang/archive/2009/12/29/104378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/CornerZhang/comments/commentRss/104378.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/CornerZhang/services/trackbacks/104378.html</trackback:ping><description><![CDATA[<p>Z证朋友名誉,再次贴参考,借以提示Q?br />也希望个位保持警觉,也能在各大交友网内传递此文。让q群无良之辈Q没有作案市场。让他们堕入十八层地狱?br /><br />零七q的事居然于零九q年底重演,q望大家q泛传播?br />q类事gQ在 google 里以 "|络 六合?代签"搜烦Q受完一堆!<br /><br /><br /><br /><strong><font color="#000066">奛_Ll恋?被“老公”诱骗签赌香港六合彩<br /></font></strong><br />2007q?3?9?15:30 来源Q中国新ȝ<br /><br />中新|??9日电 怿|络上“中奖”信息的|友要注意了Q许多网l聊天室利用人性弱点,假借“商业机密”ؓ钓饵Q诱骗网友上钩?/p> <p>  据“中央社”报道,C一位郑姓女子因为网l恋情,怿|络“老公”甜a蜜语Q失ȝ智签赌香港六合彩。警方@U查h两岸诈骗集团在台zd车手八hQ其中两位R手未?0岁?/p> <p>  警方表示Q现q?5岁、住在台中的郑姓奛_Q去q?1月透过|络聊天室,认识一名自U林斌的男子,两h虽未见过面,却陷入网l恋情,彼此以“老公”、“老婆”互U? </p> <div class="mwksaum" id="adhzh" name="hzh"> <table border="0" cellspacing="0" cellpadding="0" align="left"> <tbody> <tr> <td> <!--Adforward Begin:--> <script language="JavaScript1.1" src="http://universalmccannafa.allyes.com/main/adfshow?user=universalmccann|FY07_Linux_Chinanews|News_page_pip_350_250&db=universalmccannafa&border=0&local=yes&js=ie"> </script> <!--Adforward End--> </td> </tr> </tbody> </table> </div> <p> </p> <p>  未料Q在交往2个月后,“老公”见时机成熟Q突向郑姓女子透露一个“大好机会”,因林姓男子在香港六合彩公怸班,现在有极高的商业机密要向奚w露。林姓男子表C,公司Z打击台湾的地下六合彩l头Q要扑֯台湾的下注hQ中奖号码会由公司决定,只要下注“稳赚不赔”,“下注愈多中奖愈多”?/p> <p>  林姓男子Z取信q名奛_Q还从香港传送一份“代{请书”,q告诉她Q“这ơ活动名额只?5个hQ你因认识我才有q获此名额,千万要把握此隑־Z。?/p> <p>  不赯惑与游说的郑姓女子,半信半疑地汇?万元新台币下注金l林斌Q未料,三天后,林姓男子又要求汇一W“银行汇ƾ手l费”,但女子坚持要{领到奖金才汇。事后,奛_与朋友讨论后发觉被骗向警Ҏ案?/p> <p>  警方接报后,循线在嘪化市、台中市查获此案的R手集团,落网?Z?人未?0岁,另有2人未?0岁。这些R手以每领一万元抽取手箋?00元代P专门替h在大陆的诈欺集团领取诈骗所得。作案两个月来,l手诈骗N达新台币百万元?/p> <p>  警方表示Q诈骗歹徒擅长掌握h性弱点,以“中奖”ؓ诱饵Q利用网l^C断传送所谓“商业机密”、“特别名额”等讯息Qƈ且很难查证网友的w䆾及相兌料。提醒民众切勿轻易汇ƾ,或答应对方留下“视频画面”以免后患无I?/p><img src ="http://www.shnenglu.com/CornerZhang/aggbug/104378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/CornerZhang/" target="_blank">Corner Zhang</a> 2009-12-29 15:53 <a href="http://www.shnenglu.com/CornerZhang/archive/2009/12/29/104378.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C代码中符合标准的方式输出中文http://www.shnenglu.com/CornerZhang/archive/2009/07/01/89011.htmlCorner ZhangCorner ZhangWed, 01 Jul 2009 09:58:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2009/07/01/89011.htmlhttp://www.shnenglu.com/CornerZhang/comments/89011.htmlhttp://www.shnenglu.com/CornerZhang/archive/2009/07/01/89011.html#Feedback4http://www.shnenglu.com/CornerZhang/comments/commentRss/89011.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/89011.html setlocale(LC_ALL, "chs');
wprintf(L"%s", str);

Corner Zhang 2009-07-01 17:58 发表评论
]]>
~程时经怋用到的标点符号列?http://www.shnenglu.com/CornerZhang/archive/2009/07/01/89009.htmlCorner ZhangCorner ZhangWed, 01 Jul 2009 09:44:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2009/07/01/89009.htmlhttp://www.shnenglu.com/CornerZhang/comments/89009.htmlhttp://www.shnenglu.com/CornerZhang/archive/2009/07/01/89009.html#Feedback12http://www.shnenglu.com/CornerZhang/comments/commentRss/89009.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/89009.html ~ -- tilde 波浪U?
! -- bang [?Exclamation mark] 叹号
@ -- at ???
# -- number sign [?pound sign] 井号
$ -- dollar 元W?
%-- percent 癑ֈ?
^ -- accent q?
& -- and ?
* -- star [?asterisk] 星号
( -- open round 左括?br />Q?- close round x?
+ -- plus ?
- -- sub [?midline ?dash] ?
= -- equal {于
_ -- underline 下划U?
\ -- backslash 反斜U?
| -- vertical [?bar] 竖线
{ -- open brace 左花括号
} -- close brace 双括号
[ -- open quad 左方括号
] -- close quad 左方括号
: -- colon 冒号
; -- semicolon 分号
" -- quote 引号
' -- single quote 单引?
? -- question 问号
/ -- slash 斜线
< -- open angle 左尖括号
> -- close angle 叛_括号
, -- comma 逗号
. -- dot 点号

q有I白W?
' ' -- space I格
'\n' -- newline 换行
'\t' -- table 制表W?br />\r' -- return Q?Q?br />
至于 "..." 不是单个字符Q就不列在上面了Q英文名为ellipsis Q省略符Q?img src ="http://www.shnenglu.com/CornerZhang/aggbug/89009.html" width = "1" height = "1" />

Corner Zhang 2009-07-01 17:44 发表评论
]]>
Unreal Engine (虚) 开发的游戏列表http://www.shnenglu.com/CornerZhang/archive/2009/04/30/81585.htmlCorner ZhangCorner ZhangThu, 30 Apr 2009 10:02:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2009/04/30/81585.htmlhttp://www.shnenglu.com/CornerZhang/comments/81585.htmlhttp://www.shnenglu.com/CornerZhang/archive/2009/04/30/81585.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/81585.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/81585.html Deus Ex Q?000Q?Ion Storm
Rune Q?000Q?Human Head Studios
Clive Barker's Undying Q?001Q?Dreamworks Interactive Q是不是觉得很眼熟)
X-COMQEnforcer Q?001Q?MicroProse

Unreal Engine 2:
LineageII Q?002QNC Soft -- 3D |游
Tom Clancy’s Splinter Cell Q?002QUbisoft
Deus ExQInvisible War Q?003QIon Storm
Tom Clancy’s Rainbow Six 3QReaven Shield Q?003QUbisoft
XIII Q?003QUbisoft ThiefQDeadly Shadows Q?004QIon Storm
Tom Clancy’s Rainbow Six 3QAthena Sword Q?004QUbisoft
Tom Clancy’s Splinter CellQPandora TomorrowQ?004QUbisoft
TribesQVenegeance Q?004QIrrational Games
Advent Rising Q?005QGlyphX Games Brother
In ArmsQRoad to Hill 30 Q?005QGearbox Software
Jinyong Online 2 Q?005QSoft World
Star WarsQRepubilc Commando Q?005QLucasArts -- 3D |游
SWAT 4 Q?005QIrrational Games
Tom Clancy’s Splinter CellQChaos Theory Q?005QUbisoft
Red Steel Q?006QUbisoft
Tom Clancy’s Splinter CellQDouble Agent Q?006QUbisoft
Tom Clancy’s Ghost Recon 2 Q?006QUbisoft
Tom Clancy’s Ghost Recon Advanced Warfighter Q?006QUbisoft
Huang Yi Online Q?007QSoft World -- 3D |游
Ragnarok Online 2QThe Gate of the World Q?007QGravity -- 3D |游
Tom Clancy’s Splinter CellQConviction Q?008QUbisoft

Unreal Engine 3:
Tom Clancy’s Rainbow SixQVegas Q?006QUbisoft
BioShock Q?007Q?K Bastion/2K Australia
Lost Odyssey Q?007QMiswalker
Medal of HonorQAirborns Q?007QElectronic Arts
Stranglehold Q?007QMidway Chicago

Corner Zhang 2009-04-30 18:02 发表评论
]]>
(分n) 什么是游戏引擎? What ... Game Enginehttp://www.shnenglu.com/CornerZhang/archive/2009/04/14/79844.htmlCorner ZhangCorner ZhangMon, 13 Apr 2009 17:10:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2009/04/14/79844.htmlhttp://www.shnenglu.com/CornerZhang/comments/79844.htmlhttp://www.shnenglu.com/CornerZhang/archive/2009/04/14/79844.html#Feedback5http://www.shnenglu.com/CornerZhang/comments/commentRss/79844.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/79844.html以下是摘自日本著名杂志《FAMI通》游戏中文版评论杂志

在阅dU游戏介l的时候我们常怼见“引擎”(EngineQ这个单词,引擎在游戏中I竟L什么样的作用?它的q化对于游戏的发展生了哪些影响Q希望下面这文章能为大安疑?/p>

一、什么是引擎

我们可以把游戏的引擎比作赛R的引擎,大家知道Q引擎是赛R的心脏,军_着赛R的性能和稳定性,赛R的速度、操U|q些直接与R手相关的指标都是建立在引擎的基础上的。游戏也是如此,玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮演着中场发动机的角色Q把游戏中的所有元素捆l在一P在后台指挥它们同时、有序地工作。简单地_引擎是“用于控制所有游戏功能的ȝ序,从计碰撞、物理系l和物体的相对位|,到接受玩家的输入Q以及按照正的音量输出声音{等。?/p>

可见Q引擎ƈ不是什么玄乎的东西Q无论是2D游戏q是3D游戏Q无论是角色扮演游戏、即时策略游戏、冒险解谜游戏或是动作射L戏,哪怕是一个只?兆的游戏,都有q样一Dv控制作用的代码。经q不断的q化Q如今的游戏引擎已经发展Z套由多个子系l共同构成的复杂pȝQ从建模、动d光媄、粒子特效,从物理系l、碰撞检到文g理、网l特性,q有专业的编辑工具和插gQ几乎涵盖了开发过E中的所有重要环节,以下对引擎的一些关键部件作一个简单的介绍。首先是光媄效果Q即场景中的光源对处于其中的人和物的影响方式。游戏的光媄效果完全是由引擎控制的,折射、反等基本的光学原理以及动态光源、彩色光源等高效果都是通过引擎的不同编E技术实现的?/p>

其次是动画,目前游戏所采用的动ȝl可以分ZU:一是骨骼动ȝl,一是模型动ȝl,前者用内置的骨骼带动物体生运动,比较常见Q后者则是在模型的基上直接进行变形。引擎把q两U动ȝl预先植入游戏,方便动画师ؓ角色设计丰富的动作造型。引擎的另一重要功能是提供物理系l,q可以物体的运动遵循固定的规律Q例如,当角色蟩L时候,pȝ内定的重力值将军_他能跛_高,以及他下落的速度有多快,子弹的飞行轨qVR辆的颠簸方式也都是由物理pȝ军_的?/p>

撞探测是物理系l的核心部分Q它可以探测游戏中各物体的物理边~。当两个3D物体撞在一L时候,q种技术可以防止它们相互穿q,q就保了当你撞在墙上的时候,不会I墙而过Q也不会把墙撞倒,因ؓ撞探测会根据你和墙之间的特性确定两者的位置和相互的作用关系?/p>

渲染是引擎最重要的功能之一Q当3D模型制作完毕之后Q美工会按照不同的面把材质脓图赋予模型,q相当于为骨D上皮肤,最后再通过渲染引擎把模型、动甅R光影、特效等所有效果实时计出来ƈ展示在屏q上。渲染引擎在引擎的所有部件当中是最复杂的,它的强大与否直接军_着最l的输出质量?/p>

引擎q有一个重要的职责是负责玩家与电脑之间的沟通,处理来自键盘、鼠标、摇杆和其它外设的信受如果游戏支持联|特性的话,|络代码也会被集成在引擎中,用于理客户端与服务器之间的通信?/p>

通过上面q些枯燥的介l我们至可以了解到一点:引擎相当于游戏的框架Q框架打好后Q关卡设计师、徏模师、动d只要往里填充内容就可以了。因此,?D游戏的开发过E中Q引擎的制作往往会占用非常多的时_《马U斯·佩恩》的MAX-FX引擎从最初的雏ŞFinal Reality到最l的成品p了四q多旉QLithTech引擎的开发共׃整整五年旉Q耗资700万美元,Monolith公司QLithTech引擎的开发者)的老板Ҏ·霍尔甚至不无懊悔地说Q“如果当初意识到制作自己的引擎要付出q么大的代h的话Q我们根本就不可能去做这U傻事。没有h会预料得Cq后的市场究竟是怎样的。?/p>

正是Z节约成本、羃短周期和降低风险q三斚w的考虑Q越来越多的开发者們֐于用第三方的现成引擎制作自q游戏Q一个庞大的引擎授权市场已经形成?/p>

二、引擎的q化

曄有一D|期,游戏开发者关心的只是如何量多地开发出新的游戏q把它们推销l玩家。尽那时的游戏大多单粗p,但每ƾ游戏的q_开发周期也要达??0个月以上Q这一斚w是由于技术的原因Q另一斚w则是因ؓ几乎每款游戏都要从头~写代码Q造成了大量的重复力_。渐渐地Q一些有l验的开发者摸索出了一条偷懒的ҎQ他们借用上一Ƅ似题材的游戏中的部分代码作ؓ新游戏的基本框架Q以节省开发时间和开发费用。根据马老先生的生力学_单位产品的成本因生力水q的提高而降低,自动化程度较高的手工业者最l将把那些生产力低下的手工业者淘汰出局Q引擎的概念是在这U机器化作业的背景下诞生的?/p>

每一ƾ游戏都有自q引擎Q但真正能获得他可ƈ成ؓ标准的引擎ƈ不多。纵观九q多的发展历E,我们可以看出引擎最大的驱动力来自于3D游戏Q尤其是3D击游戏。尽像 Infinityq样?D引擎也有着相当久远的历Ԍ从《博德之门》(Baldur’s GateQ系列到《异域镇曲》(PlanescapeQTormentQ、《冰风谷》(Icewind DaleQ直至今q夏天将要发布的《冰风谷2》,但它的应用范围毕竟局限于“龙与地下城”风格的角色扮演游戏Q包括颇受期待的《夜在绝冬城》(Neverwinter NightsQ所使用的Aurora引擎Q它们都有着十分Ҏ的用目的,很难Ҏ个引擎技术的发展起到推动作用Q这也是Z么体育模拟游戏、飞行模拟游戏和x{略游戏的引擎很进入授权市场的原因Q开发者即便用第三方引擎也很难获得理想的效果Q采用《帝国时?》(Age of EmpiresQ引擎制作的《星球大战:银河战场》(Star WarsQGalactic BattlegroundQ就是一个最好的例子?/p>

因此Q下面对引擎的历史回ְ主要围绕动作击游戏的变q展开Q动作射L戏同3D引擎之间的关pȝ当于一对孪生兄弟,它们一同诞生,一同成长,互相为对Ҏ供着发展的动力?/p>

引擎的诞生(1992q~1993q_

1992q_3D Realms公司/Apogee公司发布了一Ƒ֏?兆多的小游戏——《d军司令部》(Wolfenstein 3DQ,E有资历的玩家可能都q记得初接触它时的兴奋心情,用“革命”这一极富煽动色彩的词语也无法形容出它在整个电脑游戏发展史上占据的重要C。这部游戏开创了W一人称击游戏的先治I更重要的是,它在X轴和Y轴的基础上增加了一根Z_在由宽度和高度构成的q面上增加了一个向前向后的U|I间Q这?Z轴对那些看惯?D游戏的玩安成的巨大冲d惌知?/p>

Wolfenstein 3D引擎的作者是大名鼎鼎的约W卡马克Q这位id Software公司的首席程序师正是凭借这ƾWolfenstein 3D引擎在游戏圈里站E了脚跟。事实上Q《d军司令部》ƈ非第一N用第一人称视角的游戏,在它发售前的几个月,Origin公司已l推Z一Ƅ一人称视角的角色扮演游戏——《创世纪Q地下世界》(Ultima UnderworldQ,q款角游戏采用了cM的技术,但它与Wolfenstein 3D引擎之间有着相当大的差别QD例来_《地下世界》的引擎支持斜坡Q地板和天花板可以有不同的高度,分出不同的层ơ,玩家可以在游戏中跌Q可以抬头低_q些ҎWolfenstein 3D引擎都无法做刎ͼ而且从画面上看,《d军司令部》更接近漫画风格而不是传l的像素画面?/p>

管从技术细节上看,Wolfenstein 3D引擎比不上《创世纪Q地下世界》的引擎Q但它却更好地利用了W一人称视角的特点,快速火爆的游戏节奏使h们一下子C了“第一人称击游戏”这个单词,而不是“第一人称角色扮演游戏”。《d军司令部》后来还发布q一Ƒ֐义上的箋集——《三元的崛v》(Rise of the TriadQ,q款游戏在Wolfenstein 3D引擎的基上增加了许多重要Ҏ,包括跌和抬头低头等动作?/p>

引擎诞生初期的另一部重要游戏同hid Software公司的一N常成功的W一人称击游戏——《毁灭战士》(DoomQ。Doom引擎在技术上大大越了Wolfenstein 3D引擎Q《d军司令部》中的所有物体大都是固定的Q所有\径之间的角度都是直角Q也是说你只能W直地前q或后退Q这些局限在《毁灭战士》中都得CH破。尽游戏的兛_q是l持?Dq面上进行制作,没有“楼上楼”的概念Q但墙壁的厚度可以ؓLQƈ且\径之间的角度也可以ؓLQ这使得楼梯、升降^台、塔楼和户外{各U场景成为可能?/p>

׃Doom引擎本质上依然是二维的,因此可以做到同时在屏q上昄大量角色而不影响游戏的运行速度Q这一特点为游戏创造出了一U疯狂刺Ȁ的动作风|在这斚wq今为止大约只有《英雄萨姆》(Serious SamQ系列能与之相比Q除此之外还没有哪款3D引擎能在大批敌h向你涌来的时候依然保持游戏的畅Q这也是Z么如今市面上的大部分W一人称击游戏都在U极地培ȝ家的战术q用能力、提高玩家的击准确率而拒l滥砍滥杀的主要原因之一。值得一提的是,管Doom引擎~Z_的细节度Q但开发者仍然在《毁灭战士》中表现Z惊h的环境效果,其纯熟的设计技巧实在o叏V?/p>

不过更值得U念的是QDoom引擎是第一个被用于授权的引擎?993q底QRaven公司采用改进后的Doom引擎开发了一Ƒ֐为《投p》(ShadowCasterQ的游戏Q这是游戏史上第一例成功的嫁接手术?994qRaven公司采用Doom引擎开发《异教徒》(HereticQ,为引擎增加了飞行的特性,成ؓ跌动作的前w?995qRaven 公司采用Doom引擎开发《毁灭巫师》(HexenQ,加入了新的音效技术、脚本技术以及一U类似集U器的关卡设计,使你可以在不同关卡之间自q动?Raven公司与id Software公司之间的一pd合作充分说明了引擎的授权无论对于使用者还是开发者来说都是大有裨益的Q只有把自己的引擎交l更多的人去使用才能使引擎不断地成熟h?/p>

《毁灭战士》系列本w就相当成功Q大U卖?50万套Q而授权费又ؓid Software公司带来了一W可观的收入。在此之前引擎只是作ZU自产自销的开发工P从来没有哪家游戏商考虑q依靠引擎赚钱,Doom引擎的成功无疑ؓZ打开了一片新的市场?/p>


引擎的{变(1994q~1997q_

在引擎的q化q程中,肯¯弗g1994qؓ3D Realms公司开发的Build引擎是一个重要的里程,Build引擎的“肉w”就是那Ƒ֮L晓的《毁灭公c(Duke Nukem 3DQ。《毁灭公c已l具备了今天W一人称击游戏的所有标准内容,如蟩跃?60度环视以及下y和游泳{特性,此外q把《异教徒》里的飞行换成了h背包Q甚臛_入了角色~小{o目一新的内容。在Build引擎的基上先后诞生过14ƾ游戏,例如《农夫也疯狂》(Redneck RampageQ、《阴影武士》(Shadow WarriorQ和《血兆》(BloodQ等Q还有台湾艾生资讯开发的《七侠五义》,q是当时Q至今依然是Q国内不多的几款3D击游戏之一。Build 引擎的授权业务大Uؓ3D Realms公司带来了一癑֤万美元的额外收入Q?D Realms公司也由此而成Z引擎授权市场上的W一个“暴发户”。不q从M来看QBuild引擎q没有ؓ3D引擎的发展带来Q何质的变化,H破的Q务最l由id Software公司的《雷之锤》(QuakeQ完成了?/p>

《雷之锤》紧跟在《毁灭公c之后发售,两者孰优孰劣一时之间成为玩家的热门话题。从内容的精彩程度来看《毁灭公c超q《雷之锤》不,但从技术的先进与否来看Q《雷之锤》是毫无疑问的赢家。Quake引擎是当时第一Ƒ֮全支持多边Ş模型、动d_子Ҏ的真正意义上?D引擎Q而不是Doom、Build那样?.5D引擎。此外Quake引擎q是q线游戏的始作俑者,管几年前的《毁灭战士》也能通过调制解调器连U对战,但最l把|络游戏带入大众的视野之中的是《雷之锤》,是它促成了电子竞技产业的发展?/p>

一q之后,id Software公司推出《雷之?》,一丄定了自己?D引擎市场上的怸C。《雷之?》采用了一套全新的引擎Q可以更充分地利?D加速和 OpenGL技术,在图像和|络斚w与前作相比有了质的飞跃,Raven公司的《异教徒2》(Heretic IIQ和《军事冒险家》(Soldier of FortuneQ、Ritual公司的《原|》(SinQ、Xatrix׃公司的《首脑:犯罪生》(KingpinQLife of CrimeQ以及离子风暴工作室d夏天刚刚发布的《安U_朗诺克斯》(AnachronoxQ都采用了Quake II引擎?/p>

Quake II引擎的授权模式大致如下:基本许可费从40万美元到100万美元不{,版税金视基本许可费的多少而定Q?0万美元的许可费大U需提取10%以上的版E金Q?00万美元的许可费则提取很少一部分版税金。这L下来Q《雷之?》通过引擎授权所获得的收入至有一千万元Q尽游戏本w的销售业l比赗毁灭战士》来要差很多Q大U卖?10多万套,收入?500万美元左叻I但在授权金这一块它所获得的盈利显然要q远高于《毁灭战士》,此时的引擎已l从一U单U的工具变成了一块o人垂涎欲滴的肥肉?/p>

俗话说“一个巴掌拍不响”,没有实力相当的竞争者,M市场都无法发展v来的。正?Quake II独霸整个引擎市场的时候,Epic Megagames公司Q即现在的Epic游戏公司Q的《虚qR(UnrealQ问世了。毫不夸张,W一ơ运行这ƾ游戏的时候,我的被眼前的画面惊呆了Q尽当时只是在300x200的分辨率下运行的q款游戏Q四大悲事之一Q玩游戏机器不够Ԍ。除了精致的建筑物外Q游戏中的许多特效即便在今天看来依然很出Ԍ荡漾的水波,丽的天I,庞大的关卡,逼真的火焰、烟雑֒力场{效果。从单纯的画面效果来看,《虚qR是当之无愧的佼D,光撼力完全可以与h们第一ơ见到《d军司令部》时的感受相比?Unreal引擎可能是用最q的一Ƒּ擎,在推出后的两q之内就?8ƾ游戏与Epic公司{订了许可协议,q还不包括Epic公司自己开发的《虚qR资料片《重q纳帕利》,其中比较q的几部作品如第三hU动作游戏《北Ƨ神W》(RuneQ、角色扮演游戏《杀出重围》(Deus ExQ以及永不上市的W一人称击游戏《永q的毁灭公爵》(Duke Nukem ForeverQ,q些游戏都曾l或要获得不少好评?/p>

Unreal 引擎的应用范围不限于游戏制作Q还늛了教肌Ӏ徏{等其它领域。Digital Design公司曾与联合国教U文l织的世界文化遗产分部合作采用Unreal引擎制作q巴黎圣母院的内部虚拟演C,Zen Tao公司采用Unreal引擎为空手道选手制作q武术训lYӞ另一家Y件开发商Vito Miliano公司也采用Unreal引擎开发了一套名为“Unrealty”的建筑设计软gQ用于房C的演C?/p>

q款与《雷之?》同时代的引擎经q不断的更新Q至今依然活跃在游戏市场上,丝毫没有昑և老迈的迹象,实属隑־

引擎的革命(1998q~2000q_

游戏的图像发展到《虚qR这里已l达C一个天花板的高度,接下ȝ发展方向很明显不可能再朝着视觉斚wq行下去。前面说q,引擎技术对于游戏的作用q不仅局限于画面Q它q媄响到游戏的整体风|例如Q所有采用Doom引擎制作的游戏,无论是《异教徒》还是《毁灭巫师》,都有着怼的内容,甚至q情节设定都如出一辙。玩家开始对端着枪跑来跑ȝ单调模式感到厌倦,开发者们不得不从其它斚wLH破Q由此掀起了W一人称击游戏的一个新的高潮?/p>

两部划时代的作品同时出现?998q——Valve公司的《半条命》(Half-LifeQ和LookingGlass工作室的《神P暗黑计划》(ThiefQThe Dark ProjectQ,管此前的《系l震撹{(System ShockQ等游戏也ؓ引擎技术带来过许多新的Ҏ,但没有哪ƾ游戏能像《半条命》和《神偗那样对后来的作品以及引擎技术的q化造成如此p的媄响?/p>

曾获得无数大奖的《半条命》采用的是Quake和Quake II引擎的؜合体QValve公司在这两部引擎的基上加入了两个很重要的Ҏ:一是脚本序列技术,q一技术可以o游戏以合乎情理的节奏通过触动事g的方式让玩家真实C验到情节的发展,q对于诞生以来就很少注重情节的第一人称击游戏来说无疑是一ơ伟大的革命Q第二个Ҏ是对h工智能引擎的改进Q敌人的行动与以往相比明显有了更多的狡诈,不再是单U地扑向枪口。这两个特点赋予了《半条命》引擎鲜明的个性,在此基础上诞生的《要塞小分队》、《反恐精英》和《毁灭之日》等优秀作品又通过|络代码的加入o《半条命》引擎焕发出了更为夺目的光芒?在h工智能方面真正取得突破的游戏是Looking Glass工作室的《神P暗黑计划》,游戏的故事发生在中古q代Q玩家扮演一名盗|d是进入不同的场所Q在量不引起别人注意的情况下窃取物品。《神偗采用的是Looking Glass工作室自行开发的Dark引擎QDark引擎在图像方面比不上《雷之?》或《虚qR,但在人工斚w它的水准却远q高于后两者,游戏中的敌h懂得Ҏ声音辨认你的方位Q能够分辨出不同地面上的脚步壎ͼ在不同的光照环境下有不同的目力,发现同伴的尸体后会进入警戒状态,q会针对你的行动做出各种合理的反应,你必躲在暗处不被敌人发现才有可能完成Q务,q在以往那些Ua的杀戮游戏中是根本见不到的。如今的l大部分W一人称击游戏都或多或地采用了这U隐U的风格Q包括新q发布的《荣誉勋章:盟军q攻》(Medal of HonorQAllied AssaultQ。遗憄是,׃Looking Glass工作室的q早倒闭QDark引擎未能发扬光大Q除了《神P暗黑计划》外Q采用这一引擎的只有《神?Q金属时代》(Thief 2QThe Metal AgeQ和《系l震?》等数几款游戏?/p>

受《半条命》和《神P暗黑计划》两ƾ游戏的启发Q越来越多的开发者开始把注意力从单纯的视觉效果{向更具变化的游戏内容Q其中比较值得一提的是离子风暴工作室出品的《杀出重围》,《杀出重围》采用的是Unreal引擎Q尽画面效果十分出众,但在个体的h工智能方面它无法辑ֈ《神偗系列的水准Q游戏中的敌人更多的是依靠预先设定的场景脚本做出反应Q例如砸弹药盒可能会引起附q敌人的警惕Q但qƈ不代表他听到了什么,打死敌h后周围的同伙可能会朝你站立的位置奔过来也可能会无动于Pq些不真实的行ؓ即便在《荣誉勋章:盟军q攻》里也依然存在。图像的品质抉|了h工智能方面的~陷Q而真正帮助《杀出重围》在众多击游戏中脱颖而出的则是它的独牚w|游戏含有重的角色扮演成分,人物可以U篏l验、提高技能,q有丰富的对话和曲折的情节。同《半条命》一P《杀出重围》的成功说明了叙事对W一人称击游戏的重要性,能否更好地支持游戏的叙事能力成ؓ了衡量引擎的一个新标准。从2000q开?D引擎朝着两个不同的方向分化,一是如《半条命》、《神偗和《杀出重围》那样通过融入更多的叙事成分和角色扮演成分以及加强游戏的h工智能来提高游戏的可玩性,二是朝着Ua的网l模式发展,在这一斚wQid Software公司再次走到了整个行业的最前沿Q他们意识到与h斗才是其乐无IP于是在Quake II的图像引擎的基础上加入更多的|络成分Q破天荒推出了一Ƒ֮全没有单x式的Ua的网l游戏——《雷之?竞技场》(Quake III ArenaQ,它与Epic公司E后推出的《虚qȝ技场》(Unreal TournamentQ一同成为引擎发展史上的一个{折点?随着Quake III引擎的大h功,id Software公司在引擎授权市Z也大赚了一W。Raven公司再次同id Software公司合作Q采用Quake III引擎制作了第一人称击游戏《星际迷航:_英部队》(Star Trek VoyagerQElite ForceQ,此外q部引擎q被用于制作W三人称动作游戏《重金属F.A.K.K. 2》(Heavy Metal F.A.K.K 2Q和《艾丽丝漫游境》(American McGee’s AliceQ、最q的两款二战题材的射L戏《重qd军总部》(Return to Castle WolfensteinQ和《荣誉勋章:盟军q攻》,以及开发中的《绝地放逐者:l地武士2》(Jedi OutcastQJedi Knight IIQ。从地牢到外太空Q从童话世界C战年代,从第一人称视角到第三hU视角,充分昄了Quake III引擎的强大潜力?/p>

Epic 公司的《虚qȝ技场》虽然比《雷之?竞技场》落后了一步,但如果仔l比较一下的话,你就会发现它的表现要略高出后者一{V从画面斚w看两者差不多打成qxQ但在联|模式上Q它不仅提供有死亡竞赛模式,q提供有团队合作{多U激烈火爆的Ҏ模式Q而且Unreal Tournament引擎不仅可以应用在动作射L戏中Q还可以为大型多人游戏、即时策略游戏和角色扮演游戏提供强有力的3D支持。Unreal Tournament引擎在许可业务方面的表现也超q了Quake IIIQ迄今ؓ止采用Unreal Tournament引擎制作的游戏大U已l有20多款Q其中包括《星际迷航深度空间九Q坠落》(Star Trek Deep Space NineQThe FallenQ、《新传说》(New LegendQ和《塞拉菲姆》(SeraphimQ等?/p>

?998q到 2000q期间迅速崛L另一Ƒּ擎是Monolith公司的LithTech引擎Q这Ƒּ擎最初是用在机甲击游戏《升刚》(ShogoQ上的。前面说q,LithTech引擎的开发共׃整整五年旉Q耗资700万美元,功夫不负有心人,1998qLithTech引擎的第一个版本推Z后立卛_起了业界的主意,为当时处于白热化状态下的《雷之?》vs.《虚qR之争泼了一盆冷水?/p>

正是׃q于高昂的开发代P2002q?Monolith公司军_单独成立一个LithTech公司Q以LithTech引擎的授权许可作Z要业务,希望借此捞回一些成本。采?LithTechW一代引擎制作的游戏包括《血?》和《清醒》(SanityQ等?000qLithTech公司推出了引擎的2.0版本?.5版本Q加入了骨骼动画和高U地形系l,lh留下深刻印象的《无人永生》(No One Lives ForeverQ以及即上市的《全球行动》(Global OperationsQ采用的是LithTech 2.5引擎Q此时的LithTech已经从一名有益的补充者变成了一Ƒ֐Quake III和Unreal Tournamentqvq_的引擎。如今LithTech引擎?.0版本也已l发布,q且衍生Z“木星”(JupiterQ、“鹰爪?QTalonQ、“深蓝”(CobaltQ和“探索”(DiscoveryQ四大系l,其中“鹰爪”被用于开发《异形大战掠?》(Alien Vs. Predator 2Q,“木星”将用于《无人永?》的开发,“深蓝”用于开发PS2版《无人永生》,“探索”则被用来制作一Ƒְ未公布的大型|络游戏?/p>

LithTech 引擎除了本n的强大性能外,最大的卖点在于详尽的服务,除了LithTech引擎的源代码和编辑器外,购买者还可以获得免费的升U、迅L电子邮g和电话技术支持,LithTech公司甚至q会把购买者请到公司进行手把手的培训。而且LithTech引擎的^均hg不算很高Q大U在25万美元左叻I?Quake III引擎?0万美元相比已l是相当低廉了?

引擎的明天(2001q~Q?/p>

2001q有许多优秀?D击游戏陆箋发布Q其中一部分采用的是Quake III和Unreal Tournament{现成引擎,如《星际迷航深度空间九Q坠落》、《重qd军总部》和《荣誉勋章:盟军q攻》,而更多的则采用的是自己开发的引擎Q比较有代表性的包括|络击游戏《部?》(Tribes 2Q、第一人称击游戏《马U斯·佩恩》、《红色派pR(Red FactionQ和《英雄萨姆》等?/p>

《部?》采用的是V12引擎Q这Ƒּ擎虽然无法同Quake III和Unreal Tournament相提q论Q但开发者ؓ它制定的许可模式却相当新颖,你只需׃100元可以获得引擎的使用权,不过天下没有免费的午,随之而来的一pd规定相当苛刻Q例如,开发者不能把该引擎用于ؓ其它游戏发行商、其它商业游戏站点等竞争Ҏ制作游戏Q开发出来的游戏必须在发行前交给 GarageGames公司QV12引擎的所有者)Q不能交lQ何第三方QGarageGames公司拥有这些游戏五q的独家发行权等{。尽如此,对于那些规模较小的独立开发者来_q个低价引擎仍然具有非常大的吸引力?/p>

《马U斯·佩恩》采用的是MAX-FX引擎Q这是第一ƾ支持辐光影渲染技术(Radiosity LightingQ的引擎Q这U技术以往只在一些高U的建筑设计软g中出现过Q它能够l合物体表面的所有光源效果,Ҏ材质的物理属性及其几何特性,准确地计出每个点的折射率和反射率,让光U以更自然的方式传播q去Qؓ物体营造出十分逼真的光影效果。MAX-FX引擎的另一个特Ҏ所谓的“子Ҏ间?QBullet TimeQ,q是一U《黑客帝国》风格的慢动镜头Q在q种状态下甚至q子弹的飞行轨迹都可以看得一清二楚。MAX-FX引擎的问世把游戏的视觉效果推向了一个新的高峰?/p>

《红色派pR采用的是Geo-Mod引擎Q这是第一Ƒ֏L改变几何体Ş状的3D引擎Q也是_你可以用武器在墙壁、徏{物或Q何坚固的物体上炸开一个缺口,I墙而过Q或者在q_上炸Z个弹坑躲q去。Geo-Mod引擎的另一个特Ҏ高超的h工智能,敌h不仅仅是在看见同伴的怽或听见爆炸声后才会做出反应,当他们发C留在周围物体上的痕迹如弹孔时也会警觉hQ他们懂得远那些可能对自己造成伤害而自己又无法做出q击的场合,受伤的时候他们会没命地逃跑Q而不会冒着生命危险l箋作战?

《英雄萨姆》采用的是Serious引擎Q这Ƒּ擎最大的特点在于异常强大的渲染能力,面对大批涌来的敌人和一望无际的开阔场景,你丝毫不会感觉到画面的停滞,而且游戏的画面效果也相当。此外值得一提的q有《v底惊》(AquaNoxQ所用的Krass引擎Q这Ƒּ擎被作ؓGeForce 3的官Ҏ定引擎,专门用于宣传、演CGeForce 3的效果,视觉斚w的表现无可挑剔?

可以看出Q?001q问世的几部引擎依旧延箋了两q多来的发展势Q一斚w不断地追求真实的效果Q例如MAX-FX引擎q求画面的真实,Geo- Mod引擎q求内容的真实,《军事冒险家》(Soldier of FortuneQ的GHOUL引擎q求M的真实;另一斚w则l朝着|络的方向探索,如《部?》、《要塞小分队2》(Team Fortress 2Q,以及Monolith公司那款未公布的大型网l游戏?

不过Q由于受到技术方面的限制Q把W一人称击游戏攑օ大型|络环境中的构想臛_在目前还很难实现。众所周知Q一般的大型|络游戏多ؓ节奏较慢的角色扮演游戏,q些游戏所使用的引擎,无论是《卡cx特的黑暗q代》(Dark Age of CamelotQ用的NetImmerse引擎Q还是《地q线Q伊斯塔里亚大陆》(HorizonsQEmpires of IstariaQ用的Horizons引擎Q或是“据说可以保?0万h在同一虚拟世界中尽情游戏而不会有M滞后感”的Big World引擎Q都无法支持一个供数百名玩家同时战斗的大型团队动态环境。正是基于这L考虑Qid Software公司重新把目光放在了单h模式上,dq底公布的《雷之?》和《毁灭战?》将重新建构一个以单h游戏Z的引擎。与此同Ӟ老对?Epic游戏公司也在紧锣密鼓地开发新一代Unreal引擎和《虚qȝ技?》的引擎。尽目前关于这几款引擎的具体资料ƈ不多Q但从已展示的几D采用新引擎实时渲染的动ȝD|看,它们的确完全越了市面上的其它引擎,预示着一个新的引擎时代的到来?

最后需要指出的是,许多优秀的游戏开发者正在退出游戏开发市场,转而进入引擎授权市场,仅靠开发引擎吃饭,q是个危险的信号。尽引擎的不断q化使游戏的技术含量越来越高,但最l决定一ƾ游戏是否优U的因素在于用技术的不是技术本w。如前所qͼ引擎相当于游戏的框架Q框架打好后Q你只需往里填充内容即可,在这里,框架只是提供了一U可能性,游戏的精彩与否取决于内容如何而非框架如何。正如《无人永生》开发小l所_“所有问题最l都会归lؓ一?——你的游戏是否好玩。?

---全文?--



Corner Zhang 2009-04-14 01:10 发表评论
]]>
C++ 代码技?(l?02)http://www.shnenglu.com/CornerZhang/archive/2009/04/13/79004.htmlCorner ZhangCorner ZhangMon, 13 Apr 2009 09:35:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2009/04/13/79004.htmlhttp://www.shnenglu.com/CornerZhang/comments/79004.htmlhttp://www.shnenglu.com/CornerZhang/archive/2009/04/13/79004.html#Feedback11http://www.shnenglu.com/CornerZhang/comments/commentRss/79004.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/79004.html6 头文件依赖,Pimpl法,加速编?br />   举个例子:
      // File: SoundSystem.h

      #include "StreamFilter.h"
      #include "Emitters."

      class SoundSystem {
      public:
         // ...
      private:
         StreamFilter currentFilter;
         EmitModeConfig modeConfig;
      };
   一目了然的是,看得出SoundSystem实现使用了StreamFilter和EmitModeConfig的定义,所?include 了他们的定义在此SoundSystem.h中,可是随着目的不断推q,class SoundSystem中依赖的使用cd会增多,它的header被引入到其它模块中,不知不觉的编译时间越来越长,改进之:
      // File: SoundSystem.h

      class StreamFilter;
      class EmitModeConfig;

      class SoundSystem {
      public:
         // ...
      private:
         StreamFilter* currentFilterPtr;
         EmitModeConfig* modeConfigPtr;
      };

      // File: SoundSystem.cpp
      #include "StreamFilter.h"
      #include "Emitters."

      SoundSystem::SoundSystem() {
         //...
         currentFilterPtr = new StreamFilter;
         modeConfigPtr = new EmitModeConfig;
      }

      SoundSystem::~SoundSystem() {
         delete currentFilterPtr;
         delete modeConfigPtr;
         //...
      }
      q么一来,把StreamFilter和EmitModeConfig?include藏到了SoundSystem的实C码中Q以后对SoundSystem的部分改动不会导致其它模块的rebuild哦,不过由此可能会牺牲一Ҏ率吧!

      记得Q有位微软的C++楚人物QHerb Sutterl这U技巧称为Pimpl ( Private Implemention ), 用的恰到好处Ӟ可以提高目开发速度Q同时模块的头文仉?include关系得以~解Q可以避开循环依赖Q而且可以获得一个良好的物理设计?br />
( to be continued )



Corner Zhang 2009-04-13 17:35 发表评论
]]>
C++ 代码技?(l?01)http://www.shnenglu.com/CornerZhang/archive/2009/04/05/79003.htmlCorner ZhangCorner ZhangSun, 05 Apr 2009 05:41:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2009/04/05/79003.htmlhttp://www.shnenglu.com/CornerZhang/comments/79003.htmlhttp://www.shnenglu.com/CornerZhang/archive/2009/04/05/79003.html#Feedback1http://www.shnenglu.com/CornerZhang/comments/commentRss/79003.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/79003.html4 更好的用标准库中的字符串类 (std::basic_string<class Char, class CharTraits, class Alloc>)

   如果在一个实际的目中要使用标准库的std::string ?std::wstringQ会发现随着旉的推U,会产生出重写一个自q字符串类之冲动,而std::string的接口如此之好用Q同时code里到处是std::stringq样的东西,有时又要向多字节字符转换。此处有一个比较好的方案,不过最好从目开始就实施Q?br />   typedef unsigned char UChar;
   typedef unsigned short UWChar;

   typedef std::allocator StringAllocator;   // 使得以后有针对字W串分配优化

   typedef std::basic_string< UChar, std::char_traits<UChar>, StringAllocator<UChar> > String;
   typedef std::basic_string< UWChar, std::char_traits<UWChar>, StringAllocator<UWChar> > WString; // 宽字W版?br />
然后Q在目中就可以使用q个l过定制的String / WString?br />
5 函数名称重蝲是C++很好的特性,适当使用会带来很好的效果Q有时却会自N烦,下面是一?
   class EntityDefination {
   public:
      //...
      Entity* GetEntity(const char* name);
      Entity* GetEntity(const unsigned id);   // 重蝲
   };
   自认样很好不是吗Q?br />   有一ơ,我写了这样一行代?
   Entity* result = entDef->GetEntity(0);
   知道Q发生什么事吗,q是个对GetEntity(const unsigned id)的调用,虽说q是一行测试代码,但以说明我的类接口上的信息~Z些,遂做了如下改?
      Entity* GetEntityByName(const char* name);
      Entity* GetEntityByID(const unsigned id);

然后Q看看:
     Entity× result = entDef->GetEntityById(0);   // 哈哈Q错误一目了Ӟ眼睛调试 :)



(to be continued!)



Corner Zhang 2009-04-05 13:41 发表评论
]]>
C++ 代码技?/title><link>http://www.shnenglu.com/CornerZhang/archive/2009/04/02/78734.html</link><dc:creator>Corner Zhang</dc:creator><author>Corner Zhang</author><pubDate>Thu, 02 Apr 2009 12:13:00 GMT</pubDate><guid>http://www.shnenglu.com/CornerZhang/archive/2009/04/02/78734.html</guid><wfw:comment>http://www.shnenglu.com/CornerZhang/comments/78734.html</wfw:comment><comments>http://www.shnenglu.com/CornerZhang/archive/2009/04/02/78734.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/CornerZhang/comments/commentRss/78734.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/CornerZhang/services/trackbacks/78734.html</trackback:ping><description><![CDATA[1 在开发维护代码的q程中,Ҏ造、析构函数的修改比较频繁Q所以将它们的实现放?cpp文g?br /><br />2 保证 operator = 的不变性,保证对象不会处于部分构造状?<br />   通常的技巧就?<br />   T& T::operator = (const T& rhs) {<br />      T temp(rhs);<br />      this->swap(temp);   // 实现swap<br />      return *this;<br />   }<br /><br />3 整数转字W?int convert to string)<br />   std::string itos_ctm(int num) {<br />      std::stringstream s;<br />      s<<num;<br />      return s.str();<br />   }<br /><br />(to be continued)<img src ="http://www.shnenglu.com/CornerZhang/aggbug/78734.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/CornerZhang/" target="_blank">Corner Zhang</a> 2009-04-02 20:13 <a href="http://www.shnenglu.com/CornerZhang/archive/2009/04/02/78734.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有h在管制这个国家吗Q?[转]http://www.shnenglu.com/CornerZhang/archive/2009/01/08/71496.htmlCorner ZhangCorner ZhangThu, 08 Jan 2009 06:45:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2009/01/08/71496.htmlhttp://www.shnenglu.com/CornerZhang/comments/71496.htmlhttp://www.shnenglu.com/CornerZhang/archive/2009/01/08/71496.html#Feedback1http://www.shnenglu.com/CornerZhang/comments/commentRss/71496.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/71496.html转帖 [梁文道] http://www.bullog.cn/blogs/liangwendao/archives/180823.aspx

梁文?@ 2008-9-23 2:43:24 阅读(9027) 评论(63) 引用通告 分类: 未归c?
攚w开放三十年来的中国像以往的「东亚四龙」,国家机器的合法性不是徏立在形式保证的民众授权之?如选D)Q而是在于l济增长与h民生zȝ基本保障。至于大家认识到的民族主义和爱国M{意识Ş态,其实只是一道黏合剂Q让癑֧感到自己生活的富_定是国家的赐予,民族的自豪。假如民生凋敝,C会不安Q再多的爱国宣传也挽救不了统ȝ危机?/p>

难怪中国政府一直致力于l济的高速增长,因ؓq正是官方共产主义破产之后仍然力保政权不坠的不二法门。其中的{式是这LQ经发展等于百姓生zL忧,癑֧生活无忧q于政府长M安?/p>

明乎此,便能了解q日「毒奶事件」的严重了。纵观这件事的来龙去脉,我们看见的不只是商h的贪婪无良,q是各个部门各政府的集体缺席?/p>

?在今q二月,有消费者向工商局投诉「三ѝ奶_的质量有问题。但当局的回应竟然是要该名消费者先l两万块׃h民币Q才能替他检相关品!作风和救命 得先~订金的无良医院一栗如果政府连它该的本䆾也要攉才做Q谁q需要政府呢Q何不干脆让民间自行开办品检试实验室Q说不定取hq能便宜点呢?/p>

?够预先测知ƈ且处理牛奉题的部门有一大串Q但它们全到哪里M呢?至于地方政府Q从矛_庄市到河北省都曾接过投诉Q他们的响应是什么?q出动C新西 兰政府,他们依然默不作声。我很难惌新西兰ȝ打电话给温家宝,对他说「你们那里的牛奶Z了,他们没告诉你吗?」的情景。我只感到政府好像不见了。这 是不是个体制问题Q当然是Q但它甚臛_l和民主不民L关了。就是在「东亚四龙」式的威权体制之下,q种无政府状态也很难发生。不要搞错,q是邓?q_的强人统治,也不大可能出现这U整体管d效的情况?/p>

政府已经不能保障人民生命的安全,它还能够l持l济的高速增长吗Q由ơ按风暴引发的全球金融v啸必打M国来q的出口贸易Q我们的内需再怎么扩大也补不上那巨大的~口吧?

如此一来,q个国家的合法性能不遇到空前的危机吗?到底有没有h在管治这个国家呢Q肯定有Q最Lq要有政府部门勒令媒体不得擅自报道毒奶事Ӟ更不能发布类D文章的评论。这是我最能感到政府存在的环节?br />



Corner Zhang 2009-01-08 14:45 发表评论
]]>
优良C++E序设计的法?/title><link>http://www.shnenglu.com/CornerZhang/archive/2008/12/14/69049.html</link><dc:creator>Corner Zhang</dc:creator><author>Corner Zhang</author><pubDate>Sun, 14 Dec 2008 14:23:00 GMT</pubDate><guid>http://www.shnenglu.com/CornerZhang/archive/2008/12/14/69049.html</guid><wfw:comment>http://www.shnenglu.com/CornerZhang/comments/69049.html</wfw:comment><comments>http://www.shnenglu.com/CornerZhang/archive/2008/12/14/69049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/CornerZhang/comments/commentRss/69049.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/CornerZhang/services/trackbacks/69049.html</trackback:ping><description><![CDATA[<p> <font style="BACKGROUND-COLOR: #000000" color="#ffffff">1 首先Q了解自己。这h能知道,哪些是与机器打交道的人是可以做到的,而哪些是不能做的<br />2 知识l构中,一定要对计机q个"二进制编码系l?有所了解Q所以ؓ什么好多C/C++大师人物Q推荐学习汇~和C计算Zpȝ?br />    因ؓQ虽说现代的优化~译器很好,但是从另一个角度来_我们所做的所有编码Q务最l要被映到计算机硬Ӟq个l过"预编码的二进制系l?Q而且g本n也有~陷Q环境上Q所以这h助于了解E序到底做了什么事Q有助于写出便于调试和优化的代码?br />3 C++语言各个Ҏ对设计产生的媄?br />4 数据l构、算法的熟悉Q这是基本功<br />5 定目标Qh员的Q与旉表,可能早的让市场人员参与q来Q所以徏立一些个release point and demo<br />6 让项目相关h员一赯论,l一口头词汇Q一些行业背景概念,建立技术规范说明书Q不宜晦涩难懂)Q统一技术词汇,要有个大安能接受的代码规范说明Q和命名规则Q以及一些必要的原则Q尽可能多的在这个阶D吧每一w化ؓ白纸黑字?br />q有Q最重要的是工作内容的量化评估系l!<br />7 模块划分Ӟ考虑参与人员的数量和d分配Q如何他们有利于分配到自己每一天的d表中。考虑与代码管理系l的整合关系<br />8 良好接口所拥有的特征审查表: Q你会发觉,只要当你不断调整你的借口定义来满以下四中的三ҎQ代码重用性很好,因ؓq是个符合h性的定义Q便于记忆!Q?br />    a 功能的正交分?br />    b 最化的接?br />    c 最明确的函数调用语?br />    d 最适合的出错检查机?br /><br />9 实现接口Ӟ同时写一些用户代码,以此查功能正性和用户端代码的~程范型。由此,推动良好接口的?br />10 在接口中写下定义q个接口的初P它的产生需求,以及限制与开发状?实现完成?<br />11 那些不能用代码描q的接口Q就该化为文?br />12 可能引诱那些愿意代码高质量的E序员参与进?br />13 接下?.. ..._求精ing<br /></font> </p><img src ="http://www.shnenglu.com/CornerZhang/aggbug/69049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/CornerZhang/" target="_blank">Corner Zhang</a> 2008-12-14 22:23 <a href="http://www.shnenglu.com/CornerZhang/archive/2008/12/14/69049.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不满意的q一q?/title><link>http://www.shnenglu.com/CornerZhang/archive/2008/12/14/69052.html</link><dc:creator>Corner Zhang</dc:creator><author>Corner Zhang</author><pubDate>Sun, 14 Dec 2008 13:27:00 GMT</pubDate><guid>http://www.shnenglu.com/CornerZhang/archive/2008/12/14/69052.html</guid><wfw:comment>http://www.shnenglu.com/CornerZhang/comments/69052.html</wfw:comment><comments>http://www.shnenglu.com/CornerZhang/archive/2008/12/14/69052.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/CornerZhang/comments/commentRss/69052.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/CornerZhang/services/trackbacks/69052.html</trackback:ping><description><![CDATA[<p> <font style="BACKGROUND-COLOR: #000000" color="#ffffff">早期完成的两个模块用不上Q也是费了,不知当初做的是什么规划,而且拿的q是投资人的钱。至今,q没有一个真能领班的Q所以,q度L~慢Qh心定不下啊?br /><br />考虑下技术h员的立场Q他们随着q纪的增大,照理来说Ҏ术会来能把握住,可亲自私下问了几个,他们反而觉得没了方向,不知自己做的q些所谓逻辑E序员的zL啥意义,而且技术能力没有多大增长,是又多写了些小游戏的游戏逻辑代码Q而且看他们又是篏ȝzȝ自愿加班Q这样下去,造了太多的恶。庆q的是,不是我做了这L安排?br /><br />我知道,我也走过来的Q对他们个h而言实在费旉Q除了那一般的收入之外Q而且Q健L支出、对他们亲h的陪伴时间减(太多q轻人的悲欢d发生?..Q,太多的隐患!<br /><br />我就不信Q在让整个公司运营v来,有一定的收入的同Ӟ׃能照自q好员工!<br /><br /><br /><br /><br /><br />想了惻I现在中国政治的Ş态就是个“北奥模?Q这个模式将会在今后以不同的形态的于经实体中复现Q?</font> </p><img src ="http://www.shnenglu.com/CornerZhang/aggbug/69052.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/CornerZhang/" target="_blank">Corner Zhang</a> 2008-12-14 21:27 <a href="http://www.shnenglu.com/CornerZhang/archive/2008/12/14/69052.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转蝲] NXN - AlienBrain Server 的安?/title><link>http://www.shnenglu.com/CornerZhang/archive/2008/12/04/68543.html</link><dc:creator>Corner Zhang</dc:creator><author>Corner Zhang</author><pubDate>Thu, 04 Dec 2008 03:00:00 GMT</pubDate><guid>http://www.shnenglu.com/CornerZhang/archive/2008/12/04/68543.html</guid><wfw:comment>http://www.shnenglu.com/CornerZhang/comments/68543.html</wfw:comment><comments>http://www.shnenglu.com/CornerZhang/archive/2008/12/04/68543.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.shnenglu.com/CornerZhang/comments/commentRss/68543.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/CornerZhang/services/trackbacks/68543.html</trackback:ping><description><![CDATA[<p class="g_w_100 g_t_wrap g_t_center g_t_bold g_t_24 g_c_pdin c07" id="blogtitle_fks_085065087085085070086094081095087095084069085095">[NXN] AlienBrain Server 的安?/p> <div id="wekiogq" class="g_blog_list"> <div id="ouikoge" class="g_t_center g_c_pdin g_p_center c07 content" id="blogtext_fks_085065087085085070086094081095087095084069085095" style="WIDTH: 760px">1. 首先需?Windows Server 版系l,比如 win2000 server<br />2. 安装q程中,要设|一?Center Server NameQ就用本机的 hostnameQ不要ؕ攏V(以后 NXN Admin 工具 connect to server ?server name p填这个)<br />3. 新徏一?ProjectQ然后设|好 User Management 中每个用户对?Project 的访问权限,卛_?br /><br />官方上有教程<br /><a target="_blank"><font color="#4f4fa3">http://www.softimage.com/products/alienbrain/</font></a></div> </div><img src ="http://www.shnenglu.com/CornerZhang/aggbug/68543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/CornerZhang/" target="_blank">Corner Zhang</a> 2008-12-04 11:00 <a href="http://www.shnenglu.com/CornerZhang/archive/2008/12/04/68543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3dsMax 9 中导出带骨骼动画?microsoft x filehttp://www.shnenglu.com/CornerZhang/archive/2008/12/03/68471.htmlCorner ZhangCorner ZhangWed, 03 Dec 2008 07:59:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/12/03/68471.htmlhttp://www.shnenglu.com/CornerZhang/comments/68471.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/12/03/68471.html#Feedback2http://www.shnenglu.com/CornerZhang/comments/commentRss/68471.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/68471.html下蝲地址Q自己google?br />
2 ?.dle攑ֈ(MaxDir)/plugins/?br />
3 启动Max9, 打开自己的模型文Ӟ然后File->Export.../或Export Selected...  , ?Panda Export"导出? 定

4 ?DS Max Objects"中勾?br />       Mesh definition
       Materials
       Include Animation(requires sub-frames)
       Bones
       Geometric
      Z以后方便Q选上Save settings in scene
   "Mesh"中勾?br />       Mesh normals
       Mapping coordinates
       Vertex colors
       Combo单?Normal"
   "Animation"
       Sampled
       Position, Scale & Rotate
       Key Seq.
       一个动d列ؓStart: 0, End: 30
   "X File Settings"
      Text
      Sub frame hierarchy
      Left Handed Axis
      Include Animation options勾上, type为Closed, Pos. quality为Linear Positions
  "Textures & .fx files"中的保持默认

注意: ׃工那边一直说插g装了后,max9启动报错Q究其原因可能是Visual C++ 2005 Redistributable Package或较新版本的DirectX runtime 没有安装Q所以请务必装上Q还有ؓmax9安上它的SP2 package

(?

Corner Zhang 2008-12-03 15:59 发表评论
]]>
Linux 下的常用命ohttp://www.shnenglu.com/CornerZhang/archive/2008/10/31/65627.htmlCorner ZhangCorner ZhangFri, 31 Oct 2008 07:41:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/10/31/65627.htmlhttp://www.shnenglu.com/CornerZhang/comments/65627.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/10/31/65627.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/65627.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/65627.html
eg:
  列出在当前目录下含有VecInt内容的文件列?br />  grep -l "VecInt" ./*



ls

eg:
  以列表Ş式列出当前目录下的内?br />  ls -l

ps
列出当前pȝ中的q程


kill

eg: 杀死PID?093的进E?br />  kill 8093



su
 

top 实时监测q程


free 昄内存使用状?br />



Corner Zhang 2008-10-31 15:41 发表评论
]]>
Crysis mod -- MTVhttp://www.shnenglu.com/CornerZhang/archive/2008/10/20/64458.htmlCorner ZhangCorner ZhangMon, 20 Oct 2008 01:32:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/10/20/64458.htmlhttp://www.shnenglu.com/CornerZhang/comments/64458.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/10/20/64458.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/64458.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/64458.html
Natural Mod 2.0 for Crysis from pydon on Vimeo.

Corner Zhang 2008-10-20 09:32 发表评论
]]>
Ubuntu 8.04.1 edgy Chinese Input Methodhttp://www.shnenglu.com/CornerZhang/archive/2008/09/08/61321.htmlCorner ZhangCorner ZhangMon, 08 Sep 2008 09:40:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/09/08/61321.htmlhttp://www.shnenglu.com/CornerZhang/comments/61321.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/09/08/61321.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/61321.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/61321.html
vim  /etc/X11/xinit/xinput.d/all_ALL
   
change:
XIM=SCIM
XIM_PROGRAM=/usr/bin/scim
XIM_ARGS="-d"
XIM_PROGRAM_XTRA=
GTK_IM_MODULE=scim
QT_IM_MODULE=scim
DEPENDS="scim,scim-gtk2-immodule | scim-qtimm"

Corner Zhang 2008-09-08 17:40 发表评论
]]>
为arm linux 交叉~译boost 1.33.1http://www.shnenglu.com/CornerZhang/archive/2008/08/21/59498.htmlCorner ZhangCorner ZhangThu, 21 Aug 2008 02:02:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/08/21/59498.htmlhttp://www.shnenglu.com/CornerZhang/comments/59498.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/08/21/59498.html#Feedback1http://www.shnenglu.com/CornerZhang/comments/commentRss/59498.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/59498.html首先在arm linux环境上要有zlib

1 解开boost压羃? cdq入解压目录

2 ~译出bjam,q|好Q看手册?br />
3 产生Makefile: ./configure "-sBUILD=debug release <runtime-link>static/dynamic" --without-python

4 更改Makefile:
  把文件头上的几个变量Ҏ下面q样Q我的编译环境在"/MyDev/arm-linux/bin"下面,其它的不用改
   BJAM=./tools/build/jam_src/bin.linuxx86/bjam
  TOOLSET=arm-linux-gcc
  BJAM_CONFIG= -sPYTHON_ROOT=/usr -sPYTHON_VERSION=2.5
  PREFIX=/MyDev/arm-linux/bin
  EPREFIX=/MyDev/arm-linux/bin
  LIBDIR=/MyDev/Intel_CE_2110-1.1.290/arm-linux-elf/lib
  INCLUDEDIR=/MyDev/Intel_CE_2110-1.1.290/arm-linux-elf/include

  更改BOOST_ROOT/tools/build/v1/gcc-tools.jam,最好先备䆾一下这个文?
  把里面出现gcc/g++/ar/as的地Ҏ为arm-linux-gcc/arm-linux-g++/arm-linux-ar/arm-linux-as

5 回到BOOST_ROOT
   ׃是嵌入式pȝQ所以也需要静态库Q所以输?
    bjam "-sBUILD=debug release <runtime-link>static/dynamic"

以上步骤在本人的Ubuntu 8.04上一切顺?br />
<end>



Corner Zhang 2008-08-21 10:02 发表评论
]]>
compile alsa sound system on linux(arm)http://www.shnenglu.com/CornerZhang/archive/2008/08/04/57954.htmlCorner ZhangCorner ZhangMon, 04 Aug 2008 04:45:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/08/04/57954.htmlhttp://www.shnenglu.com/CornerZhang/comments/57954.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/08/04/57954.html#Feedback3http://www.shnenglu.com/CornerZhang/comments/commentRss/57954.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/57954.html            and ncurses-5.5
            note: let extarct them on same directory
Step 2: see the script file "customer_alsa_build.sh"
            file full context:


#!/bin/sh

# This script must be run from this directory

BUILD_ROOT=$PWD/../..
TOP=$PWD
LINUX=$BUILD_ROOT/linux-2.6.16.16

mkdir tmp;

# Create the directory tree to export
mkdir -p $BUILD_ROOT/arm-linux-elf/lib/modules/sound
mkdir -p $BUILD_ROOT/arm-linux-elf/src
mkdir -p $BUILD_ROOT/arm-linux-elf/bin
mkdir -p $BUILD_ROOT/arm-linux-elf/etc
mkdir -p $BUILD_ROOT/arm-linux-elf/usr/share/alsa

# Compile the ALSA driver
tar xjf alsa-driver-1.0.11-Olo.tar.bz2
cd alsa-driver-1.0.11
rm Makefile.conf
./configure --with-cross=arm-linux- --prefix=$TOP/tmp --with-kernel=$LINUX --with-redhat=no --with-suse=no --with-oss=no --with-cards=dummy,usb-audio
make
cd ..

# Copy the modules for the target
mkdir -p $BUILD_ROOT/arm-linux-elf/lib/modules/sound
cp alsa-driver-1.0.11/acore/snd-hwdep.ko        \
   alsa-driver-1.0.11/acore/snd.ko              \
   alsa-driver-1.0.11/acore/snd-page-alloc.ko   \
   alsa-driver-1.0.11/acore/snd-pcm.ko          \
   alsa-driver-1.0.11/acore/snd-timer.ko        \
   alsa-driver-1.0.11/acore/snd-rawmidi.ko      \
   alsa-driver-1.0.11/acore/seq/snd-seq-device.ko \
   alsa-driver-1.0.11/acore/seq/snd-seq-dummy.ko \
   alsa-driver-1.0.11/usb/snd-usb-audio.ko      \
   alsa-driver-1.0.11/usb/snd-usb-lib.ko        \
   $BUILD_ROOT/arm-linux-elf/lib/modules/sound


# Cross-Compile curses
tar xzf ncurses-5.5.tar.gz
cd ncurses-5.5/
CC=arm-linux-gcc ./configure --host=arm-linux --target=arm-linux --build=i386-linux --with-softfloat --prefix=$TOP/tmp
make
make install
cd ..

# Cross-Compile ALSA library
tar xjf alsa-lib-1.0.11-Olo.tar.bz2
cd alsa-lib-1.0.11
CC=arm-linux-gcc ./configure --host=arm-linux --target=arm-linux --build=i386-linux --with-softfloat --exec-prefix=$TOP/tmp --includedir=$TOP/tmp/include
make

# copy libraries and headers target

datadir=$TOP/tmp/share make -e install
arm-linux-strip $TOP/tmp/lib/libasound.so.2.0.0
cp $TOP/tmp/lib/libasound.so.2.0.0 $BUILD_ROOT/arm-linux-elf/lib/
mkdir -p $BUILD_ROOT/arm-linux-elf/include/
cp -a $TOP/tmp/include/alsa $BUILD_ROOT/arm-linux-elf/include/
pushd $BUILD_ROOT/arm-linux-elf/lib
rm -f libasound.so.2
rm -f libasound.so
ln -s libasound.so.2.0.0 libasound.so.2
ln -s libasound.so.2.0.0 libasound.so
popd
cd ..


# Cross-Compile ALSA utils
tar xjf alsa-utils-1.0.11.tar.bz2
cp alsa-utils-1.0.11.tar.bz2 $BUILD_ROOT/arm-linux-elf/src
cd alsa-utils-1.0.11
CC=arm-linux-gcc ./configure --host=arm-linux --target=arm-linux --build=i386-linux --with-softfloat --prefix=$TOP/tmp --with-alsa-prefix=$TOP/tmp/lib/ --with-alsa-inc-prefix=$TOP/tmp/include CPPFLAGS="-I$TOP/tmp/include/alsa -I$TOP/tmp/include/ncurses"
make
make install
arm-linux-strip $TOP/tmp/bin/aplay
cp $TOP/tmp/bin/aplay $BUILD_ROOT/arm-linux-elf/bin
(cd $BUILD_ROOT/arm-linux-elf/bin; rm -f arecord; ln -s aplay arecord)

    run it in your Shell Term

(complete)

enjoy!


Corner Zhang 2008-08-04 12:45 发表评论
]]>
[转]Ubuntu 7.04上安装samba与windows׃nhttp://www.shnenglu.com/CornerZhang/archive/2008/07/24/57018.htmlCorner ZhangCorner ZhangThu, 24 Jul 2008 01:55:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/07/24/57018.htmlhttp://www.shnenglu.com/CornerZhang/comments/57018.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/07/24/57018.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/57018.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/57018.html先是L斚w的设|?
[global]
workgroup = frog studio
server string = Ubuntu Samba Server
log file = /var/log/samba/log.%m
security = share
encrypt passwords = no
(其它按默认设|?
然后是共享目录设|?
[Share Directory]
comment = My Share Directory
path = /home/share
read only = yes
public = yes
writable = yes
讄完成?我们先输入testparm来测试一下我们的讄有没有错,如果?pȝ会有提醒...定没有错后,我们q要重启一下我们的Samba服务器来让设|生?
/etc/init.d/samba restart
接下来我们再q行一ơ客L的自我测?
smbclient -L //localhost
然后我们可以看到刚刚我们共享的目录名Share Directory,呵呵 ... q入Windows|上d找一?我们可以对Linux的共享目录进行访问了...?下面来提高一下我们的权限:
L斚w的设|?br />[global]
workgroup = frog studio
server string = Ubuntu Samba Server
log file = /var/log/samba/log.%m
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
׃n目录讄
[Share Directory 2]
comment = My Share Directory 2
path = /home/share2
writable = yes
valid users = %S(有权限进入?
create mode = 0664
directory mode = 0775
讄完成?再次重启Samba服务?但现在先不要急于跑到windows下去试,因ؓq个是要用户名和密码?下面我们先创建登录用户和d密码:
useradd smb (创徏pȝ用户?
passwd smb (创徏pȝ用户密码)
smbpasswd -a smb (在密码文仉新增一个用?
#smbpasswd -d smb (暂停用户d)
#smbpasswd -e smb (恢复暂停用户)
#smbpasswd -x smb (删除用户)
更多操作请参考man smbpasswd
创徏好密码文件后,试Samba讄,testparm,试正常?查看一下我们的׃n目录:
smbclient -L //localhost
一切就l?我们打开windows下的|上d,d׃n目录,输入用户密码,呵呵 ... 可以看到我们Linux下的׃n目录?q且可以L创徏删除文g,从此让我们的Windows和Linux互联?..

Corner Zhang 2008-07-24 09:55 发表评论
]]>
Olo-Linux下编译freealuthttp://www.shnenglu.com/CornerZhang/archive/2008/07/16/56305.htmlCorner ZhangCorner ZhangWed, 16 Jul 2008 07:35:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/07/16/56305.htmlhttp://www.shnenglu.com/CornerZhang/comments/56305.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/07/16/56305.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/56305.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/56305.htmlhttp://www.openal.org/openal_webstf/downloads/freealut-1.1.0.tar.gz
   我的OpenAL安装目录在系l变量OPENAL_OLO_DIR?br />
2 讄环境变量:
   输入
   CPPFLAGS="-I${OPENAL_OLO_DIR}/include"
   LDFLAGS="-L${OPENAL_OLO_DIR}/lib"
   export CPPFLAGS LDFLAGS

3 ~译讄:
   输入: CC=arm-linux-gcc ./configure -prefix=$PREFIX -target=arm-linux --enable-shared -with-softfloat --host=arm-linux

4 ~译
   make

5 安装
  make install

6 认的方法与~译OpenALҎ的相?br />
(end)

Corner Zhang 2008-07-16 15:35 发表评论
]]>
Olo--Linux下编译出OpenAL SDKhttp://www.shnenglu.com/CornerZhang/archive/2008/07/16/56301.htmlCorner ZhangCorner ZhangWed, 16 Jul 2008 07:13:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/07/16/56301.htmlhttp://www.shnenglu.com/CornerZhang/comments/56301.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/07/16/56301.html#Feedback2http://www.shnenglu.com/CornerZhang/comments/commentRss/56301.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/56301.htmlhttp://www.openal.org/openal_webstf/downloads/openal-0.0.8.tar.gz
2 解开到某个目录下Q然后cdq来
3 讄~译:
  输入 export "PREFIX=/MyDev/OLO_PDK/arm-linux-elf/"
  CC=arm-linux-gcc ./configure -prefix=$PREFIX -target=arm-linux --enable-shared -with-softfloat --host=arm-linux
4 ~译SDK:
  输入 make
5 安装:
  输入 make install
6 认安装是否成功Q进入Olo的开发包的include和lib中去看看Qinclude中会多出al目录Q以及三个header; lib中多出libsound.so.2.0.0以及其它的target link

(end)

Corner Zhang 2008-07-16 15:13 发表评论
]]>
试用Microsoft XNA Express 2.0感触http://www.shnenglu.com/CornerZhang/archive/2008/07/03/55192.htmlCorner ZhangCorner ZhangThu, 03 Jul 2008 02:42:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/07/03/55192.htmlhttp://www.shnenglu.com/CornerZhang/comments/55192.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/07/03/55192.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/55192.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/55192.html主要特色
1 ZC#~程Q依赖于.net framework
2 与Visual Studio pd高度集成
3 具备一套完整的开发流E,从编?>调试->资源整合Q还有单元测试和协作开?br />4 较充分的入门文档Q完备的api reference

个h感受
× 是microsoft力推.netq_的游戏市?br />× 是奴役一部分游戏Ch的良好开端,与当初的Visual Basic 6.0一个思\
× 用它的公司或个h失L戏开发的核心价倹{创造?br />× 是维持Windows + Visual Studio + XBox 360q个链条的扣?/p>

Corner Zhang 2008-07-03 10:42 发表评论
]]>
Work on Linux -- Ubuntu 8.04 LTS desktop systemhttp://www.shnenglu.com/CornerZhang/archive/2008/06/20/54122.htmlCorner ZhangCorner ZhangFri, 20 Jun 2008 05:28:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/06/20/54122.htmlhttp://www.shnenglu.com/CornerZhang/comments/54122.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/06/20/54122.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/54122.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/54122.html
o_UB_sp.jpg




Corner Zhang 2008-06-20 13:28 发表评论
]]>
Ubuntu 7.10 上安?CodeBlocks Binaryhttp://www.shnenglu.com/CornerZhang/archive/2008/06/18/51589.htmlCorner ZhangCorner ZhangWed, 18 Jun 2008 01:52:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/06/18/51589.htmlhttp://www.shnenglu.com/CornerZhang/comments/51589.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/06/18/51589.html#Feedback3http://www.shnenglu.com/CornerZhang/comments/commentRss/51589.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/51589.htmlref url: http://lgp203.free.fr/spip/spip.php?article1

具体安装步骤如下Q?
1、安装必要组?
代码:
sudo apt-get install build-essential

代码:
sudo apt-get install gdb

4、安装最?wxWidgets ?
代码:
sudo apt-get update

代码:
sudo apt-get install libwxgtk2.8-0 libwxgtk2.8-dev wx2.8-headers wx-common

5、设|?wxWidgets 默认版本
代码:
sudo update-alternatives --config wx-config

6、下?Code::Blocks 每夜构徏版本
sudo gedit /etc/apt/sources.list
在最后一行的后面加一?br />deb http://lgp203.free.fr/ubuntu/ gutsy universe
获得密钥
wget -q http://lgp203.free.fr/public.key -O- | sudo apt-key add -
下蝲 q且 安装
sudo apt-get install libcodeblocks0 codeblocks libwxsmithlib0 codeblocks-contrib

or download the install package from CodeBlocks site:

wget http://downloads.sourceforge.net/codeblocks/codeblocks-8.02-src.tar.bz2

tar xzf codeblocks-8.02-src.tar.bz2

... and then install these deb packages




Corner Zhang 2008-06-18 09:52 发表评论
]]>
NFS在ubuntu 7.10上简单安?改进)http://www.shnenglu.com/CornerZhang/archive/2008/06/16/53552.htmlCorner ZhangCorner ZhangMon, 16 Jun 2008 08:01:00 GMThttp://www.shnenglu.com/CornerZhang/archive/2008/06/16/53552.htmlhttp://www.shnenglu.com/CornerZhang/comments/53552.htmlhttp://www.shnenglu.com/CornerZhang/archive/2008/06/16/53552.html#Feedback0http://www.shnenglu.com/CornerZhang/comments/commentRss/53552.htmlhttp://www.shnenglu.com/CornerZhang/services/trackbacks/53552.htmlhttp://timoqi.blogbus.com/logs/17282973.html

server端:

首先是安装服务器相关软g

sudo apt-get install nfs-kernel-server

然后是编?/font>/etc/exports

dQ?/font>/home 172.16.30.211(rw,ro,sync,subtree_check)

exports文g的具体修Ҏ式可以通过 man exports

/home为服务器上需要映的目录

172.16.30.211为客LIPQ也可以写成 172.16.30.0/24 q样的网DŞ?/font>


执行exportfs -rv

用来重新q行同步׃nQƈ昄出来


最后重启下nfs服务器程序就可以?/font>

sudo /etc/init.d/nfs-kernel-server start

client?/font>

?/font>7.10?/font>client端需要安?/font>nfsQ?/font>common

sudo apt-get install nfsQ?/span>common
映射服务器端?/span>/home目录sudo mount -t nfs 172.16.30.189:/home /home

值得注意的是:
sudo

NFS?/font>ubuntu7.10下安?/font>

server端:

首先是安装服务器相关软g

sudo apt-get install nfs-kernel-server

然后是编?/font>/etc/exports

dQ?/font>/home 172.16.30.211(rw,subtree_check)

exports文g的具体修Ҏ式可以通过 man exports

/home为服务器上需要映的目录

172.16.30.211为客LIPQ也可以写成 172.16.30.0/24 q样的网DŞ?/font>


执行exportfs -rv

用来重新q行同步׃nQƈ昄出来


最后重启下nfs服务器程序就可以?/font>

sudo /etc/init.d/nfs-kernel-server start

client?/font>

?/font>7.10?/font>client端需要安?/font>nfsQ?/font>common

sudo apt-get install nfsQ?/span>common映射服务器端?/span>/home目录sudo mount -t nfs 172.16.30.189:/home /home 在我的机器上p|
我输?mount -t nfs 172.16.1.82:/MyDev /mnt/tmp 成功







Corner Zhang 2008-06-16 16:01 发表评论
]]>
޹˾ƷŮ˾þþ| þۺϹ׾Ʒ| þþƷһԡ | þþƷ| þרƷ| ճˮþ޾Ʒtv| þۺɫ֮þۺ| ԸߺþþþþþþAAAAA | ŷۺϾþþ| 69Ʒþþþùۿ| ˾þ뾫ƷĻ| þþþ޾Ʒһ | þþƷӰѿ| þ96Ʒþþ| 91鶹Ʒ91þþþþ| þѸƵ| þˬˬˬav| պľþ| ɫۺϾþĻ| Ʒһþ㽶߿ۿ | 91Ʒþþþþù۲| ˾þۺ2020| þһ| ŵþ| 99þùۺϾƷŮͬͼƬ| þþƷ99þ㽶ɫ| þþƷ91þ鶹| þùƷҰAV| ɫԭһþۺ| þþһƷ99þþƷ66| Ʒ999þþþþĻ| þþþavӰ | ˾þô߽AVһ| 99Ʒþþþþþ| þþ޹| һþۺ³³ŷһ| ԸߺþþþþþþAAAAA | ˾þۺϳ| þù˾Ʒ鶹| þ99Ʒþ99С˵| ޾Ʒ99þ|