プログラマブルシェーダー

提供: MonoBook
2019年8月14日 (水) 04:13時点における124.87.119.49 (トーク)による版
ナビゲーションに移動 検索に移動

プログラマブルシェーダー英語:programmable shader)とは、グラフィックカード上のシェーダーで独自のプログラム(カスタムシェーダー)を実行させられるものをいう。

概要

初期のシェーダーは「ハードウェアT&L(最近では対義語的に固定シェーダーと呼ばれることが多い)」などと呼ばれ、いわゆるAPI的な感じで「ライティングをする」などの固定機能がGPUに用意されており、プログラマーは何も考えずポリゴンモデルやテクスチャや座標などをGPUに送信すると表示用の一枚ペラの絵が返ってくるというものであった。この方式は簡潔明瞭という利点と、だれが作っても似たように絵になるという欠点があった。

これをアセンブラのようなプログラミング言語で自前で記述できるようにしたのがプログラマブルシェーダーである。後にHLSLGLSLなどの高級言語などが登場したが、それでも3Dを扱うプログラマーに求められる作業量・記述量は劇的に増えた。

その結果、よほどの事がないかぎり固定シェーダーでこと足りるのにそんなアホくさいことに労力を割くのは得策ではないとしてUnityUnreal Engineなどのゲームエンジンが爆発的に普及した。

関連項目

  • CUDA = 最先端、NVIDIA製品でしか動かない
  • HLSL = CUDAから実験的な機能を排除したもの。唯一まともなデバッガがある。
  • GLSL = OpenGLValkanなどで使われている。
  • Metal = Apple製品はOpenGLが禁止されこれ一本になった