トップページgamedev
1001コメント355KB

DirectX総合スレ (Part2)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/09/22 23:30:32ID:anobjZYP
DirectXについては基本このスレで話していこうとものです。
基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き
このスレの回転を早めて常にアクティブなスレにしたいと思っております。
このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。

テンプレは >>2以降で
0436名前は開発中のものです。04/11/15 12:44:08ID:j3+2qJVd
じゃあ技術者の人はエラーのことをエラって言うんですね。
ちょっとどうかしてますよ。

ありがとうございました。
0437名前は開発中のものです。04/11/15 13:13:47ID:IYH0QK76
>>436だけ素で勘違いしている模様
0438名前は開発中のものです。04/11/15 13:23:34ID:NLO0zp6P
いるよなー原理厨
もっとフレキシブルに対応しないと自分で自分の首しめるんじゃないのw
0439名前は開発中のものです。04/11/15 14:41:51ID:bpeXcaJk
JIS表記とか専門家アクセントとかその辺が関わってくるのだろう。
0440名前は開発中のものです。04/11/15 15:24:32ID:hXuSBCBQ
つか英語つかえばいいじゃん
0441名前は開発中のものです。04/11/15 15:26:50ID:ovSB+ig+
シェーだ
0442名前は開発中のものです。04/11/15 16:04:53ID:9e/mmfO8
読み方なんて関係ないです。
エロい人にはそれが分からんのです。
0443名前は開発中のものです。04/11/15 18:06:02ID:0joNhAgk
  ∧⊂ヽ
  (゚Д゚)ノ
  | ⊃|
  |  |
  ⊂ノ〜
  ∪
0444名前は開発中のものです。04/11/15 23:35:59ID:oSqrLWaE
DirectXのスレなんだからヘルプやMSDNに準拠でいいと思うけど。
0445名前は開発中のものです。04/11/16 10:55:13ID:mQtEJyx7
「固定シェーダー」なんて言葉は仲間内だけで使えってことだな
0446名前は開発中のものです。04/11/16 15:50:00ID:s0SvFWiG
こんなどうでもいいことに拘って技術ネタがないのが
このスレのたしなみ
0447 ◆c.50Ky2eZQ 04/11/16 22:23:11ID:DXV97k4K
質問です。
私の環境では、下記の本や他のDirectXのサンプルで
フルスクリーン表示のサンプルを実行するとOSごと固まります(マウス、キーボードの入力を受け付けなくなる)

DirectXゲームグラフィックスプログラミング Ver. 2.0
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797329807/1100610050/250-9497108-9869848
こちらの本のサンプルでは動作します。
DirectX 9実践プログラミングI/O別冊
ttp://www.amazon.co.jp/exec/obidos/ASIN/4875934610/250-9497108-9869848

この他、DirectX9の入門ページなどのサンプルでもフルスクリーンだと固まってしましいます。
上にあげた2つの本のサンプルを比べていろいろ修正して試したところ、
D3DPRESENT_PARAMETERSの設定が問題であることが分かりました。
↑根拠は、I/O別冊のほうのD3DPRESENT_PARAMETERSの設定部分をコピペして、
動かない本のサンプルや入門ページのサンプルに貼り付けて実行したらフルスクリーンでも動作したからです。

この構造体の設定は入門書などでは決めうちで書かれているのですが、
本当なら実行環境のグラフィックカードの状態をチェックして適切に設定しないと
ダメという認識でいいんでしょうか。

※ところで、有料のゲームでも私の環境ではフルスクリーンで固まってしまって遊べないものが
あったりします(PSO BBなど)。もちろん固まらないゲームもあります。
そうしたゲームで環境のチェックなどを行っていないわけはないと思いますが、
D3DPRESENT_PARAMETERSの設定を決めうちで書いている可能性ってあるんでしょうか。

[環境]
自作機
OS: Windows2000
CPU: Athlon 1.0GHz
メモリ: 512MB
HDD: 120GB
グラフィックカード: GeforceFX5700
0448名前は開発中のものです。04/11/16 22:25:38ID:esebxn7x
もちろん決めうちはいかん。
0449 ◆c.50Ky2eZQ 04/11/16 22:41:32ID:DXV97k4K
>>448

