トップページ⇒tech
1001コメント284KB

【C++】 DirectX初心者質問スレ Part31 【C】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/09/30(木) 21:45:21
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

前スレ
【C++】 DirectX初心者質問スレ Part30 【C】
http://hibari.2ch.net/test/read.cgi/tech/1278214135/
0708デフォルトの名無しさん2010/10/24(日) 19:47:50
そういうのはスルーしてればいいじゃまいかー
0709デフォルトの名無しさん2010/10/24(日) 20:06:37
>>708
普段はスルーしてるんだけど、
このスレの存在意義とかあり方についてどうなのかなって思って
0710デフォルトの名無しさん2010/10/24(日) 20:08:38
>>706
具体的にどのレスにどう答えてほしいのか言え
抽象的過ぎてさっぱりわからない
0711デフォルトの名無しさん2010/10/24(日) 20:09:09
気になるんなら自分で答えればいいじゃない
0712デフォルトの名無しさん2010/10/24(日) 20:31:09
にちゃんで傍観者の自治活動は無意味です。
あくまで具体的な質疑応答のみがスレを形作ります。
自分の好みのスレにしたいなら一晩中張り付いて全ての質問に対応するぐらいの気概が必要です。
0713デフォルトの名無しさん2010/10/24(日) 20:34:06
そうだな・・・
0714デフォルトの名無しさん2010/10/24(日) 21:02:25
初心者です!質問です。

DrawIndexedPrimitiveUPを使って描画しようとしています。

これを使って描画する場合、頂点デクラレーションを自分で定義したものを
セットして使用することはできるのでしょうか?

それともSetFVFしか使えないのでしょうか?
0715デフォルトの名無しさん2010/10/24(日) 21:14:08
>>714
自分で定義したものを使える
ただしストリームは0番しか使えないので頂点情報は1つに纏める必要がある
0716デフォルトの名無しさん2010/10/24(日) 21:29:30
>>715
ありがとうございます!

追加で質問させてください。
VERTEX v[400]//頂点バッファ
WORD iv[600]//インデックスバッファ

上記の配列にそれぞれ、値が格納されているとします。
VERTEXは頂点データの構造体です。
その状態で、下記のように実行するとします。
DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST,0,8,4,iv,D3DFMT_INDEX16,v,sizeof(VERTEX));

この場合頂点バッファとインデックスバッファの配列にデータが全部埋まっていたとしても、
上記で指定した通りに四角形が二つ(三角形が4つ)描画されるのでしょうか?

ちょっとやってみたら、上手く描画できなかったものでして^^;
0717デフォルトの名無しさん2010/10/24(日) 21:30:59
補足です。
三角形が4つ「だけ」描画されると思ってていいのでしょうか?
配列に入っている他のデータは無視されるのかが聞きたいです。
0718デフォルトの名無しさん2010/10/24(日) 21:42:08
>>716
その認識で合ってるよ

頂点の指定の順番が逆周りになってて裏面が表を向いてるとかってオチはない?
カリングモードをNONEにして試して見るとか
0719デフォルトの名無しさん2010/10/24(日) 21:51:38
>>718
カリングモードをNONEにしても駄目でした。
でも認識は合ってるとのことですので、もう一回色んなところ見直してみます。
ありがとうございました。
0720デフォルトの名無しさん2010/10/24(日) 23:03:18
D3DXMatrixRotationX(Y,Z)、D3DXMatrixRotationAxis、D3DXMatrixRotationQuaternion等の関数は、

(1)ある軸まわりにベクトルを回転した時の、回転前のベクトルr1と回転後のベクトルr2の間の関係
を表す回転変換行列E (r2 =E * r1) を生成している (座標系は基本的にWorld座標系O-xyzの一つだけ)。

(2) あるベクトルを、モデルに固定されたローカル座標系O-ξηζで成分表示した時の成分
(ξ, η,ζ)と、World座標系O-xyzで成分表示した時の成分(x,y,z)との間の関係を表す座標変換行列R

(x, y, z)T = R * (ξ, η,ζ)T、
Tは転置記号で(x,y,z)T、(ξ, η,ζ)Tは列ベクトル

を生成している。複数個のローカル座標系とworld座標系が存在する。



のどちらなのかわからない。

