「SPIR-VからGLSLを生成する」の版間の差分
imported>Administrator 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (2人の利用者による、間の3版が非表示) | |||
| 4行目: | 4行目: | ||
==準備== | ==準備== | ||
[[Vulkan]] [[SDK]] | [[Vulkan]] [[SDK]]には[[SPIR-V]]から[[GLSL]]を生成する[[逆コンパイラ]]「[[SPIRV-Cross]]」が含まれている。まずは[[ダウンロード]]だ。今回は[[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 | ==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 | ==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 | ==GLSL ES 1.00 (OpenGL ES 2.0 / WebGL 1.0)== | ||
次にOpenGL ES 2. | 次にOpenGL ES 2.0と[[WebGL]] 1.0向けのオプションも試してみる。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
./spirv-cross --version 100 --es light_vs.spv | ./spirv-cross --version 100 --es light_vs.spv | ||
</syntaxhighlight> | </syntaxhighlight> | ||
昔ながらのattributeとvaryingを使った形式になった。 | |||
<syntaxhighlight lang="glsl"> | <syntaxhighlight lang="glsl"> | ||
#version 100 | #version 100 | ||
| 103行目: | 102行目: | ||
*[[MacにMoltenVKを入れてVulkanを使ってみる]] | *[[MacにMoltenVKを入れてVulkanを使ってみる]] | ||
[[category: 3DCG]] | |||
[[category: シェーディング言語]] | |||
[[category: SPIR-V]] | [[category: SPIR-V]] | ||
[[category: GLSL]] | [[category: GLSL]] | ||
[[category: HLSL]] | [[category: HLSL]] | ||
[[category: Vulkan]] | [[category: Vulkan]] | ||