WebGL で高速 BlendMode その 3
Posted :
WebGL を使った 2D 画像のブレンドは、three.js でも可能です。
three.js はパースペクティブが効いた 3D のレンダリングが一般的に知られています。一方でパースペクティブなしの表示も可能です。その場合は camera インスタンス作成時のコンストラクターに
var camera = new THREE.PerspectiveCamera( fav, aspect, near, far );
ではなく
var camera = new THREE.Camera();
を利用します。(これで z
は単なる重なり順となります)
加えて、three.js はメッシュのマテリアルに blending
というプロパティーをサポートしています。blending
の値には
THREE.NoBlending
THREE.NormalBlending
THREE.AdditiveBlending
THREE.SubtractiveBlending
THREE.MultiplyBlending
THREE.AdditiveAlphaBlending
のいずれかを指定できます。(中身はただの定数です)
これらの組み合わせで、2D のブレンドモード in WebGL を three.js でも扱うことができるわけです。自分で書かなくてはいけないコードは圧倒的に少なくなります。