【发布时间】:2021-11-30 12:07:08
【问题描述】:
我有一个场景,其中我仅根据其分辨率加载相同的纹理,我在 OpenGL 中使用不同的过滤模式,这些是GL_LINEAR、GL_NEAREST 等等。例如,对于分辨率低于 128 像素的纹理,我将GL_TEXTURE_MIN_FILTER 设置为GL_LINEAR,对于GL_TEXTURE_MAG_FILTER,我设置GL_NEAREST。如果纹理分辨率超过 128 像素,那么我将GL_TEXTURE_MIN_FILTER 设置为GL_LINEAR_MIPMAP_LINEAR,将GL_TEXTURE_MAG_FILTER 设置为GL_LINEAR。一般来说,我有一个问题,在 DirectX 11 中什么是等效的,因为否则我的纹理的分辨率小于 128 像素会变得模糊。
OpenGL:
这是它在我的代码中的样子,这只是两个 API 的示例。
if (width > 128 || height > 128) {
min = TextureFilteringMode::LINEAR_MIPMAP_LINEAR;
mag = TextureFilteringMode::LINEAR;
} else if (width <= 128 || height <= 128) {
min = TextureFilteringMode::LINEAR;
mag = TextureFilteringMode::NEAREST;
}
【问题讨论】:
标签: c++ opengl directx-11 opengl-4