[過去ログ] 鬱だ氏のう DirectX (Part 6) (1001レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
370(11): 02/11/03 18:30 ID:??? AAS
取りあえずウインドウモードで作成してるんですが、
ウインドウのサイズが変わったときにどんな処理をしたらいいのでしょうか?
そのままだと、元画像がただ引き伸ばされるだけなので。
サンプル見たんですが、どうもデバイスごと作り直しているような…
実際どうなんでしょうか?
375: 370 02/11/03 19:12 ID:??? AAS
>>371
PROJECTIONとVIEWは一応更新してるんですが、それとは関係ないですよねぇ。
389(7): 02/11/04 10:07 ID:??? AAS
>>370
IDirect3DDevice8::Reset( )
つまりコイツで
ビデオメモリの内容をクリア&フレームバッファの設定を更新
デバイスの再作成に限りなく近い内部処理だがこれでヨロシコ。
DirectX7以前とは勝手が違うのかもな。(よく覚えていない)
399(1): 370 02/11/04 15:35 ID:??? AAS
>>389-391
遅くなりましたが、レスどうもです。
やっぱりウインドウサイズ変更だけでも、
デバイス再作成に近いことはやらなきゃいけないんですねぇ。
デバイスに関連するものも作り直しとなると結構面倒・・・。
404(1): 370 02/11/04 16:14 ID:??? AAS
>>401
それって常に大きめのサイズでレンダリングしてしまうわけですよねー。
ウインドウが小さい時はそのサイズにあった速度にしたいし、うーむ。
406: 370 02/11/04 17:02 ID:??? AAS
>>405
当分はその方向で逝こうと思います。
でもディスプレイモードが変更された時ならまだしも
CTRL+ALT+DELELE押された時もデバイスが死んじゃうんじゃ、
どっちにしろデバイス作り直す処理は必要かな。
OpenGL見たいに勝手にやってくれると有難いんだが、
DirectX9もここらへんは変わらないのかなぁ。
410(3): 02/11/04 21:02 ID:??? AAS
>>370
サンプルプログラムの、d3dapp.cppの中にある、メッセージプロシージャは見た?
その中にあるサイズ変更関連のメッセージ(特にWM_SIZING)あたりを読むことを
オススメする。
デバイスの作り直しは、よほど特殊な要求(HAL→REFの切り替えとか)が無い限り
必要ないと思う。ヘルプのResetメソッドについても読もう。
414(1): 370 02/11/05 00:00 ID:??? AAS
>>407>>410
デバイスそのものを作り直さないまでも、
RenderState、VertexBuffer、テクスチャ、メッシュ全て設定し直さなきゃいけないなら、
デバイス作り直すのとほとんど変わらないなぁというお話でして。
416(1): 370 02/11/05 01:15 ID:??? AAS
>>415
RenderState以外はMANAGEDにしておけば手間が省けるってことですね。
メッシュは物によって調べる必要があるみたいですが。
話はそれますがヘルプに
CreateVertexBufferのUsageに"次の 1 つ以上のフラグの組み合わせ"
って書いてあるのにサンプル見ると0指定してあるんだけど
どういう意味でしゅおうか??
419: 370 02/11/05 01:34 ID:??? AAS
>>417
どれも0でないみたいです。
"0以上"の間違いだろうと思い込んで寝ます。
421: 370 02/11/05 01:38 ID:??? AAS
>>418,420
D3DUSAGE_DYNAMICに
"D3DUSAGE_DYNAMIC を指定しないと、頂点バッファは静的に作成される。"
って書いてあるんでこれが0なのかなと都合のいい解釈をしつつ寝ます。
424: 410 02/11/05 08:07 ID:??? AAS
>>370
>メッシュはものによって調べる必要があるみたいですが
既にヘルプを呼んでいるかもしれんが、メッシュを作る時にオプションに
D3DXMESH_MANAGEDを設定すればいいだけ。
>>415
フォロー、サンクス。っていうか肝心なことを書き忘れてたんだな、俺(笑)。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.086s*