シェーディング言語
2019年9月24日 (火) 04:13時点におけるimported>Administratorによる版
シェーディング言語(英語: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)