首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改d3d9.dll强制AF到所有纹理

修改d3d9.dll强制AF到所有纹理
EN

Stack Overflow用户
提问于 2020-03-10 20:00:18
回答 1查看 832关注 0票数 0

所以我想用修改后的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.

  • Anisotropic滤波不适用于
  1. 各向异性滤波,也不适用于使用负LOD的纹理。设置“纹理过滤-质量”-“高质量”应该应用AF的纹理与负LOD,但这个选项是部分中断,所以它不这样做。只有32位的DX9驱动程序被破坏(即所有32位DX9游戏,大多数是32位)。
  2. 设置的“纹理过滤-负LOD偏倚”-“钳子”已从驱动程序中完全删除,但仍以安慰剂的形式存在于控制面板中。

虽然我能够在windows 7上找到解决此问题的方法(虽然我没有机会进行广泛的测试来确认它),但需要修改的相关dll与win XP不兼容。

我的想法是,如果我能在游戏主目录中插入一个经过修改的d3d9.dll来解决这些问题,那么它将更加模块化&独立于操作系统需求。

我能够获得一个d3d9.dll,它经过了十六进制的编辑,以忽略游戏中的定制lod调用(反过来,强制LOD到0),但是强制AF将是一个很好的添加。我发现相关的调用函数是SetSamplerState。

那么,如何为d3d9.dll制作一个包装器呢?我不知道该从哪里开始.

干杯

EN

回答 1

Stack Overflow用户

发布于 2020-03-14 04:19:17

我找到了一个解决这个问题的解决方案,基本上是一个熟悉修改directX9文件的人给我提供了一组相关的文件,d3d9.dll、d3d9x_24和d3d9x_25.dll,这些文件强制AF x 16用于DX9游戏中的所有纹理(重新启用游戏时看到的视觉效果)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60625077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档