Difference between revisions of "Template:API"
Tag: Undo |
m (added per cell CSS classes for more in-depth styling) |
||
Line 1: | Line 1: | ||
<includeonly><div class="container-pcgwikitable"><table class="pcgwikitable template-infotable" id="table-api">{{#vardefine:section|Other_information}} | <includeonly><div class="container-pcgwikitable"><table class="pcgwikitable template-infotable" id="table-api">{{#vardefine:section|Other_information}} | ||
− | <tr class="template-infotable-head"> | + | <tr class="template-infotable-head table-api-head-row"> |
− | <th scope="col" style="width: 230px;">Technical specs</th> | + | <th scope="col" style="width: 230px;" class="table-api-head-parameter">Technical specs</th> |
− | <th scope="col" style="width: 120px;">Supported</th> | + | <th scope="col" style="width: 120px;" class="table-api-head-support">Supported</th> |
− | <th scope="col" style="width: 470px;">Notes</th> | + | <th scope="col" style="width: 470px;" class="table-api-head-notes">Notes</th> |
</tr> | </tr> | ||
{{#if: {{{direct3d versions|}}} | | {{#if: {{{direct3d versions|}}} | | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row">Direct3D</th> | + | <th scope="row" class="table-api-body-parameter">Direct3D</th> |
− | <td>{{#arraymaptemplate:{{{direct3d versions}}}|API/switch Direct3D|,|, }}</td> | + | <td class="table-api-body-support">{{#arraymaptemplate:{{{direct3d versions}}}|API/switch Direct3D|,|, }}</td> |
− | <td>{{{direct3d notes|}}}</td> | + | <td class="table-api-body-notes">{{{direct3d notes|}}}</td> |
</tr> | </tr> | ||
}} | }} | ||
{{#if: {{{directdraw versions|}}} | | {{#if: {{{directdraw versions|}}} | | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row">DirectDraw</th> | + | <th scope="row" class="table-api-body-parameter">DirectDraw</th> |
− | <td>{{#ifeq: {{lc:{{{directdraw versions|unknown}}}}} | unknown | {{Tickcross|Unknown}} | {{{directdraw versions|}}} {{#arraymap:{{{directdraw versions|}}}|,|var|[[DirectDraw versions::var| ]]| }} }}</td> | + | <td class="table-api-body-support">{{#ifeq: {{lc:{{{directdraw versions|unknown}}}}} | unknown | {{Tickcross|Unknown}} | {{{directdraw versions|}}} {{#arraymap:{{{directdraw versions|}}}|,|var|[[DirectDraw versions::var| ]]| }} }}</td> |
− | <td>{{{directdraw notes|}}}</td> | + | <td class="table-api-body-notes">{{{directdraw notes|}}}</td> |
</tr> | </tr> | ||
}} | }} | ||
{{#if: {{{opengl versions|}}} | | {{#if: {{{opengl versions|}}} | | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row">OpenGL</th> | + | <th scope="row" class="table-api-body-parameter">OpenGL</th> |
− | <td>{{#ifeq: {{lc:{{{opengl versions|unknown}}}}} | unknown | {{Tickcross|Unknown}} | {{{opengl versions|}}} {{#arraymap:{{{opengl versions|}}}|,|var|[[OpenGL versions::var| ]]| }} }}</td> | + | <td class="table-api-body-support">{{#ifeq: {{lc:{{{opengl versions|unknown}}}}} | unknown | {{Tickcross|Unknown}} | {{{opengl versions|}}} {{#arraymap:{{{opengl versions|}}}|,|var|[[OpenGL versions::var| ]]| }} }}</td> |
− | <td>{{{opengl notes|}}}</td> | + | <td class="table-api-body-notes">{{{opengl notes|}}}</td> |
</tr> | </tr> | ||
}} | }} | ||
{{#if: {{{glide versions|}}} | | {{#if: {{{glide versions|}}} | | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row">Glide</th> | + | <th scope="row" class="table-api-body-parameter">Glide</th> |
− | <td>{{#arraymaptemplate:{{{glide versions}}}|API/switch Glide|,|, }}</td> | + | <td class="table-api-body-support">{{#arraymaptemplate:{{{glide versions}}}|API/switch Glide|,|, }}</td> |
− | <td>{{{glide notes|}}}</td> | + | <td class="table-api-body-notes">{{{glide notes|}}}</td> |
</tr> | </tr> | ||
}} | }} | ||
Line 37: | Line 37: | ||
{{#ifeq: {{lc:{{{software mode|}}}}} | false || | {{#ifeq: {{lc:{{{software mode|}}}}} | false || | ||
{{#ifeq: {{lc:{{{software mode|}}}}} | unknown || | {{#ifeq: {{lc:{{{software mode|}}}}} | unknown || | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row">Software renderer</th> | + | <th scope="row" class="table-api-body-parameter">Software renderer</th> |
− | <td>{{Tickcross|{{{software mode|unknown}}}|Software renderer}}</td> | + | <td class="table-api-body-support">{{Tickcross|{{{software mode|unknown}}}|Software renderer}}</td> |
− | <td>{{{software mode notes|}}}</td> | + | <td class="table-api-body-notes">{{{software mode notes|}}}</td> |
</tr> | </tr> | ||
}} | }} | ||
Line 48: | Line 48: | ||
{{#ifeq: {{lc:{{{mantle support|}}}}} | false || | {{#ifeq: {{lc:{{{mantle support|}}}}} | false || | ||
{{#ifeq: {{lc:{{{mantle support|}}}}} | unknown || | {{#ifeq: {{lc:{{{mantle support|}}}}} | unknown || | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row"><abbr title="Only supported on compatible AMD video cards">Mantle support</abbr></th> | + | <th scope="row" class="table-api-body-parameter"><abbr title="Only supported on compatible AMD video cards">Mantle support</abbr></th> |
− | <td>{{Tickcross|{{{mantle support|unknown}}}|Mantle support}}</td> | + | <td class="table-api-body-support">{{Tickcross|{{{mantle support|unknown}}}|Mantle support}}</td> |
− | <td>{{{mantle support notes|}}}</td> | + | <td class="table-api-body-notes">{{{mantle support notes|}}}</td> |
</tr> | </tr> | ||
}} | }} | ||
Line 60: | Line 60: | ||
{{#ifeq: {{lc:{{{metal support|}}}}} | false || | {{#ifeq: {{lc:{{{metal support|}}}}} | false || | ||
{{#ifeq: {{lc:{{{metal support|}}}}} | unknown || | {{#ifeq: {{lc:{{{metal support|}}}}} | unknown || | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row"><abbr title="Only supported on macOS (OS X)">Metal support</abbr></th> | + | <th scope="row" class="table-api-body-parameter"><abbr title="Only supported on macOS (OS X)">Metal support</abbr></th> |
− | <td>{{Tickcross|{{{metal support|unknown}}}|Metal support}}</td> | + | <td class="table-api-body-support">{{Tickcross|{{{metal support|unknown}}}|Metal support}}</td> |
− | <td>{{{metal support notes|}}}</td> | + | <td class="table-api-body-notes">{{{metal support notes|}}}</td> |
</tr> | </tr> | ||
}} | }} | ||
Line 72: | Line 72: | ||
{{#ifeq: {{lc:{{{vulkan versions|}}}}} | false || | {{#ifeq: {{lc:{{{vulkan versions|}}}}} | false || | ||
{{#ifeq: {{lc:{{{vulkan versions|}}}}} | unknown || | {{#ifeq: {{lc:{{{vulkan versions|}}}}} | unknown || | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row">Vulkan</th> | + | <th scope="row" class="table-api-body-parameter">Vulkan</th> |
− | <td>{{#arraymaptemplate:{{{vulkan versions}}}|API/switch Vulkan|,|, }}</td> | + | <td class="table-api-body-support">{{#arraymaptemplate:{{{vulkan versions}}}|API/switch Vulkan|,|, }}</td> |
− | <td>{{{vulkan notes|}}}</td> | + | <td class="table-api-body-notes">{{{vulkan notes|}}}</td> |
</tr> | </tr> | ||
}} | }} | ||
Line 82: | Line 82: | ||
{{#if: {{{dos modes|}}} | | {{#if: {{{dos modes|}}} | | ||
{{#if: {{#var:DOS}}{{#var:Booter}} | | {{#if: {{#var:DOS}}{{#var:Booter}} | | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row"><abbr title="Only applies to DOS version or DOSBox">DOS video modes</abbr></th> | + | <th scope="row" class="table-api-body-parameter"><abbr title="Only applies to DOS version or DOSBox">DOS video modes</abbr></th> |
− | <td>{{#arraymaptemplate:{{{dos modes}}}|API/switch DOS|,|, }}</td> | + | <td class="table-api-body-support">{{#arraymaptemplate:{{{dos modes}}}|API/switch DOS|,|, }}</td> |
− | <td>{{{dos modes notes|}}}</td> | + | <td class="table-api-body-notes">{{{dos modes notes|}}}</td> |
</tr> | </tr> | ||
|[[Category:Invalid template usage (API)]]}} | |[[Category:Invalid template usage (API)]]}} | ||
}} | }} | ||
{{#if: {{{shader model versions|}}} | | {{#if: {{{shader model versions|}}} | | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row">Shader Model support</th> | + | <th scope="row" class="table-api-body-parameter">Shader Model support</th> |
− | <td>{{{shader model versions|unknown}}}</td> | + | <td class="table-api-body-support">{{{shader model versions|unknown}}}</td> |
− | <td>{{{shader model notes|}}}</td> | + | <td class="table-api-body-notes">{{{shader model notes|}}}</td> |
</tr> | </tr> | ||
}} | }} | ||
− | <tr class="template-infotable-body"> | + | <tr class="template-infotable-body table-api-body-row"> |
− | <th scope="row"><abbr title="Compiled for 64-bit">64-bit executable</abbr></th> | + | <th scope="row" class="table-api-body-parameter"><abbr title="Compiled for 64-bit">64-bit executable</abbr></th> |
− | <td>{{Tickcross|{{{64-bit executable|unknown}}}|64-bit executable}}</td> | + | <td class="table-api-body-support">{{Tickcross|{{{64-bit executable|unknown}}}|64-bit executable}}</td> |
− | <td>{{{64-bit executable notes|}}}</td> | + | <td class="table-api-body-notes">{{{64-bit executable notes|}}}</td> |
</tr> | </tr> | ||
</table>{{#if: {{{vulkan support|}}} |[[Category:Invalid template usage (API)]]}}</div></includeonly><noinclude>{{Documentation}}</noinclude> | </table>{{#if: {{{vulkan support|}}} |[[Category:Invalid template usage (API)]]}}</div></includeonly><noinclude>{{Documentation}}</noinclude> |
Revision as of 14:03, 11 March 2019
- Description
The API template contains information on what APIs and additional features does the game support.
- Related templates
- {{API/switch Direct3D}}
- {{API/switch DOS}}
- Supported values
Direct3D versions
Direct3D versions | Notable new features | Notes | |
---|---|---|---|
2 | Initial version | ||
3 | MMX-enabled rasterizer, new RAMP color allocation algorithm[1] | ||
5 | Easier-to-use immediate mode | ||
6 | Multitexturing, bump mapping, vertex buffers, stencil planes, texture compression | ||
7 | Hardware Transformation, Clipping and Lighting (TCL/T&L) | ||
8 | Pixel Shader 1.0 & Vertex Shader 1.0 | ||
8.0a | Pixel Shader 1.1, Pixel Shader 1.2, Pixel Shader 1.3 | ||
8.1 | Pixel Shader 1.4 & Vertex Shader 1.1 | ||
9 | Shader Model 2.0 (Pixel Shader 2.0 & Vertex Shader 2.0) | ||
9.0b | Pixel Shader 2.0b | ||
9.0c | Shader Model 3.0 (Pixel Shader 3.0 & Vertex Shader 3.0), GPGPU | ||
9Ex | Windows Graphics Foundation 1.0, DXVA 1.0 | Also known as 9.L or 9.0L. | |
10 | Shader Model 4.0, Windows Graphics Foundation 2.0, DXVA 2.0 | ||
10.1 | Shader Model 4.1, Windows Graphics Foundation 2.1, DXVA 2.1 | ||
11 | Shader Model 5.0, Tessellation, Multithreaded rendering, Compute shaders | ||
11.1 | Stereoscopic 3D Rendering | ||
11.2 | Tiled resources | ||
11.3 | Conservative rasterization | ||
11.4 | OS-managed shader caching, extended NV12 texture support | ||
12 | Low-level rendering API, Shader Model 5.1 and 6.0 |
- The parameter will automatically map DirectX versions over to the appropriate Direct3D version; e.g.
8.2
is mapped to8.1
as DirectX 8.2 did not bring a new version of Direct3D.
OpenGL versions
OpenGL versions | |
---|---|
true | |
1.0 | |
1.1 | |
1.2 | |
1.2.1 | |
1.3 | |
1.4 | |
1.5 | |
2.0 | |
2.1 | |
3.0 | |
3.1 | |
3.2 | |
3.3 | |
4.0 | |
4.1 | |
4.2 | |
4.3 | |
4.4 | |
4.5 | |
4.6 |
Vulkan versions
Vulkan versions | |
---|---|
true | |
1.0 | |
1.1 |
DOS modes
DOS modes | Mode description | |
---|---|---|
text |
Output drawn by characters rather than pixels. | |
hgc |
Hercules Graphics Card | |
cga |
Color Graphics Adapter | |
mcga |
Multi-Color Graphics Array | |
ega |
Enhanced Graphics Adapter | |
tga |
Tandy Graphics Adapter | |
vga |
Video Graphics Array | |
svga |
Super Video Graphics Array |
- The DOS row is only shown in the article when a DOS or PC booter release date row is also present in the Infobox.
- Syntax
{{API |direct3d versions = |direct3d notes = |directdraw versions = |directdraw notes = |wing = |wing notes = |opengl versions = |opengl notes = |glide versions = |glide notes = |software mode = |software mode notes = |mantle support = |mantle support notes = |metal support = |metal support notes = |vulkan versions = |vulkan notes = |dos modes = |dos modes notes = |windows 32-bit exe = |windows 64-bit exe = |windows arm app = |windows exe notes = |mac os x powerpc app = |macos intel 32-bit app = |macos intel 64-bit app = |macos arm app = |macos app notes = |linux powerpc app = |linux 32-bit executable= |linux 64-bit executable= |linux arm app = |linux 68k app = |linux executable notes = |mac os powerpc app = |mac os 68k app = |mac os executable notes= }}
Parameters marked as obsolete
Shader model
As of November 27, 2022 both shader model versions
and shader model notes
was marked as obsolete due to its unreliable nature, with games often providing fallbacks automatically to older versions, and irrelevance in modern gaming landscape. Support for the parameters may or may not be removed entirely in the future. The documentation is stored below for historical purposes:
Field | Definition | How to find | Notes |
---|---|---|---|
Shader model versions | The versions of the High-level shader language the game supports. | Check the system requirements for the game. The DirectX version required can determine the Shader model used (see DirectX and associated Shader model versions). | Also called the High-level shading language (HLSL) or Shader model. Only for games using Direct3D 8 or newer. Most games use just one version, but some have support for multiple. |
- DirectX and associated Shader model versions
For 3D games using DirectX, the Shader model field must be filled in. However, the Shader model version used may not be provided by the developer.
Unless otherwise specified, the associated Shader model version is what that version of DirectX is using.
DirectX version | Associated Shader model version |
---|---|
8.0 | 1.0 and 1.1 |
8.0a | 1.3 |
8.1 | 1.4 |
9.0 | 2.0 |
9.0a | 2.0a |
9.0b | 2.0b |
9.0c | 3.0 |
10.0 | 4.0 |
10.1 | 4.1 |
11.x | 5.0 |
12.x | 5.1, 6.x |
References
- ↑ Microsoft Stories - Microsoft Ships DirectX Version 3.0 - last accessed on 2022-11-27
- "The Direct3D API is a rendering engine for real-time 3-D graphics that integrates both a low-level API for polygon and vertex rendering, and a high-level API for manipulation of complex 3-D scenes. Direct3D now includes an MMX-enabled rasterizer for Intel’s next generation of multimedia-enabled CPUs, as well as a new RAMP color allocation algorithm that improves the visual quality of RAMP rasterization."