Effect
クラスにパラメータを保存する方法は?私は今3日目この問題で立ち往生していて、私はゆっくりと狂気になるだろうと思います。
EffectParameter
各オブジェクトのシェーダーのパラメーター値を動的に格納/設定できるように、という名前のクラスを作成しようとしました。
ParameterValue
オブジェクトタイプにを格納しようとしました
Object ParameterData;
しかし、私はこのクラスから読む必要があるという問題に遭遇しました....これはすべてが丘を下って行くところです。
このメソッドeffect.Parameters["parametername"].SetValue()
は、いくつかの種類のタイプのみを受け入れます。そして、このメソッドにオブジェクトを渡すことはできません。
そこで、このオブジェクトをキャストしようとしました。
public T ReadData<T>()
{
return (T)(object)this.ParameterDataVal;
}
しかし、これで私の問題は、私がそれを設定するときにこのオブジェクトの特定のタイプを知る必要があるということです(Float
などTexture2D
)
また、型変数を使用してこのオブジェクトの型を判別することはできません。使ってみまし(typevariable)(object)this.ParameterDataVal;
たが、エラーが出ました。
私は怒っていたので、動的型付けの解決策をネットで探しました。しかし、私は自分の問題の方法を見つけられませんでした。
それから私は多分私が単純なことの問題を作っていることに気づきました。そこでEffectParameter
、データの保存にを使用することにしました。
しかし、このデータをエフェクトに設定しようとすると、別の問題が発生しました。メソッドを使用してこのパラメーターをエフェクトに指定しようとしましたが、「読み取り専用です」というエラーが発生します。
EffectParameter
そのため、コレクションに自分を追加することはできません。私は多くの方法を試しました。しかし、成功しません。
私はこれで完全に迷子になっています。他に何をすべきかわかりません。
誰かがこの問題に遭遇したことがありますか、誰かが私に良い解決策の計画を提供することができますか?