差分

ナビゲーションに移動 検索に移動

シェーダー

70 バイト追加, 2019年8月23日 (金) 07:40
編集の要約なし
'''シェーダー'''([[英語]]:shader)とは、本来は3DCGで陰影処理を行うことをいう。:shader)とは、本来は3DCGで「陰影処理を」行うことをいう。現在では主に[[GPU]]で行う様々な処理の総称となっている。現在では主に==概要==シェーダーは大きくわけて[[GPU]]で行う処理の総称となっている。が固定機能として持つ「[[固定シェーダー]]」と、[[プログラマ]]が独自の処理を記述できる「[[プログラマブルシェーダー]]」に分けられる。
 == 概要 ==シェーダーは大きくわけてGPUが固定機能として持つ「固定シェーダー」と、プログラマが独自の処理を記述できる「現在ではプログラマブルシェーダーが主流であるため「シェーダー=プログラマブルシェーダー」となっていることが多い。2018年時点で固定シェーダーを採用している現役製品は[[プログラマブルシェーダーニンテンドー3DS]]」に分けられる。 現在ではプログラマブルシェーダーが主流であるため「シェーダー=プログラマブルシェーダー」となっていることが多い。2018年時点で固定シェーダーを採用している現役製品はニンテンドー3DSくらいである。くらいである。
また、ほとんどの[[ゲームフレームワーク]]や[[ゲームエンジン]]では無駄に[[プログラミング]]しなくても定番のレンダリング処理はあらかじめ[[固定シェーダー]]として用意されている。これらでは内部的にはプログラマブルシェーダーを叩いているがソフトウェア的に固定シェーダーに見せている。
最近は[[人工知能]]だ[[ブロックチェーン]]だと[[GPGPU]]の絡みで普通の計算もし易い仕様のプログラミング言語も増えている。
== DXライブラリのシェーダー ==
[[DXライブラリ]]においては、シェーダーを[[C言語]]っぽい言語で書き、付属のツールで[[コンパイル]]することができる。
=== 頂点シェーダー ===
未稿
=== ピクセルシェーダー ===
バイナリの主な[[拡張子]]は".pso"すなわち「[[ファンタジースターオンライン|ぷそ]]」である。
[[テクスチャ]]([[プログラム]]で指定した画像)上の位置(左上を(0.0,0.0)、右下を(1.0,1.0)とする)などのパラメータが渡され、
その位置に書き込みたい色の[[データ]]を返す。色のデータは、を返す。色のデータは、[[RGBA]]の各要素をそれぞれ0.0~1.0の実数で表す形式で入出力する。
例:[[グレースケール]]化
一応[[行列]]の積などの計算もできそうだが、普通に計算したほうが速いし正確。
== DirectXのシェーダー==
[[DirectX]]では上位[[シェーダーモデル]]として[[HLSL]](High-Level Shader Language:上位レベルシェーダ言語)が採用されている。
</pre>
== Unityのシェーダー ==
未稿
== OpenGLのシェーダー ==
未稿
== Metalのシェーダー == * [[Metal Shading Language]] == 関連項目 == * [[画像処理]]* [[シェーディング言語]]* [[MonoGameでシェーダーを使う]]
[[category: コンピューター・グラフィックス]]
[[category: 3DCG]]
匿名利用者

案内メニュー