GLSL
GLSLシェーダープログラムは単体のアプリケーションではない。シェーダーの実行にはOpenGL APIを利用するホストアプリケーションが必要である。ホストアプリケーションを記述する言語には、OpenGL APIをサポートする第一級言語であるC言語およびC++、あるいはWebGLをサポートするJavaScriptなどがよく利用される。
従来方式では、GLSLシェーダーはOpenGL API関数を通じて、ハードウェアベンダーの実装したデバイスドライバー上のオンラインコンパイラによって実行時にコンパイルされる。GLSLシェーダープログラムのソースコードはホストプログラム上の文字列リテラルとして記述されたり、アプリケーション実行時に外部テキストファイルなどから読み込まれたりしたものがメモリ上の文字列データとして実体化されるが、オフラインの事前コンパイル方式ではなく、あくまでドライバーにはソースコード文字列の形式で送られ、ドライバーが実行時にシェーダーのソースコードをコンパイルして「シェーダープログラムオブジェクト」を生成する。具体的な手順として、アプリケーションはまずglCreateShader()で各シェーダーステージのシェーダーオブジェクトを生成し、そのシェーダーオブジェクトに対してGLSLソースコード文字列をglShaderSource()で設定した後、glCompileShader()によってシェーダーをコンパイルする。その後、glCreateProgram()で生成したプログラムオブジェクトに対して、glAttachShader()で前述のコンパイル済みシェーダーオブジェクトを関連付け、glLinkProgram()でリンクすることで、ようやく一連のプログラマブルシェーダーパイプラインが完成する。