我希望了解mips链中的哪个mip地图是在采样它所依赖的texture.Which因子时选择的,我知道它取决于可见纹理的面积。
最近我尝试了一个简单的应用程序来尝试保留的资源纹理,但是我很难理解其中的一种情况。
测试应用程序详细信息:通过by 12在窗口上呈现一个全屏四角体。
测试用例: 1.使用的纹理较大(5184X3456),mip自动选择第二。
这两个纹理都包含完整的mip链,除了纹理的大小没有变化,所以为什么使用第二个mip而不是第0,就像小的tex一样(我在全屏上渲染它们).Is,纹理的大小也是自动mip选择的一个因素?在两个cases:D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT.中使用的采样器是相同的。
发布于 2022-04-12 18:22:22
Mipmap选择是通过查看屏幕上的相邻像素来完成的,并找到它们的纹理样本下降的距离。选择mip层,使相邻纹理样本之间的间隔约为1个纹理。
例如,如果您有一个4K纹理,并在屏幕上显示它1K宽,那么相邻的像素将是采样点4个纹理相隔(在基本mip),因此硬件将选择mip级别2(即分辨率的1/4)。在mip水平2,样本点是1纹理相隔。
相反,如果你有一个256×256纹理,并显示它的1K宽,那么相邻的像素将是采样点仅0.25个纹理相隔。在这种情况下,由于间距小于1 texel,所以它将使用mip级别0。
所以,这并不是关于纹理的大小或者纹理区域的可见,至少不是直接的。它是关于纹理和像素的比率。
https://computergraphics.stackexchange.com/questions/12617
复制相似问题