コンテンツにスキップ

Direct3D

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Direct 3Dから転送)

Direct3D3DAPIAPIDirectXWindowsWindows 95XboxXboxXbox 360Xbox OneXbox Series X/SAPID3D使

[]


Direct3DCPUGPUDirect3D3DDirect3DZ (frustum) 3DDirectX2D3D2D3DDirect3D

Direct3D3D API3DDirect3D8DirectDraw2D[1][2]3DDirect3DDirect3DDirect3D使Direct3DAPICPUREFCPU使使[3]Direct3D 10.1 APIWARPDirect3DDirect3D[4]

Direct3D 11.xOpenGL2APIen:Comparison of Direct3D and OpenGLOpenGL 4Direct3DDirect State AccessDirect3DDirect3D 12APIMetalVulkan

アーキテクチャ[編集]

Windows XPまでの抽象化レイヤー

Direct3DDirectX APIDirect3DGDICOMDirect3DGDIGDIDirect3DWindows XP/Direct3D 9 (XPDM) Windows Vista/Direct3D 9ExDirectX/Direct3DOSGDIDirectX/Direct3DDirectXDXGIDirect3D (WDDM)[5]

Direct3D""IM: API3DDirect3D 7""RM: [6]Direct3D 8

Direct3D3[7][8]

HAL (hardware abstraction layer) [9]

使Direct3D



Direct3DDirect3DSDK



SDK使



Direct3DDirect3D[10][11]

11Direct3DPresent

使4

Type



Pool[12][13][14]

DefaultManagedSystem MemoryScratch

Format

D3DFMT_R8G8B8248bit8bit8bit

Usage

使

[]

Direct3D 10

Direct3D 10[15][16]

(一) : 

(二): 

(三): 

(四) : 

(五): 

(六): en:Per-pixel lighting

(七) : 



Direct3D 9[17][18][19]Direct3D 10Direct3D 11[20]

Direct3D 11 (GPGPU) 

[]


Direct3DCOM
  • Direct3D 7(固定機能)で三角形を描画する例。
// 3頂点のポリゴンを表す頂点配列を定義。
// X, Y, Z, Color, Specular, Tu, Tv の順。
// https://learn.microsoft.com/en-us/previous-versions/ms896912(v=msdn.10)
D3DLVERTEX v[3];
v[0] = D3DLVERTEX(D3DVECTOR(0.0f, +1.0f, 0.5f), 0x00FF0000, 0, 0, 0);
v[1] = D3DLVERTEX(D3DVECTOR(+1.0f, 0.0f, 0.5f), 0x0000FF00, 0, 0, 0);
v[2] = D3DLVERTEX(D3DVECTOR(-1.0f, 0.0f, 0.5f), 0x000000FF, 0, 0, 0);
// 三角形を描画するメソッドの呼び出し。
// pD3DDevice は IDirect3DDevice7 インターフェイスへのポインタ。
pD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, D3DFVF_LVERTEX, v, 3, 0);
  • Direct3D 9(固定機能)で三角形を描画する例。
// ひとつのカスタム頂点情報を表す構造体。
struct MyLVertex {
  D3DXVECTOR3 Position; // float x3
  D3DCOLOR Color; // unsigned long x1, B8G8R8A8
};

// 3頂点のポリゴンを表す頂点配列を定義。
const MyLVertex vertexArray[] = {
  { D3DXVECTOR3(0.0f, +1.0f, 0.5f), D3DCOLOR_ARGB(255, 255, 0, 0) },
  { D3DXVECTOR3(+1.0f, 0.0f, 0.5f), D3DCOLOR_ARGB(255, 0, 255, 0) },
  { D3DXVECTOR3(-1.0f, 0.0f, 0.5f), D3DCOLOR_ARGB(255, 0, 0, 255) },
};
// 三角形を描画するメソッドの呼び出し。
// pD3DDevice は IDirect3DDevice9 インターフェイスへのポインタ。
pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
pD3DDevice->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE); // FVF = Flexible Vertex Format の設定。
pD3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLELIST, 1, vertexArray, sizeof(MyLVertex));

