スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

やっぱりfxではまり

先週末の成果。
XNAのサンプルの ship.fx とかは、ごにょごにょやって なんとなく出せるようになったんで、今度はNVIDIAのサイトから fxを拾ってきて 試してました。
シャドウとは関係ない plasticP.fxとかは fx内にデフォルトの値が書いてあったりして 割と簡単に出せたのですが。
いざ シャドウに関係ありそうな名前の shadowSpot.fx を設定したら、mesh.Draw()でエラー。

ううむ、よくわからないまま ごにょごにょやるのも限界かしら、と思いながらも ぐぐって英語ばかりのページを ぐだぐだ漁ってたら。

effect.Begin();
foreach (EffectPass pass in effect.CurrentTechnique.Passes)
{
pass.Begin();
.... one or more calls to Draw[User][Indexed]Primitives();
pass.End();
}
effect.End();

という記述を見て あっと解りました。
shadowSpot.fx はマルチパスだから エラーなんじゃね?
適当にはしょりながらソースをいじってたから いつのまにかパスの処理を省いてたらしい。
ship.fx や plasticP.fx はシングルパスなんで パスの設定を書かなくても たまたま動いてただけみたい。

上記のように書き換えたら なんとか実行はできました。
画面は 真っ黒キャラの一部が表示されただけでしたがw
girl20071105_01.jpg

とここで時間切れ?
つづきはまた次回、なにせ仕事もあるんで。
スポンサーサイト

テーマ : 3DCG
ジャンル : コンピュータ

コメントの投稿

非公開コメント

どうでもいいけどよくないけど

fx書いた人ごとに WorldViewProjection が
worldViewProjection とか
worldViewProj とか
WvpXf とか
mWVP とか
u_model_view_projection とか
名前が統一とれてないのは どうにかならんかなぁ。
どうにもならんよなぁ。
プロフィール

nishi

  • Author:nishi
  • 年齢:かなりおじさん
    趣味:タク絵
    目標:エロい3DCG
月別アーカイブ
カテゴリー
ブログ内検索
リンク
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。