Difference between revisions of "Glossary:Display wrapper"
(→Direct3D wrappers: DxWrapper's D3D2-7 to 9 support was added recently, although it's still in very early stages.) |
(→DirectDraw wrappers: Reordered based on prominence.) |
||
Line 27: | Line 27: | ||
! Name !! API versions !! Wrapping to | ! Name !! API versions !! Wrapping to | ||
|- | |- | ||
− | | [ | + | | [[dgVoodoo 2]] || 1-7 || D3D11, 12 |
|- | |- | ||
− | | [https://github.com/ | + | | [https://github.com/elishacloud/dxwrapper DxWrapper] || 1-7 || DDraw7 (for 1-6), D3D9 |
|- | |- | ||
| [https://github.com/narzoul/DDrawCompat DDrawCompat] || 1-7 || System's DDraw, but optimized | | [https://github.com/narzoul/DDrawCompat DDrawCompat] || 1-7 || System's DDraw, but optimized | ||
|- | |- | ||
− | | [ | + | | [https://dxgl.org/ DXGL] || 1-7 || OpenGL |
|- | |- | ||
− | | [https:// | + | | [https://github.com/CnCNet/cnc-ddraw cnc-ddraw] || 1-7 || GDI, OpenGL, D3D9 |
|- | |- | ||
− | | [ | + | | [http://bitpatch.com/ddwrapper.html Aqrit's DDwrapper] || ? || System's DDraw, but optimized |
|} | |} | ||
{{ii}} Required for fixing [[Glossary:DirectX/DirectDraw troubleshooting|DirectDraw issues on modern systems]]. | {{ii}} Required for fixing [[Glossary:DirectX/DirectDraw troubleshooting|DirectDraw issues on modern systems]]. |
Revision as of 08:35, 26 October 2023
System abstraction
General
Utilities
Description
As APIs get older, their maintenance or support may eventually deteriorate or outright dropped, which can lead to numerous compatibility and performance issues in older games. To circumvent these and allow older games to be played with as few issues as possible, display API wrappers can be used as a compatibility layer that intercepts instructions at runtime which the game sends using older or obsolete APIs and converts them to a different, but newer, API to make use of more modern alternatives (like newer Direct3D, OpenGL or Vulkan). This process is opaque to the game, leaving it unaware that the display API it was developed for is not the one actually being used. Hence, wrappers most often have the same filename as the game's original wrapper to be properly called on every launch.
General information
3dfx / Glide wrappers
Name | API versions | Wrapping to |
---|---|---|
dgVoodoo | 1/2/3 | D3D7, D3D9 |
dgVoodoo 2 | 1/2/3 | D3D11, D3D12 |
nGlide | 1/2/3 | D3D9, Vulkan |
DirectDraw wrappers
Name | API versions | Wrapping to |
---|---|---|
dgVoodoo 2 | 1-7 | D3D11, 12 |
DxWrapper | 1-7 | DDraw7 (for 1-6), D3D9 |
DDrawCompat | 1-7 | System's DDraw, but optimized |
DXGL | 1-7 | OpenGL |
cnc-ddraw | 1-7 | GDI, OpenGL, D3D9 |
Aqrit's DDwrapper | ? | System's DDraw, but optimized |
- Required for fixing DirectDraw issues on modern systems.
Direct3D wrappers
Name | API versions | Wrapping to |
---|---|---|
d3d8to9 | 8 | D3D9 |
D8VK | 8 | Vulkan |
d912pxy | 9 | D3D12 |
DDrawCompat | 2-7 | System's D3D2-7, but optimized |
dgVoodoo 2 | 2-9 | D3D11, D3D12 |
DXGL | 7 | OpenGL |
DXUP | 9-10 | D3D11 |
DXVK | 9-11 | Vulkan 1.3[1] |
DxWrapper | 2-8 | D3D7 (for 2-6), D3D9 |
Special K | 9 | D3D9Ex |
VKD3D-Proton | 12 | Vulkan |
WineD3D | 2-11 | OpenGL, Vulkan |
- There are no Direct3D 1 and 4 versions. Direct3D started with 2, and 4 was cancelled.
Mantle wrappers
Name | API versions | Wrapping to |
---|---|---|
GRVK | Vulkan |
OpenGL wrappers
Name | API versions | Wrapping to |
---|---|---|
ANGLE | OpenGL ES (all, depending) | OpenGL, D3D9/11, Vulkan, Metal |
GL4ES | 2 | OpenGL ES 2.0 |
GLDirect | 1.4 | D3D6/7/8/9 |
OpenGLOn12 | 3.3 | D3D12 |
QindieGL | 1.1 | D3D9 |
TitaniumGL | 1.4 | D3D9 |
VKGL | 3.2 | Vulkan |
zink | 4.6 | Vulkan |
Vulkan wrappers
Name | API versions | Wrapping to |
---|---|---|
MoltenVK | ? | Metal |