シェーディング言語
OpenGL Architecture Review Boardは2002年にグラフィックスプロセッサ向けの標準低レベル命令セットとしてARBを策定した。
ローディングと実行を行うために、高レベルOpenGLシェーディング言語はARBにコンパイルされる。高レベルシェーディング言語とは違い、ARBアセンブリはフロー制御や分岐をサポートしていない。しかしながらその移植性の高さから様々なGPUで使われ続けている。
Houdini VEX (Vector Expressions) シェーディング言語 (略してVEXと呼ばれる) は、RenderManシェーディング言語に非常に似たものとして作られている。この言語は完全な3Dグラフィックスのパッケージ製品とに統合されているけれども、シェーダー開発者は、普通はレンダリング処理上不可能なシェーダ内部の情報へアクセスすることができる。RSLとVEXの間の言語の違いは主に構文の違いである。2、3のシェーダー命令の名前が異なっている。
近年まで、開発者は複数のビデオカードのグラフィックスパイプラインからの出力を同じレイヤで制御することができていなかったが、今やリアルタイムレンダリングにシェーディング言語を用いる方法が広く使われている。このことにより、以前のハードコードされた変形方式やシェーディング方程式を用いた方法と比較して、ハードウェアの抽象度を高めつつより柔軟なプログラミングモデルを取ることができるようになった。この結果、プログラマはレンダリング処理全体をより詳細に制御することができるようになり、小さなオーバーヘッドでより高品質なコンテンツを開発することができるようになった。
驚くべきことに、これらのシェーダーは最高のパフォーマンスを得るために、パイプライン上の適切な時点においてGPU上で直接実行されるように設計されており、またそのストリームプログラミングモデルのため、汎用処理(GPGPUなど)においても成功を収めている。
この種のシェーディング言語は通常グラフィックスAPI向けであるが、いくつかのアプリケーションでは機能制限付きではあるもののエンドユーザー向けの組み込みシェーディング言語として提供されている。
アドビシステムズは Adobe Flash 11 以降用に Adobe Graphics Assembly Language (AGAL) と、C言語風の Pixel Bender 3D を開発した。