Direct3D 7[21][22][ 1]Direct3D 9

[23][24][25][26][27] (atmospheric effects) 

[]


Direct3D 9HLSL使Direct3D 9

Direct3D 10Direct3D 11FVF (UP) 2[28]

Direct3D 12 (PSO) [29][30]

[]


Direct3D2



Direct3DDirect3D使



Direct3DGDI

GUIGUI

[]


Direct3D (DirectX 3 - DirectX 5)

 (HAL)  (HEL) 

Direct3D 6.0



Direct3D 7.0

T&L

Direct3D 8.0

Xbox

Direct3D 8.1

Windows XP1.11.21.31.4

Direct3D 9.0

2.0HLSL

Direct3D 9.0c

3.03.0 (VTF) Xbox 360 GPU

Direct3D 9.0Ex

Windows VistaWindows Display Driver Model (WDDM) Vista (Windows Aero) D3D 9Ex使

Direct3D 10.0

DirectX   (DXGI) Windows Vista4.0Caps (Capabilities) Direct3D 10

Windows VistaLonghornWindows Graphics Foundation(WGF) Direct3D 9WGF 1.0Direct3D 10WGF 2.0[31]WGF使

Direct3D 10.1

Direct3D 10.0Windows Vista SP1CapsFeature LevelFeature Level4.1DXGI 1.1Windows 7D3D 10.1使[32]Windows 72DAPIDirect2DD3D 10.1

Direct3D 11.0

Windows Vista SP2 Platform UpdateWindows 7DXGI1.1[33]5.0GPGPU (DirectCompute) Direct3D 11GPU使Direct3D 10.xGPU[34]

Direct3D 11.1

Direct3D 11.0Windows 8DXGI1.2[1]Windows 8Direct2D (D2D 1.1) D3D 11.1[2]11.05.0[3]Direct3D 11.1Direct3D 11Windows 7Windows VistaDirect3D 11.1Windows 7[35]

Direct3D 11.2

Direct3D 11.1Windows 8.1Xbox One[4]DXGI1.3[5]Windows 8.1Direct2D (D2D 1.2) D3D 11.2[6]Direct3D 11.2[7]Direct3D 11.2Windows 8OS

Direct3D 11.3

Direct3D 12APIDirect3D 11.3[36][37][38]DXGI1.4[39]

Direct3D 11.4

Windows 10 November 2015 Update (version 1511, build 10586) DXGI 1.5[40]

Direct3D 12

Direct3D 11Direct3D 12API[41]Windows 10Xbox OneWindows Phone[42]

Windows 10 Anniversary Update (version 1607, build 14393) WDDM 2.1Direct3D 12[43]UWP[44]

Windows 10 October 2018 Update (version 1809, build 17763) DirectX Raytracing (DXR) 

20193Windows 7DirectX 12 (Direct3D 12) [45]Direct3D 12Windows 10Windows 7Direct3D 1220198D3D12onWin7NuGet[46]

[]


WineUnixOSOpenGLDirect3D APIMesaOpenGLDirect3DGallium NineDirect3D 9Gallium3DDirect3D 10/11[47]Wine 4.0vkd3dVulkanDirect3D 12 API[48][49]Linux/WineVulkanDirect3D 9/10/11DXVK[50][51]

Direct3D 12Direct3D 9DDID3D9On12[52]d3d9on12.dll Windows 10GPUDirect3D 9D3D9On12

脚注[編集]

注釈[編集]

  1. ^ Direct3D 7以前のためのデータ型が定義されているヘッダーファイル d3dtypes.h は、Direct3D 8以降を利用するコードではインクルードできない。

出典[編集]



(一)^ Microsoft DirectX SDK Readme (October 2006) []

(二)^ DirectX 8.0 

(三)^ D3D_DRIVER_TYPE | Microsoft Learn

