Die Version 1.8 des D7VK-Projekts wurde veröffentlicht, das die Implementierung der Grafik-APIs Direct3D 3, 5, 6 und 7 weiterentwickelt, die von Microsoft in den Jahren 1996, 1997, 1998 und 1999 vorgeschlagen wurden. D7VK arbeitet durch die Übersetzung von Aufrufen in die Vulkan-API und ermöglicht es, mit Wine Retro-Spiele, die an die Direct3D 3, 5, 6 und 7 APIs gebunden sind, unter Linux auszuführen. Der Code des Projekts ist in C++ geschrieben und wird unter der Zlib-Lizenz verbreitet. Als Grundlage wurde der d3d9-Backend-Code des DXVK-Projekts verwendet – D7VK wandelt die APIs Direct3D 3, 5, 6 und 7 in Aufrufe von Direct3D 9 um, die dann in die Vulkan-API übersetzt werden. Der Entwickler hat nicht die Absicht, D7VK in DXVK zu integrieren, wie es bei den Implementierungen von Direct3D 8 und Direct3D 9 über Vulkan der Fall war.
In der neuen Version wurde eine Implementierung der Methode ProcessVertices mit Hilfe der CPU vorgeschlagen, die Probleme mit dem Rendering und der Geometrieverzerrung in vielen Spielen wie Forsaken, Resident Evil, Praetorians, Hidden & Dangerous, Escape from Monkey Island und Tomb Raider: The Last Revelation löste.
Der proxied presentation Mechanismus wurde durch eine legacy presentation Implementierung ersetzt, die in älteren Spielen verwendete Kompositionstechniken unterstützt, die DDraw für die Überlagerung von 2D-Elementen über 3D-Inhalte verwenden. Diese Änderung behob Probleme mit verschwundenem Video, Menüpunkten und dem HUD (Heads-Up Display) in Spielen wie Blade of Darkness, Sacred, Lands of Lore III, Codename: Outbreak, FIFA 2001, FIFA '99 und Simon the Sorcerer 3D.
Fehlerbehebungen wurden vorgenommen, um die Unterstützung für Spiele zu verbessern:
- Age of Wonders II / Age of Wonders: Shadow Magic
- Divine Divinity
- Jurassic Park: Trespasser
- Hype: The Time Quest
- POD
- Praetorians
- Prince of Persia 3D
- Resident Evil
- Tomb Raider III
- X: Beyond the Frontier und X: Tension.
Quelle: opennet.ru
