「シェーディング言語」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「'''シェーディング言語'''(英語:shading language)とは、コンピューターグラフィックスにおけるシェーダーを簡単に扱う...」) |
imported>Administrator |
||
(2人の利用者による、間の3版が非表示) | |||
1行目: | 1行目: | ||
− | '''シェーディング言語''' | + | '''シェーディング言語'''([[英語]]:shading language)とは、[[コンピューターグラフィックス]]における[[シェーダー]]を簡単に扱うことに特化した[[プログラミング言語]]の総称である。 |
== 概要 == | == 概要 == | ||
8行目: | 8行目: | ||
=== リアルタイムレンダリング === | === リアルタイムレンダリング === | ||
− | [[リアルタイムレンダリング]]向けのシェーディング言語は、[[GPU]]で実行される[[プログラマブルシェーダー]]を簡単に書けるようにしたものであり、いわゆる[[プログラマー]]が | + | [[リアルタイムレンダリング]]向けのシェーディング言語は、[[GPU]]で実行される[[プログラマブルシェーダー]]を簡単に書けるようにしたものであり、いわゆる[[プログラマー]]が[[GPU]]を直叩きに近い感覚で、かつ[[ハードウェア]]の差異を抽象化して扱えるようにしているものが多い。そのため[[アセンブラ言語]]のようなものから[[C言語]]のようなもの、さらには[[C Sharp|C#]]で出来ているものまで存在している。 |
* [[ARBアセンブリ言語]] | * [[ARBアセンブリ言語]] | ||
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)