メインメニューを開く

「シェーダー」を編集中

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

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

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)