我有一個Direct3D應用程序,它在固定的資源(例如800x600)上運行窗口或全屏。爲了支持寬屏幕模式,我渲染到800x600的後臺緩衝區,然後使用Blt將最後一幀繪製到通常較大(如1280x720)的前部緩衝區的一部分中,以便將800x600圖像拉伸到960x720以保持長寬比。DirectX中的彈出窗口導致鋸齒狀邊緣
能正常工作,除了在某些視頻卡/ OS /驅動器組合(的NVIDIA Quadro,DX11,視窗7),其中的blit似乎使用點採樣,產生鋸齒邊緣和大體不平滑的最終圖像來完成。
有什麼辦法可以避免這種情況?例如,強制Blt在放大時使用線性濾波器?
(注:我知道我可以使原來的800x600的資產960x720,而不是在最後的拉伸,而是有其他缺點,所以在最後的拉伸是首選的解決方案)
我很想知道這些缺點是什麼,因爲我相信你會做得更好,而不是像上面那樣進行破解。至少你所有的3D渲染看起來都是正確的...... – Goz