所以我想用修改后的d3d9.dll在更新的视频驱动程序上使一个旧游戏更好看,它将位于主游戏父目录中。
随着400系列nvidia卡的出现,驱动程序中的一些事情发生了变化(虽然我还没有确认),否则在默认情况下,老游戏看起来更糟了。这些变化(从英伟达论坛下午提供的信息中摘录):
作为400个系列的Geforce卡和相关的nvidia驱动程序,当场景在旧的DirectX 9游戏中运行时,在一些纹理上出现了过度的像素化。
对于低于费米基(前400系列)的卡,驱动程序读取以下选项:
QUALITY_ENHANCEMENTS (纹理过滤-质量)
PS_TEXFILTER_DISABLE_TRILIN_SLOPE (纹理滤波-三线性优化)
PS_TEXFILTER_BILINEAR_IN_ANISO (纹理滤波-各向异性滤波器优化)
PS_TEXFILTER_ANISO_OPTS2 (纹理滤波-各向异性样本优化)
PS_TEXFILTER_NO_NEG_LODBIAS (纹理滤波-负LOD偏置)
在较新的驱动程序中,以下内容现在被忽略:
PS_TEXFILTER_BILINEAR_IN_ANISO (纹理滤波-各向异性滤波器优化)
PS_TEXFILTER_NO_NEG_LODBIAS (纹理过滤-负LOD偏倚)在英语中,3期:
一些textures.
虽然我能够在windows 7上找到解决此问题的方法(虽然我没有机会进行广泛的测试来确认它),但需要修改的相关dll与win XP不兼容。
我的想法是,如果我能在游戏主目录中插入一个经过修改的d3d9.dll来解决这些问题,那么它将更加模块化&独立于操作系统需求。
我能够获得一个d3d9.dll,它经过了十六进制的编辑,以忽略游戏中的定制lod调用(反过来,强制LOD到0),但是强制AF将是一个很好的添加。我发现相关的调用函数是SetSamplerState。
那么,如何为d3d9.dll制作一个包装器呢?我不知道该从哪里开始.
干杯
发布于 2020-03-14 04:19:17
我找到了一个解决这个问题的解决方案,基本上是一个熟悉修改directX9文件的人给我提供了一组相关的文件,d3d9.dll、d3d9x_24和d3d9x_25.dll,这些文件强制AF x 16用于DX9游戏中的所有纹理(重新启用游戏时看到的视觉效果)。
https://stackoverflow.com/questions/60625077
复制相似问题