Nouveau rendu graphique PS1 pour l'émulateur Omega Red

Bonjour à tous les lecteurs!

Je continue le thème de l'émulateur logiciel pour PlayStation 1, PlayStation 2 et PlayStation Portable - Omega Red. Plus de détails:


J'ai écrit cette publication dans le cadre du remplacement du logiciel de rendu graphique pour la PlayStation 1 par un rendu graphique avec DirectX11.

Bienvenue à Kat.


L'article présente le résultat de mes recherches sur l'amélioration du composant graphique de l'émulateur PlayStation 1. La solution précédente a été mise en œuvre sur la pixellisation logicielle des polygones et des textures, et, par conséquent, lorsque j'essayais d'afficher sur un écran avec une résolution plus élevée que la résolution TV d'origine, les artefacts de pixellisation des polygones et textures. La solution évidente consiste à remplacer le moteur de rendu logiciel par un matériel capable de tramer plus précisément dans une large gamme de résolutions cibles. Je n'ai pas trouvé les solutions de rastérisation matérielle existantes pour PCSX - elles utilisent le pilote OpenGL pour le rendu graphique, ce qui crée un problème de compatibilité avec le code de base de l'émulateur Omega Red sur WPF, DirectX9 et DirectX11. Il n'y avait qu'une seule solution - pour écrire un rendu graphique avec DirectX11, ce que j'ai fait.
Le résultat a été très réussi:

Rendu logiciel:



Rendu DirectX11:



Rendu logiciel:



Rendu DirectX11:



Rendu logiciel:



Rendu DirectX11:



Une démonstration de la comparaison de la différence des moteurs de rendu peut être vue dans la démo:





Actuellement, le programme est disponible sur: Omega Red et est présenté sur GitHub: OmegaRed .

Source: https://habr.com/ru/post/fr484620/


All Articles