1

首先,一些背景:

  • 我为游戏编写的 3D 引擎允许我在 DirectX 9 和 OpenGL 之间切换,这要归功于中间 API 层。

  • 两者都允许用户启用多重采样(通过 GL_ARB_multisample 用于 OpenGL,D3DMULTISAMPLE_x_SAMPLES 用于 DirectX)。为游戏窗口缓冲区启用了多重采样。

  • 我的角色模型使用带有纹理图集的大纹理,因此我在此处禁用了 mipmapping 以避免纹理渗色。

我遇到以下结果:

  • 我应该在禁用 DirectX 或 OpenGL 的多重采样时得到相同的结果。

  • 正如我应该的那样,在为两者启用多重采样时,我正确地对多边形进行了边缘平滑。

  • 然而,在 OpenGL 中,多重采样似乎也具有类似于纹理过滤的效果,可能是在纹理中的不同点对每个像素进行多重采样,因为结果与 mipmap 可以达到的效果相当,没有纹理渗出 - 显然, 伟大的。然而,另一方面,DirectX 似乎没有提供这种好处,因为纹理映射的结果没有抗锯齿,并且与禁用多重采样时相同。

我非常想知道是否有什么我可以做的,以便在 DirectX 中获得与在 OpenGL 中相同的结果。也许我不知道好的关键字,但我无法找到与多重采样的这个特定方面相关的文档。

4

0 回答 0