(四)^ Windows Advanced Rasterization Platform (WARP) Guide - Win32 apps | Microsoft Docs

(五)^ Windows Vista  API | Microsoft Docs

(六)^ Direct3D Retained Mode for Visual Basic

(七)^ D3DDEVTYPE enumeration (D3D9Types.h) - Win32 apps | Microsoft Learn

(八)^ D3DDEVTYPE | Microsoft Learn

(九)^ DirectX 

(十)^ IDirect3D9::RegisterSoftwareDevice | Microsoft Learn

(11)^ Software Rasterizer for DirectX 9.0 SDK. 200854 []

(12)^ D3DPOOL enumeration (D3D9Types.h) - Win32 apps | Microsoft Learn

(13)^ D3DPOOL | Microsoft Learn

(14)^ Direct3D Resources - Memory pool. 200854

(15)^ Pipeline Stages (Direct3D 10). Microsoft Docs. 2022223

(16)^   (Direct3D 10) | Microsoft Docs

(17)^ Direct3D  (Direct3D 9) | Microsoft Docs

(18)^ 使 (Direct3D 9) | Microsoft Docs

(19)^ The DirectX 9.0 Direct3D Graphics Pipeline. 200854

(20)^ Pipelines for Direct3D Version 11 - Windows drivers | Microsoft Docs

(21)^ D3DLVERTEX (Windows CE .NET 4.2) | Microsoft Learn

(22)^ D3DTLVERTEX (Windows CE .NET 4.2) | Microsoft Learn

(23)^ Materials (Direct3D 9) - Windows applications | Microsoft Docs

(24)^ Mathematics of Lighting (Direct3D 9) - Windows applications | Microsoft Docs

(25)^ Shading State (Direct3D 9) - Windows applications | Microsoft Docs

(26)^ Light Properties (Direct3D 9) - Windows applications | Microsoft Docs

(27)^ Fog Types (Direct3D 9) - Windows applications | Microsoft Docs

(28)^   (Direct3D 10) | Microsoft Learn

(29)^ Direct3D 12   2:  | iSUS

(30)^ Managing Graphics Pipeline State in Direct3D 12 (Windows)

(31)^ WGF2.0GPU | Weekly

(32)^ ASCII.jpDirectX 10.1Windows 7 (1/2)

(33)^ DirectX Graphics Infrastructure (DXGI) Best Practices - Win32 apps | Microsoft Docs

(34)^   | Microsoft Docs

(35)^ DirectX 11.1 and Windows 7 | Games for Windows and the DirectX SDK blog

(36)^ DirectX 12's new rendering features are coming to DirectX 11.3 too | PC Gamer

(37)^ DirectX 12 Lights Up NVIDIAs Maxwell Launch - DirectX Developer Blog

(38)^ 西3DGEDirectX12DirectX 11.3 - 4Gamer.net

(39)^ PC Games for Windows 10

(40)^ Windows 10 SDK (November 2015) | Games for Windows and the DirectX SDK blog

(41)^ Direct3D 12  | iSUS

(42)^ WeeklyGPUMicrosoftAPIDirectX 12 - PC Watch

(43)^ What's new in Direct3D 12 - Win32 apps | Microsoft Learn

(44)^ Variable refresh rate displays - Win32 apps | Microsoft Learn

(45)^ World of Warcraft uses DirectX 12 running on Windows 7 | DirectX Developer Blog

(46)^ Porting DirectX 12 games to Windows 7 | DirectX Developer Blog

(47)^ Direct3D 10/11 Is Now Natively Implemented On Linux! - Phoronix

(48)^ Wine 4.0VulkanDirect3D 12 | OSDN Magazine

(49)^ source.winehq.org Git - vkd3d.git/summary

(50)^ Wine - ArchWiki

(51)^ doitsujin/dxvk: Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine

(52)^ microsoft/D3D9On12: The Direct3D9-On-12 mapping layer

関連項目[編集]

外部リンク[編集]