Changes

Jump to navigation Jump to search

Wrappers

351 bytes added, 06:20, 30 August 2022
no edit summary
==90's APIs==
(Glide, DirectDraw 1-7, Direct3D 2-7, OpenGL)
 
During the 90s, many [[Intel CPUs|PC]] game developers chose to use 3Dfx's Glide API for their Voodoo graphics cards. These developers didn't anticipate that 3Dfx would run out of money trying to compete with NVIDIA's offering, and in 2000 NVIDIA bought them for their IP assets (presumably to improve their own cards). Despite the API getting an open source release in 2003, neither NVIDIA or ATI adopted support for Glide in their own drivers, meaning a wrapper is now needed to play these games with hardware acceleration. Or, if we're lucky, the game gets [[Game Engine Recreations and Source Ports|ported or reimplemented]] to use other APIs instead.
;dgVoodoo2
:Targets Glide 2.11, 2.45, 3.10, 3.1 Napalm, all versions of DirectDraw and Direct3D up to version 7, Direct3D 8.1, and Direct3D 9. Outputs Direct3D 11 and Direct3D 12 with different device types as wrapping output such as hardware or software rendering.
;[[Wine|WineD3D]]
:Wine's internal wrapper for Direct3D 2-11 that targets Vulkan and OpenGL. It works pretty well for running older Direct3D games, though it does not come with a Glide implementation of its own. A custom build incorporating Vulkan support is available for Windows [https://fdossena.com/?p=wined3d/index.frag here].
;DXGL
==2000's and later APIs==
(Direct3D 8-9, OpenGL, Vulkan)
 
Modern Windows games will likely need one of these wrappers to work on other platforms. Usually these are not separate downloads, and will come packaged into [[compatibility layers]] like [[Proton]], [[Wine]], or [https://www.codeweavers.com/crossover CrossOver].
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
|[http://dege.freeweb.hu/ dgVoodoo2]
|align=left|{{Icon|Windows}}
|[http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/ {{DgVoodoo2Ver}}]
|Glide, DirectDraw 1-7, Direct3D 2-9
|Direct3D 11, Direct3D 12
|{{✗}} ||{{✓}} ||{{✓}}
|-
|[https://github.com/doitsujin/dxvk DXVK]
|Direct3D 12
|Vulkan
|{{✓}} ||{{✓}} ||{{✓}}
|-
|[[Wine|WineD3D]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br/>[https://fdossena.com/?p=wined3d/index.frag {{WineDevVer}}] <small>(Windows)</small>
|Direct3D 2-11
|Vulkan, OpenGL
|{{✓}} ||{{✓}} ||{{✓}}
|-
|Vulkan
|{{✓}} ||{{✓}} ||{{✗}}
|-
|[[Wine|WineD3D]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br/>[https://fdossena.com/?p=wined3d/index.frag {{WineDevVer}}] <small>(Windows)</small>
|Direct3D 2-11
|OpenGL
|{{✓}} ||{{✓}} ||{{✓}}
|-
|[https://github.com/KhronosGroup/MoltenVK MoltenVK]
|[https://github.com/iXit/wine-nine-standalone Gallium Nine]
|align=left|{{Icon|Linux}}
|[https://github.com/iXit/wine-nine-standalone/releases v0.8] <small>(WIP)</small>
|Direct3D 9
|Gallium
|{{✓}} ||{{✓}} ||{{~}} <small>WIP</small>
|-
|[https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/drivers/zink.rst Zink]
|Direct3D 8
|Direct3D 9
|{{✓}} ||{{✓}} ||{{~}}
|-
|}
;WineD3D
:Wine's internal wrapper for Direct3D 2-11 that targets Vulkan and OpenGL. For newer APIs it has more bugs than DXVK. A custom build incorporating Vulkan support is available for Windows [https://fdossena.com/?p=wined3d/index.frag here].
;MoltenVK
49
edits

Navigation menu