将屏幕坐标映射到纹理纹素时的伪影

Artifacts when mapping screen coordinates to texture texels

好的伙计们,我的问题很奇怪。我正在将纹理映射到四边形上。纹理包含使用 Free Type 生成的字体值。当我将它渲染到屏幕上时,它有瑕疵。 "Hola, elienay, y Khaleexy" 是呈现的 quad/texture.

但是,当我进入着色器调试模式并查看纹理以了解它为什么有瑕疵时,我没有得到瑕疵。四边形完美呈现,后台缓冲区正确地具有最终颜色,没有 1 个伪影;见下文。

好了,你们明白我在说什么了吗?四边形正在渲染并完美映射到纹理,但问题似乎出在应用程序将后台缓冲区呈现给屏幕时。关于这可能是由什么引起的以及如何解决它的任何想法?

下面是另外几个具有不同随机字符的屏幕截图。仅当不在调试模式下渲染场景时显示伪影是如何存在的。

根据第一条评论,交换链需要以客户端 window 矩形的大小创建,而不是整个 window 包括标题栏和边框。当创建 window 时,一些像素过大 Windows 将需要以非常小的因子重新缩放交换链,这意味着您将失去预期的 1:1 像素精度。