“嗡嗡嗡——!”
光驱开始疯狂转动。
整个硬件测试实验室里,几十个大老爷们连气都不敢喘。
刚才这台破测试机在windows桌面上的表现,简直惨不忍睹,鼠标拖出一条长长的残影,窗口卡得像在看ppt。
所有人都捏了一把汗。
盖瑞蹲在主机旁边,手抖得像得了帕金森。
他在键盘上敲下一行决定命运的指令。
quake.exe
回车。
“啪。”
屏幕瞬间黑了。
柯蒂斯站在角落里,双手抱胸,嘴角带着一抹讥讽的冷笑。
“没用的。”柯蒂斯冷冷地开口,“卡马克是个技术疯子,《雷神之锤》的引擎完全是建立在openGL的基础上的,它需要庞大的浮点运算能力。”
柯蒂斯看了一眼坐在后面瘫在椅子上的林哲:“你把底层硬件的浮点模块全砍光了,就靠你在驱动里写的那几行破包裹器?你想用软件去骗游戏引擎?”
柯蒂斯摇了摇头,满脸的不屑。
“这根本不是转译,这叫螳臂当车,这游戏只要一载入3d贴图,你那个流氓拦截层绝对会当场崩溃,总线会被死循环活活憋死。”
大家都听得心惊肉跳。
柯蒂斯可是图形学的大佬,他的话就像法官的判决书。
戴夫吓得两腿发软,紧紧盯着黑掉的屏幕。
老黄也没吭声,拳头捏得死紧,手心里全特么是汗。
唯独林哲。
他大爷似的瘫在椅子里,手里拿着根牙签,不紧不慢地剔着牙。
刚才在办公室吃了太多坚果,有点塞牙。
“别特么废话了,盯着屏幕看。”林哲眼皮都没抬,随口吐出一句。
话音刚落。
黑色的屏幕上,突然闪出一个巨大的红色“id”标志。
紧接着,经典的半透明控制台像卷帘门一样,唰的一下掉了下来!
上面开始疯狂滚动白色的载入代码。
没有死机!
没有蓝屏!
控制台卷上去的瞬间,画面直接切入游戏的主菜单。
深红色的背景,诡异的背景音乐。
一切正常!
“进去了!”盖瑞蹲在地上,嗷的一嗓子叫了出来。
“别高兴太早!这只是菜单!还没渲染3d多边形呢!”柯蒂斯咬着牙,盯着屏幕。
林哲把牙签扔进垃圾桶:“盖瑞,开新游戏,第一关。”
盖瑞赶紧握住鼠标,点了“New Game”。
画面再次一黑。
“载入中……”
短短两秒钟。
“轰!”
一声低沉的游戏音效响起。
第一人称视角瞬间出现!
灰暗的金属走廊,粗糙但立体的墙壁纹理,手里端着一把极具金属质感的霰弹枪。
这就是1996年震撼全球的真3d神作——《雷神之锤》!
“戴夫,去,耍两把。”林哲扬了扬下巴。
戴夫早就按捺不住了。
他一个箭步冲上去,一把挤开盖瑞,一屁股坐在电脑前。
他握住鼠标,手心里全是汗。
他轻轻晃了一下鼠标。
屏幕上的视角,瞬间跟着转动。
丝滑!
没有任何迟滞!没有任何拖影!
戴夫眼睛一下子瞪圆了。
他猛地一甩鼠标,视角直接来了一个一百八十度的大转身。
屏幕上的画面顺畅得让人头皮发麻。
“上帝啊……”
“这也太顺了吧!”
戴夫左手按在键盘的wASd键上,控制着游戏里的人物开始往前狂奔。
穿过走廊!
跳下台阶!
迎面突然扑过来一只张牙舞爪的怪物!
“砰!”
戴夫下意识地按下左键,霰弹枪火光四射。
怪物的身体瞬间炸开,血肉模糊的多边形块块四处飞溅。
光影交错!爆炸特效满屏!
画面依然稳如老狗!
没有撕裂!
没有卡顿!
“帧数!快看帧数!”胖子伊恩在后面扯着嗓子大吼。
戴夫手忙脚乱地按下控制台快捷键,把实时帧率监控给调了出来。
屏幕左上角。
跳出一个亮黄色的数字。
“60”。
戴夫继续控制着人物疯狂转圈,对着墙壁一顿乱轰,火箭筒的爆炸火光把整个屏幕都填满了。
那个黄色的数字,就像是用电焊焊死在屏幕上一样。
一动不动。
满血60帧!
这在刷新率普遍只有60hz的cRt显示器时代,就是物理意义上的满帧运行!
整个实验室,一片死寂。
几十号工程师,全都傻眼了。
老黄两步跨到屏幕跟前,脸都快贴到玻璃上了。
他盯着屏幕上的“60”,眼珠子通红。
“满帧……”老黄的声音都在发颤,“在没有浮点运算单元的情况下,跑卡马克的游戏,居然跑出了满帧?”
角落里的柯蒂斯,整个人僵住了。
他引以为傲的技术常识,在这一刻被敲得粉碎。
他不敢相信自己的眼睛。
他大步冲过去,一把推开戴夫。
“起开!让我看!”
柯蒂斯趴在屏幕前,眼睛恨不得长在那些多边形上。
他看到什么?
他看到林哲那个所谓的流氓拦截层,到底干了什么伤天害理的事情!
这特么就是明目张胆的抢劫!
《雷神之锤》的引擎不断发出openGL指令,要求硬件去计算精准的光照折射,要求去处理复杂的浮点坐标。
结果这些指令刚一出门。
就被林哲写在驱动里的拦截层,直接给套了麻袋,拉进了黑胡同。
拦截层三下五除二,把这些高贵指令身上复杂的参数全给扒光了!
什么浮点精度?不要!
什么高级光影?砍掉!
拦截层把这些指令扒得只剩下一条最基础的底裤,粗暴地打包成了direct3d最喜欢的三角形数据。
然后,像填鸭一样,死命往NV3那条被精简到极致的硬件管线里塞!
硬件管线才不管你以前多高贵。
它只知道吃三角形,然后吐出画面。
因为管线短,因为没有冗余的复杂计算,这条管线的吞吐速度快得吓人!
这就好比。
卡马克在高级法餐厅点了一份精美的法式鹅肝。
林哲这个黑心包工头,直接在后厨把鹅肝扔了,换上一块十块钱的炸猪排,随便淋了点酱汁,就给端了上去。
卡马克的引擎吃得满嘴流油,根本没发现不对劲。
玩家看着屏幕上流畅的画面,也根本不在乎细节。
“你看这墙壁边缘的纹理!”
柯蒂斯指着屏幕上一处不起眼的阴影,声音发抖,“过滤精度完全不对!这里的Z轴深度计算差了零点几个像素!这画面是糙的!它在丢帧细节!”
柯蒂斯转头看着林哲,像看着一个玷污了艺术品的罪人。
“你这是在作弊!你牺牲了图形学的尊严!”
林哲坐在椅子上,掏了掏耳朵。
他站起身,慢吞吞地走到柯蒂斯旁边。
林哲一把抢过戴夫手里的鼠标。
控制着游戏里的人物,直接扛起一把火箭筒,对着脚底下的地板轰了一炮。
“轰!”
人物借助爆炸的冲击力,直接腾空而起。
一套丝滑流畅的火箭跳,在半空中转身,一炮轰碎了远处的两个怪物。
漫天的血肉和火光。
帧数:60。
林哲松开鼠标,转头看着脸色惨白的柯蒂斯。
“柯蒂斯。”林哲冷笑一声。
“你告诉我。”
“刚才老子在天上飞的时候,谁特么有功夫去拿放大镜看墙角那零点几个像素的误差?”
柯蒂斯张了张嘴,半个字都说不出来。
林哲伸出一根手指,用力敲了敲屏幕。
“去电脑城看看吧。”
“现在市面上最牛逼的3dfx Voodoo加速卡,卖两三百美金,还得外接一根线连着2d卡,跑这个游戏也就三四十帧撑死了。”
“咱们这块卡呢?”
林哲指着满是飞线的破测试板。
“咱们这块卡,造价低得离谱,2d和3d全包了。”
“上机直接跑出满血60帧!”
林哲步步紧逼,盯着柯蒂斯的眼睛。
“你觉得玩家会选你那个掉帧的艺术品,还是选老子这把虽然糙、但能砍死所有人的西瓜刀?”
柯蒂斯后退了一步。
他看着屏幕上流畅旋转的恶魔雕像。
他不得不承认,林哲赢了。
这块芯片没有艺术。
只有粗暴至极的多边形吞吐量。
只有赤裸裸的商业杀伤力。
柯蒂斯的肩膀一下子垮了下来。
他没有再反驳一句,默默转过身,一言不发地走出了实验室。
实验室里。
死寂了几秒钟。
然后。
砰!
老黄一巴掌狠狠拍在桌子上。
这一巴掌,直接把实验室的气氛给点炸了。
“成了!”
老黄满脸狂喜,眼泪都在眼眶里打转。
他冲过去一把搂住林哲的肩膀,力气大得差点把林哲给勒死。
“林哲!你特么就是个天才!这块卡绝对能把整个市场给掀翻!”老黄激动得语无伦次。
“满帧!居然是满帧!咱们拿着这个数据去给戴尔看,他们绝对得跪下来求咱们发货!”
戴夫和胖子伊恩在旁边跟着疯叫。
杰弗里直接开始在实验室里跳起了踢踏舞,西装都快崩开了。
“发财了发财了!老子要去买法拉利!老子要把康柏的采购总监按在地上踩!”杰弗里嚎得嗓子都破了。
整个实验室变成了欢乐的海洋。
林哲被老黄勒得直翻白眼。
他嫌弃地一把推开老黄。
“行了行了,别把鼻涕蹭我卫衣上。”
林哲拍了拍肩膀,理了理衣服。
他看着这帮乐疯了的硅谷大佬,打了个大大的哈欠,“测完了吧?测完了我就下班了。”
林哲双手插进裤兜里,晃晃悠悠地往外走。
“困死老子了,今天晚上谁也别拦着我睡觉。”
老黄在后面看着林哲的背影。
他现在看林哲,怎么看怎么顺眼。
老黄猛地转过身,一巴掌拍在杰弗里的肩膀上,大手一挥:“你们先别急着走,给我精神点!”
“杰弗里!盖瑞!马上把这些跑分数据打出来!把测试录像打包!”
“现在!立刻!第一时间给我传真到戴尔德州总部!老子今晚就要看看那个史密斯还能不能傲得起来!”