Unity ShaderとBitwise
オブジェクトをレンダ―するとき、一つ主には使わないデータ値、RGB「A」 がある。それを活用したい。
例えば、イメージ効果で、この部分だけをぼかすとかは、その部分のAを0.5にするとか。(前提はシーン内Aを使うシェーダーはない)
しかし、効果が増えると、一つの値は足りない。なんで、floatをbyteとして使おう。
例として、0~1のAを4ビットのデータを入れる。
10012は910、上限は15、つまり値を20に割って/かけて、Aにぶち込む。
全部のプロジェクトがつかえるように、cgincludeを使う。
これを(インストールフォルダー)Unity\Editor\Data\CGIncludesに入れればいい。
*実際に使うときは、#cginclude “UnityBitwise.cginc”をかけば、関数は使える。
使いかたはさまざまが、関数読めば一目瞭然。
シェーダーの例
イメージ効果の例
使えると嬉しい。では。
Posted on: 2015年12月23日, by : chokopan