「SPIR-VからGLSLを生成する」の版間の差分

編集の要約なし
編集の要約なし
4行目: 4行目:


==準備==
==準備==
[[Vulkan]] [[SDK]][[SPIR-V]]から[[GLSL]]を生成する[[逆コンパイラ]]が含まれている。
[[Vulkan]] [[SDK]]には[[SPIR-V]]から[[GLSL]]を生成する[[逆コンパイラ]]「[[SPIRV-Cross]]」が含まれている。まずは[[ダウンロード]]だ。今回は[[macOS]]版をダウンロードしてきた。
まずは[[ダウンロード]]だ。今回は[[macOS]]版をダウンロードしてきた。


*https://vulkan.lunarg.com/sdk/home
*https://vulkan.lunarg.com/sdk/home
14行目: 13行目:
[[SPIR-V]]ファイルは「[[DirectX Shader CompilerでSPIR-Vを出力する]]」で生成したものを使った。[[GLSL]]ではなく[[HLSL]]から生成した[[SPIR-V]]ファイルだ。
[[SPIR-V]]ファイルは「[[DirectX Shader CompilerでSPIR-Vを出力する]]」で生成したものを使った。[[GLSL]]ではなく[[HLSL]]から生成した[[SPIR-V]]ファイルだ。


==GLSL 4.60 (OpenGL 4.6) ==
==GLSL 4.60 (OpenGL 4.6)==
まずは最新のGLSL 4.60形式で出力してみる。
まずは最新のGLSL 4.60形式で出力してみる。
ちなみにオプションを一切指定しない場合はGLSL 4.50となるようだ(2019年11月時点)。
ちなみにオプションを一切指定しない場合はGLSL 4.50となるようだ(2019年11月時点)。
41行目: 40行目:
</syntaxhighlight>
</syntaxhighlight>


==GLSL ES 3.00 (OpenGL ES 3.0) ==
==GLSL ES 3.00 (OpenGL ES 3.0)==
OpenGL ES 3.0向けのオプションを指定して試してみる。
OpenGL ES 3.0向けのオプションを指定して試してみる。
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
67行目: 66行目:
</syntaxhighlight>
</syntaxhighlight>


==GLSL ES 1.00 (OpenGL ES 2.0 / WebGL 1.0) ==
==GLSL ES 1.00 (OpenGL ES 2.0 / WebGL 1.0)==
次にOpenGL ES 2.0と[[WebGL]] 1.0向けのオプションも試してみる。
次にOpenGL ES 2.0と[[WebGL]] 1.0向けのオプションも試してみる。
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">