やっぱりそうですか。
とにかく問題の個所が分かったので、書籍のサンプルや自分で作成するプログラムは
フルスクリーンでも動かせるようになったわけですが、
さすがに市販されてるゲームはどうにもならず・・・

ちなみに友人数人の環境で試してみたのですが、
自分の持っている本のサンプルとか、入門ページのサンプルで
フルスクリーンで固まるという現象は再現しませんでしたorz

ネットで検索してもフルスクリーンで固まるというのは全然出てこないので
うちの環境が特殊なのかもしれません。
0450名前は開発中のものです。04/11/16 22:57:02ID:fcqxyC5l
>449
ちなみにどのパラメータが原因だったの?
0451オレー04/11/16 23:21:34ID:KvJj/Phk
>>449
俺もオマエと非常に似た構成のマシンで、同じようなことがおきたぞ。
俺の場合は、ウィンドウモードでも固まったがな!
BIOSでAGP×8をAGP×2まで落としたら直った。
0452 ◆c.50Ky2eZQ 04/11/16 23:25:07ID:DXV97k4K
>>450
どのパラメータが悪いのかというところは詳細に調べてないのですが、
とりあえず下記のような差がありました。
○:フルスクリーンで動作した
×:フルスクリーンで固まった

○[DirectX 9実践プログラミングI/O別冊]
BackBufferWidth = 1024;
BackBufferHeight = 768;
BackBufferFormat = D3DFMT_X8R8G8B8;
BackBufferCount = 1;
MultiSampleType = D3DMULTISAMPLE_NONE;
MultiSampleQuality = 0;
SwapEffect = D3DSWAPEFFECT_DISCARD;
hDeviceWindow = g_hWindow; // ウインドウハンドル
Windowed = FALSE;
EnableAutoDepthStencil = FALSE;
AutoDepthStencilFormat = D3DFMT_UNKNOWN;
Flags = 0;
FullScreen_RefreshRateInHz = 0;
PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;

×[DirectXゲームグラフィックスプログラミング Ver. 2.0]
BackBufferCount = 1;
Windowed = FALSE; // フルスクリーン表示の指定
BackBufferWidth = clientWidth; // フルスクリーン時の横幅
BackBufferHeight = clientHeight; // フルスクリーン時の縦幅
BackBufferFormat = d3ddm.Format; // カラーモードの指定
SwapEffect = D3DSWAPEFFECT_DISCARD;//
EnableAutoDepthStencil = TRUE;// エラー対策
AutoDepthStencilFormat = D3DFMT_D16;// エラー対策
0453 ◆c.50Ky2eZQ 04/11/16 23:32:38ID:DXV97k4K
>>452
動作したほうの設定をそのまま動作しないソースへ貼り付け。
動作しないほうの設定はコメントアウトでビルドして実行すると
フルスクリーンで動作しました。

パラメータの1つ1つをこれからチェックしたいと思います。

>>451
ウインドウモードでも固まることがあるんですね・・・
現在AGP×4なんですが、AGP×2に落として試してみます。
0454名前は開発中のものです。04/11/16 23:37:08ID:fcqxyC5l
D3DPRESENT_PARAMETERSはちゃんとゼロクリアしてる?
違うのはAutoDepthStencilFormatくらいに見えるけど
0455名前は開発中のものです。04/11/16 23:39:04ID:9Fl+6rlR
これ差分だけ?
下の方は FullScreen_RefreshRateInHz 書いてないけど
初期化されてなくて D3DPRESENT_RATE_DEFAULT D3DPRESENT_RATE_UNLIMITED
EnumAdapterModes のどれにも当てはまらない数字が入ってないかい?
0456名前は開発中のものです。04/11/16 23:40:06ID:fcqxyC5l
連投スマソ
>BackBufferFormat = d3ddm.Format; // カラーモードの指定
d3ddmはGetAdapterDisplayModeで取得してると思うけど
フルスクリーンの場合はカラーモードはこちらか指定するから
>BackBufferFormat = D3DFMT_X8R8G8B8;
でとりあえずいいと思う
0457 ◆c.50Ky2eZQ 04/11/16 23:44:43ID:DXV97k4K
>>454

