「プログラマブルシェーダー」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator |
|||
7行目: | 7行目: | ||
その結果、よほどの事がないかぎり[[固定シェーダー]]でこと足りるのにそんなアホくさいことに労力を割くのは得策ではないとして[[Unity]]や[[Unreal Engine]]などの[[ゲームエンジン]]が爆発的に普及した。 | その結果、よほどの事がないかぎり[[固定シェーダー]]でこと足りるのにそんなアホくさいことに労力を割くのは得策ではないとして[[Unity]]や[[Unreal Engine]]などの[[ゲームエンジン]]が爆発的に普及した。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==関連項目== | ==関連項目== | ||
− | |||
*[[CUDA]] = 最先端、[[NVIDIA]]製品でしか動かない | *[[CUDA]] = 最先端、[[NVIDIA]]製品でしか動かない | ||
*[[HLSL]] = [[CUDA]]から実験的な機能を排除したもの。唯一まともなデバッガがある。 | *[[HLSL]] = [[CUDA]]から実験的な機能を排除したもの。唯一まともなデバッガがある。 | ||
*[[GLSL]] = [[OpenGL]]や[[Valkan]]などで使われている。 | *[[GLSL]] = [[OpenGL]]や[[Valkan]]などで使われている。 | ||
*[[Metal]] = [[Apple]]製品は[[OpenGL]]が禁止されこれ一本になった | *[[Metal]] = [[Apple]]製品は[[OpenGL]]が禁止されこれ一本になった |
2019年8月14日 (水) 04:13時点における版
プログラマブルシェーダー(英語:programmable shader)とは、グラフィックカード上のシェーダーで独自のプログラム(カスタムシェーダー)を実行させられるものをいう。
概要
初期のシェーダーは「ハードウェアT&L(最近では対義語的に固定シェーダーと呼ばれることが多い)」などと呼ばれ、いわゆるAPI的な感じで「ライティングをする」などの固定機能がGPUに用意されており、プログラマーは何も考えずポリゴンモデルやテクスチャや座標などをGPUに送信すると表示用の一枚ペラの絵が返ってくるというものであった。この方式は簡潔明瞭という利点と、だれが作っても似たように絵になるという欠点があった。
これをアセンブラのようなプログラミング言語で自前で記述できるようにしたのがプログラマブルシェーダーである。後にHLSLやGLSLなどの高級言語などが登場したが、それでも3Dを扱うプログラマーに求められる作業量・記述量は劇的に増えた。
その結果、よほどの事がないかぎり固定シェーダーでこと足りるのにそんなアホくさいことに労力を割くのは得策ではないとしてUnityやUnreal Engineなどのゲームエンジンが爆発的に普及した。