目次

シェーダーの世代ごとの違い

DirectX8

ShaderModel 1

VertexShader 1.0~1.1

PixelShader 1.0~1.3

PixelShader 1.4

DirectX9

ShaderModel2.0

VertexShader 2.0

VertexShader 2.0a

PixelShader 2.0

PixelShader 2.0a

PixelShader 2.0b

ShaderModel3.0

VertexShader 3.0

PixelShader 3.0

DirectX10(Direct3D10) / DirectX10.1(Direct3D10.1)

ShaderModel 4

ShaderModel 4.0 (Vertex/Geometry/Pixel)

ShaderModel 4.1 (Vertex/Geometry/Pixel)

DirectX11 (Direct3D11) / 11.1 / 11.2

ShaderModel 5

ShaderModel 5.0 (Vertex / Hull / Domain / Geometry / Pixel / Compute )

DirectX12 (Direct3D12)

ShaderModel 5.1 (Vertex / Hull / Domain / Geometry / Pixel / Compute )

ShaderModel 6

ShaderModel 6.0 (Vertex / Hull / Domain / Geometry / Pixel / Compute )

ShaderModel 6.1 (Vertex / Hull / Domain / Geometry / Pixel / Compute )

ShaderModel 6.2 (Vertex / Hull / Domain / Geometry / Pixel / Compute )

補足説明

命令slot と実行命令数

ペアリングと 0slot 命令

temp レジスタ

texture 数

  1. 一度にShaderに渡せる Texture 数 (APIで渡せる個数)
  2. Shader がサンプリングできる回数 (uvを演算で求めれば何回でもいけることが多い)
  3. Sampler State の数

ハードの制約と Direct3D 仕様の制約