2つとも値の設定の直前で下記を実行しています。
[DirectX 9実践プログラミングI/O別冊]
ZeroMemory(&g_D3DPP, sizeof(g_D3DPP));

[DirectXゲームグラフィックスプログラミング Ver. 2.0]
ZeroMemory(&m_D3DPP, sizeof(D3DPRESENT_PARAMETERS));

>>455

差分ではなく、すべて載せました。
I/O別冊のほうはいろいろ設定されているのですが、
もう1冊のほうは設定していないパラメータが多いですね。
FullScreen_RefreshRateInHzは指定されていないです。
0458名前は開発中のものです。04/11/17 00:20:47ID:F/vQq9xH
下のほうは
PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
を加えてみ。それでSDKサンプルと同じ記述。
0459 ◆c.50Ky2eZQ 04/11/17 00:38:16ID:l0UutMMZ
>>458

その1行を追加して実行してみたら動きました。

下のほうでは、PresentationIntervalを明示的に指定していない(0クリアされている)ので、
D3DPRESENT_INTERVAL_DEFAULTとかになっているのでしょうか。
(0だからとりあえずデフォルト値になっているのかなと推測)

D3DPRESENT_INTERVAL_IMMEDIATE以外のD3DPRESENT_INTERVAL_*パラメータは
最大N回の垂直帰線間隔を待つという説明がI/O別冊に載っていますが、これが問題ということですね。
0460 ◆c.50Ky2eZQ 04/11/17 01:01:33ID:l0UutMMZ
>>448-458
みなさんありがとうございました。

うちの環境では、
PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT
で動作しないのが原因ということですね。
0461名前は開発中のものです。04/11/17 05:41:33ID:8ON8dMew
ドライバいれなおしてみれ。DriverCleaner使って消してからね。
0462 ◆c.50Ky2eZQ 04/11/18 00:08:55ID:/wUu2R3S
>>461
DriverCleanerでドライバを削除してから入れなおしてみましたが、改善されませんでした。
0463名前は開発中のものです。04/11/18 00:13:13ID:S89L9SLZ
うちはこの前最新のDirectX入れたらポリゴンが壊れまくるようになった
あとシェーダを使ったプログラムが動かなかった
nvidia行って最新のドライバ入れたら直った
きっとドライバとDXの相性ってのがあるんだろうな
0464名前は開発中のものです。04/11/18 01:41:35ID:mlVlbDop
スレッドを作成して
Vsyncを待ってIDirect3DSwapChain9のPresentを呼ぶ
というのをちょうど作った所だったのですが

今上で話題になったになっていたので
D3DPRESENT_PARAMETERSのを細かく見ていたのですが
描画が終わった時点でPresentを読んだとしても
勝手に待ってくれるからそんなことしても全く意味ないのでしょうか?

初期化をもっとちゃんと勉強しとくべきやったorz
0465名前は開発中のものです。04/11/18 02:14:27ID:AIRNiGcU
全く意味ない
0466名前は開発中のものです。04/11/18 04:44:00ID:O/aA7zi9
>>462
やれそうならクリーンインストールもやってみてくれ。
ハードの不具合だとあんま意味なさそうだが・・・。
0467名前は開発中のものです。04/11/18 06:42:00ID:aqfHpxYb
Engel 氏の Shader X3 本が出たみたいだけど、どないな感じ?
だれかレビューしてくれ。プリーズ。よかったら買う。
0468名前は開発中のものです。04/11/18 09:10:58ID:S89L9SLZ
>466
あんまり意味ないかもしれない
最新のSDKについてくるランタイムが少し怪しい
他のスレでも少し報告されてる
0469 ◆c.50Ky2eZQ 04/11/18 23:11:02ID:jT7gH3UE
>>466

先週の土曜日にOSの再インストールをやったところです。
ハード的な不具合の可能性が高いと思います・・・

ちなみにSDKは9.0cです。
まだDirectXの勉強は始めたばかりなんですが、
持っている本のサンプルがそのまま動かないんですよね。
SDKが9.0aか9.0bのときに出た本なんですけど。

