我注意到我认为SampleLevel和Sample之间存在细微差别。观察是使用Direct3D11进行的,它可以在不同版本的Windows(Win7,Win10)和不同的GPU(Intel,NVidia,AMD)上重现。
如果采样器状态为缩小和放大指定了不同的filtering option(例如D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT),似乎使用SampleLevel我们总是使用过滤选项进行放大(无论纹理是缩小还是放大)。使用Sample而不是我发现行为符合预期 - 过滤选项取决于纹理是否实际缩小或放大。
我找不到文档中提到的这种行为。我应该看到这种行为还是我错过了其他的东西?有没有其他方法来指定mip级别,仍然使用不同的过滤选项进行缩小/放大?