Halo semua pembaca!
Saya melanjutkan tema emulator perangkat lunak untuk PlayStation 1, PlayStation 2 dan PlayStation Portable - Omega Red. Lebih detail:
Saya menulis publikasi ini sehubungan dengan mengganti renderer grafis perangkat lunak untuk PlayStation 1 dengan renderer grafis dengan DirectX11.
Selamat datang di Kat.
Artikel ini menyajikan hasil penelitian saya dalam meningkatkan komponen grafis emulator PlayStation 1. Solusi sebelumnya diimplementasikan pada rasterisasi perangkat lunak poligon dan tekstur, dan sebagai hasilnya, ketika mencoba untuk menampilkan pada layar dengan resolusi lebih tinggi daripada resolusi TV asli, artefak pixelasi poligon dan tekstur. Solusi yang jelas adalah mengganti renderer perangkat lunak dengan perangkat keras yang mampu melakukan rasterisasi yang lebih akurat dalam berbagai resolusi target. Saya tidak menemukan solusi rasterisasi perangkat keras yang ada untuk PCSX - mereka menggunakan driver OpenGL untuk rendering grafis, yang menciptakan masalah kompatibilitas dengan kode dasar emulator Omega Red pada WPF, DirectX9 dan DirectX11. Hanya ada satu solusi - untuk menulis penyaji grafis dengan DirectX11, yang saya lakukan.
Hasilnya sangat sukses:
Perender Perangkat Lunak:

Penyaji DirectX11:

Perender Perangkat Lunak:

Penyaji DirectX11:

Perender Perangkat Lunak:

Penyaji DirectX11:

Demonstrasi membandingkan perbedaan penyaji dapat dilihat di demo:
Saat ini, program ini tersedia di:
Omega Red dan disajikan di GitHub:
OmegaRed .