9.0cではメソッドの引数が違うみたいで、コンパイルエラーになるたびに
英語のヘルプを参照して修正していますが、みんなそういう感じで勉強してるんでしょうか。
0470名前は開発中のものです。04/11/19 01:22:37ID:gKBbKo7f
9.0b入れりゃいいじゃねえか…
0471名前は開発中のものです。04/11/19 01:31:51ID:9CkN78qB
変わってるって言っても一部だけじゃないか
勉強という程でもないと思うけど
0472名前は開発中のものです。04/11/19 01:39:40ID:CNUHrXoI
初心者には、それが辛かったりする
0473名前は開発中のものです。04/11/19 01:54:54ID:tyiU22IR
VSYNC待ちの場合、キャラクタを直接スクリーンから消去+描画していっても
ちらつかないと思うのですが、どうなのですか?
0474名前は開発中のものです。04/11/19 02:21:07ID:qqm541c3
>473
うん
0475名前は開発中のものです。04/11/19 04:16:34ID:gX+SiDpT
>>473
そんなわけない。

VBlank期間中に全ての描画を終えれば確かにチラつかないが、
それではGAのパワーを1割前後しか使えない。
走査線に抜かれないように上から順番に描画するのも非現実的だ。
ダブルバッファは必要。
0476名前は開発中のものです。04/11/19 17:57:02ID:gKBbKo7f
というかフロントバッファへ直に描画ってできるの?
0477名前は開発中のものです。04/11/19 19:47:55ID:EhM69nWl
フロントバッファへのアドレスを取ったらいいだけじゃないのか。
0478名前は開発中のものです。04/11/19 20:00:03ID:LFJv0PKX
>>476
出来ない。
劇重だがフロントバッファサーフェス上のデータを別のサーフェスにコピーすることならできる。
0479名前は開発中のものです。04/11/19 20:24:52ID:qqm541c3
ゲーム機や昔のPCと違って今のWinowsでフロントバッファ触られたら
メンドくさいことになるのでできないようにしてあるんだろう
同じDirectXでもXBOXならできそうな気もするが、どうなの?
0480名前は開発中のものです。04/11/20 01:23:26ID:i/yr/AIc
>>479
多分できると思う。じゃなきゃエミュつくれねーって話にはなってないだろうし。
0481名前は開発中のものです。04/11/20 20:29:08ID:+aGF5l33
しかし何でそんなとこいぢりたがるんだろう。。
アホとしか思えない。
0482名前は開発中のものです。04/11/20 20:36:54ID:Yn0rRCMb
何でも自前でやらないと気がすまないのでしょう
0483名前は開発中のものです。04/11/21 02:55:30ID:LAZDMw8k
なんでBBXは自分を厨房と自覚しないまま解答する香具師がこんなに多いんだ。
誰か一発叩いてやってくれよ。
0484名前は開発中のものです。04/11/21 04:26:58ID:JbhcJRGa
お前が叩け
0485名前は開発中のものです。04/11/21 04:52:16ID:i5CP+mUl
>>483は、その厨房の回答でないという回答を見せ付けるか、自分で叩けばいいんじゃないのか?
0486名前は開発中のものです。04/11/21 05:07:58ID:F620eMSC
483は質問者側で、回答できるほどの腕はないんだろ。

分かってないのにわざわざ何にでも回答したがる人は確かにいるね。
それをレスが付かないよりは有り難いと取るか、
不完全で見当違いな方向にて結論づけて欲しくないと感じるか。

