My MSN

Click OK to add this content

 
Content Preview: rss
-+5月7日
934 days ago
No description is available for this feed.
-+转自好友shark曾经的一篇:谈论 Quake-III原代码里的神奇的浮点开方函数!
967 days ago
引用 Quake-III原代码里的神奇的浮点开方函数! Quake-III Arena (雷神之锤3)是我大学时期爱玩的经典游戏之一。喜爱这个系列的游戏,不仅因为画面和内容,更重要的是我得计算计配置低,但Q3A却能极其流畅地运行。这要归功于它3D引擎的开发者约翰-卡马克(John Carmack)。事实上早在90年代初DOS时代,只要能在PC上搞个小动画都能让人惊叹一番的时候,John Carmack就推出了石破天惊的Castle Wolfstein, 然后再接再励,doom, doomII, Quake...每次都把3-D技术推到极致。他的3D引擎代码资极度高效,几乎是在压榨PC机的每条运算指令。当初MS的Direct3D也得听取他的意见,修改了不少API。   最近,QUAKE的开发商ID software 遵守GPL协议,公开了QUAKE-III的原代码,让世人有幸目睹Carmack传奇的3D引擎的原码。   这是QUAKE-III原代码的下载地址:   http://www.fileshack.com/file.x?fid=7547   注意下载时,第一次弹出页面要求登陆,选择上面的不登陆(速度受限制),然后选择“download now”,弹出窗选左边排队等待。我运气好,第二次就下到了,速度还很快。   我们知道,越底层的函数,调用越频繁。3D引擎归根到底还是数学运算。那么找到最底层的数学运算函数(在game/code/q_math.c), 必然是精心编写的。里面有很多有趣的函数,很多都令人惊奇,估计我们几年时间都学不完。   最令人惊讶的是平方根函数sqrt()。课本里说的,基本上是牛顿跌代法,通过若干步的叠代,结果越来越接近真实结果。   但q_math.c里面却给出了这样奇异的平方根函数:(我的注释) float Q_rsqrt( float number ) {   long i;   float x2, y;   const float threehalfs = 1.5F;   x2 = number * 0.5F;   y  = number;   i  = * ( long * ) &y;         // 浮点数按BIT强行赋给长整形   i  = 0x5f3759df - ( i >> 1 ...
-+3.16 事业培育期的小例子
985 days ago
每周五下午固定的课题组例会上,老板讲了好多,其中最重要的部分,我在散会后一段时间才体会到。     前一段时间,一直觉得哪里不对劲。
-+我不得不说的话。
1020 days ago
自己不要没意义的兜圈子了,第一份工作就做Accenture的一名普通的小小咨询师吧,寒假抽出时间陪陪家人,陪陪李老师,陪他们做一件儿女们应该做的事。   这十年,那十年...15-25-35... 不去妄自猜测世界,不在那些先来者已经经历后唾弃的事实面前迷茫。   前两天跟父母聊天,老妈说:想你这样子没头脑光是主意正的样子,早晚要吃亏。。。。老爸说:你做这么多事,那几件属于事半功倍的?
-+在别人的故事里,是不是也看到了自己的影子? 哈哈
1024 days ago
3.8要提交论文供盲审。     人一生,差不多有两三次机会吧,走对了可以少一些曲折,错的话。。。   那一年是1989的十月,上海,他跟朋友从美国来寻找生意的机会,认识了在一家医院上班的她,小伙据说从18岁参军之后就一直很少见到美丽的女人,而奇妙的际遇,成就了这一对年龄相差10岁的恋人。   想得到吗? 那一个月在离外滩不远的金陵东路上,他亲眼看到,在推动沉重的碾轮在刚浇筑好的柏油路前进的,不是韩国或者日本的机车,而是背上扛着麻绳的,人。   年轻人总是浪漫的,当时的她是整个医院的关注焦点,住宿楼下小卖铺唯一的公用电话,自从短短的两周相处之后分开的两颗心每一个夜晚的热线。   可是,他在美国洛杉矶已经生活了快10年,已经有了家庭,这个臭男人。。。   。。。。。。   故事没有完结,因为直到今天两个人都还过着各自的生活,而且 问题不是双方的背景。
© 2009 MicrosoftMicrosoft