トップ 一覧 検索 ヘルプ RSS ログイン

unity_shader_20_30の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!命令数の上限

デフォルトでShaderの命令をどんどん記述していくと、
 Shader error in 'Custom/xxx': Program 'frag_surf', Arithmetic instruction limit of 64 exceeded
というエラーが出てShaderが実行できないことがあります。
 http://docs-jp.unity3d.com/Documentation/Components/SL-ShaderPrograms.html
より、
デフォルトの「#pragma target 2.0」の指定の場合は、頂点シェーダーで256命令、フラグメントシェーダーで32テクスチャ+64演算のような制限があるようです。
「#pragma target 3.0」とすれば命令数の上限は上げることができます。

Nexus7でOpenGL ES 2.0で確認したところ、「#pragma target 3.0」でも動作するのを確認。