シェーダーを書くときのfloat/half/fixedの使い分け

シェーダーを書くときのfloathalffixedの使い分けについて

float

通常のプログラミング言語のfloatと同じ32ビット

  • ワールド空間の位置
  • テクスチャ座標

half

一般に16ビット

  • ベクトル
  • オブジェクト空間位置
  • HDRカラー

fixed

一般的に11ビット

  • テクスチャデータ

十分な精度になっているかどうかの検証は実機上で試してみる方が良いそうです。

リンク

シェーダーを書く場合のパフォーマンスのヒント – Unity マニュアル
https://docs.unity3d.com/ja/current/Manual/SL-ShaderPerformance.html

シェーダーのデータタイプと精度 – Unity マニュアル
https://docs.unity3d.com/ja/current/Manual/SL-DataTypesAndPrecision.html

関連記事

UnityでGlow shader
UnityでGlowっぽい雰囲気を実装したShaderです。 [Unity] Glowっぽいシェーダを書いてみた - Qiitahttp://qiita.com/edo_m18/items/b5ad2490b73126489c07 Capsuleに適用してみたサンプル ...

Cgで使えるbuilt-in関数のリファレンス
Cgで使えるbuilt-in関数のリファレンス The Cg Tutorial - Appendix E. Cg Standard Library Functionshttp://developer.download.nvidia.com/CgTutorial/cg_tutorial_appendix_e.html Cg-3.1_April2012_ReferenceManual.p...

Unityで滝のシェーダー
Unityのシェーダーで滝の表現を試してみました。 参考にさせてもらったのはこちらのblogです。 Unity シェーダーチュートリアル  滝を作ってみる – Tsumiki Tech Times|積木製作http://tsumikiseisaku.com/blog/shader-tutorial-waterfall/ Textureの作り方で雰囲気も変わってくるかなと...

Tiling/Offset値をスクリプトから設定する方法
MaterialのTexture設定にあるTilingとOffsetの値をスクリプトから設定したい場合はSetTextureScaleやSetTextureOffsetを使って次のような感じでできるそうです。 Material material; // Tiling material.SetTextureScale("_MainTex", new Vector2(1.0f, 2.0f...

コメントを残す

メールアドレスが公開されることはありません。