まぁ、不十分と感じたら議論としてつっこみ返せば良いだけのこと。
俺としては2chのノリを持ち込んでる奴の方が嫌だな。今時どこ行ってもいるか…。
0487名前は開発中のものです。04/11/21 14:27:57ID:Hp43v01n
BBXを覗く事もだいぶ減ったな。
なんつーか質問の内容が俺の知りたいことと
全然かすらない為かもしれないが。
0488名前は開発中のものです。04/11/21 14:30:27ID:6NU7RmL4
どうしようもない質問ばっかりだからな
0489名前は開発中のものです。04/11/21 17:40:59ID:JW/p1ihX
そこがいい
0490名前は開発中のものです。04/11/21 17:57:37ID:L/uDJx8N
別にいいじゃない。
ほっといてやれよ。
0491名前は開発中のものです。04/11/21 23:56:55ID:kZl3J+88
>>478
DDで普通に直接描画できるけど?
0492名前は開発中のものです。04/11/22 01:31:33ID:lcpBKsOJ
BBXって、すでに質問BBSに成り下がってるよな
技術に関する議論とか皆無だよな
0493名前は開発中のものです。04/11/22 01:46:00ID:eniUnENE
あれ?
元からではなかったのね・・・
0494名前は開発中のものです。04/11/22 03:56:13ID:tA6Om7KW
>492
一旦質問BBSになったらもう議論とか無理だね
0495名前は開発中のものです。04/11/22 06:01:16ID:wMmOkbwp
兄さんそこでspinなわけですよ。
0496名前は開発中のものです。04/11/22 16:50:36ID:181C7B+m
CPUを100%使って何が悪い。120%とかならともかく。
0497名前は開発中のものです。04/11/22 16:52:46ID:AsfHakLI
姉さんそこでBio100%あすか120%バーニングなわけですよ。
0498名前は開発中のものです。04/11/22 17:29:57ID:tA6Om7KW
>497
懐かしいなぁパイオツ100%
0499名前は開発中のものです。04/11/22 18:27:10ID:MS3CH9Qq
DirectXのヘルプではサーフェスのつづりになってる。
ところでxファイルの仕様は一般には公開してないんですかね?
六角でxファイルに出力したらグジャグジャになっちゃうんですが。
0500名前は開発中のものです。04/11/22 19:03:15ID:tA6Om7KW
>499
ヘルプにのってるのはフォーマットじゃないの?
0501名前は開発中のものです。04/11/22 19:34:48ID:OhMLeCIK
>>499
xファイルについては500の言う通り。ヘルプ嫁。
 
それと六角についてだが
フリー版の六角には面の表裏の概念がなかった。
例えばrokファイルは面方向がバラバラなので
そのままカリングONで描画すれば(当然ながら)面が欠ける。
他ツールで面方向を統一するか、カリングOFFで描画しろ。
シェアウェア版以降の六角については知らない。
0502名前は開発中のものです。04/11/23 23:51:38ID:IR6kcETY
ある平面Pがあって、境界コーンCとの最近距離Nを求めたい。
ただしNは平面Pの内、境界コーンの円弧の範囲に含まれる部分のみから得るものとする。
境界コーンの要素は次の通り。
ベクトル 頂点A、単位ベクトル 方向D、 スカラ 範囲R、 スカラ 半角度T。
よろしくお願いします。
0503名前は開発中のものです。04/11/24 00:10:45ID:bulSZkhe
何をお願いしてるの?
0504名前は開発中のものです。04/11/24 00:35:07ID:h0g1sapt
>>502
ここはダメ初心者の日記帳じゃないんだが。
0505名前は開発中のものです。04/11/24 00:37:16ID:jNoD1b4x
>>502
宿題はム板の宿題スレへ
0506名前は開発中のものです。04/11/24 01:38:29ID:2X7DIx0W
DirectXに恐ろしく関係ないな
0507名前は開発中のものです。04/11/24 13:55:15ID:q7BWye6q
実はただの誤爆だったりして
0508名前は開発中のものです。04/11/24 20:58:06ID:0xpnHkr5
>>503
回答またはアドバイスお願いします。

>>504
俺は初心者のつもりはないですよ、
中級ぐらいだと思ってます。
質問のレベルも低くないと思います。

>>505-506
たまにはいいんじゃないですか?
スプライトだのなんたらバッファだの
決まりきった題しか最近ないじゃないですか。
それにまったく関係がない訳がないでもないでしょう。
3Dのゲーム開発者なら、考える機会もあるでしょう。

