DirectX総合スレ (Part2)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/09/22 23:30:32ID:anobjZYP基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き
このスレの回転を早めて常にアクティブなスレにしたいと思っております。
このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。
テンプレは >>2以降で
0144143
04/10/11 16:49:16ID:fodZGKKI普通にDXで用意されてる
D3DLIGHT9のポイントライトとかスポットライト等です。
0145名前は開発中のものです。
04/10/11 16:55:31ID:J7gvAGdn法線は設定してあるか?
0146名前は開発中のものです。
04/10/11 17:18:51ID:1ZelzsvN>テクスチャを貼っていないオブジェクトにはきちんとライトが反映されてるようなんですが、
って書いてるんだが。
0147名前は開発中のものです。
04/10/11 17:24:14ID:1ZelzsvNとりあえずこれは確認しろ。
device.TextureState[0].ColorArgument1 = TextureArgument.TextureColor;
device.TextureState[0].ColorArgument2 = TextureArgument.Diffuse;
device.TextureState[0].ColorOperation = TextureOperation.Modulate;
0148名前は開発中のものです。
04/10/11 17:25:22ID:dsSryuB7その状態で何を答えろと?
0149名前は開発中のものです。
04/10/11 17:25:54ID:J7gvAGdnテクスチャを張ってあるオブジェクトと、張ってないオブジェクトは別物だろ?
テクスチャを張ってあるオブジェクトに、法線が設定されているかと聞いているのだが。
0150143
04/10/11 17:37:38ID:fodZGKKILightWaveのXfileエクスポーターを使ってるんですが、
その設定の問題だったようです。
「Replace surface color with texture」
のチェックをはずしたら上手くいった模様です。
0151名前は開発中のものです。
04/10/11 17:38:06ID:kosdyhsw0152名前は開発中のものです。
04/10/11 19:31:18ID:InZx0EkU0153名前は開発中のものです。
04/10/11 19:33:47ID:bx7zsKhl0154名前は開発中のものです。
04/10/11 19:39:30ID:Ad7T3sc50155名前は開発中のものです。
04/10/11 19:53:42ID:jqTCTr000156名前は開発中のものです。
04/10/11 21:04:30ID:pWZ8/i0yモーション付Xファイルは読み込めば、そのまま上手く動作しますか?
他に3dsMax以外でモーション付Xファイルを出力するツールてありますかね?
0157名前は開発中のものです。
04/10/11 22:05:42ID:gNEg0f9yまともにモーション付きX-Fileを出力できないです。
全てのボーンにウェイトマップをきっちり割り当てて
use weight map onlyを指定するといくらかまともに出力されるかも。
漏れは自作のコンバーター使ってます。
X-File出力できるツール(コンバーター)は
有名どころだとPolyTransとか?使ったことないですけど。
0158名前は開発中のものです。
04/10/11 23:45:03ID:pWZ8/i0y0159名前は開発中のものです。
04/10/12 03:07:17ID:GAKZ2Qt10160名前は開発中のものです。
04/10/14 00:01:52ID:2TDHP0D60161名前は開発中のものです。
04/10/18 02:01:54ID:g5wSND4n0162名前は開発中のものです。
04/10/20 18:13:21ID:zP6xl/RK用意してそこに色の情報を書き込みたいのですがLockなどを使うと思うのですが
よくわかりません。
空テクスチャに対してはどういったことをすれば色を書き込めるのでしょうか。
分かる方おりましたら教えていただけますか。
0163名前は開発中のものです。
04/10/20 18:20:16ID:bd6yug97t-potとかを参考に。
0164名前は開発中のものです。
04/10/20 18:36:36ID:+ZxZVXCe資料が豊富なほうがイイかな、とも思ってるんですが。
0165名前は開発中のものです。
04/10/20 18:41:41ID:bd6yug97英語版ヘルプとかでもC#の記述が多いし
0166名前は開発中のものです。
04/10/20 19:09:42ID:/mBmRgO3Cマガジンも日経ソフトウェアもC#の記事しかやらない。
ネタっぽく書くとこんな感じ。
C#>>>C++>>>(超えられない壁)>>>HSP>LGP>>>VB>>>(あの夏の思い出)>>>Delphi
0167名前は開発中のものです。
04/10/20 19:28:36ID://ogvlzz(あの夏の思い出)はもう少し↑だろ
0168名前は開発中のものです。
04/10/20 22:54:32ID:6K7KSXLzるんですがどうしてもスピードに問題があって10フレーム未満しかでないん
ですが何か改善策ありますでしょうか。
現在は毎回ロック・色書き込み・アンロックを繰り返してテクスチャを
書き換えてそれをポリゴンにはっつけてます。
0169名前は開発中のものです。
04/10/20 22:55:09ID:+ZxZVXCeさんくすです(・∀・)
VBは人気無くなっちったな。
0170名前は開発中のものです。
04/10/20 22:57:23ID:bd6yug97Usage.Dynamicなテクスチャで作ってる?
あと、毎フレーム240*240のテクスチャに書き込むというのはかなり膨大な作業になりそう。
どうしてもその作業が必要なら仕方ないけど、他の方法で近いことができそうなら、そうしたほうがいい。
0171名前は開発中のものです。
04/10/20 23:17:22ID:c1ZkAW2J俺のレベルだとC#,C++のサンプルさえあればDelphiで困らないけどね。
0172名前は開発中のものです。
04/10/21 00:01:41ID:aFfvccIwDel6のリリースが夏だったからかけてるんだYO!
>>171
C++はそうだけどC#は違うだろw
DelphiのヘッダはC++からのコンバートだからC#とは使える機能に若干の違いがあるよ
さらに細かい事をいえば構造体とか移植者が適当に定義してるから一貫性がないし
0173名前は開発中のものです。
04/10/21 00:02:57ID:3V+U9H90座標を変えて違う色を描画する方法のことですか?
FPSの計算をしたのですが何も描画しない状態でも60FPS前後しか
でないのですがサイトなどで公開されているFPSを計るものでは
120とかでてるのですが原因がわかりません。
分かる方おりましたらアドバイスお願いします。
0174名前は開発中のものです。
04/10/21 00:29:25ID:QM0/p3ts64*64とか
あとはもう一つテクスチャを準備して交互に書き込んでいくと、
もしかしたら少しは速度がでるかも
0175名前は開発中のものです。
04/10/21 01:07:34ID:wLXaxqfN60FPS前後なのは、自分でウエイトをかけるようにして、
デバイスを作っているからだろう。
サンプル丸写しで何も考えずに出来合の物を使うから、
そうやって基本的なことが出来なんだよ。
0176名前は開発中のものです。
04/10/21 01:23:16ID:zdJbC46m0177名前は開発中のものです。
04/10/21 01:26:05ID:ei1xXI0EVRAMってのは普通にメモリを読み書きしようとすると遅い、とにかく遅い
そのVRAMに毎フレームで240*240なんていう広大な領域を更新するのは無理
だがUsage.Dynamicで宣言したテクスチャはVRAMじゃなくてAGPメモリに確保する
こうするとボトルネックとなっていたメモリアクセス速度は回避される
そもそもその毎フレーム書き換えたテクスチャで何をするのか、ちょっと聞いてみたい
0178名前は開発中のものです。
04/10/21 02:22:24ID:ei1xXI0EUsage.Dynamicってのはnew Texture()の時に渡す引数のこと
ManagedじゃなくてCOM直叩きとかなら、D3DUSAGE_DYNAMICをCreateTextureに渡す感じ
0179名前は開発中のものです。
04/10/21 02:26:05ID:ptio2rD4こま落ちなしで余裕で60fps出たぞ。
流れは、
Pool.SystemMemoryなテクスチャをLock→書き込み→Unlock→
Pool.Defaultなテクスチャに.UpdateTexture。
至極単純。
0180名前は開発中のものです。
04/10/21 02:37:23ID:6qwKdW8HFPS=60は、画面更新時に同期待ちをする設定になってるから。
C++の場合は、CreateDevice に渡す構造体 D3DPRESENT_PARAMETERS の
メンバ PresentationInterval を D3DPRESENT_INTERVAL_IMMEDIATE にすれば
同期待ちしなくなる。
0181名前は開発中のものです。
04/10/21 11:30:56ID:v+ouiPQ00182名前は開発中のものです。
04/10/21 19:05:15ID:uHJFd8pjモニタが60Hzなのに400fpsなんてあり得ない。
BeginSceneからEndSceneまでにかかった時間を逆算してるだけ。
0183名前は開発中のものです。
04/10/21 19:31:15ID:T7tkLkrE\ ∩─ー、 ====
\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ そんな餌で俺が釣られクマー!
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
(´⌒; (´⌒;;;
0184名前は開発中のものです。
04/10/21 19:35:48ID:EF2ZVHXz0185名前は開発中のものです。
04/10/21 19:41:49ID:a0Jj2CZIそれはモニタの描画速度であってDirectXがVGAに転送する頻度とは関係ないし
クマー
0186名前は開発中のものです。
04/10/21 19:52:16ID:aFfvccIwディスプレイアダプタ
(ここから下はプログラマ次第)
描画ループ
内部(ロジック)ループ
これごっちゃにするのはFPS議論の基本だね♪
シューティングゲーム製作技術総合 5機目
http://pc5.2ch.net/test/read.cgi/gamedev/1098034919/
FPS(フレームレート) VSYNC(垂直同期 リフレッシュレート) ←できればFPS議論はここにまとめたい。
http://bbs.gamdev.org/test/read.cgi/gamedev/1063274576/
0187名前は開発中のものです。
04/10/21 20:43:45ID:SI9Ghux00188名前は開発中のものです。
04/10/21 21:06:12ID:wLXaxqfN突っ込みどころは色々あるが、
以上という言葉で60FPSを含めてしまっている時点で、
プログラマとしてはその知能に致命的な障害を持っている。
0189名前は開発中のものです。
04/10/22 08:34:09ID:PpvljLwQ0190名前は開発中のものです。
04/10/22 08:43:35ID:vNrL/vfG無いんじゃね?
サーフェスにはテクスチャを
テクスチャにはサーフェスを取り付けて
そっちに対して、サーフェスにテクスチャを書き込み。
0191名前は開発中のものです。
04/10/22 11:53:19ID:mUf2dbjdある程度選択幅がでてくるだろうに。
もしくは、Lockして自前で転送。
0192名前は開発中のものです。
04/10/22 14:36:20ID:DycM2TWf発音注意
0193名前は開発中のものです。
04/10/22 16:53:26ID:oY6D88HEモデルって珍しく無いと思うのですが、
この場合、IndexBufferはほとんど無意味ですよね?
無意味どころか有害な気がするんですが、実際どうなんでしょうか。
0194名前は開発中のものです。
04/10/22 16:58:59ID:MMfa4NeD球面で法線が異なることなら多いけど。
0195名前は開発中のものです。
04/10/22 17:10:48ID:b8gueTEV何が有害かわからないけどある程度複雑なモデルになると、
描画の時に2度以上指定しないといけない頂点がでてくるんだが、
IndexBufferを使っておくとお得な気がしませんか?
例えば↓のような四角形をトライアングルリストで描画するとして
1 2
3 4
IndexBufferを使った場合と使わなかった場合、それぞれどうVertexBufferを確保するか考えてみたら?
0196名前は開発中のものです。
04/10/22 17:10:51ID:oY6D88HE私が今解析してたモデルデータ達が特殊なのか…。
おかげで安心してIndexBufferを使って行けそうです。レスありがとうございました。
0197名前は開発中のものです。
04/10/22 17:12:53ID:oY6D88HEというわけで、>>195さんもありがとうございましたー
0198名前は開発中のものです。
04/10/22 18:18:16ID:B8sP9jTB答える方が理解出来ないのな…
要はIndexBufferで共有頂点を指したいが、座標は同じでもUVが違う(マテリアルが違う)
そんな時は、そのUVの違う頂点が存在するようにデータを持ってる。
その時に共有頂点がない訳だからindexBufferはいらないだろ?って質問。
Xファイルしか見たことないやつ等なのかな?質問に答えてるのって。
例え共有頂点がなくとも、Indexを指定すれば(0,1,2,3,4,...と順並びでも)
描画が速い場合・も・ある、のでIndexBufferがあっても意味無い事はない。
0199名前は開発中のものです。
04/10/22 18:51:47ID:CkzGgn6xこのサイトの炎の表現2っていうのがあるんですけどそれをDirectX9で
表現したいと思い試みているのですがプログラムをよんで解析してるんですが
いまいち掴めません。
アドバイスよろしければお願いします。
0200名前は開発中のものです。
04/10/22 19:50:38ID:MKQUsut/その技法はあまりDXのバージョンに依存しないと思われる。
0201名前は開発中のものです。
04/10/22 20:00:31ID:oY6D88HE> 0,1,2,3,4,...と順並びでも
我が意を得たりというか、コンバートするとまさにこの状態なんですよ。それで疑問に思いまして…。
いや良かったです、速い場合があるんですね。その辺もう少し勉強してみます。
回答ありがとうございました!
0202名前は開発中のものです。
04/10/23 01:14:18ID:y/5D5f1B何やらかんやらありますがテクスチャ1枚を貼り付けたCUBEを100個
表示させるのならどれが一番速いですかね?
and
それぞれはどういった特徴があるのでしょうか?
0203名前は開発中のものです。
04/10/23 01:19:21ID:bO77c3Y/ホンダのエンジンとブリジストンのタイヤと日本石油のガソリンがありますが
100kmを走るにはどれが一番速いですか?って聞いてるようなもんだぞ
0204名前は開発中のものです。
04/10/23 01:33:21ID:IHYlkrYRプログラマブルシェーダって要するにシェーダをプログラムで組む奴ですよ。
つまり頂点シェーダとピクセルシェーダを包括するものだと思っとけw
頂点シェーダはモデルの頂点のシェーダ。(なんつーの?点1つ1つにほどこす計算みたいな?)
ピクセルシェーダはモデルのピクセルのシェーダ。(ポリゴンの色塗りに施す仕掛けだな)
つまり頂点シェーダとピクセルシェーダは同時に使える(使う)別々の処理を行うもので比べてもしゃーないのですよ。
0205名前は開発中のものです。
04/10/23 02:04:18ID:2vLRGGWt0206名前は開発中のものです。
04/10/23 02:25:04ID:IHYlkrYR測ったこと無いけど固定パイプラインって色々やってるじゃん。
ライトを5つも6つも付けても、バンプや環境マップが設定できるでしょ(たしかw)
遅いと思うよ。(処理によると思うけど)
0207名前は開発中のものです。
04/10/23 03:33:36ID:oxnV01SwUVマッピングで1枚のテクスチャを貼る方法と面一枚一枚に複数貼る方法とでは
どちらが速度が速いのでしょうか?
0208名前は開発中のものです。
04/10/23 04:19:16ID:IHYlkrYR一枚のテクスチャを貼るほうが速いとされているけど
俺が測った感じだと数と場合による。
普通のモデルだったら一枚のテクスチャの方がはやいよ。多分。
でも、一画面にどう考えても入らないモデルをぎっちりまとめておくと
テクスチャ云々の問題よりモデルを分割して描画(つまり画面に入らない部分のモデルの計算からしない)
をすることができないから、それはそれでおそいんじゃねぇかなと予想してみる。
どうだろ。(ちなみに勘)
0209名前は開発中のものです。
04/10/23 15:08:06ID:/MuH3fkP0210名前は開発中のものです。
04/10/23 17:28:27ID:SfTHYw6Tそれはそうなんだけど。
一画面におさまる程度の大きさを超えた場合ってどうなるんだろうね。
つまり広大な地形の類とかさ。
真ん中に立って北を向いたとすると、そのときの描画自体は南のデータなんかいらないわけじゃん。
でもテクスチャやモデルは北と南の両方のデータがまとまってるわけじゃん。
こういう問題を含めると単純にまとめておくと速いって認識もどうよと思うわけよ。
スカイボックスの類なんてやったとすると一枚一枚別にした方がはやいんじゃねーかと考えてみたりして(もちろん勘)
0211名前は開発中のものです。
04/10/23 17:37:00ID:sMo4Qn/60212名前は開発中のものです。
04/10/23 20:27:44ID:YmVB4Iw2テクスチャは一つでもいいと思う
モデルは分割して見えない部分は描画しないってのも手だと思うけど
スカイボックスっていうぐらいだから頂点数は少ないでしょ
だったら分割してできるコストの方が大きい気がする
スカイボックスを軽く描画したいんだったら、できるだけ最後に描画したほうがパフォーマンスは稼げる
半透明(アルファ値を持つ)のものがあるとそっちの方を後に描画しないといけないけど
基本は手前から描いていく
>202はもうすこし理解してから質問しましょう
>頂点シェーダやらピクセルシェーダやらプログラマブルシェーダ
この時点で理解不足です
いや、煽りじゃなくてある程度理解がないと適切な質問もできないし、
返答を理解することもできないだろうから非効率だと思うんで
0213名前は開発中のものです。
04/10/24 00:42:31ID:fL1Fp2Br方法がよく分からないです。頂点カラーを操作しているのでしょうか?
0214名前は開発中のものです。
04/10/24 01:48:44ID:cDjg2sjK0215名前は開発中のものです。
04/10/24 13:47:50ID:y2umnsNYスコアなどをテクスチャを貼り付けたポリゴンで表示したいのですが、
常に画面の同じ位置に表示させる方法が分かりません。
どうかこんな俺に救いの手をお願いします。
0216名前は開発中のものです。
04/10/24 14:14:03ID:+00SYBin0217名前は開発中のものです。
04/10/24 15:34:27ID:fL1Fp2Brそこで方法として
胴体x1 足x6 目x2 ハサミx2 計11個のポリゴンモデルすべてに同じボーン構造をもたせた
Xファイルを出力し、プログラム側で親子関係を持たせて結合、連動させるというのを思いついたのですが
この方法は正しいでしょうか?もっと他に良い方法など無いでしょうか?
0218名前は開発中のものです。
04/10/24 16:07:17ID:/wWlJ+Yzありがとうございます。こんなに簡単な方法だったんですね。
かなり勘違いしてました。
ビルボードとかの技術を使わないといけないのかと思っていました・・・。 orz =3
0219名前は開発中のものです。
04/10/24 19:34:17ID:bVUqYsQlCreateA()してからA()、Aの戻り値が1ならCreateB()してB()という関数を呼び出してます。
A.cppのcreateA()という関数の中で
externでvbを外部呼出しして
CreateVertexBuffer命令・Lock・書き込み・unlockのあと
A.cppのA()という関数で
その頂点データを使用して描画しています。
B.cppのcreateB()という関数の中で
externでvbを外部呼出しして
CreateVertexBuffer命令・Lock・書き込み・unlockのあと
B.cppのB()という関数で
その頂点データを使用して描画しています。
B()関数を呼び出して描画しようとしてるのですができません。
原因わかりますでしょうか?
説明が下手で申し訳ありませんがよろしくお願いします。
0220名前は開発中のものです。
04/10/24 19:37:54ID:OZox6TUuエラーコードが帰ってきたりするならそれも教えて欲しいんだが
0221名前は開発中のものです。
04/10/24 19:50:05ID:bVUqYsQl0222名前は開発中のものです。
04/10/24 21:06:51ID:ttvwl10O0223名前は開発中のものです。
04/10/24 23:53:00ID:xMz+4qg0HRESULT hr;
hr = pD3DDevice->SetTexture( 0, pTexture );
if( FAILED( hr ) )
return FALSE;
こんなんとか
hr = pD3DDevice->SetStreamSource( 0, pVB, 0, sizeof(頂点データ) );
if( FAILED( hr ) )
return FALSE;
とかやってみては?
CreateVertexBufferも DrawPrimitiveも
失敗すれば hr にエラーが返ってくるから
どの設定が悪かったのか分かるかも。
張られて無いならエラーだしてるんでは?
もし俺なら、AのプログラムをBに
コピー&ペーストして動かしてみる(w
0224名前は開発中のものです。
04/10/25 00:53:04ID:Z4xgve5pCrate〜ってのが頂点データとか設定とかだけやっててすぐにTRUE返して。
A関数で描画を行なってるんですけどA関数はキーボードに反応させて1を
押したらTRUE返してCreateBに移ってこれもまたデータの設定とかで
B関数に飛んでまわしてるんですけど。
CreateA→Aでは欲しい結果は返ってきててそのあと返り値でCreateB→B
にいくとおかしくってるんですよね。
これでCreatA→Aを通さず、CreatB→Bだけだと成功するんですよね。
CreateVertexBufferのLock→書き込み→unlockって別に何度というか
2回しても大丈夫ですよね。
0225名前は開発中のものです。
04/10/25 01:39:10ID:jOnQwe7Zswitch(mode)
{
value1:
CreateA();
break;
value2:
if( A() == TRUE )
CreateB();
break;
}
////////////////////
BOOL A()
{
描画
if( キー操作 )
return TRUE;
return FALSE;
}
void CreateB()
{
B();
}
void B()
{
描画
}
こういうこつ?
0226名前は開発中のものです。
04/10/25 02:01:03ID:jOnQwe7Z(自分のプログラムはしょっちゅうやっている いいか悪いかは知らねw)
処理の順番に問題があるような、そんな貴方に
『出来るだけシンプルに。しかしシンプル過ぎず。』
225を元にしてだけど、Aという関数が仕事し過ぎのような。
0227名前は開発中のものです。
04/10/25 03:27:46ID:bQhV/SKL多分一発で解決だと思う。
コーディングミスってオチでね。
0228名前は開発中のものです。
04/10/25 15:44:08ID:x6+SjO3Oそういうことです。
0229名前は開発中のものです。
04/10/25 21:01:54ID:CESlfaTkAという関数が仕事し過ぎのようなとはどういうことですか?
0230名前は開発中のものです。
04/10/26 18:31:24ID:sbftx/e5一つの関数で多くの処理をやりすぎているってことだろ
つーか、225氏も言うとおりだが、プログラムがかなり怪しい動き方をしてると思うよ。
やりたい作業の手順の書き下し方がよくないんだろうと思うけれどなぁ。
0231名前は開発中のものです。
04/10/26 19:24:05ID:Vz62+Yvuwhile (!end){
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)){
TranslateMessage(&msg); DispatchMessage(&msg);
}else{
Main();
}
}
ーーーーー
void Main(){
switch(Mode){
case 0:
if( CreateA() )
Mode=1;
break;
case 1:
if( A() ){
if( CreateB() ){
Mode=2;
break;
}
}
default:
end=1;
}
}
こんな感じでCreate〜で頂点データの作成とか設定を書き込んで
〜関数で描画って感じでしてるんですがアクロバティックですかね。
オーソドックスなスタイルを教えていただけませんでしょうか?
ちなみに欲しい結果はえられましたのでだいじょうび。
0232名前は開発中のものです。
04/10/26 19:51:17ID:/HMietuq0233名前は開発中のものです。
04/10/26 20:09:39ID:/b5gpP3qタイトルロゴもボスシーンもエンディングもメニュー画面もすべて同じゲーム中のイベントとして考えればよい。
プログラムが始まってシステムの初期化が終わればメインループを抜けることは(ゲーム終了時をのぞき)無い。
0234名前は開発中のものです。
04/10/26 20:30:31ID:E7UXsOTFあちこちで見かけるが、最悪のコーディングなんだが。
0235名前は開発中のものです。
04/10/26 20:31:16ID:E7UXsOTF0236名前は開発中のものです。
04/10/26 20:53:00ID:tYFSXHVIべつにいいんじゃねぇ?
DirectXのフリップ関数はいってるんだろどうせ。
なら大丈夫じゃね。
0237名前は開発中のものです。
04/10/26 20:57:49ID:sbftx/e5モードが増えてもメインループのコードには手を付けなくて済むように書く
この手のプログラムは「状態の時間進行」と「現在状態の描画」の繰り返しなわけよ。
その2つの作業をする関数を定義しといたModeBase抽象クラスでも作っておいて
メインループはそいつを駆動させるように書く。
んでモード変更があったらポインタを入れ替えるだけで済む、と大体こんな感じ
>>236
余談だがPresentはCPUパワーを開放しないから
やっぱSleepをどっかで入れないと駄目らしい
0238名前は開発中のものです。
04/10/26 21:06:11ID:tYFSXHVIそれってモードいくつ作ることが前提なシステムなんだよ。
話聞いてると3〜4こで済みそうなのに、
なんでそんなアホみたいに量産しないと元がとれないような設計勧めるんだ?
おそらくな、>>231はな、
タイトル画面→ゲーム画面→エンディング画面
でいいんだよ。
だったらcase文が一番シンプルで綺麗にかけるじゃねぇか。
>余談だがPresentはCPUパワーを開放しないから
俺のプログラム、Sleep入れて無いけどタスクマネージャで見てもCPU100%いかないよ。
0239名前は開発中のものです。
04/10/26 21:11:09ID:E7UXsOTF今度は同期待ちの間、メッセージが処理されなくなる。
素直にイベントとスレッドを分けるべき。
0240名前は開発中のものです。
04/10/26 21:13:58ID:tYFSXHVIその結論はもちろんビデオカードの対応状況を調べた上での結論と思っていいんだろうね。
0241名前は開発中のものです。
04/10/26 21:28:05ID:E7UXsOTF確認したのはGeForce2/4、Radeon9600で、全て対応していたが、
市場の出回っているビデオカードを一つ残らず調べろと言うことなのか?
0242名前は開発中のものです。
04/10/26 21:37:32ID:sbftx/e5それと>>239に対して>>240は全く見当はずれの回答をしているように思えるわけで
ついでにswitchと関数ポインタ系のやり方ってどっちがシンプルかって
それは人によって評価違うだろうしなんとも言えんけれど
俺はオーソドックスなのはやっぱ関数ポインタな気がするけどどうだろう
0243名前は開発中のものです。
04/10/26 21:47:01ID:E7UXsOTF確認してもらいたいんだが、
DX9cSDKサンプルからOptimizedMesh.exe(負荷の軽いサンプルなら何でも)を実行して、
デバイス設定をINTERVAL_DEFAULTに変更してCPU使用率を見てくれ。
最近のビデオカードなら普通は対応しているはずなんだが。
■ このスレッドは過去ログ倉庫に格納されています