自分としては、(1)の方が理解し易い。最初、O-ξηζ座標系はworld座標系0-xyzと一致していて、
ξ、η、ζ軸の単位ベクトルi',j',k'に回転変換行列Eをかけることによってξ、η、ζ軸と
O-ξηζ座標系で成分表示されたベクトルを回転させる。

が、DirectXの参考書をみると座標変換行列という言葉を使っている本もある。


(1)(2)のどちらで解釈してもいいかもしれないが(EとRの要素は一致する)、(1)(2)のどちらの立場で
話をしているか明確にしておかないと話がかみ合わないと思う。

皆さんは(1)(2)のどちらで解釈してますか? それとも、私が勘違いしてるんでしょうか?
0721デフォルトの名無しさん2010/10/24(日) 23:09:15
よく分からないけど
http://sequoia-web.hp.infoseek.co.jp/tsudoi/tsudoi06.shtml
0722デフォルトの名無しさん2010/10/24(日) 23:11:55
あっ、DirectXの場合は行ベクトル=行ベクトル*転置行列ですが、
その話はおいといて
0723デフォルトの名無しさん2010/10/24(日) 23:17:11
ワールド行列の中身をきちんと理解してればそんな疑問は出ないはず
0724デフォルトの名無しさん2010/10/24(日) 23:27:25
PIXでpre-vertex-shaderのほうでは思ってる通りの頂点の順番じゃなくて
反転してるんだ。

post-vertex-shaderの方では思ってる通りの頂点順になってるんだ。

これってどういう原因が考えられますか?

preの方は半時計まわり。
postの方は時計周り。
になってます。

カリングモードは左周りをカリングするように設定してます。
頂点データを作ったときは、時計周りに定義してるんですけどね。
0725デフォルトの名無しさん2010/10/24(日) 23:28:08
>>723

すみません。で、どちらの立場なんですか?
0726デフォルトの名無しさん2010/10/24(日) 23:28:08
part27の401に似てるな
0727デフォルトの名無しさん2010/10/24(日) 23:29:45
釣りかw
07287242010/10/24(日) 23:30:51
私は本気ですよ。
0729デフォルトの名無しさん2010/10/24(日) 23:32:35
>>720のことに言ったんだよ>釣り
07307242010/10/24(日) 23:33:20
そうでしたか。しつれいしました 。
0731デフォルトの名無しさん2010/10/24(日) 23:36:34
釣りだと思われるのが嫌ならフシアナして質問すればいいと思う
0732デフォルトの名無しさん2010/10/24(日) 23:36:46
それ、何のことですか?
07337242010/10/24(日) 23:55:08
ちょっと自力で頑張ってみます。
0734デフォルトの名無しさん2010/10/24(日) 23:55:46
> 401 名前:デフォルトの名無しさん[] 投稿日:2010/02/13(土) 19:14:54
> D3DXMatrixRotationX(&matWorld, cta);
> pDevice->SetTransform(D3DTS_WORLD, &matWorld);
>
> におけるマトリックスmatWorldの解釈は次のどれが正しいでしょうか?
>
> (1)World座標系XYZにおいて、3Dモデル(の頂点ベクトル)をX軸まわりに
> θradだけ回転させるためのベクトル回転変換行列。
>
> (2)3Dモデルの各頂点座標(ξ,η,ζ)を記述しているξηζ座標系が
> ワールド座標系XYZに対してX軸回りにθradだけ回転している(3Dモ
> デルもX軸回りにθradだけ回転している)。matworldは3Dモデルの
> 各頂点座標(ξ,η,ζ)を(X,Y,Z)座標に変換する座標変換行列。
>
> (3)どちらの解釈でもいい。
>
> (4)どちらの解釈も正しくない。
>
> ベクトルの回転変換行列であろうと座標変換行列であろうと両者の要素の中身
> は一致するから(3)でいい気がしますが、回転、移動操作に対応した行列
> 乗算の順序が右側にかけていくか、左側にかけていくかの違いが生じるのでは
> ないか? という気もします。


