我有一个Direct3D应用程序,它在固定的资源(例如800x600)上运行窗口或全屏。为了支持宽屏幕模式,我渲染到800x600的后台缓冲区,然后使用Blt将最后一帧绘制到通常较大(如1280x720)的前部缓冲区的一部分中,以便将800x600图像拉伸到960x720以保持长宽比。DirectX中的弹出窗口导致锯齿状边缘
能正常工作,除了在某些视频卡/ OS /驱动器组合(的NVIDIA Quadro,DX11,视窗7),其中的blit似乎使用点采样,产生锯齿边缘和大体不平滑的最终图像来完成。
有什么办法可以避免这种情况?例如,强制Blt在放大时使用线性滤波器?
(注:我知道我可以使原来的800x600的资产960x720,而不是在最后的拉伸,而是有其他缺点,所以在最后的拉伸是首选的解决方案)
我很想知道这些缺点是什么,因为我相信你会做得更好,而不是像上面那样进行破解。至少你所有的3D渲染看起来都是正确的...... – Goz