0509名前は開発中のものです。04/11/24 21:03:18ID:OfxX7Q6U
>>508
(´,_ゝ`)プッ
051050204/11/24 21:04:00ID:0xpnHkr5
また質問の中で説明不足な点がありました。
すみませんでした。
最近距離Nは、頂点Aから平面までの距離からとります。
0511名前は開発中のものです。04/11/24 21:12:56ID:sW7Y+LCJ
>>508
なんでわざわざコーンと平面なんて判定しなきゃいけないの?
俺、10年近くゲーム業界いるけどそんな場面に遭遇しねぇよ。

よしんばできたとしてもバグりそうだな。
俺だったらこんな問題とかないで、アプローチから替えちゃうな。

   完
0512名前は開発中のものです。04/11/24 21:17:05ID:7MXTSUzu
>>508
プギャ―――――――m9(^Д^)―――――――!!!
0513名前は開発中のものです。04/11/24 21:22:39ID:0xpnHkr5
>>511
シャドウマップの為
スポットライトと視錘台の距離を知る必要があります。
確かにシャドウマップには視錘台を使うので
距離判定も視錘台で良いとは思います。
しかし境界コーンで求める方法があるなら
そっちの方がより正確で良いだろうと思い質問しました。
0514名前は開発中のものです。04/11/24 21:27:02ID:a0LmYeg4
>511
純粋な質問だったら、中級者だったら自力でがんがってください
議論とか問題提起とかしたいんだったらそう書けばいい

正直あなたの真意がわからない
0515名前は開発中のものです。04/11/24 21:30:49ID:sW7Y+LCJ
>>513
じゃあ、自分が納得がいく精度のコーンのモデル用意して
ポリゴン単位で当たり判定。
0516名前は開発中のものです。04/11/24 23:37:06ID:qruBncC8
東鳩キャラメルコーン
0517名前は開発中のものです。04/11/25 00:18:37ID:BEB3ZH4G
>>513
少なくとも、自分が試した方法くらい書けや
何にも考えてない質問厨なら出て行け
0518名前は開発中のものです。04/11/25 01:06:10ID:E0Hr26DV
>中級ぐらいだと思ってます
自称中級は、世間的には初心者
中流意識を持つことで自分を誤魔化している
0519名前は開発中のものです。04/11/25 07:11:43ID:wZh5lpcO
なるほどためになる
0520名前は開発中のものです。04/11/25 07:26:48ID:dArueRia
なるほどだめになる
0521名前は開発中のものです。04/11/25 22:00:46ID:JWvNIo+a
>>517
考えた上でわからなかったから質問したまでです。
わからないという点では俺も君らも同じレベルです。
噛み付く理由はないと思うんですが。
俺が昨日考えたのは、回転行列を使うダサい方法ですが
とりあえず正しく機能しそうです。
しかしこれは使わないことにしました。
やはり>>511の言う通り、このケースでは使ってもデメリットがあるだけみたいなので。

1、平面Pの法線Pnと視線ベクトルDから回転軸Xを求める。 X=NxPn
2、視線ベクトルDを回転軸XでT度回転させる。 D'=Rot(D, X, T)
3、A から D'方向で平面PとぶつかるベクトルIを求める。 I=D' * ( -(vec4(A,1)・P)/D'・P )
4、D'の長さを求める。


0522名前は開発中のものです。04/11/25 23:01:02ID:l1JzcsRm
日記はチラシの裏(ry
0523名前は開発中のものです。04/11/26 00:45:42ID:g5fHgLxW
お前ら、あえて使ってないDirectXの機能は何ですか?

漏れは階層アニメーション辺りは全滅
逆にメッシュ管理はM$に依存しまくり
0524名前は開発中のものです。04/11/26 00:59:22ID:rfsfJzcH
>>523
DirectMusic、DirectInputかなー。

そんなこったことはやらないから、ほとんどWinAPIで間に合ってる。
0525名前は開発中のものです。04/11/26 11:20:40ID:XzKiHhg8
MFC対応のライブラリを作ろうかと思ってるんだけど、
SDKベースのアプリしか組んだ事ないからいまいちわからんのよね。
MDI対応でDirectX9使うとなるとどうするのがベストだと思う?
子ウィンドウ毎にデバイス生成じゃぁ流石にきついと思うんだけど・・・
0526名前は開発中のものです。04/11/26 11:25:06ID:lZe3uf+G
目的を定めず、手段だけ論じるのは愚か者のすること。
0527名前は開発中のものです。04/11/26 11:43:48ID:XzKiHhg8
MDIベースのアプリを作る時に各ウィンドウごとに3Dモデルやテクスチャの
描画をする場合どうしているのかが知りたいわけで。
ウィンドウの数分レンダリングターゲット作ってDC経由で描画ってのも出来るのか?
0528名前は開発中のものです。04/11/26 11:50:28ID:NuDSVeFd
>>527
プギャ―――――――m9(^Д^)―――――――!!!
0529名前は開発中のものです。04/11/26 12:30:11ID:2EFcRahU
>>527
なんでウィンドウの数分レンダリングターゲットが欲しいの?
Presentの転送先を変えるだけで良い気がするけど。
0530名前は開発中のものです。04/11/26 13:14:30ID:XzKiHhg8
ウインドウが複数ある時に移動やウインドウの切り替えで
ウィンドウの更新が発生すると思うんだけど、
1つのバックバッファ使いまわしにするとそのたびにレンダリング
し直しとかになるのかと思ったんだけど。
0531社内ツール専門になりつつある俺04/11/26 20:24:28ID:AIGEAZwG
>>527,530
つか、描画のしなおしはしょうがないだろ。
つか、基本構造理解できてる?
折角別ウィンドウなら別の視点でみたいだろうし(何作るかは知らないけど)
デバイスをたくさん作る必要もないし、リアルタイムじゃないからフリッピングを
気にすることもないからね。
ただ、リアルタイムに動かしたいときもあるから、そのときはそのときで
リアルタイムで動かせるウィンドウも生成できるようにしておく。
描画に多少時間をかけても気にならない。
けど、描画中にもウィンドウのメッセージをやりとりしなきゃならないから
そこはそういう構造で。

#ところでMDIってドキュメントが何枚もある場合のウィンドウ構造でしょ?
#作ろうと思ってるのは「SDI+ツールウィンドウ複数」じゃねぇの?
#まず、ウィンドウズでの基本的な構造は理解できてるか怪しいんじゃねぇのおまい?
#MDIってなんのためのMDIなのかおじさんにいうてみぃ。
0532名前は開発中のものです。04/11/26 21:51:12ID:6veXSuFX
>>527 が作りたいのはたしかにSDIっぽいが、
別にMDIの3Dツールあってもいいと思うけど。
メタセコみたいに各ドキュメント毎に別アプリでは
使い勝手悪い+リソース無駄使いじゃない?
0533名前は開発中のものです。04/11/26 21:53:23ID:C31Z8fyY
ウィンドウ モードのマルチビュー

--------------------------------------------------------------------------------

IDirect3DDevice9 インターフェイスを介して所有し操作できるスワップ チェーンに加えて、
同じデバイスから複数のビューに提示するための追加スワップ チェーンを作成できる。
アプリケーションは、一般的に、IDirect3DDevice9::CreateAdditionalSwapChain メソッドを使って
ビューごとに 1 つのスワップ チェーンを作成し、そのスワップ チェーンを特定のウィンドウに関連付ける。
アプリケーションは、各スワップ チェーンのバック バッファにイメージをレンダリングした後、個々に提示する。

各アダプタでは一度に 1 つのスワップ チェーンしかフルスクリーンにできない。



--------------------------------------------------------------------------------

0534名前は開発中のものです。04/11/26 22:14:07ID:AIGEAZwG
>>532
使い勝手は微妙だな。
別アプリにしておくことでウィンドウズのタスク機能やショートカットを使えるってのもあるし。
各ドキュメント毎に別アプリはプログラマにとっては使いやすい。
つーか、MDIは画面全部を無駄に占有してくれるじゃん。
MDIにしちゃうとMDIで必要なことすべてができないと苦情がくる。(画面全部を占有するし)
VCみたいに「横にエクスプローラおいてエディタ開くのと何が違うの?」とか言われたらおしまいだしw
MDIで成功してるツールってそんなに無いと思う。
0535名前は開発中のものです。04/11/27 00:32:38ID:boQ1LBcl
昔、MSから
「MDIでアプリケーションを作成するのはやめれ」
と言うお達しがあったような・・・
0536名前は開発中のものです。04/11/27 08:44:59ID:nL+8cHtL
ポリゴンにテクスチャはっつけて表示しているのですが
黒、白、赤の3色を使ってるのですが黒を完全に消して赤を半透明にして
白はそのままってのをしたいのですがそういった色指定で半透明とかできますかね?
■ このスレッドは過去ログ倉庫に格納されています