> 403 名前:デフォルトの名無しさん[] 投稿日:2010/02/13(土) 20:32:15
> はあ
0735デフォルトの名無しさん2010/10/24(日) 23:57:25
> 433 名前:デフォルトの名無しさん[] 投稿日:2010/02/14(日) 10:09:54
> >>415
>
> 回答ありがとう。
> directXは(行列*列ベクトル)の演算と違って(行ベクトル*行列)の演算
> だから行列を転置にしなければならない。したがって、行列の積ではかける
> 順序が逆になる、というのはあなたの指摘どおりだ。
>
> ところがベクトルを回転させる回転変換行列か、座標軸(もの指し)を
> 回転させた座標系間の座標変換行列かによっても乗算の順序は違う。
>
> >>412 >> 414 >> 428
> わかりもしないくせに偉そうなこと言うな雑魚! ひっこんでろ
>
> >>416
> お前も黙ってろ。
>
> (1)の解釈で納得していたんだが、(2)の解釈でないと説明できない
> 問題が発生したんで(と、その時は思ってた)。
>
> DirectXでは回転、移動の操作順ごとに行列を右側にかけていくよう
> だから(そして転置行列の積だから)、(1)の解釈でいいようだ。
>
> ただ、DirectXの関数が(1)(2)のどちらの考えにたって実装されているのか
> 確認したかったから聞いたのに >>410 の馬鹿が仕様を調べれば、とアホな
> 回答をしているのには閉口した。そんな事しか言えないなら黙ってろや。
>
>
> わかっている人からのアドバイスには感謝するが、アホ相手するのも
> 面倒だからもう書かない。
>
> アホはまた何か書くだろが、相手しない。
0736デフォルトの名無しさん2010/10/25(月) 00:34:44
>>720
(1)でも(2)でもない場合はどうやって理解しようとしてるわけ?
0737デフォルトの名無しさん2010/10/25(月) 00:36:57
こういう輩は自分が聞きたい意見しか聞かないから何言っても無駄
0738デフォルトの名無しさん2010/10/25(月) 00:43:29
まあ、質問に抜けがあるよね
どちらですか?って聞いてもどっちでもねぇときはどうやって受けとる気なんだろねw
0739デフォルトの名無しさん2010/10/25(月) 01:52:00
>>706
ほらっ、お前の嫌いな初心者イビリが始まったぞ
助けてやれや
0740デフォルトの名無しさん2010/10/25(月) 06:47:16
>>739
いや、違うって
どういう脳みそしてんだよ
つまり、こういう状況だろ↓

このパンはなんのパンですか?
(1)あんパン
(2)クリームパン
(1)か(2)のどっちですか?

正解はジャムパンなのに回答が(1)か(2)に固定されてて答えようがないよw
0741デフォルトの名無しさん2010/10/25(月) 09:28:37
>>736 〜 >>738 は偉そうに言ってるけど、結局わかってないんだ。
過去ログからわざわざ挙げる奴もひまと言うか、何と言うか。

ひょっとしたら、わかる人がいるかもしれないと期待したんだが。
0742デフォルトの名無しさん2010/10/25(月) 12:27:20
>>720 は釣りだろ?

数学それほど詳しくはないが、そういう関数で生成できる行列って、
変換元座標系からみた変換先座標系への差分を表してる。

どっちでもあってるんじゃない?回転だけ考えれば(1)もあってるし、行列全体の動作として見たら(2)でもあってる


つか釣りだろ?
0743デフォルトの名無しさん2010/10/25(月) 13:45:27
いまdxライブラリでゲーム作ってるんだけど、dxライブラリで得た経験ってDirectXじゃ無意味?
最終的にDirectXを使いたいんだったら最初からDirectX使った方が良いのかな
0744デフォルトの名無しさん2010/10/25(月) 13:45:57
うん
0745デフォルトの名無しさん2010/10/25(月) 13:48:46
>>744
そっか、俺の知能だとかなり厳しいががんばってみる 即レスありがとう
0746デフォルトの名無しさん2010/10/25(月) 13:54:30
DirectXはでかすぎてわけわかめになるからどのみちいきなりは扱えん
0747デフォルトの名無しさん2010/10/25(月) 14:00:17
>>746
う…む…?
無意味になるの前提でもdxライブラリから入るのは有りって事?
0748デフォルトの名無しさん2010/10/25(月) 14:18:32
なんでもできたほうがいいから無意味じゃない
0749デフォルトの名無しさん2010/10/25(月) 14:19:32
意見が分かれると子だと思うが俺は意味ないと思う
それよりマクロ定義の意味とかDLL回り固めて
意味不明なメソッドやクラスの詳細を片っぱしからコメントアウトした方が早いかとおも
0750デフォルトの名無しさん2010/10/25(月) 14:25:19
いきなりDirectX扱ってもなにこれわけわかんねーなんにもできねーって状態が長いからなんか作る前にくたばる
根気があるならいきなりいってもいいけど
0751デフォルトの名無しさん2010/10/25(月) 14:35:01
まぁ今後3Dやらないっていうなら全く問題ない
0752デフォルトの名無しさん2010/10/25(月) 14:48:31
あとで本格的にやったときに
「あぁ、あれはコレを内部でやってたのね」と思い当たる的な役立ちかたはするかもしれんが
DXライブラリを事前にやっておくことで
DirectXが理解しやすくなるような役立ち方はあまりしない気がする
0753デフォルトの名無しさん2010/10/25(月) 14:56:29
うーん…やっぱりDirectXに挑戦した方が良いのかな、3dもやってみたいし
それで駄目だったらライブラリ使う事にするよ 皆さんどうもありがとう
0754デフォルトの名無しさん2010/10/25(月) 15:05:58
DXライブラリに3Dもあるよ
0755デフォルトの名無しさん2010/10/25(月) 15:49:51
DXライブラリ 関数リファレンスページ 3D関係関数リファレンス
ttp://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_3d.htm

