NVIDIA FXComposerのconstの扱い

なんかね、const(定数渡し)の挙動が、コードを弄っても、どうも最初しか反映されないので困ってました。
例えば

float4 ww0 = { 0, 1.0, 0 ,0}; //ココを弄る

//PixelShader
float4 PS_Textured( vertexOutput IN): COLOR
{
・・・
}

として、ww0の部分を弄ってもプレビューに反映されないと言うものです。


結論から言うと、const(定数受け渡し)は、GUIの「property」から弄ることが前提のようです。
確かに、いくら弄ってもpropertyの値は、読み込んだ時の値から変化していません。
コード変更、再コンパイルの際に値を再読込してくれないというのは、ちょっと予想外な動きです。
ただこれは「バグだ」とは一概に言えなくて、propertyの中にはview行列もあるので、「コードを更新する度に視点リセットされたら都合が悪いでしょ!」という事への配慮なんでしょう。
完全な更新をかけたい場合は、propertyの上に「Reset to default」があるのでそれを押しましょう。
すぐ隣が「delete key」なのでヒヤヒヤしてしまいますが。


ともかく、知らないとハマるので、ご使用の際はご注意を。