今天看到一篇Blog,点击这里看原文,分析了一段Quake III的源代码,是求平方根的,代码片断如下: /*================SquareRootFloat================*/float SquareRootFloat(float number) { long i; float x, y; const float f = 1.5F; x = number * 0.5F; y = number; i = * ( long * ) &y; i = 0x5f3759df - ( i >> 1 ); //注意这一行 y = * ( float * ) &i; y = y * ( f - ( x * y * y ) ); y = y * ( f - ( x * y * y ) ); return number * y;}学过数值分析的朋友应该能看懂 看 完后不得不佩服John Carmack的功力。作为图形学和3D游戏的泰山北斗,Carmack一直是我非常尊敬的大师,当初发布Doom的时候,引起了一阵下载狂潮,导致服务 器崩溃。是他天才的编程能力带领我们走入了3D世界,由他领导的只有13名员工的id software,公司楼下每天停靠着13辆法拉利跑车的故事曾经在游戏界传为经典。而且他为人非常谦虚,从来不居功自傲,还把源代码公开,非常值得我们 学习。Carmack现在全身心投入建造他的个人火箭,期待着早日看到他飞向太空。
转载请注明原文地址: https://ibbs.8miu.com/read-26084.html