私はエディタとしてずっと Emacs を愛用しているので、シェーダを書くときにも Emacs の恩恵が得られると便利です。探してみると Emacs Lisp がありましたので、紹介します。
ちなみに下記では Windows 用の Emacs クローンの Meadow を例にしていますが、他の環境でも同様にすれば使えるはずです。
機能としては
- シンタックスハイライト
- インデント(TAB または C-M-\)
- .vert ファイルと .frag ファイルの切り替え(S-lefttab あるいは ff-find-other-file)
があります。
ダウンロードと設定
まず、下記から Emacs Lisp をダウンロード(またはコピー & ペースト)します。
glsl-mode.el
そしたら次のような適当なディレクトリにファイルを保存します。(ついでに “emacs-lisp-byte-compile” などでバイトコンパイルしておくと良いと思います)
C:\meadow\packages\lisp\glsl-mode\glsl-mode.el
次に設定ファイル(~/.emacs.d/init.el) に次を加えます。
(autoload 'glsl-mode "glsl-mode" nil t) (add-to-list 'auto-mode-alist '("\\.vert\\'" . glsl-mode)) (add-to-list 'auto-mode-alist '("\\.frag\\'" . glsl-mode))
こうすると .vert(頂点シェーダ)ファイルや .frag(フラグメントシェーダ)ファイルを読み込めば自動的に glsl-mode になります。
おまけ cg-mode
NVIDIA 系な方は Cg を利用している方もいるかと思います。 Cg にも cg-mode があるようなので、利用してみると良いかと思います。
cg-mode.el