glsl-livecoderを正常に使えるようにするまで

glsl-livecoderはglslでライブコーディングを行うためのAtomパッケージである。
正常に動作できるようになるまでにやや手こずったのでメモしておく。

実行環境は、macOS 10.12.5

glsl-livecoderのインストール

$ apm install glsl-livecoder

だが、Atomの設定でglslangValidatorのパスを指定しないと正常に動かない。
自分はglslangValidatorをインストールしてなかったので、次のステップで方法を紹介。
なかなかめんどくさい。

glslangValidatorのインストール

基本的にリポジトリに記載されているビルドステップ通りにやれば良いわけだが、わかりづらい。
なので、以下に自分がやったステップを紹介する。

1. KhronosGroup/glslangリポジトリをクローン

2. CMakeのインストール

CMakeはクロスプラットフォームのビルドツール。
自分は、ダウンロードページからcmake-3.9.0-Darwin-x86_64.dmgをインストールした。

3. CMakeをコマンドラインから使えるよう設定

$ sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

これで$ cmakeが使えるようになる。
この設定コマンドは、CMake.appTools/How to Install For Command Line Useに記載されている。

4. glslangリポジトリのビルドステップに沿って実行

1) Check-Out this project
すでにクローンしてるのでスキップ。

2) Check-Out External Projects
必要なステップだったか正直わからないが、一応1)で作ったディレクトリ内にクローンしておいた。

3) Configure
Mac上での作業だったが、wnidow向けとして書かれていたステップで実行。
glslangをクローンしたディレクトリ上で下記コマンドを実行。

$ cmake ./ -DCMAKE_INSTALL_PREFIX=`pwd`/install

4) Build and Install
こちらもfor Windowsと書かれている方で実行。

$ cmake --build . --config {Release|Debug|MinSizeRel|RelWithDebInfo} \ --target install

ただ、ドキュメントに記載されてた上記コマンドだと諸々のコマンドが見つからない旨のエラーが出た。

-bash: Debug: command not found
-bash: MinSizeRel: command not found
-bash: RelWithDebInfo}: command not found
make[2]: *** [hlsl/CMakeFiles/HLSL.dir/depend] Error 141
make[1]: *** [hlsl/CMakeFiles/HLSL.dir/all] Error 2
make: *** [all] Error 2

なので、congif指定を外して実行。

$ cmake --build . --target install
...
-- Installing: /Users/r21nomi/workspace/shader/glslang/install/bin/glslangValidator
...

glslangValidatorがインストールされたので、これで準備完了。

glsl-livecoderでglslangValidatorのパスを設定

AtomのPreferences -> glsl-livecoderのSettingsからglslangValidator path欄にインストールしたglslangValidatorのパスを設定。
自分の場合は/Users/r21nomi/workspace/shader/glslang/install/bin/glslangValidator

これでシェーダーファイルを開いてctrl-enterとかやるとシェーダープログラムがコンパイルされて、背景に描画されるようになる。