■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
鬱だ氏のう DirectX (Part 12)
251
名前:
デフォルトの名無しさん
:04/02/21 23:57
∵∴∵∴∵∴∵∴∵F
/||∵/∴∵\∵∴∵∴l
/ ::::||∵<・>∴∴.<・>∵∴∵|=-<
/:::::::::::||∵ / ●\∴∵∴∵,'、
|:::::::::::::::||∵/三 | 三|∵∴∵/ ト
|:::::::::::::::||∵|\_|_/|∵∴,ィ'
|:::::::::::::::||∵| \__ノ |∵,/\_
|:::::::::::::::||∵\__/ ,イ |
|:::::::::::::::||∵∴∵ ,, ┐' ト-
|:::::::::::::::||| ̄乃'゙人 ∧
|:::::::::::::::||∧ ∧∩ ..||
|:::::::::::::::|| ゚∀゚)/ .|| tanasinn
|:::::::::::::::||∧ ∧∩ ..||
|:::::::::::::::|| ゚∀゚)/ . ||
|:::::::::::::::|| 〈 . ..||
|:::::::::::::::||,,/\」 . ..||
\:::::::::::|| ̄ ̄ ̄ ̄
252
名前:
デフォルトの名無しさん
:04/02/22 06:24
アセンブラで書き直したら45%スピードアップしたよ
体感速度がだんち
253
名前:
デフォルトの名無しさん
:04/02/22 07:46
撒餌
254
名前:
デフォルトの名無しさん
:04/02/22 08:15
コマセ?
255
名前:
デフォルトの名無しさん
:04/02/22 08:22
>>252
複雑な3D処理の中核ボトルネック部分をアセンブラで書き直すと劇的に早くなることがあるね
256
名前:
252
:04/02/22 08:53
縦シューだけどね。
WinMain以外全部asmだよ
257
名前:
デフォルトの名無しさん
:04/02/22 09:05
EXEは何KBになった?
258
名前:
デフォルトの名無しさん
:04/02/22 09:17
俺はマシン語直接打ち込んでるよ
ばりはや
259
名前:
デフォルトの名無しさん
:04/02/22 09:31
COBOLからDirectXが使いたいのですがどうすればいいですか?
260
名前:
デフォルトの名無しさん
:04/02/22 09:36
今時のPC、今時の縦シューで描画以外がボトルネックになるのか。。。
一体内部でどんなことやってるんだか
261
名前:
デフォルトの名無しさん
:04/02/22 09:40
>>260
RTS型の縦シューだから経路探査にものすごい複雑な処理が必要なんだよ
262
名前:
デフォルトの名無しさん
:04/02/22 09:49
ソフト販売を目的とするならインラインASMは必須だけどね
263
名前:
252
:04/02/22 09:51
やっぱキャラと弾幕のインタプリタと、マイクロスレッドだね
264
名前:
デフォルトの名無しさん
:04/02/22 09:52
>>261
だとしても、WinMain以外全部asmである必要はない。
最内ループやそれに類する高負荷部分以外は
コンパイラに任せた方が良い結果を生むことの方が多い。
いや、君が万人に一人の天才なら話は別だよ?そんときゃ素直に謝るよ
265
名前:
デフォルトの名無しさん
:04/02/22 10:21
アセンブラだとDirectX使えないじゃん
266
名前:
デフォルトの名無しさん
:04/02/22 10:29
BitBltより45%アップに一票。
つか、縦シューなら素直にH/Wに頼れよ。
267
名前:
デフォルトの名無しさん
:04/02/22 11:19
>>263
一体どんなキャラ/弾幕数とどれだけ複雑な処理を行っているのやら.
労力を無駄に浪費したいだけのアホなのはよく分かった.
268
名前:
デフォルトの名無しさん
:04/02/22 12:20
オブジェクトの1つ1つにスレッドを割り振る
敵キャラはもちろん敵弾一つ一つだ
269
名前:
デフォルトの名無しさん
:04/02/22 14:08
_,. -‐''"∴∵``' ‐ .、._
,.‐'´∴∵∴∵∴∵∴∵ `‐.、
./∴∵∴∵∴∵∴∵∴∵∴∵\ tanasinn
,i´∴∵∴∵∴∵∴∵∴∵∴∵∴∵ヽ
. /∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵i、 ↓
>>265
,i∴∵∴∵∴∵∴∵∴∵∴∵∴∵∧∴∵l ∧
|∴∵∴∵∴∵∴(・)∴∴.(・)∴∵:/ ヽ_∵.l . / . ヽ
. | ∴∵∴∵∴∵∴ / ○\ ∴∵./ `、⌒ヾ⌒ヽ/ ヽ
. |∴∵∴∵∴∵∴/三 | 三|∴./ (.....ノ(....ノ / ヽ
. |∴∵∴∵∴∵∴| __|__ |∴| ι ι::(....ノノ.
l∴∵∴∵∴∵∴| === .|:/ ̄ ̄ヽ ::::::::::::::/`ヽ
. ゙i ∴∵∴∵∴∵ \__/:(___..ノ :::::::::::::::::::(....ノノ
ヽ∴ ∵∴∵∴∵∴∵∴∵∴:ヽ ι ::::::::::::::::::::::::::ノ
270
名前:
デフォルトの名無しさん
:04/02/22 14:09
_,. -‐''"∴∵``' ‐ .、._
,.‐'´∴∵∴∵∴∵∴∵ `‐.、
./∴∵∴∵∴∵∴∵∴∵∴∵\ tanasinn
,i´∴∵∴∵∴∵∴∵∴∵∴∵∴∵ヽ ↓
>>249
. /∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵i、
,i∴∵∴∵∴∵∴∵∴∵∴∵∴∵∧∴∵l ∧
|∴∵∴∵∴∵∴(・)∴∴.(・)∴∵:/ ヽ_∵.l . / . ヽ
. | ∴∵∴∵∴∵∴ / ○\ ∴∵./ `、⌒ヾ⌒ヽ/ ヽ
. |∴∵∴∵∴∵∴/三 | 三|∴./ (.....ノ(....ノ / ヽ
. |∴∵∴∵∴∵∴| __|__ |∴| ι ι::(....ノノ.
l∴∵∴∵∴∵∴| === .|:/ ̄ ̄ヽ ::::::::::::::/`ヽ
. ゙i ∴∵∴∵∴∵ \__/:(___..ノ :::::::::::::::::::(....ノノ
ヽ∴ ∵∴∵∴∵∴∵∴∵∴:ヽ ι ::::::::::::::::::::::::::ノ
271
名前:
デフォルトの名無しさん
:04/02/22 14:38
アセンブラだとDirectX使えないじゃん
272
名前:
デフォルトの名無しさん
:04/02/22 17:54
>>271
ハァ??
君ってチンカス以下だね
273
名前:
デフォルトの名無しさん
:04/02/22 18:10
ハァァァ、俺もチンカスになりてぇ
274
名前:
デフォルトの名無しさん
:04/02/22 23:32
D3DXCreateTextureFromFileで48*48のDDSファイルからテクスチャを作って
LPD3DXSPRITEのDrawを使って等倍で描画すると64*64になってしまうのですが
2のN乗のピクセル数じゃないとダメとかって仕様なんですか?
Drawで75%にして表示させるのだと
48*48になってもスケーリングでぼやけてしまうので…
275
名前:
デフォルトの名無しさん
:04/02/22 23:37
>>274
>2
のN乗のピクセル数じゃないとダメとかって仕様なんですか?
うん、そう。
ていうか何がしたいんだよ。
276
名前:
デフォルトの名無しさん
:04/02/23 00:09
>>274
ぼやけるのは別問題。
三角形ラスタ化ルールをよく嫁。
277
名前:
デフォルトの名無しさん
:04/02/23 00:18
アセンブラだとDirectX使えないじゃん
278
名前:
デフォルトの名無しさん
:04/02/23 00:18
引き伸ばして展開した物を75%にしたらぼけるのは当たり前。
>ぼやけるのは別問題。
>三角形ラスタ化ルールをよく嫁。
全然別問題じゃないぞ。
脳内反射でテクセルのせいだと思いこむな。
279
名前:
デフォルトの名無しさん
:04/02/23 00:19
なあ、ちょっと質問。
monshoさんところのボーンの説明なんだけど。
ttp://monsho.hp.infoseek.co.jp/msys/sys08.html
どうして、ボーンをそう一度に突っ込もうとするんだ?
わけて描画するよりソフトウェア処理のがいいのか?
ちなみに俺はシャイなので直接本人に聞けなかったりする。
280
名前:
デフォルトの名無しさん
:04/02/23 00:23
>>279
一つの頂点に対して、多数のボーンが割り当てられている場合、
どうやって分けるつもりなんだ?
281
名前:
デフォルトの名無しさん
:04/02/23 00:23
「アセンブラとアンブレラは似ている」
282
名前:
デフォルトの名無しさん
:04/02/23 00:42
>>280
例えば、(ボーンじゃなくて)ローカルのメッシュごとに描画すると考えて
そのメッシュの描画に必要なボーンがわかればいいんじゃないのか?
283
名前:
デフォルトの名無しさん
:04/02/23 01:54
アンブレラだとDirectX使えないじゃん
284
名前:
デフォルトの名無しさん
:04/02/23 02:22
>>279
その変、色々こしょこしょごにゃごにゃ実験研究したんだが
おれも結果的には「スキニングはCPUで」になった
その過程の紆余曲折に関してはとてもここで述べきれないが
パフォーマンス以外の理由もかなり絡んでくる
285
名前:
デフォルトの名無しさん
:04/02/23 02:35
>>284
なぁ?
>>282
の方法では駄目だった?
#いや、俺、自分じゃスキニング実装したことないんだけどねw
スキニングをCPUに妥協した理由がシェーダが面倒っていうなら納得するけど。
かいつまんでいうとなんで?
286
名前:
デフォルトの名無しさん
:04/02/23 02:42
1枚のテクスチャに複数個の画像を詰め込んで利用するときに、
テクスチャ補間で、その領域の外部の点がサンプリングされて
周囲にノイズがのってしまうんですが、
どうやって回避するのが普通なんでしょうか?
各領域の境界に1ドットの遊びをつくってとりあえず対処しましたが、
もっと楽な方法ってあります?
287
名前:
デフォルトの名無しさん
:04/02/23 02:45
>>279
今やるなら適当に分けて頂点シェーダーで処理したほうが絶対いいと思う。
それにゲームなら分けないで済んじゃう場合が多いのでは?
>>284
一つでいいのでCPU処理の利点を教えて欲しい。
288
名前:
285
:04/02/23 02:54
>>287
>一つでいいのでCPU処理の利点を教えて欲しい。
では、代わりに俺が2つ利点をば・・・。
1つ目。
スキニングをCPUでやると設計が楽ってところです。
頂点シェーダって組み方にもよると思いますけど
スキニング有り無しと2つ書かないといけないですよね。
バンプマップもスキニング有りと無し
環境マップも同様。
そのほかのものも同様。
って感じではっきりいって面倒です。
スキニングをCPUでやるととっても楽になりますってただそれだけなんですけどね。
2つ目。
ボーン一箇所に何本までね。とかいう制限が無くなる。
こんな感じでどうでしょうか?
ってか実装したことないんですけどね。俺w
これからやろうと考えてるので色々とうまい組み方が知りたいです。
289
名前:
デフォルトの名無しさん
:04/02/23 06:53
確かに気楽だわな。
でもCPU資産の方が余程重要と考える俺はケチなんだろか
290
名前:
デフォルトの名無しさん
:04/02/23 06:56
CPU資産の有効活用は難しいね
おれはPEN4-3.2GHzDualだからね
291
名前:
デフォルトの名無しさん
:04/02/23 08:18
caps.MaxVertexBlendMatrices
caps.MaxVertexBlendMatrixIndex
がカードによってばらばらだから。
convert2*BlendedMesh
がめんどくさい。
292
名前:
デフォルトの名無しさん
:04/02/23 08:23
ま、今あるSoftware頂点シェーダより遅いのは確かだろうな。
293
名前:
デフォルトの名無しさん
:04/02/23 08:39
ヌーブラだとDirectX使えないじゃん
294
名前:
デフォルトの名無しさん
:04/02/23 09:14
確かに自分の環境用に作るならまだともかく
環境を幅広く取ったらやる気失せるよなあ
295
名前:
デフォルトの名無しさん
:04/02/23 09:27
>>280
だじゃらメッシュ単位の問題ではなく、
同一頂点に対して、ハードの限界を上回るボーンが関連付けられたら、
分けようがないということなんだが。
296
名前:
デフォルトの名無しさん
:04/02/23 09:42
>>295
>>279
のリンク先に関していえばレジスタ数の問題って書いてあるからそっちじゃないんじゃないかな。
297
名前:
デフォルトの名無しさん
:04/02/23 10:28
スキニングに限らずVertexShader2.0未満は何やんのもダルイ。
298
名前:
デフォルトの名無しさん
:04/02/23 11:07
DirectShowスレが寂れているのでこちらに。
DirectShowで簡単なビデオ編集(切り出し)ソフトを作ろうとしていて、
タイムライン表示用にBMPを撮りたいのですが、ISampleGrabberもIMediaDetも
DX9と共存できなくて困っています。
GetImage的な使い方が出来る方法はないですか?
299
名前:
デフォルトの名無しさん
:04/02/23 11:21
ヘッダがバッティングするだけだから、ソースを分けるか、
GUIDを自分で定義するなりすれば使える。
300
名前:
デフォルトの名無しさん
:04/02/23 11:25
_,. -‐''"∴∵``' ‐ .、._
,.‐'´∴∵∴∵∴∵∴∵ `‐.、
./∴∵∴∵∴∵∴∵∴∵∴∵\
,i´∴∵∴∵∴∵∴∵∴∵∴∵∴∵ヽ
. /∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵i、
,i∴∵∴∵∴∵∴∵∴∵∴∵∴∵:../⌒ヾ皿⌒ヽ
|∴∵∴∵∴∵∴(・)∴∴.(・)∴∵∴./_(.....ノ─(.....ノ_
. | ∴∵∴∵∴∵∴ / ○\ ∴∵:../11 12 1\
. |∴∵∴∵∴∵∴/三 | 三|∴∵./ ↑ / ヽ tanasinn
. |∴∵∴∵∴∵∴| __|__ |∴../ 10 ......↑ (....ノノ
l∴∵∴∵∴∵∴| === .|∵.l .. ...│ .. /`ヽ
. ゙i ∴∵∴∵∴∵ \__/∴.l 9 .... ● (....ノノ
ヽ∴ ∵∴∵∴∵∴∵:./ ̄ ̄ヽ . lノ
(___..ノ. 4 /
301
名前:
デフォルトの名無しさん
:04/02/23 14:06
tanasinnって誰だ!!??
302
名前:
298
:04/02/23 14:10
頑張ってみます。
303
名前:
デフォルトの名無しさん
:04/02/23 14:57
>>295
>同一頂点に対して、ハードの限界を上回るボーンが関連付けられたら、
>分けようがないということなんだが。
ハードの限界を上回るって一頂点に何十本も割り当てる意味ってあるの?
あまりにも微妙すぎて結局無駄になりそうな気がする。
304
名前:
デフォルトの名無しさん
:04/02/23 15:03
>>303
確かGeForceでは固定機能ではインデックス不可で2Weightまでだったはず。
単純に制限が強すぎて使えない。
305
名前:
デフォルトの名無しさん
:04/02/23 15:41
>>304
それって頂点シェーダの話?
306
名前:
303
:04/02/23 16:04
>>304
今なら頂点シェーダーが動かないボードでもシェーダーを使った処理をして
初期化時にソフトorハード処理を切り替えたほうがいいと思う。
DirectX8世代より前のボード使ってる人ってもう少数派なのでは?
まあシェーダーは一切使わないって方針もありだとは思うけど…
>>305
固定機能って書いてあるよ。
307
名前:
デフォルトの名無しさん
:04/02/23 16:09
>>304
頂点シェーダじゃなかった。すつれい。
自分も昔固定機能HWスキニングの為に、メッシュ分割モジュールを組んだことがあるが
今はもうHDDの肥しになってる訳で。こんなもんに労力を割くのは無駄。
実装も美しくなくなるし。
同様の理由でHDRLightingも無駄、つーかDirect3D自体無駄。
308
名前:
305
:04/02/23 16:30
>>306
すまんこ
309
名前:
デフォルトの名無しさん
:04/02/23 16:33
DirectSoundのSetNotificationPositionsについて質問です。
これを使って複数のバッファを同時再生すると、
バッファAのシグナルが発生するタイミングで
バッファBのシグナルも発生してしまうようです。
これの回避方法は無いでしょうか?
使用しているのはDX8.1で、目的はストリーミング再生です。
ちなみに、調べてみたところ、OSがw2kだと起こり、98だと起こらないらしいです……
310
名前:
デフォルトの名無しさん
:04/02/23 16:58
確かにそうなるけど、何か問題あるかな?
問題というとMsgWaitなんたらかんたらかなぁ。
あの関数は全ての自動リセットイベントを非シグナル状態にします。
マニュアルリセットにして、ストリームへロードしたバッファのイベントのみ
非シグナルにすれば上手く行くかもしれません。
311
名前:
309
:04/02/23 18:17
説明不足でした。
シグナルの検知にはWaitForSingleObjectを使っています。
シグナル発生のたびにバッファへ書き込みを行い、
書き込んだ分だけ読み込み用ポインタをずらしているのです。
そのため、他のバッファのシグナルを検知してしまうと、
バッファ内容が意図しないタイミングで更新され、
読み込みポインタがどんどんズレてしまうハメに。
結果的には音飛び状態になっています。
マニュアルリセットの件については、
どういう事なのかピンときませんでした……すみません。
312
名前:
デフォルトの名無しさん
:04/02/23 18:44
>>309
バッファつくるときにDSBCAPS_LOCSOFTWAREを指定。
って、解決策になってないね…。
誰かH/Wにリソース置いても上手くいく方法教えてくだせえ。
313
名前:
デフォルトの名無しさん
:04/02/23 18:47
まあ要するにスレッド同期が上手く行ってないんですね。
そういうのはスレッドの設計があまりよろしくないと思います。
今のままで解決する方法もあると思いますが思い切って設計変えたほうが楽な気がします。
こういうタイプの実装方法って主に3つパターンあると思うんですが
1)1スレッドに1イベントと1バッファを割り当てる
2)1スレッドで全イベントを管理、イベント発生したら対応バッファを処理、終了したら次のイベントを待機
3)1スレッドで全イベントを管理、イベント発生したら待機スレッドを起動、対応バッファを割当、そのスレッドでバッファを処理
1番と3番はスレッドが複数必要で同期要りますが、2番のスレッドは1つです。
MsgWaitForMultipleObjectsを使ってイベントを待ちましょう。この関数の注意点は310の通りです。
314
名前:
313
:04/02/23 18:56
ところで追記だけど
もしかして全てのバッファで同じイベント使ってない?(;´Д`)
315
名前:
デフォルトの名無しさん
:04/02/23 18:57
|-`).。oO(同じイベントハンドル使ってるからじゃないのかなぁ…)
316
名前:
309
:04/02/23 19:03
何度も書き込み失礼します。
>イベント発生したら対応バッファを処理
これが出来ないから困っているんです……
イベントが発生しても、対応するバッファを知ることが出来ないのです。
バッファAにイベント1、イベント2を設定し、
バッファBにイベント3、イベント4を設定したとします。
バッファAの再生位置がイベント1に達したとき、
本来ならイベント1のみがシグナル状態になるはずですが、
なぜかイベント1とイベント3が一緒にシグナル状態になったりするのです。
これですと、イベントが発生したからといって、バッファを処理して良いとは限りません。
317
名前:
309
:04/02/23 19:04
>>314
勿論別です・・・
318
名前:
デフォルトの名無しさん
:04/02/23 19:12
>>312
ハードウェアの時だけ出る症状なの?
319
名前:
デフォルトの名無しさん
:04/02/23 19:31
>>318
漏れの環境ではハードウェアの時だけ。
んで今、DirectXのヘルプ見たらDSBUFFERDESCの注意の項に
VxD ドライバの場合、DSBCAPS_CTRLPOSITIONNOTIFY を使って作成された
サウンド バッファは常にソフトウェア バッファである。(中略)
ハードウェアが利用可能な場合は、WDM ドライバにより、通知可能なバッファが
ハードウェアに存在することがある。
とある。
Win9X系では正常で、Win2kではおかしいってのはこのせいじゃないかと思ってる。
で、これドライバ最新のにしても直らんのよ。皆、どうしてる?
320
名前:
313
:04/02/23 19:36
>>316
対応するバッファは分かるはず。
MsgWaitForMultipleObjectの戻り値を使えば、
どのイベントがシグナル状態になったか把握できるよ。
321
名前:
309
:04/02/23 19:40
>>319
なるほど……DSBCAPS_LOCHARDWAREでやっみたら上手くいきました。
悲しいですがとりあえず、w2kではハードウェアを捨ててやってみます。
>>320
うう、私の説明が下手なんでしょうか……。
どのイベントがシグナル状態になっているかは分かっています。
しかし、シグナル状態になるタイミングそのものが異常なのです。
322
名前:
313
:04/02/23 20:03
つまりスレッド同期じゃなくて
ハードウェアからの通知が遅すぎて変なタイミングで更新されるってことですか(;´Д`)
とにかく解決してよかったです。
323
名前:
デフォルトの名無しさん
:04/02/23 20:05
いまいち状況が把握できなかった俺はもうダメポ
324
名前:
デフォルトの名無しさん
:04/02/23 20:49
313は最後まで状況を理解できなかったみたいだな…
325
名前:
313
:04/02/23 21:04
VXD系ドライバだとソフトウェア配置になるから通知タイミングが安定するが
WDM系ドライバだとハードウェアに通知可能なバッファを置くことが出来るがその通知がどうも怪しい
だからソフトウェア配置にすれば通知タイミングが安定する環境がある
…そういうことじゃないの?(;´Д`)
気になって試しにサンプルのソース弄ってみたけど
Win2k&LOCHARDWAREにしてもちゃんと動いたよ
結局ドライバとかハードウェアの問題じゃないの?
326
名前:
デフォルトの名無しさん
:04/02/23 21:18
ホントDirectXって糞だな
327
名前:
デフォルトの名無しさん
:04/02/23 21:26
誉めても何もでんぞ
328
名前:
デフォルトの名無しさん
:04/02/23 21:29
ホントDirectXって神だな
329
名前:
デフォルトの名無しさん
:04/02/23 21:31
昔、似たような問題に出くわしたな。
検索すれば、同じ現象で悩んでる(た)人を見つけられるはず。
ちなみに俺が出した結論は
SetNotificationPositions を 使 わ な い
330
名前:
デフォルトの名無しさん
:04/02/23 21:35
それもありだな。
定期的に適当な関数呼び出して貰って位置取得しつつロックすりゃいい。
…って位置取得もなんか問題あったような。
ホントDirectXって糞だな。
331
名前:
デフォルトの名無しさん
:04/02/23 21:36
SoundBlasterが糞だという意見もあるけどな
332
名前:
デフォルトの名無しさん
:04/02/23 21:42
____
/∵∴∵∴\
/∵/∴∵\∵\ . .. \|
/∵<・>∴∴.<・>∵| . . / ̄ ̄ ̄
|∵∵/ ●\∵∵| . /
|∵ /三 | 三|∵ | |
|∵ |\_|_/| ∵| ∩
\ | \__ノ |/ . |.| tanasinn
\___/:、 ∪、
/∵━○━∵ヽ ..| \
/∵人∵∵∵ \:\ \ \
⊂´:_/ )∵∵∵∵ヽ:_`⊃ / ̄ ̄ ̄ ̄ ̄ ̄
/
333
名前:
デフォルトの名無しさん
:04/02/23 22:54
DirectSEX未経験だぜ、ゴルァ!!
334
名前:
デフォルトの名無しさん
:04/02/23 23:18
つうか23にもなってゲーム作ってる俺も糞だ
335
名前:
デフォルトの名無しさん
:04/02/23 23:50
>>334
つうか24になってゲームなんか作ってる俺の方がもっと糞だ
336
名前:
デフォルトの名無しさん
:04/02/24 00:28
ネガティブプログラマー四MEN楚歌
337
名前:
デフォルトの名無しさん
:04/02/24 01:41
つうか就職してまでゲームなんか作ってるおまいらの方がもっと糞だ
338
名前:
デフォルトの名無しさん
:04/02/24 01:47
就職できずにゲームつくってるオレが彩京
339
名前:
デフォルトの名無しさん
:04/02/24 04:08
>316
書き込む前にGetCurrentPos()使って、次の書き込みが再生位置に被らないか判定する。
一回の通知で二つ分のバッファを書き込むようにしているから、こうしているんだが。
まあこの方法でも、USBサウンドデバイスが通知を受けた後のGetCurrentPos()で、
通知位置より前の位置を返してきたりして困ったが。
340
名前:
デフォルトの名無しさん
:04/02/24 19:50
>>316
いい加減、質問する前に少しは調べる癖を身につけろよな・・・
ttp://www.tobysoft.net/toby_diary2003.html
ttp://www.namikaze.org/yodiary/200010.html
結局はそんな腐ったインターフェース使うなということで
ファイナルアンサーなんだからさ。
341
名前:
デフォルトの名無しさん
:04/02/24 20:01
>>313
講釈師 見てきたような 嘘をいい
342
名前:
デフォルトの名無しさん
:04/02/24 20:37
嘘ってわけじゃないだろ。
解決策にはなってないな。
343
名前:
デフォルトの名無しさん
:04/02/24 22:26
>>340
これがFAだとすると、ほんとに鬱だ氏のうって感じだな
DirectX腐れすぎだ
344
名前:
デフォルトの名無しさん
:04/02/24 22:27
あ、いや、ドライバだな、腐れすぎなのは・・
345
名前:
デフォルトの名無しさん
:04/02/24 22:40
いや本当に腐れてんのは27にもなってエロゲ作ってる俺だ
346
名前:
デフォルトの名無しさん
:04/02/25 00:06
DirectXAudioについてお聞きします。使っている環境はDX8です。
現在はBGMと、効果音(銃声)を再生したいと思っております。
効果音の種類は今後追加することになるかもしれません。
本などを調べて、IDirectMusicPerformance8,Loader8,AudioPath8はひとつずつ用意して、
segmentにかんしては、再生させるWAVファイルの種類分必要というこということを
しりました。
BGMはひとつあれば十分ですが、銃声に関しては鳴らすキャラクターも複数おりますので、
音声がかぶることがあります。
ということでPlaySegmentExの引数に、BGMはプライマリーで、銃声はセカンダリーと
指定すれば、銃声は複数のセグメントを用意しなくても1つで十分ということみたいですが、
(そうですよね・・・?)、たとえば、ゲームをポーズさせて、のちに再開たい場合はどう
すればいいのでしょうか。
中止時刻を記憶しておいて、途中再開させるときはそこからスタートさせるような処理
を行うのでしょうか。でも、BGMなら1つだからまだ可能そうですが、1つのセグメントを
複数に多重再生させているような状態でそれがかのうなのでしょうか。
IDirectMusicSegmentState8を使えばなんとかなるかもとおもったのですが、そうも
思えなくて困っております。
よろしくおねがいします。
347
名前:
デフォルトの名無しさん
:04/02/25 13:14
∴
∵ ∴ ∴∵∴ ∴
∴∵∴∵∴∵∴∵∴∵∴∵∴∴∵
∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
∴∵∴∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵/ ⌒ヽ∴∵∴∵∴
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵| | |∴∵∴∵
∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∪ / ノ∴∵∴∵∴∵
.. ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵| ||∵∴∵∴∵
.∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∪∪∴∵∴∵∴∵
.∵∴∵∴∵∴∵∴∵:(・)∴∴.(・)∵∴∵∴∵∴∵∴∵∴∵∴∵∴
∵∴∵∴∵∴∵∴∵∴/ ○\∵∴∵∴∵∴∵∴∵∴∵∴
..∵∴∵∴∵∴∵∴∵/三 | 三ヽ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
. ∴∵∴∵∴∵∴∵ | __|__ │∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵ tanasinn
.∵∴∵∴∵∴∵∴∵| === │∵∴∵∴∵∴∵∴∵∴∵∴
.∵∴∵∴∵∴∵∴∵\___/∵∴∵∴∵∴∵∴∵∴∵∴
..∴∴∵/ ̄.. \∴∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
∴∵∴/ ,. i ∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
∴∵∴| /.| |.∵∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
∵∴| | :| |.∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
∴| | |::| |.∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
∴| | |∵U∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
| | |∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
/ / / ∵∴∵∴∵∴∵∴∵∴∵ ∵
/ / / ∴∵∴∵∴ ∴
.しし’ ∵
348
名前:
デフォルトの名無しさん
:04/02/25 18:16
>>290
今更だが、
Pen4はDual不可だぞ。
349
名前:
デフォルトの名無しさん
:04/02/26 02:00
D3DXIntersectの第9と第10引数にNULLを渡した時の動作って
保証されてますか?
DirectXSDKについてるPickのサンプルでNULLを渡してますが、
ヘルプにはNULLを渡す事について何も書かれてないと思うのですが。
見落としだったらすいません。
使ってるのはDirectX9.0bです。
350
名前:
デフォルトの名無しさん
:04/02/26 08:30
>>349
MSの掟。
351
名前:
デフォルトの名無しさん
:04/02/26 08:52
なぜ我々は糞と分かっていながら使い続けねばならないのか。
そこが大きな問題だ。
352
名前:
デフォルトの名無しさん
:04/02/26 10:55
それは、ここが鬱だ氏のうDirectXスレだからだな。
Windowsから一歩離れればDirectXなんか無いシナー
353
名前:
デフォルトの名無しさん
:04/02/26 11:24
私達が糞だから。
354
名前:
デフォルトの名無しさん
:04/02/26 11:31
まるでそびえ立つスレだ。
355
名前:
デフォルトの名無しさん
:04/02/26 11:35
糞どうし仲良くやろうや
356
名前:
デフォルトの名無しさん
:04/02/26 17:20
dxdiag で d3d9 のテストに成功したんだけど、いざプログラムを書いても失敗して、ソフトウェアレンダリングです。
dxdiagのテストプログラムソースって有りませんか?
357
名前:
デフォルトの名無しさん
:04/02/26 17:33
無いです。
コード晒してください。
358
名前:
デフォルトの名無しさん
:04/02/26 20:27
VertexBufferはD3DPOOL_MANAGED、
TextureはD3DPOOL_DEFAULTってまずいかな?
359
名前:
デフォルトの名無しさん
:04/02/26 22:42
独り暮らしはDEFAULT、
結婚生活はMANAGEDってまずいかな
360
名前:
デフォルトの名無しさん
:04/02/26 23:11
>>358
べつにまずくはない。
361
名前:
デフォルトの名無しさん
:04/02/27 01:03
ダイアログ内にDirect3Dで描画したいんだけど(DXウィザードのMFCベースのように)
WIN32SDKからやる方法って、どうやるんでしょうか?
362
名前:
デフォルトの名無しさん
:04/02/27 01:13
ダイアログ内に子ウィンドウ作ってそいつをDirect3Dの窓にするってのは駄目?
363
名前:
361
:04/02/27 10:52
>>362
おお!そうですね、なんでそんなこと気がつかなかったんだろう…
ども、ありがとうございます。早速試します。
364
名前:
デフォルトの名無しさん
:04/02/27 16:40
みんな
D3DCREATE_MIXED_VERTEXPROCESSING
って使ってる?
365
名前:
デフォルトの名無しさん
:04/02/27 17:09
使わないと環境依存が強すぎてろくな事が出来なくなる。
366
名前:
デフォルトの名無しさん
:04/02/27 22:02
>>365
どのくらいのハードを対象にしてるの?
ピクセルシェーダぐらいは使っていいの?
367
名前:
デフォルトの名無しさん
:04/02/29 16:04
皆さん。3Dの時代は終りデスよ〜
368
名前:
デフォルトの名無しさん
:04/02/29 17:05
>>367
じゃあ次は何の時代なんだ?
369
名前:
デフォルトの名無しさん
:04/02/29 17:12
2次元に戻る。
370
名前:
デフォルトの名無しさん
:04/02/29 17:36
そして1次元へ。
371
名前:
デフォルトの名無しさん
:04/02/29 18:53
さらには無我へ
372
名前:
デフォルトの名無しさん
:04/02/29 19:43
ゲームには絵と違って時間という概念があるから、
最初から4次元だったんだよ。
セーブからやり直せるし。
373
名前:
10次元→ひも理論をへて
:04/02/29 21:08
そして伝説へw
374
名前:
デフォルトの名無しさん
:04/03/01 02:19
DirectX9でも始めようと思って、初心者向けの本を買った。
SDKを落として、最初のサンプルをビルド。エラー。
なんか関数の定義がサンプルでの使用法と違ってるらしい。
結局、summer版SDKを入れてたせいでした。本はその前のSDK向けだったみたい。
というか、何で同じバージョンで、しかも初心者向けサンプルに含まれる関数定義をあからさまに変えますか。
どうせ俺はヘルプ読めねえよ!
8.1をやるか、OpenGLをやるかというお達しかね…_| ̄|○
375
名前:
デフォルトの名無しさん
:04/03/01 02:57
9のsummer updateはちと酷いね。
少なくとも別バージョンにするべきだったと思う。
376
名前:
デフォルトの名無しさん
:04/03/01 12:58
>>374
summerってそうなのか。そろそろ入れようかと思っていたけど
面倒は嫌いなんで、次回作ゲームを作り始めるタイミングで入れよっと。
でも、DirectX10とかが先に出てるかもしれん。
377
名前:
デフォルトの名無しさん
:04/03/01 15:38
なんで9.1とかにしなかったんだろうなほんと。
378
名前:
デフォルトの名無しさん
:04/03/01 15:45
>>374
summerの一つ前のDirectX9SDKをインスコすればいいだけじゃーん
3Dの勉強したいだけならOpenGLが簡単でいいかもね
379
名前:
デフォルトの名無しさん
:04/03/01 22:05
そりゃsummer(2004)が出るからだべ
380
名前:
374
:04/03/02 02:30
前のSDK入れたらビルド出来たー。
>>378
多謝。
3Dをやりたいのだが、ネットワークとかサウンドも扱ってみたいのでDirectXを選んでみました。
とりあえず、これから勉強してみますわ。
381
名前:
デフォルトの名無しさん
:04/03/02 08:35
>>377
今後のメジャーバージョンアップは9.1、9.2、9.3になるので(10はナシ)
382
名前:
デフォルトの名無しさん
:04/03/02 12:45
9.01とかでいいのに。
383
名前:
デフォルトの名無しさん
:04/03/02 16:16
http://kfactory.s9.xrea.com/cgi/up/upload/PIECE/Imdun.zip
このサンプルを動かすとフルスクリーンで起動するんですが、普通のウィンドウのように起動するには
どうしたら良いですか?
384
名前:
デフォルトの名無しさん
:04/03/02 16:44
MSの製品で.3なんてバージョンはあまり無いような気がする
385
名前:
デフォルトの名無しさん
:04/03/02 20:25
すみません。directinputの使い方が詳しくのっているサイトはないでしょうか?
ジョイスティックを使って画像を動かしたいのですけれど、なぜか動かないので・・・
386
名前:
デフォルトの名無しさん
:04/03/02 20:31
本買え
のちのち為になるし
387
名前:
デフォルトの名無しさん
:04/03/02 20:33
DirectInputの使い方だけならサンプルとヘルプだけで十分
388
名前:
デフォルトの名無しさん
:04/03/02 20:35
ここで質問するような人間にとってはそれだけじゃ不十分
389
名前:
デフォルトの名無しさん
:04/03/02 20:38
>>386
本はかってます。工学社のやつ。しかし見てもわからないんです。
画像を動かすやつのサンプルがないですし。
>>387
サンプルにあるんですか?
一通り見たけどなかったような・・・
390
名前:
デフォルトの名無しさん
:04/03/02 20:52
どういう画像をどういう風に動かしたいの?
ちなみに普通に考えればその機能はDirectInputじゃないんだがな…。
391
名前:
デフォルトの名無しさん
:04/03/02 20:53
>>389
本とサンプル見れば分かるだろ
本当に読んだのか?
392
名前:
デフォルトの名無しさん
:04/03/02 20:53
>>389
SDKインスコしたとこよく見れ。Joystickってのがある。
あとヘルプのDirectInputチュートリアルがわかりやすいので嫁。
393
名前:
デフォルトの名無しさん
:04/03/02 20:55
>>390
2Dの画像を上下左右に動かしたいのです。
例えばパックマンみたいな感じで。
394
名前:
デフォルトの名無しさん
:04/03/02 20:59
>>391-
>>392
直接データとバッファリングデータの読み込み方法はわかったのですが、
画像を動かそうとするとなぜかうまくいかず・・・
変数を使って表示位置を変えるというのはわかってるんですが。
395
名前:
デフォルトの名無しさん
:04/03/02 21:03
>>393
DirectXとかプログラム以前にPCの常識的なことを学ばないと…。
それはDirectInputの問題ではなくDirectX Graphicsのほうだ。
ジョイスティックを扱っても画面を書き換えることは出来ないだろ。
396
名前:
デフォルトの名無しさん
:04/03/02 21:20
>>394
>画像を動かそうとするとなぜかうまくいかず・・・
ここが肝心なところ。
どんなふうに「うまくいかない」のか説明してくれないとアドバイスできない。
ジョイスティックからの入力に間違いがないか、表示して確認する。
画像の移動に間違いがないか、XかYを変化させながら表示して確認する。
両者が正しいのなら、あとはつなぎ合わせるだけ。
397
名前:
デフォルトの名無しさん
:04/03/02 21:21
>>394
どう上手くいってないか書かないと推測のしようもないわけだが・・・・・・・
DirectInputのサンプルは\DX90SDK\Samples\C++\DirectInput
ウィザードで生成されるものにもDirectInputは使われている
ついでにお勉強サイト
http://masafumi-t.cool.ne.jp/directx9.htm
http://www3.omn.ne.jp/~renas/DirectX/index.html
ソースを晒して叩いてほしいならウプロダは
http://gamdev.org/up/
ゲーム開発関係専用なので要注意
予備知識を仕入れたいなら
http://gamdev.org/w/?%5B%5B%A5%CB%A5%E5%A1%BC%A5%B9%A5%BD%A1%BC%A5%B9%5D%5D
のリンク集がよくまとまってる
勉強したいならこのリンク集
お勉強ページ 勝手にリンク
http://pc2.2ch.net/test/read.cgi/gamedev/1005060553/
398
名前:
デフォルトの名無しさん
:04/03/02 21:33
あのー383は・・・
399
名前:
デフォルトの名無しさん
:04/03/02 21:38
うまくいかないというのは、
画像の表示位置を変数で指定→ジョイスティックのボタンを押したら変数が変わる→これによって画像の位置を変化
という風にしようとしているのですが、なぜかボタンを押しても表示位置が変わらないのです。
400
名前:
デフォルトの名無しさん
:04/03/02 21:42
ボタン押した事自体はちゃんと認識できてるのか?
その変数とやらは変化してるのか?
デバッガ使えばすぐに分かるだろうし。
401
名前:
デフォルトの名無しさん
:04/03/02 21:44
だーかーらー
ジョイスティックだけで動かしてみて確かに入力が取れてるのかどうかとか
画像表示は表示位置を変えてもちゃんと描画されるのかとか
そーいうことを確かめろって言われてるんだってば
402
名前:
デフォルトの名無しさん
:04/03/02 21:45
>>399
プログラム内で変数を変えてみる→動かない→画像を移動させる処理が変
↓
動いた
↓
入力処理が変→入力自体が出来ていない→エラーコードを調べる
↓
入力出来てる
↓
条件分岐や変数の処理が間違ってないか確認
少なくとも聞く前にこれくらいはやろうぜ。
403
名前:
デフォルトの名無しさん
:04/03/02 21:47
あと
>>383
はdd_lib.hの228行目でも見れ
404
名前:
デフォルトの名無しさん
:04/03/02 21:48
>>399
デバッガのブレークポイント設定で、きちんと更新されてるかどうか調べてみぃ。
>>398
DirectX7以前のことは知らないのだが、ソースちらっと見た感じだと、
dd_lib.hのDD_INITあたりが該当するんでないかと。
どうもフルスクリーンモードしか作れないような仕組みになってるような…。
あとプログラム動かしてみたがテクスチャがキモイ。なんか間違ってる気がする。
405
名前:
デフォルトの名無しさん
:04/03/02 21:59
ddret = OldDDObject->SetCooperativeLevel(hwnd, DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN);
これを
ddret = OldDDObject->SetCooperativeLevel(hwnd, DDSCL_NORMAL);
こう変えてみたんですが無理ですた。
>>404
やっぱ無理ですか?
406
名前:
デフォルトの名無しさん
:04/03/02 22:01
>>405
それってその場面でエラー出てる?
407
名前:
デフォルトの名無しさん
:04/03/02 22:06
>>406
ビルドは出来ました。
しかし実行するとプライマリィサーフェースが生成できませんとダイレクトドローの初期化に失敗しました
というメッセージボックスがでて終了してしまいます。
408
名前:
デフォルトの名無しさん
:04/03/02 22:14
>>407
そのエラーメッセージが出る場面は314行のところだな。
手元にDX7のヘルプが無いのでかなり憶測でしか言えないんだが、
恐らくウィンドウモードではフリッピングが不可能なのではないかと推測。
バックバッファとプライマリバッファの入れ替えが出来るのはフルスクリーンならではの芸当だからね。
一般のバッファに描画して、それをプライマリバッファへコピー、という描画方法にしてみてはどうだろう。
多少パフォーマンスは落ちるが今のPCなら無問題でないかと。
409
名前:
デフォルトの名無しさん
:04/03/02 22:24
(-_-#)~ブスブス
ん〜俺の頭はショート寸前…。
410
名前:
デフォルトの名無しさん
:04/03/02 22:35
ごめんね素直じゃなくって
411
名前:
デフォルトの名無しさん
:04/03/02 23:59
Direct3Dで
@や:みたいな一文字だけを立体で表示する方法を教えてください
あと、ランダムに生成されるダンジョンのマップから
三次元の部屋を構築する方法も教えてください
412
名前:
デフォルトの名無しさん
:04/03/03 00:03
>@や:みたいな一文字だけを立体で表示する方法
・モデラーでメッシュを作成してそれを表示する
・Text3Dサンプルを見る
>ランダムに生成されるダンジョンのマップから三次元の部屋を構築する方法
抽象的すぎて答えようがない
413
名前:
デフォルトの名無しさん
:04/03/03 00:09
もしかして@が主人公だったりして
414
名前:
デフォルトの名無しさん
:04/03/03 00:13
>>413
なるほどw ワロタ
415
名前:
デフォルトの名無しさん
:04/03/03 00:59
だいたいどんなゲームなのかイメージは沸いた。
416
名前:
デフォルトの名無しさん
:04/03/03 03:01
ID3DXFontのDrawTextで(int、doubleなど)変数の値を数字で表示したいのですが
型変換てどうやったらいいんでしょうか?
(DirectXじゃないかと思いますが
型のことをよくわかってないので他スレだと説明が…)
417
名前:
デフォルトの名無しさん
:04/03/03 03:14
int i; float f;
char str[100];
sprintf(str, "数字表示したいよ〜ん%d %f," i, f);
その後strを云々…
418
名前:
416
:04/03/03 03:34
>>417
すごい簡単だったんですね…ちゃんと勉強します
ありがとうございました
419
名前:
デフォルトの名無しさん
:04/03/03 04:10
なんでこのスレで聞いたんだろう……
420
名前:
デフォルトの名無しさん
:04/03/03 05:31
初歩的な質問がやたら多いな
それにちゃんと答えてやってるのも珍しい
421
名前:
デフォルトの名無しさん
:04/03/03 06:03
レスしたオレも悪いな。
こうやって低レベルな質問にマジレスしてしまうとスレのレベルが下がる、
低レベルな質問は叩くぐらいの殺伐とした感じのほうがよいかもな。
422
名前:
デフォルトの名無しさん
:04/03/03 07:59
まぁ何事もほどほどにということで(←ハァ?
423
名前:
デフォルトの名無しさん
:04/03/03 09:52
>>411
>@や:みたいな一文字だけを立体で表示する方法
412にあるとおりだが
・モデラーでメッシュを作成してそれを表示する
に関しては、SDK付属のMeshViewerでも半角文字ならメッシュ作成して
Xファイル保存は出来るな。
424
名前:
デフォルトの名無しさん
:04/03/03 10:42
すみません
文字を画面に表示させたいのですが上手くいきません。
#include <studio.h>
main()
{
printf("ハローワールド\n");
}
絶対あっているはずなのですがコンパイルできません。
このままでは先に勧めませんので誰か助けてください
425
名前:
デフォルトの名無しさん
:04/03/03 11:00
|
|
__|_
あ゛ /;;;;;;;;;;;;;;;;ヽ
>>424
あ゛ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;i. そんな餌で
あ゛ l;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i, わいは釣られへんでー
〈 'i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;i,
.〉 |;;;;,、;;;;;;;;;;;;;;ノ|ノ レ' ,、
〈 , !、| !、lVl/ `、_/ .ノ l l
!! i´l / |__./ //
// |. V\_,-| ト┘
| | \./ 〉 _,/ !、
く_____,/
,i;;;;;;;;;;;;;;;;;;;;;i
,!\;;;;;;;;;;!'´ 'i
l ./´`i |
| / | |
/ ./ |. |
/`'7 |´`|
/ / | |
i´`| i'´`i
| / ! ノ
STDndard Input/Output
426
名前:
デフォルトの名無しさん
:04/03/03 11:05
>>424
#include <stdio.h>
じゃねーか?
それとひとついっておくと「スタディオエイチ」とでも脳みそで発音してそうだが
「エスティーディーアイオー」が正しいらしいぞw
なんの略だっけか・・・スタンダードなんちゃらでいいんだっけ?
427
名前:
デフォルトの名無しさん
:04/03/03 11:12
すたんだーどあいおー
ですよ。
覚えましたか?
428
名前:
デフォルトの名無しさん
:04/03/03 11:22
>>427
なんで「あいおー」だけそのままなんだ?
429
名前:
デフォルトの名無しさん
:04/03/03 11:28
いんぷっとあうとぷっとと言うと長いからでは?
430
名前:
デフォルトの名無しさん
:04/03/03 11:38
>>420-421
の後にこれですか。
自演臭いですね。
431
名前:
デフォルトの名無しさん
:04/03/03 12:03
いっぱい釣れたねお兄ちゃん!
ごほうびにいっぱい出したげるね
432
名前:
424
:04/03/03 12:32
出来ました!!!
ありがとうございました!!!!!!
433
名前:
デフォルトの名無しさん
:04/03/03 12:52
つまんね
434
名前:
デフォルトの名無しさん
:04/03/03 12:57
ねこ
435
名前:
デフォルトの名無しさん
:04/03/03 13:03
こねこ
436
名前:
デフォルトの名無しさん
:04/03/03 13:04
大好き
437
名前:
デフォルトの名無しさん
:04/03/03 13:22
お兄ちゃん♥
438
名前:
デフォルトの名無しさん
:04/03/03 13:23
ん がついたから
>>437
の負け
439
名前:
デフォルトの名無しさん
:04/03/03 14:55
いかにもひな祭りらしい展開ですね。
440
名前:
デフォルトの名無しさん
:04/03/03 16:19
DirectXの知識って3Dに関することだけでもいいのでしょうか?
今3Dの勉強をしているんですが2Dのほうも知っておくべきでしょうか?
441
名前:
デフォルトの名無しさん
:04/03/03 16:23
おまえは何のために勉強してるんだと小1時間(ry
442
名前:
デフォルトの名無しさん
:04/03/03 17:44
434 名前:デフォルトの名無しさん 投稿日:04/03/03 12:57 ID:EfTGq2hX
ねこ
435 名前:デフォルトの名無しさん 投稿日:04/03/03 13:03 ID:EfTGq2hX
こねこ
436 名前:デフォルトの名無しさん 投稿日:04/03/03 13:04 ID:EfTGq2hX
大好き
437 名前:デフォルトの名無しさん 投稿日:04/03/03 13:22 ID:EfTGq2hX
お兄ちゃん?
438 名前:デフォルトの名無しさん 投稿日:04/03/03 13:23 ID:EfTGq2hX
ん がついたから
>>437
の負け
443
名前:
デフォルトの名無しさん
:04/03/03 18:19
434 名前:デフォルトの名無しさん 投稿日:04/03/03 12:57 ID:EfTGq2hX
ねこ
435 名前:デフォルトの名無しさん 投稿日:04/03/03 13:03 ID:EfTGq2hX
こねこ
436 名前:デフォルトの名無しさん 投稿日:04/03/03 13:04 ID:EfTGq2hX
大好き
437 名前:デフォルトの名無しさん 投稿日:04/03/03 13:22 ID:EfTGq2hX
お兄ちゃん?
438 名前:デフォルトの名無しさん 投稿日:04/03/03 13:23 ID:EfTGq2hX
ん がついたから
>>437
の負け
442 名前:デフォルトの名無しさん[sage] 投稿日:04/03/03 17:44 ID:EfTGq2hX
444
名前:
デフォルトの名無しさん
:04/03/03 18:26
434 名前:デフォルトの名無しさん 投稿日:04/03/03 12:57 ID:EfTGq2hX
ねこ
435 名前:デフォルトの名無しさん 投稿日:04/03/03 13:03 ID:EfTGq2hX
こねこ
436 名前:デフォルトの名無しさん 投稿日:04/03/03 13:04 ID:EfTGq2hX
大好き
437 名前:デフォルトの名無しさん 投稿日:04/03/03 13:22 ID:EfTGq2hX
お兄ちゃん?
438 名前:デフォルトの名無しさん 投稿日:04/03/03 13:23 ID:EfTGq2hX
ん がついたから
>>437
の負け
442 名前:デフォルトの名無しさん[sage] 投稿日:04/03/03 17:44 ID:EfTGq2hX
443 名前:デフォルトの名無しさん[sage] 投稿日:04/03/03 17:44 ID:EfTGq2hX
445
名前:
デフォルトの名無しさん
:04/03/03 18:27
お内裏様とお雛様
今日は楽しい姫初め
446
名前:
デフォルトの名無しさん
:04/03/03 18:53
>>424
#include <stdio.h>
__stdcall WinMain(HINSTANCE, HINSTANCE, char*, int)
{
printf("ハローワーク\n");
}
447
名前:
デフォルトの名無しさん
:04/03/03 19:07
WinMainかよ
448
名前:
デフォルトの名無しさん
:04/03/03 21:25
コンソールが無い
449
名前:
デフォルトの名無しさん
:04/03/03 23:47
device.Transform.World = Matrix.Multiply(Matrix.RotationX(System.Environment.TickCount / 150.0f), Matrix.Translation(0.0f, 0.0f, -4.0f));
現在Direct3Dを勉強中なのですが
上の行の意味を教えてください。
450
名前:
デフォルトの名無しさん
:04/03/03 23:51
一つずつ分解して考えろ
・Matrix.RotationX(System.Environment.TickCount / 150.0f) → 時間と共にX軸を中心に回転させる行列
・Matrix.Translation(0.0f, 0.0f, -4.0f) → Z方向に-4だけ動かす行列
・Matrix.Multiply(…) → 上の二つの行列を組み合わせる
・device.Transform.World =… → ワールドトランスフォームは上の結果
451
名前:
デフォルトの名無しさん
:04/03/04 00:15
0.0f, 0.0f, -4.0fのあたりでX軸中心にくるくる廻る
452
名前:
デフォルトの名無しさん
:04/03/04 02:40
すみませんVC++6.0でDX8を使って勉強し始めて
本やサイトを参考に記述して
「Zバッファを使って前後関係を正しいシーンを描写する」
って言うのをやってみたのですがうまくいきません。
初期化などの設定は以下の通りです。
d3dpp.EnableAutoDepthStencil= TRUE;
d3dpp.AutoDepthStencilFormat= D3DFMT_D16;
gl_lpD3ddev->SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE);//裏面消去しない
gl_lpD3ddev -> SetRenderState(D3DRS_LIGHTING,FALSE);//ライティングしない
gl_lpD3ddev -> SetRenderState(D3DRS_ZENABLE, TRUE);//Zバッファ
gl_lpD3ddev -> SetRenderState(D3DRS_ZWRITEENABLE, TRUE);//
gl_lpD3ddev->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);//テクスチャ透過
gl_lpD3ddev->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);//
gl_lpD3ddev->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);//
で描写の前にこのようにZバッファをクリアしています。
//---バックバッファ、Zバッファクリア
gl_lpD3ddev->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER ,D3DCOLOR_XRGB(255,255,255),1.0f,0);
スレ違いだったり、変数が意味不明だったらもうしわけないです。
何か情報が足りなかったら提示しますので言ってください。
ですが明日卒業式前日で召集かかってるので
レスは遅くなってしまうかもしれません。
違点にお気づきの方がいましたらレスください。
453
名前:
デフォルトの名無しさん
:04/03/04 02:59
何がやりたくてそれがどううまくいかなかったのか
454
名前:
デフォルトの名無しさん
:04/03/04 08:13
すみません。2Dの画像を表示する場合、スプライトを使って表示するのと、
サーフェスを使って表示するのとどちらがいいのでしょうか。
455
名前:
デフォルトの名無しさん
:04/03/04 08:34
どちらが高速ですか?
3Dカードがない場合、どちらが高速ですか?
456
名前:
デフォルトの名無しさん
:04/03/04 08:48
>>455
サーフェス
457
名前:
デフォルトの名無しさん
:04/03/04 09:17
スプライトなんてものは、最初から存在しない。
だから比較しようがない。
458
名前:
デフォルトの名無しさん
:04/03/04 09:29
サーフェスを作って実行したらこんなメッセージが出てきたんですが、これはいったい何なのでしょうか
Direct3D9: (ERROR) :Memory still allocated! Alloc count = 107
459
名前:
デフォルトの名無しさん
:04/03/04 09:40
>>458
ただの外国語
460
名前:
デフォルトの名無しさん
:04/03/04 09:58
DirectX8のフォグの設定方法について質問があります。
フォグをかけるとRGBすべての成分にフォグの効果がかかりますが、
これを特定のカラー成分だけに適用させることって可能ですか?
ポリゴンを描画する際、B成分のみフォグを適応させたいんですが…
461
名前:
デフォルトの名無しさん
:04/03/04 10:41
>>452
ビューポートの設定をきちんとしている?
あと、前投影面を0に設定していたりしてない?
462
名前:
デフォルトの名無しさん
:04/03/04 10:48
>>460
ピクセルシェーダでできるようなできないような。
463
名前:
デフォルトの名無しさん
:04/03/04 11:02
ソフトウェアレンダラーとハードウェアレンダラーの長所と短所をそれぞれ教えてください。
464
名前:
452
:04/03/04 11:13
前後関係を正しく描写したかったのですが
後ろにあるオブジェクトが前に表示されたんです
465
名前:
デフォルトの名無しさん
:04/03/04 11:18
>>463
正直いまさら説明するのもアホらしい
466
名前:
デフォルトの名無しさん
:04/03/04 11:23
そんなこといわずにお願いします
467
名前:
デフォルトの名無しさん
:04/03/04 11:27
>>466
じゃあこれ↓
http://www.microsoft.com/japan/msdn/library/ja/directx9_c/directx/graphics/programmingguide/gettingstarted/devices/devicetypes.asp
468
名前:
452
:04/03/04 11:30
ビューポートの意味がよく分からないのですが
このことですよね?
D3DXMatrixLookAtLH(
&gl_ViewMat,//our
&D3DXVECTOR3(0,5,10),//form
&D3DXVECTOR3(0,0,0),//focus
&D3DXVECTOR3(0,1,0));//up
このようにビュートランスフォームしています。
前投影面は0ではないと思います。
gl_Near = 0.000001f;//前方投影面
gl_Far = 50.0f;//後方投影面
こんな感じです。
469
名前:
デフォルトの名無しさん
:04/03/04 11:37
>>468
検索しろよ
470
名前:
デフォルトの名無しさん
:04/03/04 11:42
>>468
ビューポートはビュー行列とは違うぞ
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/reference/d3d/structures/d3dviewport9.asp
この辺を読めばなんのことかわかるのではないかと・・・。
471
名前:
452
:04/03/04 11:48
もうしわけない、一応しらべて、射影トランスフォームのことかな?
と思ったのですが。間違えてビュートランスフォームを書いてしまいました。
Directx5についてのチュ−トリアルだったのですが、設定してる内容が似てる
のでこれだと思ったのですがやはり違いますか、、、、
//---射影行列
D3DXMatrixPerspectiveFovLH(
&gl_ProjMat,//out
60.0f * 3.1415f / 180.0f,//角度
1.0f,//比
gl_Near,//近点
gl_Far);//遠点
472
名前:
452
:04/03/04 11:59
ビューポート設定してませんでした、、
D3DVIEWPORT8VP={0,0,800,600,0.0f,1.0f};
gl_lpD3ddev->SetViewport(&VP);
今したのですが。
でもうまく描写してくれません。。
473
名前:
デフォルトの名無しさん
:04/03/04 12:03
>>472
ちなみに3Dの描画の流れはこんな感じです。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/programmingguide/fixedfunction/legacyfvfformats/vertexandpixelprocessing.asp
ところで
>>452
ではアルファブレンドをかけてるみたいですが、
ちゃんと不透明なものを全て描いてから透明なものを描いていますか?
どううまくいかないのか書いてくれないと答えようがないです。
474
名前:
452
:04/03/04 12:20
http://www.realdigital.co.jp/densi2/program/d3d/image/dx3d-139.png
私が参考にしてるチュートリアルの画像です。
最終的にはこのように表示したいのですが、
カメラの座標を移動して
地面の裏から投影してもキャラクタが
描写されてしまうのです。
gl_lpD3ddev->SetTexture(0,gl_lpPlayerTexture);//伽羅テクスチャの設定
gl_lpD3ddev->DrawPrimitiveUP(D3DPT_TRIANGLEFAN,2,gl_PlayerVertex,sizeof(TLVERTX));//伽羅の描写
gl_lpD3ddev->SetTexture(0,gl_lpEarthTexture);//地面テクスチャを設定
gl_lpD3ddev->DrawPrimitiveUP(D3DPT_TRIANGLEFAN,2,gl_EarthVertex,sizeof(TLVERTX));//地面の描写
このようにすると描写した順番に描写されるだけで前後関係が無視されてしまうのです。
475
名前:
デフォルトの名無しさん
:04/03/04 13:16
>>452
gl_Nearの値を1.0fくらいにしてみたら?
以前、視点ギリギリのポリゴンを表示したいと思い、この値を
小さくしすぎたら、Zソートが変になってギザギザに表示された。
ビデオボードがショボかったからかもしれんが。
476
名前:
452
:04/03/04 13:23
>>475
うまくいきました。
Zバッファのサイズからして
gl_Near = 0.000001fでは
ほとんど0に近似して処理してるのでしょうか、
とにかくうまくいきました
ありがとうございます。
477
名前:
デフォルトの名無しさん
:04/03/04 14:49
>>476
あの深度じゃ0扱いだと思う。
478
名前:
デフォルトの名無しさん
:04/03/04 22:23
最近プログラミングとDirectXの勉強を始めた者です。
VC++でDirectXを使用し、3DのRPGを製作しようと思っているのですが
3Dのフィールドマップを設置するにはどの様な手段がございますか?
DXSDKのサンプル等を見て自分なりに考えた方法は
モデリングツールで作成したフィールドマップをX形式で保存して
それをDirect3Dによって表示させるという方法です。
他に手段がございましたらご教示下さい。お願い致します。
479
名前:
デフォルトの名無しさん
:04/03/04 22:29
>>478
わざわざX形式を仲介するほどのことはないと思います
480
名前:
デフォルトの名無しさん
:04/03/04 22:29
モデリングツールで作成したフィールドマップはたいていXじゃない形式で保存されるので、
Xでもいいけど自分のアプリに適した自前形式に変換し、Direct3DかOpenGLで表示でございます
481
名前:
デフォルトの名無しさん
:04/03/04 22:41
>>478
まずどんなフィールドにするのかという条件を明確に定義しろ。
話はそれからだ。
482
名前:
デフォルトの名無しさん
:04/03/04 22:42
モデリングツール、、
みんないいの持ってんのかね?
おれは六角フリー版だ、、
483
名前:
デフォルトの名無しさん
:04/03/04 22:49
3DSMAX6。
割れ物じゃないぞ。
484
名前:
デフォルトの名無しさん
:04/03/04 22:51
Xならメタセコで十分だろ
485
名前:
デフォルトの名無しさん
:04/03/04 23:03
>>484
今調べてみたんだが
メタセコいいね。
486
名前:
デフォルトの名無しさん
:04/03/04 23:19
LWだ。
487
名前:
デフォルトの名無しさん
:04/03/04 23:20
ちょっとデコボコさしたりするくらいならxは必要ないな
488
名前:
デフォルトの名無しさん
:04/03/04 23:30
ちなみにメタセコには「凹凸地形の作成」なる機能がありましゅ
489
名前:
478
:04/03/04 23:36
皆様ありがとうございます。
X形式でなくても大丈夫なのですね。
>>481
条件ですか・・・。
イメージとしてはフル3Dで構成されたMMOのようなフィールドです。
具体例を挙げると、最近のではリネージュ2がそうでしょうか。
ん〜・・・説明が曖昧すぎますね、ハッキリしなくて申し訳ない。
490
名前:
デフォルトの名無しさん
:04/03/04 23:48
リネ2のフィールドってどんなもんだ?FF11みたいな奴?
ちなみにROみたいな3Dフィールドは内部データはほとんど2Dと一緒
ゼノギアスとかああいう完全3Dのフィールドは3D用のデータ構造を作らなきゃならない
491
名前:
478
:04/03/04 23:53
>>490
完全な3Dフィールドとして作成するつもりです。
ですから視点変更なども出来るようにしたいと思ってます。
492
名前:
デフォルトの名無しさん
:04/03/05 00:39
確かにそういうフィールドはモデリングツールで作成して配置することになるんだろうけど、
フィールドデータを用意するのが大変なのもそうだが何よりもプログラムが大変だな。
あとFF11とROの決定的な違いは論理移動空間が3Dと2Dで違うこと。視点云々の問題ではないです。
493
名前:
478
:04/03/05 03:23
>>492
スマソ。↓の行は余計でしたね・・・。
>ですから視点変更なども出来るようにしたいと思ってます。
フィールドマップについてですが
ハイトフィールドを使って高低差をつけてみます。
494
名前:
デフォルトの名無しさん
:04/03/05 06:29
ところでみんなハイトフィールドで作ったものって
どうやって細かい部分を作ってるの?
モデリングソフトで読み込めないじゃない?
ウチのところは一回ハイトフィールドをポリゴンで出して
モデリングソフトで読み込んで色々と配置して実際のデータでは
ポリゴンを普通に読み込んで表示。
当たり判定は標高データを使うってしてるけど。
みんなのところはどうよ?
495
名前:
デフォルトの名無しさん
:04/03/05 07:57
頂点シェーダ未対応のビデオカード(Geforce2MX等)でも
普通にD3DCREATE_SOFTWARE_VERTEXPROCESSINGを指定するだけで
頂点シェーダを使用することは可能なんでしょうか?
(使うバージョンは1.1です)
496
名前:
デフォルトの名無しさん
:04/03/05 08:03
使える
497
名前:
デフォルトの名無しさん
:04/03/05 09:18
>>496
早速のお答えありがとうございます。
これで安心して使えます。
恐縮ですが、もうひとつだけ質問させてください。
頂点フォーマットがRHWの時は頂点シェーダをスルーして
直接スクリーン座標を出力しているのか、それとも
なんらかのシェーダを通って射影座標を出力しているのでしょうか?
というのも、XYZRHW,RHW=1と同じ表示を
XYZで頂点シェーダを使用して表示させているのですが、
もしRHWではシェーダを全く使用しないなら
単にコストが多くなってるだけなのかと思いまして・・・。
498
名前:
!496
:04/03/05 10:19
>>497
それって平行移動やら回転やら拡縮やらするのにシェーダなくても大丈夫な感じですか?
499
名前:
デフォルトの名無しさん
:04/03/05 10:57
>>494
実際の表示データを作るときはそれでいいんじゃない?
無理に論理データと一緒にする必要は無いしなー
500
名前:
デフォルトの名無しさん
:04/03/05 15:37
>>499
それがですね。
なんだかハイトフィールドからポリゴン作って
モデリングソフトでいじってっていう手順を踏むと何故か
ハイトフィールドと整合性が取れなくなることがあるんですよw
(デザイナいじったでしょ?みたいなw)
なのでデザイナが作ったデータからハイトフィールド作れみたいな要望が
あったんですけどこれは面倒ですよね。ぜひ省きたい作業ですね。
いや、そりゃーできるっちゃあできると思いますよw
で、なんか楽なやり方知ってる人いないですかねーということで・・・。
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.