カメラとか行列とか3D独特なものには触れれるから3Dの感触を確かめる意味ではいいんじゃないかな。
0756デフォルトの名無しさん2010/10/25(月) 15:53:02
>>755
俺もそれで3Dをマスターした。
0757デフォルトの名無しさん2010/10/25(月) 15:53:44
>>747

DXライブラリからDirectX直たたきにいこうするなら、
このライブラリのソースを読むのが一番はやいんじゃないかな?

DXライブラリでXXを行うには・・・からはいっていって、
中身の実装でDirectXの勉強とかね。

で、ソースって公開されてるの?w

0758デフォルトの名無しさん2010/10/25(月) 15:56:00
マスター(笑)
0759デフォルトの名無しさん2010/10/25(月) 16:02:15
>>755
うわあしらんかった
すぐ使ってみよう。今すぐ使おう
0760デフォルトの名無しさん2010/10/25(月) 16:02:50
公開されてる。
0761デフォルトの名無しさん2010/10/25(月) 16:41:06
主語が無い
0762デフォルトの名無しさん2010/10/25(月) 16:56:38
SlimDXもC++のソースが公開されてるし勉強になるよ。
一応、薄いラッパだし直に触るのに近い。
0763デフォルトの名無しさん2010/10/25(月) 16:57:52
>>755は最後の htm を html に修正してくださいな。
0764デフォルトの名無しさん2010/10/25(月) 16:59:21
なんですぐマスター(笑)したとかいってしまうん(´・ω・`)
0765デフォルトの名無しさん2010/10/25(月) 17:02:34
おまいらの過剰反応がおもしろいから
0766デフォルトの名無しさん2010/10/25(月) 17:20:11
UV座標のUとVって何の略でしたっけ?
0767デフォルトの名無しさん2010/10/25(月) 17:27:21
XYZW使っちゃってたからUVにしただけだったような・・・
0768デフォルトの名無しさん2010/10/25(月) 17:27:53
特に意味はないらしいよ
0769デフォルトの名無しさん2010/10/25(月) 17:36:06
>>767-768
thx!
0770デフォルトの名無しさん2010/10/25(月) 17:56:54
物体を移動させたら、一定ごとにガタンガタンってなるんですが。

floatで計算させたら一定ごとに誤差がでることあるんですか?
0771デフォルトの名無しさん2010/10/25(月) 18:11:57
>>770
移動処理はfloatでやってるのに
座標管理をintとか整数でやってたら誤差はでるかもね


でも、なんとなくだけど
垂直同期を取らずに精度の悪いタイマーでPresentしてるせいな予感
0772デフォルトの名無しさん2010/10/25(月) 18:18:26
タイマーの精度は大丈夫だと思うんですけどね。
ちなみに壁に思いっきりキーを押しっぱなしでぶつかってる時は、
ガタンガタンにならないんですよね。

移動するときだけガタンガタンってなるんですよ。
0773デフォルトの名無しさん2010/10/25(月) 18:28:36
じゃあ、タイマーじゃなくて
垂直同期待ちして描画してごらんよ
0774デフォルトの名無しさん2010/10/25(月) 18:32:54
うおおお!垂直同期待ちしたらスムーズに動きました!
ってことは私のFPS制御がおかしいってことでしょうか?
0775デフォルトの名無しさん2010/10/25(月) 18:42:57
>>774
毎フレーム、タイマーの値を吐き出してみるとか・・・
0776デフォルトの名無しさん2010/10/25(月) 18:52:18
DWORD static waittime=0;
static DWORD oldtime=0;
float wt=1000.0f/FPS;

wt=(cnt%60+1)*wt;//待つべき時間

//分解能の精度を変更(制度をあげる)
timeBeginPeriod(1);

waittime+=timeGetTime()-oldtime;

if(waittime<wt)
Sleep(wt-waittime);

oldtime = timeGetTime();

if(waittime<wt){
waittime=wt;
}

//分解能の設定を戻す
timeEndPeriod(1);
++cnt;
}

こんな感じなんですがダメですかね?
FPSには60.0fが入っています。
0777デフォルトの名無しさん2010/10/25(月) 19:04:43
>>776
毎フレーム描画のタイミングのタイマの数値をアウトプット画面にでも出して
エクセルにでも貼り付けてちゃんと正しいタイミングで機能してるか見てみたらいいんじゃね?

と、その前にSleep(0)にしてみたかったりして・・・
俺も理詰めでプログラム組めないw
0778デフォルトの名無しさん2010/10/25(月) 19:11:05
16msは垂直同期に近いってだけで実際はちょっとズレてる
垂直同期を待たずにタイマーでフリップさせると
画面の更新途中で表示されてしまうのでティアリング線がでてしまう
そしてズレがどんどん大きくなって1画面文に達すると
まったく更新されてない画面(2フレーム前)が表示されてしまいガタッっとなってみえる
0779デフォルトの名無しさん2010/10/25(月) 19:18:01
え?じゃあ皆さんは垂直同期待ちでやってて、
自分でFPS制御してないんですか?
0780デフォルトの名無しさん2010/10/25(月) 19:24:09
デバッグ出力したら、16ミリ秒か17ミリ秒でした。
これをどうやって制御をあげればいいのでしょうか?
0781デフォルトの名無しさん2010/10/25(月) 19:32:47
>>776
変に省略されてるので分かりにくいけど、cntが59から60になるときに破綻してない?


>>779
場合によりけりでは。
垂直同期させてゲーム進行が問題ないのであれば、それが一番綺麗で楽だと思う。
ゲームの性質上自分でFPS制御する必要があるのであれば、自前でできるだけやるしかない。
0782デフォルトの名無しさん2010/10/25(月) 19:36:55
垂直同期を待つか
待たずにやるにしてもそもそもFPS制御をしない
移動量を前フレームからの経過時間から算出すれば問題ないでしょ?

ターマーでやったら
60FPS以上を60に固定することはできるかもしれないけど
20FPSしかでないようなPCで動かさなきゃいけないときどうするの?
0783デフォルトの名無しさん2010/10/25(月) 19:45:34
皆さんありがとうございます。

FPSで制御しようと思ったのはどんなマシンでも一定のスピードで動かしたかったからです。
FPSが低いマシンだったら、当然ガクンガクン動くことにはなるんですが、逆に60以上のマシンは
制御できると思ったので。

いくつかのフリーゲームではFPSを自分で選択して、設定できるようにしてあるのをいくつか見たことがありました。
そういうのはやっぱり自分で計算してるんですよね。

う〜ん。悩むところですが、垂直同期待ちでやることにします。

ありがとうございました。
0784デフォルトの名無しさん2010/10/25(月) 20:07:36
「FPSを自分で選択して」
ってディスプレイがサポートしてるリフレッシュレート列挙して
選んだ値に強制的に変更してるだけんじゃないの?
0785デフォルトの名無しさん2010/10/25(月) 20:25:06
あ、なるほど。。
そんなもんなんですかね。
結局は自分でFPS制御してる人って少ないんんですかね。。
0786デフォルトの名無しさん2010/10/25(月) 20:27:58
>>785
自分が何かいてるか理解できてねえだろw
0787デフォルトの名無しさん2010/10/25(月) 20:32:09
いえ、たぶん理解できてると思いますよ
0788デフォルトの名無しさん2010/10/25(月) 20:38:44
>>787客観的事実ではないので無効です。
0789デフォルトの名無しさん2010/10/25(月) 20:40:48
そうですね。わかってないですかね。勉強しなおしますよ。
0790デフォルトの名無しさん2010/10/25(月) 20:52:56
処理落ち時にコマ落ちさせないと不味いジャンルって
MMO以外に何がある?
0791デフォルトの名無しさん2010/10/25(月) 20:59:26
>>783
ウィンドウモードの場合は垂直同期でタイミングとろうとすると
使ってるモニタが変わるとタイミング変わるけど大丈夫?
0792デフォルトの名無しさん2010/10/25(月) 21:40:09
ウィンドウモードで垂直同期なんて関係あったっけ?
なんかDirectXの初期化時にテキトーに値入れるとよろしくやってくれね?
0793デフォルトの名無しさん2010/10/25(月) 21:54:36
>>782の場合だと、入力系の反応に差が出来ちゃうよね。
その辺はどう扱ってるのだろ。
0794デフォルトの名無しさん2010/10/25(月) 22:00:22
そんなのゲーム内時間を採用すればすむではないかとおもってしまうのですよ。
描画は出来るときにすればいい。

日本伝統の2Dシュー見たいのだとフレームスキップはきらわれるから、
垂直同期で特定ゲーム内時間分の更新じゃないとだねだけどな。
0795デフォルトの名無しさん2010/10/25(月) 22:01:00
>>792

下の設定の事だと思って話を進めるけど。

 FullScreen_refreshRateInHz = 60;
 PresentationInterval = D3DPRESENT_INTERVAL_ONE;

この場合フルスクリーン時は60で更新するように設定できるけど
ウィンドウモード時は、そのモニタが設定してる垂直同期になるから
"垂直同期だけ"を使用してると環境でタイミングがずれる。

そもそもウィンドウモード時に FullScreen_refreshRateInHz 設定すると
エラーでちゃうけどね。

間違っていたら指摘おねがい。
0796デフォルトの名無しさん2010/10/25(月) 22:02:56
>>791
そうだとは思ったんですが、どうしてもきっちりFPS制御できそうにないものでして。。。
このゲームは大体60FPSで動きますので、モニタのリフレッシュレートが60ヘルツぐらいじゃないと
うまく遊べないかもしれません。という断りをいれとこうかと。。。

あと思ったんですが、皆さんって、移動量を計算するときに、前回の時間から現在の時間までの経過時間を元に
計算してる人が多いんですか?
私は1フレーム当たりの移動量をあらかじめ決めといて、足してるだけなんですが。。
0797デフォルトの名無しさん2010/10/25(月) 22:06:50
>>796
>あと思ったんですが、皆さんって、移動量を計算するときに、前回の時間から現在の時間までの経過時間を元に
>計算してる人が多いんですか?
しねーよそんなこと
バグりまくってゲーム完成するどころじゃねぇぞ
0798デフォルトの名無しさん2010/10/25(月) 22:08:05
ですよね。すいません。
0799デフォルトの名無しさん2010/10/25(月) 22:14:08
描画用と入力・計算用のスレッドは別って事?
0800デフォルトの名無しさん2010/10/25(月) 22:15:41
>>797と>>782って矛盾してないか?
0801デフォルトの名無しさん2010/10/25(月) 22:17:40
そうしとかないとマズイゲームもあるでしょ
1フレームの時間が変わったら
格ゲーのコマンド入力の難易度が変わったり
スペックの低いPCでやったらすり抜けが起きたり
0802デフォルトの名無しさん2010/10/25(月) 22:19:19
DXUTみると
処理用と描画用のコールバックは
トータルフレーム時間と前フレームからの経過時間が受け取れるようになってるね
0803デフォルトの名無しさん2010/10/25(月) 22:31:50
ダイレクトサウンド使ってるんですが、
SEとBGMで大きくわけて音量を調整したいです。

この場合プライマリバッファを2個作ったほうがいいですか?
0804デフォルトの名無しさん2010/10/25(月) 22:36:07
ボリュームはセカンダリバッファごとに設定できるでしょ
0805デフォルトの名無しさん2010/10/25(月) 22:38:07
そうでしたっけ
すんづれいしました
0806デフォルトの名無しさん2010/10/25(月) 22:41:07
dxとfps固定
ttp://www.t-pot.com/program/103_FPSFixing/index.html

こんなんがあった
0807デフォルトの名無しさん2010/10/25(月) 22:41:39
>>801
内部の処理だけ回して描画しなけりゃいいじゃない
0808デフォルトの名無しさん2010/10/25(月) 23:06:34
>>806
本当にありがとうございます。助かりました!
■ このスレッドは過去ログ倉庫に格納されています