コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
最近の更新
未作成ページ
おまかせ表示
ヘルプ
MonoBook
検索
検索
ログイン
個人用ツール
ログイン
ログアウトした編集者のページ
もっと詳しく
投稿記録
トーク
「
シェーダーモデル
」を編集中
ページ
議論
日本語
閲覧
編集
ソースを編集
履歴表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
編集
ソースを編集
履歴表示
全般
リンク元
関連ページの更新状況
特別ページ
ページ情報
2018年10月24日 (水) 03:12時点における
imported>Administrator
による版
(
→SM 6.0
)
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
'''シェーダーモデル'''([[英語]]:Shader Model 、略称:SM)とは、[[DirectX]] 8から採用された[[GPU]]が実装する最低限の「機能」および「制約」を大雑把に世代番号で表したものである。たとえば「SM 1.1」とあれば、[[プログラマブルシェーダー]]として[[バーテックスシェーダー]]だけが使え、プログラマブルシェーダーに投げ込める最大命令数は128命令([[アセンブラ]]の[[ステップ数]])となっている。 もっと噛み砕いていえば[[ゲーム]]のパッケージなどに「DirectX 11対応」など記載されているが、あれの[[プログラマ]]向け表記みたいなものである。DirectXのバージョンが上がる際にはシェーダーモデルのバージョンも上がるのが定番となっている。 == 主なバージョン == === SM 1.x === * [[バーテックスシェーダー]](最大命令数:128、プロファイル:vs_1_1) DirectX 8.0で登場した最初のバージョン。マイナーチェンジも多数出た。 * DirectX 8.0 - SM 1.0 / SM 1.1 * DirectX 8.0a - SM 1.3 * DirectX 8.1 - SM 1.4 === SM 2.0 === * [[バーテックスシェーダー]](最大命令数:256、プロファイル:vs_2_0) * [[ピクセルシェーダー]](最大命令数:テクスチャ関連32、計算関連64、プロファイル:ps_2_0) DirectX 9.0で登場した。こいつもマイナーチェンジが多数登場した。 * DirectX 9.0 - SM 2.0 * DirectX 9.0a - SM 2.0a * DirectX 9.0b - SM 2.0b [[ピクセルシェーダー]]襲来。 === SM 3.0 === * [[バーテックスシェーダー]](最大命令数:512以上、プロファイル:vs_3_0) * [[ピクセルシェーダー]](最大命令数:512以上、プロファイル:ps_3_0) DirectX 9.0cで登場。[[Windows XP]]最後のDirectXであったため非常に長らく使われた。DirectXのバージョンだけを見るとマイナーチェンジに見えるが、実質メジャーバージョンアップであった。 投げ込める命令数の数が一気に増大した。普通に使ってたらそんな膨大な処理しねーよというレベルである。 このバージョンで[[ベータ版]]を抜けた感があり、[[PC]]向けや[[スマホ]]向けを問わず、現代の[[GPU]]ではこのレベルが最低基準となっている。激安スマホ向けのGPUでも大体このレベルはサポートしているので、SM3.0で書いておけば大方のプラットフォームにサクッと対応できる。いわゆる[[デファクトスタンダード]]である。 === SM 4.0 === * [[バーテックスシェーダー]](最大命令数:無制限、プロファイル:vs_4_0) * [[ジオメトリシェーダー]](最大命令数:無制限、プロファイル:gs_4_00 * [[ピクセルシェーダー]](最大命令数:無制限、プロファイル:ps_4_0) DirectX 10で登場。DirectX 10が[[Windows Vista]]専用であったため壮大にコケた。 [[ジオメトリシェーダー]]登場。使いみちがイマイチわからない。 それよりも大きいのが命令数の上限がなくなったことである。[[VRAM]]も[[ローエンド]]ですら[[ギガバイト]]当たり前の時代に突入し、元気があれば何でもできるようになった。 === SM 5.0 === * [[コモンシェーダー]] ** [[バーテックスシェーダー]] ** [[ジオメトリシェーダー]] ** [[ピクセルシェーダー]] ** [[ハルシェーダー]] ** [[ドメインシェーダー]] ** [[コンピュートシェーダー]] DirectX 11で登場。[[Windows 7]]専用であったがWindows 7の大ヒットで一気に普及した。[[Windows 8]]とDirectX 11.1もSM5.0で、その次に登場した[[Windows 8.1]]とDirectX 11.2もSM5.0であった。つまり完成形といわれる。 [[コモンシェーダー]]なる概念が登場し、従来は各[[シェーダー]]ごとに異なっていた命令セットの違いなどが撤廃され、さらに呼び出す順序も自由に決められるようになった。これにより「バーテックスシェーダー→ピクセルシェーダー→バーテックスシェーダー」などといったことも可能になった。はっきり言って無敵だ。 === SM 5.1 === DirectX 12で登場。[[Windows 10]]と[[Xbox One]]が採用。 DirectX 11世代の[[ハードウェア]]を低レベルで叩けるようになった。これは[[AMD]]が[[Mantle]]という低レベルAPIを公開したことによる。その発想はたしかに素晴らしいが[[NVIDIA]]が宗教上の理由で採用できない。そこで[[マイクロソフト]]が仲裁に入る形で「あくまでマイクロソフト製」として再リリースされたものである。 ちなみに、あまりに画期的すぎて[[Apple]]が[[Metal]]、[[Google]]が[[Vulkan]]というパクリを発表した。ぶっちゃけ時代に逆行しているよね。 === SM 6.0 === コンパイラ基盤として[[LLVM]]/[[Clang]]を採用するらしい。 == 関連項目 == * [[HLSL]] * [[プログラマブルシェーダー]] * [[GPU]]
編集内容の要約:
MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MonoBook:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の確認用の質問に回答してください (
詳細
):
1たす1は?(全角で入力してください)
キャンセル
編集の仕方
(新しいウィンドウで開きます)
本文の横幅制限を有効化/無効化