ボイスが無い時代のゲームだったけど、当然ながら脳内再生ボイスは主題歌のWHITE ALBUMと挿入歌のSOUND OF DESTINYの声でしたよねー^^;;;
あの空気感が伝わってくる雰囲気が好きなので冬になるとやりたくなるゲームです。
ボイスが無い時代のゲームだったけど、当然ながら脳内再生ボイスは主題歌のWHITE ALBUMと挿入歌のSOUND OF DESTINYの声でしたよねー^^;;;
あの空気感が伝わってくる雰囲気が好きなので冬になるとやりたくなるゲームです。
MSAAでMRTってできない?
どちらかというと今のところ問題はStretchRectに出ているのだが、BackBufferを使わないでMSAAのRenderTargetとテクスチャ+非MSAARenderTarget→MSAAへレンダリング→StretchRectでコピーはうまくいった。
しかし、MRTにした途端StretchRectがS_OKを返しておきながら動作しておらず、StretchRectを一切しない意味のないコードと結果が同じになった。要するに未初期化のVRAMなテクスチャのままだ。DXのdebugランタイムもエラーでないし。
どっかでタコミスしてそうな気もするのだが、ざっと見た感じは問題なさそうなコードなのになあ。begin~endとRenderTarget切り替え&コピーのタイミングが重要なのかもしれないが調査中。
とりあえずwebを調べまわった感じではMSAA+MRTの資料がみあたらん。どれもBackBufferからとってくるか(単一しかありえない)、単一のRenderTargetだなあ。
追記:
http://msdn.microsoft.com/en-us/library/bb147221(VS.85).aspx
その割にはエラー出力がでないよなあ。
1月あたりにOblivionの小さなModを某所に公開して、その時のログを某所2に掲載して頂いていたのだが、そこが消えてしまったぽいのでこのサイトに置く予定。
アス比16:9なんてテストしていなかったのだが、とりあえず動いてるようなので一安心。
リリース後に使ってて気がついたobのシステム的に回避しようがない問題点とかもあったのでドキュメント更新しないと。
特定の状況で通常通りの動作を行うと整合性が変になってバグが生じるので、これを回避するような動作を入れたら、それをユーザにバグと言われるとか。
仕様に対して違う挙動だとか、仕様そのものの誤りによる本来のバグではなく、ユーザにとって思いもよらぬことが起こるとバグバグ言われるようになるとは大変ですのう。
texCUBEの前に用いるreflectないしはrefractにはワールド系での視線と法線が必要になるわけだが、これを使うためには頂点シェーダからワールド系に変換済みの頂点座標とカメラ位置と法線を持ってこないと駄目なわけです。(使った雰囲気で多分)
そうすると、頂点ごとにワールド系に変換する負荷を押さえるためにモデルにあわせて回転させておいたパーピクセルランバートとパーピクセルスペキュラのためのライト方向とカメラ位置が無駄になってしまうのだが、どうすればいいんだろうか。ちなみに、回転させたカメラ位置と未回転法線でreflectするとモデルのみの回転ですらキューブマップの参照先がカメラを動かしたようになってしまう。
現実的な順から解決策を書くと
になるんだろうけど、1は当然一番重いし、2は今時はそこら辺のマテリアルすら環境マッピングを用いることが多いので1とあまり変わらなさそうだし、3は適当に考えた感じだとreflectした後に回転させないと駄目で現実味が無いんだよなあ。
普通の環境マッピングなんて初歩的なので未だにワールド系使うサンプルしか見たこと無いし、どうしたもんかしら。
最近のコメント