「GLSL」を編集中
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
'''GLSL'''(語源:OpenGL Shading Language)とは、主に[[OpenGL]]で使われる[[シェーディング言語]]である。 | '''GLSL'''(語源:OpenGL Shading Language)とは、主に[[OpenGL]]で使われる[[シェーディング言語]]である。 | ||
− | ==互換性== | + | == 互換性 == |
− | GLSLには複数のバージョンが存在し、それらはそもそもの構文からして違うため[[互換性]] | + | GLSLには複数のバージョンが存在し、それらはそもそもの構文からして違うため[[互換性]]がない。一般的な[[プログラマー]]はコンパイルエラーで悩まされることになる。 |
− | このようなグダグダな状況は[[Steam]]で有名な[[Valve]] | + | このようなグダグダな状況は[[Steam]]で有名な[[Valve]]の中の人に「今週のGLSLバージョン地獄( GLSL version of the week hell)」と命名された。 |
− | |||
− | |||
− | + | * https://cpplover.blogspot.com/2014/05/opengl.html | |
− | + | * http://richg42.blogspot.com/2014/05/things-that-drive-me-nuts-about-opengl.html | |
− | + | == 備考 == | |
+ | あまりにGLSLがクソすぎて[[Google]]は[[Vulkan]]で[[HLSL]]を使えるようにした。[[Vulkan]]は実質的に[[Android]]でしか使われていないので[[Google]]の方針がすべてになるであろう。 | ||
− | + | * [[DirectX Shader CompilerでSPIR-Vを出力する]] | |
− | + | 前述の互換性問題などを考慮すると、人間が手で書くものではなく、以下のような使い方の方が現実的である。 | |
− | |||
− | |||
− | [[ | + | * [[HLSL]]で書いて |
+ | * [[SPIR-V]]に[[コンパイル]]して | ||
+ | * [[GLSL]]に[[逆コンパイル]]する | ||
− | + | 逆コンパイラはVulkanの中の人が開発してくれている。 | |
− | |||
− | + | * [[SPIR-VからGLSLを生成する]] | |
− | *[[ | ||
− | [[ | + | * [[SPIR-VからHLSLを生成する]] |
− | + | ||
− | [[ | + | == 関連項目 == |
+ | |||
+ | * [[GLSLのversionディレクティブ一覧]] |