精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● 计算机图形>>图形硬件>>巫毒不毒——用模拟器仿真Voodoo!

主题:巫毒不毒——用模拟器仿真Voodoo!
发信人: benbow()
整理人: funboy(1999-11-24 10:06:58), 站内信件
  记得十年前第一次接触Nintendo FC(任天堂红白机)的《超级玛丽奥兄弟》
时,笔者曾为当时的游戏技术惊叹不已;十年后,当Nintendo在最新推出的N64游
戏机上以仅仅8MB容量的数据再次重现这一脍炙人口的卡通形象时,其生动优美的
画面和精彩紧张的故事情节仍然令那些动辄几张光盘的PC游戏为之汗颜。于是乎
,在广大玩家的热切期盼下,一个可以在PC平台上运行N64游戏的模拟器UltraHL
E诞生了。这个容量仅有170多KB的模拟器的确可以称得上是游戏模拟史上的一个
里程碑——无论从画面质量、光影效果还是流畅度上,都丝毫没有给人以“电脑
模拟”的感觉。然而,运行UltraHLE需要一块支持Glide API的3D图形卡,这类图
形卡仅有3dfx公司的Voodoo系列显卡,如Voodoo、Voodoo2、Voodoo3和Voodoo B
anshee。虽然现在购买Voodoo算不得是太奢华的配置,但是相信并不是每一个电
脑玩家都愿意为了运行UltraHLE而配备Voodoo卡。那么为什么只有采用了3dfx V
oodoo系列的3D图形卡才能运行N64模拟器呢?这还得从Glide与Direct3D说起。

  Glide(3dfx's Proprietary Programming Interface)——3dfx公司为其产
品量身定制的专用应用程序接口(API),它可以令Voodoo系列3D加速卡的各项特
色在游戏中得到最充分的发挥。在短短的时间里,3dfx公司在游戏专用3D显卡领
域取得重要的地位,所以很多新编写的3D游戏都以Glide接口为第一标准,包括上
面提到的N64模拟器——UltraHLE在内。这自然也令非3dfx的用户多少有些遗憾,
因为其它像TNT、Savage3D、G200、i740、Riva128等3D显卡只能支持Direct3D或
OpenGL。在这种情况下,Glide仿真软件(或称包装程序,Wrappers)自然也就应
运而生了。
  Glide仿真软件其实就是对游戏过程中调用的Glide接口的函数进行解释并重
新定向的一种程序。它通过将Glide转换为对Direct3D或OpenGL的函数调用来实现
对Glide的模拟功能,从而使那些原本只支持Glide接口,没有3dfx Voodoo加速卡
就不能运行的程序可以直接在普通的3D图形卡上运行。这样,只要有一台配置不
算太低的电脑(MMX200以上CPU、32MB以上RAM、Riva 128以上的3D图形卡),您
就可以享受到《玛丽奥64》的乐趣了。当然,由于现有的Glide仿真程序大多都是
为UltraHLE模拟器编写,因而对于其它3D游戏来说,Glide仿真程序的函数调用难
免有些Bug,不一定能够正常运行。
  第一个推出的Glide仿真程序当属GliD3D V0.24,这是所有Glide仿真程序的
鼻祖。它一开始就公布了所有的程序代码,这对于其它后继的开发者来说无疑是
莫大的帮助。在其带动下,十余个性能各异的Glide仿真程序相继诞生,这些仿真
程序使用都很简单,升级也很快,几乎每周都会有新的版本出现。并且大多数的
仿真程序都无偿提供了源码,对编程爱好者来说可以作为参考。
下面就常用的两个Glide仿真程序做一介绍。

一、XGL200    

  这是笔者得到的第一个Glide仿真程序,也是众多Glide模拟器中的佼佼者。
XGL200的使用方法很简单,只要将下载好的glide2x.dll和Configurator.exe两个
文件拷贝到UltraHLE目录,再运行Configurator进行参数设置就可以了。XGL200
提供了极为丰富的参数控制界面,您可以根据自己的显卡特性对各项参数进行设
置,从而得到最优的游戏性能。设置参数意义解释如下:
●Vsync——决定在交换缓存之前是否要等待垂直刷新信号。把本项设置为“Off
”时可使速度略为提升,但屏幕有可能会出现闪烁现象;
●Antialiasing——反锯齿。可使图像边沿平滑,但会降低速度,且只有某些显
卡能支持这一选项。
●Texture clamp mode——如果画面出现重影,选择“alternate(交替)”的贴
图方式可将之消除。
●Z-Buffer——Z缓冲。可用于解决“out of order polygon”的问题。对于G20
0的用户,打开“32 bit Z-Buffer”可获得最佳显示效果。
●AlphaOps/ColorOps——α及色彩选项。建议高级用户使用。当复选框为灰色时
表示“使用默认值”。另外,如果运行《玛丽奥64》片头时玛丽奥的头是黑色,
取消“D3DTOP_ADD”可使之恢复正常。
●FPS Count——在屏幕的左上角放置一个小巧的帧计数器可以获悉当前游戏运行
的速率,选中该项会稍许降低系统性能,故建议仅在评测时使用。
●Process Priority——实际上,该项仅仅是为了超任64模拟器UltraHLE设置的
,尽管对于其它游戏也同样有效。将它设置为high或实时模式可提高UltraHLE的
优先权,从而增加模拟器的流畅度。
●Buffering——若显卡配置了8MB以上的显存,则三线缓冲可以得到最快的速度
,但在某些游戏中可能会有兼容性问题,这时改为双线缓冲即可解决。
●Card model——显卡类型。系统将针对各种显卡的特性做出相应的优化配置。

●Emulated Texture Memory——设置运行程序所需要的贴图内存。

二、GL2IDE    

  这也是一个极为优秀的Glide仿真程序,画面质量非常精美,速度和其它各方
面指标也不错。GL2IDE的使用方法与XGL200一样,只需要将glide2x.dll和GL2ID
Econfig.exe拷贝到UltraHLE所在目录就可以了。运行GL2IDEconfig.exe可对GL2
IDE进行设置,设置参数意义解释如下:
●Run Fullscreen——选中该项时,模拟器将以全屏方式运行,如果全屏方式失
败或不选中此项,模拟器将以窗口模式运行。
●Blend Fix —— 选中这一项,可以防止丢失多边形,保证画面完整。
●Precision Fix——选择该项能修正某些16bit缓冲的加速卡上出现的画面缺失

●Auto Generate Mipmaps——选中该项会自动在材质上产生许多映射图像,从而
在UltraHLE中获得更好的视觉效果。
●Use Z Inverse for depth——该项仅对TNT显卡起作用,它可以改善画质。
●Fog Mode——雾化功能,但还不能完全正常工作,所以最好把该项关闭。但在
《Zelda 64》和《玛丽奥64》中,选用Mode2绝无异常。
  这里建议的设置参数是除了“Use Z Inverse for depth”之外,可以使用其
它的所有设定。如果你使用的是一块TNT显示卡,建议将“Use Z Inverse for d
epth”也一起选中,这样可以得到最佳的画面质量。同时,最好使用nVidia 0.4
8的驱动程序,因为使用最新的“Detonator”驱动程序时,雾化功能可能会出现
一些问题。
  此外,比较优秀的Glide仿真程序还有XGlide 1.3a、MGLide 1.246c、MUGLi
de、GlideGL64和OpenGLide0.02等。这几个Glide仿真程序的使用非常方便,因为
它们都只有一个文件,即glide2x.dll,所以只要将它拷贝到UltraHLE所在的目录
就可以了。在第一次运行时,它们都会自动产生一个INI文件,通过修改这个INI
文件即可修改这些Glide仿真程序的设置。限于篇幅,这里就不做详细说明了。

以上介绍到的Glide仿真程序均可在作者的网站http://dcyane.163.net自由下载
,此外,在http://www.game.expert.net.tw/N64emu.htm和http://www.gdnt.co
m.cn/emu/n64dl.htm上也可以找到关于N64模拟器以及Glide仿真程序的最新消息
以及各种N64的ROM文件。 

--
       __    ____  _   _  __  __  _  _    ___  _   _  _____  ____
      (  )  (_  _)( \_( )(  )(  )( \/ )  / __)( )_( )(  _  )(  _ \
       )(__  _)(_  )) ((  )(__)(  )  (   \__ \ ) _ (  )(_)(  )___/
      (____)(____)(_) (_)(______)(_/\_)  (___/(_) (_)(_____)(__)
大量 Linux 文档,最新新闻,光盘邮购服务,技巧文章,历史简介,家族成员介绍
          Http://benbow.163.net/     E-Mail:[email protected]

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.130.8.30]

[关闭][返回]