「シェーディング言語」の版間の差分
imported>Fallout New Tokyo 編集の要約なし |
imported>Administrator 編集の要約なし |
||
| 26行目: | 26行目: | ||
* [[SL Sharp|SL#]] | * [[SL Sharp|SL#]] | ||
*: [[C Sharp|C#]]ベースのシェーディング言語である。主に[[Mono]]を用いて[[DirectX]]([[Windows]])と[[OpenGL]]([[Linux]]や[[Mac OS X]]など)に両対応した[[プログラム]]を一発で書きたい場面が想定されており、実行時に動的に[[GLSL]]および[[HLSL]]へ変換するという、他とは一線を画すほど非常に高レベルなシェーディング言語である。 | *: [[C Sharp|C#]]ベースのシェーディング言語である。主に[[Mono]]を用いて[[DirectX]]([[Windows]])と[[OpenGL]]([[Linux]]や[[Mac OS X]]など)に両対応した[[プログラム]]を一発で書きたい場面が想定されており、実行時に動的に[[GLSL]]および[[HLSL]]へ変換するという、他とは一線を画すほど非常に高レベルなシェーディング言語である。 | ||
* [[WSL (Web Shading Language)]] | |||
*: [[WebGPU]]で採用されているもの。[[HLSL]]がベースになっている。 | |||
== 関連項目 == | == 関連項目 == | ||
2019年9月24日 (火) 04:13時点における版
シェーディング言語(英語:shading language)とは、コンピューターグラフィックスにおけるシェーダーを簡単に扱うことに特化したプログラミング言語の総称である。
概要
シェーディング言語は大きくわけて、映画やテレビなどの放送用に用いられれるプロダクションレンダリング向けと、ゲームなどに用いられるリアルタイムレンダリング向けの分類される。
プロダクションレンダリング
プロダクションレンダリング向けのシェーディング言語の多くは芸術家、いわゆるアーティストがプログラミングやハードウェアに関する深い知識がなくても扱え、かつ非常に高品質であることを第一としている物が多い。よってレンダリング速度は二の次であり、そこは想像を絶するほど巨大なレンダーファームのパワーを持ってしてでゴリ押しするのが一般的である。
リアルタイムレンダリング
リアルタイムレンダリング向けのシェーディング言語は、GPUで実行されるプログラマブルシェーダーを簡単に書けるようにしたものであり、いわゆるプログラマーがGPUを直叩きに近い感覚で、かつハードウェアの差異を抽象化して扱えるようにしているものが多い。そのためアセンブラ言語のようなものからC言語のようなもの、さらにはC#で出来ているものまで存在している。
- ARBアセンブリ言語
- GLSL (OpenGL Shading Language)
- 主にOpenGLで使われるC言語をベースとした高レベルなシェーディング言語である。プログラミング言語は大きく高低で2種類に分類されるという関係で高レベル扱いだが、後発品と比べると中レベルと言った感じである。内部的にはARBアセンブリ言語にコンパイルされ利用される。
- Cg
- HLSL (High Level Shader Language)
- AGAL (Adobe Graphics Assembly Language)
- Adobe Flashで用いられるシェーディング言語である。ARBアセンブリ言語をベースとしている。
- Adobe Pixel Bender
- Adobe Flashで用いられるシェーディング言語である。GLSLをベースとしている。
- PSSL (PlayStation Sharder Language)
- HLSLをベースにPlayStation 4に徹底最適化したものであるとされる。
- SL#
- WSL (Web Shading Language)