この記事は、Three.js Advent Calendar 2016 8日目の記事です。 はじめに みなさんはthree.jsのカスタムシェーダを使った経験はありますか? three.jsでは、THREE.ShaderMaterialからカスタムシェーダを利用できます。具体的にはTHREE.ShaderMaterialのコンストラクタで頂点シェーダとフラグメントシェーダを指定してMaterialを生成できます。 THREE.ShaderMaterialと似たようなクラスにTHREE.RawShaderMaterialがあります。 THREE.ShaderMaterialではビルドインのuniform/attributeの定義がシェーダの先頭に挿入されますが、THREE.RawShaderMaterialでは挿入されないという違いがあります。 three.jsでカスタムシェーダをバリバリ使