■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

鬱だ氏のうDirectX
501 名前:デフォルトの名無しさん :2001/05/16(水) 21:30
>>500
オシレータで言うと、あとプラスチックパッケージとCANパッケージの差とかな。
高クロックになってくるとCANパッケージだとデューティ特性悪くて使い物にならん。

502 名前:デフォルトの名無しさん :2001/05/16(水) 21:51
物知りだなぁ。
その分野まで掘っていかないと原因なんてわからないわけね。
鬱だ。

503 名前:デフォルトの名無しさん :2001/05/16(水) 22:18
PCの発振器、本体が高額な割には安モンだってどっかに記事出てたッスね。

504 名前:デフォルトの名無しさん :2001/05/16(水) 22:59
>>503
それは時計用のクロックの話。
なんかトンデモの話になってない?。
発振器の精度ってBioの方での話題と関係あるの?。

505 名前:デフォルトの名無しさん :2001/05/16(水) 23:08
さあねえ。
でもタイマってなんだかマシンによって違うんだよ。なんだと思う?

506 名前:499 :2001/05/16(水) 23:09
>504
Bio100%の方がどういう流れか読んでないので、そっちと関連あるのかは不明です。
Bioで話題になってるのがWin固有の問題とかなのかもしれないですし。

507 名前:504 :2001/05/16(水) 23:15
http://www.bio100.co.jp/cgi-bin2/directx/flashviw.cgi?mode=set&no=425
コレだと思うんだけど、発振器の精度の問題じゃないよね?。

508 名前:デフォルトの名無しさん :2001/05/16(水) 23:28
あとさあ、みんなゲームのタイマの話をするとき、3Dを使ってるとしてレンダリングパイプラインの話を入れないんな。
プログラムの実行とビデオボードの動作って別物だよね?
プログラムのほうでプリミティブの関数を呼んで描画の情報をパイプラインに渡したらそれっきりだよね。
描画が終わるタイミングってわからないよね。
プログラム側では向こうで描画が終わってようが終わっていまいがひたすらパイプラインに詰め込むだけだよね。
タイマ使ってる人ってこんなんでどうやって使ってるのん?

509 名前:499 :2001/05/16(水) 23:33
>>507
読みました。
そもそもタイマは分周期なんで、10進数で割り切れる事はまずない、と認識してます。
だからmsec単位でキッチリ欲しいというのは難しいかと。
しかもテストしてる人達、環境もOSも違うし。

それでも、安いマザボは何らかのコストダウン計ってるはずなんで、
安心は出来ないなぁ、と。

510 名前:デフォルトの名無しさん :2001/05/16(水) 23:43
つまり結論はタイマに精度は求めちゃならんと?

511 名前:デフォルトの名無しさん :2001/05/17(木) 00:13
ならば今日から何を信じて生きていけば良いのか?

512 名前:デフォルトの名無しさん :2001/05/17(木) 00:28
w2kでfps設定してFlip()。カンペキ。
タイマーでやるのがそもそもの間違いだと思われ。

513 名前:デフォルトの名無しさん :2001/05/17(木) 02:13
解決になってるのか……?
タイマ割り込み使いたがる人たちって、同期待ちの時間が無駄だから、
その間も処理させたいって事なんだよね?

514 名前:デフォルトの名無しさん :2001/05/17(木) 02:30
Direct3D(RMモード)の参考書
はどれがいい?
ちなみにDirectX8は対象外

515 名前:デフォルトの名無しさん :2001/05/17(木) 02:39
>>514
RMとなると、shi3z辺りじゃないかなぁ?
本人の人格はともかく、リファレンスにはなるよ。
ASCIIのDirectX SDK 6 という2万円の本も良いけど、高過ぎるし。

516 名前:デフォルトの名無しさん :2001/05/17(木) 02:40
>>513
BioのBBS読んだら、
>GetTickCount()やtimeGetTime()
とか書いてあるから、結局同期待ちになるんじゃない?

517 名前:デフォルトの名無しさん :2001/05/17(木) 03:00
>w2kでfps設定してFlip()。
って、w2kならオーケーなん?
つーかこれリフレッシュレートスレの話題じゃないのか。

518 名前:デフォルトの名無しさん :2001/05/17(木) 04:38
ここで話されている「タイマー」って、Windowsのマルチメディアタイマーのこと?
それともCPUに割り込んでくるシステムタイマーのこと?

519 名前:デフォルトの名無しさん :2001/05/17(木) 06:12
どっちもそれなりにいい加減だからどっちでもええよ。

520 名前:デフォルトの名無しさん :2001/05/17(木) 06:38
スレ違いは承知だが。
同期待ちの時間の節約にはならないだろ。
結局ゲームなんてのはワンフレーム単位で垂直同期に間に合うかどうかが問題なんだから間に合ったのならゆっくりと待てばいい。
この待ち時間になにやらやったところで意味ないでしょ。
一回時間軸書いてみれ。

521 名前:デフォルトの名無しさん :2001/05/17(木) 07:06
507のところにあったテストプログラム、errorが1800くらいでた・・・。鬱だ・・・。
俺の環境駄目駄目?

522 名前:デフォルトの名無しさん :2001/05/17(木) 08:17
>>521
各ヘッダ#includeした?特にmmsystem.hとwinmm.lib。
あとはインデントに全角スペース使ってるからそれも置換するよろし。
ちなみにw2kで、合計が800オーバーした値になったyo。

523 名前:521 :2001/05/17(木) 12:26
再起動後に実行したら180くらいになった(;´д`)

それでも精度悪〜。

524 名前:521 :2001/05/17(木) 12:27
>>522
何か勘違いしてない???

525 名前:デフォルトの名無しさん :2001/05/17(木) 16:06
Bio100%の例のスレって、
「timeGetTime()が返す値の精度」と「timeGetTime()が値を返すまでの時間」
がごっちゃになってないか?

526 名前:デフォルトの名無しさん :2001/05/17(木) 17:27
そうそう。結局timeGetTime()が値を返すのに1msより時間がかかるのか、
それともコンテキストスイッチされるのに1msより時間がかかるのか、
どっちかなんだよね。timeGetTime()の返す値の精度とは別の話。
だから発振器の精度は関係ないよね、ってこと。

527 名前:デフォルトの名無しさん :2001/05/17(木) 20:03
発振器の話は、
 コンシューマゲーム機ならそこまで考えなあかんかもね
という感じで面白く読ませてもらったよ。

528 名前:デフォルトの名無しさん :2001/05/17(木) 22:50
じゃあなんでその部分がマシンによりけりなの?
この腐れ仕様のせいでブチキレ寸前にまでなったことあるよ。

529 名前:527 :2001/05/17(木) 23:17
>>528
な、なんだ?
「その部分」って発振器のことか?499, 500, 501が書き込んでくれてるよ。

530 名前:デフォルトの名無しさん :2001/05/17(木) 23:55
Sleep()の精度はどうなん?

531 名前:デフォルトの名無しさん :2001/05/18(金) 00:05
http://www1.odn.ne.jp/synsyr/prog_t1.html
はいな。資料。

532 名前:デフォルトの名無しさん :2001/05/18(金) 00:35
>>526
>結局timeGetTime()が値を返すのに1msより時間がかかるのか
それは流石に信じがたいが。。。

533 名前:デフォルトの名無しさん :2001/05/18(金) 00:43
>>531 このリンクの話題には必ず出てくるが、木屋ってあの木屋なのか〜

534 名前:デフォルトの名無しさん :2001/05/18(金) 00:59
その木屋でしょう。きゃ〜

535 名前:デフォルトの名無しさん :2001/05/18(金) 01:10
rdtsc使わないのけ?

536 名前:デフォルトの名無しさん :2001/05/18(金) 01:33
木屋って誰?

537 名前:デフォルトの名無しさん :2001/05/18(金) 01:41
>>536
http://www.google.com/
はい。

538 名前:デフォルトの名無しさん :2001/05/18(金) 06:26
http://www.barbiez.com/yamacome4.html

これか?

539 名前:デフォルトの名無しさん :2001/05/18(金) 07:58
>>536
元日本ファルコムのプログラマ。

540 名前:デフォルトの名無しさん :2001/05/18(金) 08:25
あの会社を見限ったなら頭は正常なようだ。

541 名前:デフォルトの名無しさん :2001/05/18(金) 09:31
>>538
注意!モーターサイクル並に危険!

542 名前:デフォルトの名無しさん :2001/05/18(金) 10:55
木屋伝説色々あるが何一つ覚えちゃいねぇ

543 名前:デフォルトの名無しさん :2001/05/18(金) 13:02
>>534がすごく寂しそうだよ。(/_;)

544 名前:デフォルトの名無しさん :2001/05/18(金) 20:48
先ほど、質問スレにも書いてしまったので、こちらのほうが良さそうなので
再度書き込ませていただきます。

directXでウィンドウに描画せず、bmpとして出力するには
どうすればいいでしょうか?

毎フレームbmpを出力してリージョンを生成し、3Dモデルの
形状の不定形ウィンドウを表示しようとしています。
よろしくお願いいたします。

545 名前:デフォルトの名無しさん :2001/05/18(金) 21:10
>>544
描画時に描画用サーフェイス(この場合バックの方かな)を
LPDIRECTDRAWSURFACE7 BackBuffer;
HDC dc;
BackBuffer->GetDC( &dc );
でデバイスコンテキスト取れるんで、そっからもう一個BITMAP用の仮のDC用意して
Bltでいけると思います。

#DirectX8はSDK入れて無いんでわからんです。7まで。

546 名前:>544 :2001/05/18(金) 21:13
>directXでウィンドウに〜
BMPとして保存するのは、DCやメモリDCにあるイメージ(DDB)をDIBに変換して
ヘッダを付けるだけです。(結構面倒ですが。)
この、BMPのDCへのロードとセーブはMSDNのサンプルにありますよ。
codeguruにも同様な物がいくつかあった筈です。

>毎フレームbmp〜
毎フレームリージョン作ってウィンドウに適用って、
物凄い負荷が掛かるような気が。(考えが浅いのかもしれないけど。)
あらかじめマスクパターン持ってるなら多少はマシになるんかな・・?
ひょっとして、ウィンドウって、デバイスコンテキスト上で作った擬似的な物ですか?
(SetWindowRgn使うわけじゃなくて)

547 名前:デフォルトの名無しさん :2001/05/18(金) 21:23
>>546
漏れも相当フレーム数落とさんと動かないと思う。
んでも5フレも出れば、結構面白いものが作れそうではあるなぁ。
ちょっと挑戦したくなってきたよ。

548 名前:デフォルトの名無しさん :2001/05/18(金) 21:23
しまった、sageちまった。
回答出てるage。

549 名前:544 :2001/05/18(金) 22:02
ありがとうございます。要はRenderTextureですよね。
初心者質問にお答えしていただき感謝しています。
やはりフレーム落ちするのは、しょうがないですね。

>>546
3Dモデルがデスクトップ上でアニメーションしたら
面白いかと思いまして。
がんばってみます。

550 名前: :2001/05/19(土) 01:54
http://kubiwa.net/kubiwa/frame_main.html
これの作者発見(藁

551 名前:デフォルトの名無しさん :2001/05/19(土) 03:08
↑ブラクラ

552 名前:デフォルトの名無しさん :2001/05/19(土) 06:57
↑ちがうし

553 名前:age :2001/05/19(土) 11:41
age

554 名前:デフォルトの名無しさん :2001/05/19(土) 11:43
>>550
「任意たん」のリアルタイム3Dレンダリングマスコットのぺーじですな

555 名前:ゲイツの遠い親戚(豪血寺の家系) :2001/05/19(土) 21:39
なんかバイオ100%のネットゲー板、入れないんだよ。

556 名前:デフォルトの名無しさん :2001/05/20(日) 22:01
パイオツ100%age

557 名前: :2001/05/20(日) 23:03
なるべく正確な間隔でキー入力を取りたいんだけど、別スレッドで回したら
本体はコマ落ちするようになってしまった
(TimeCritical指定&Sleepで時間潰して 3ms前から最小ループでタイミング待ち)

3ms前からの待ちループが重くなっちゃったんだろうなぁ
1msに変更するか、Sleepのみで対応すればいいのかな? それともTIME_CRITICAL指定は外すとか

どっかイイサンプルない?

558 名前:デフォルトの名無しさん :2001/05/20(日) 23:03
ミスった 本体”が”コマ落ちするようになってしまった

559 名前:デフォルトの名無しさん :2001/05/20(日) 23:29
>>557
本体だけなら、フレーム落ち無しで正確に動いてるなら、
Flip()の前後でキー状態取得すれば良いと思われるが。

560 名前:>>559 :2001/05/20(日) 23:46
ありがとー
でも本体は、可変レートの仕様だし
Windowsモード対応だし、リフレッシュレート依存も嫌なので
やぱスレッドしかないかなぁ と思ったのだけど

561 名前:デフォルトの名無しさん :2001/05/21(月) 02:16
>>560
ドライバ作って入れよう、生データが取り放題
環境汚染ソフトとして嫌われるのが難

562 名前:デフォルトの名無しさん :2001/05/21(月) 02:47
>>560
キー入力にフックかけるというのはどうか?
昔fjでそんな話題があった気がする。

563 名前:デフォルトの名無しさん :2001/05/21(月) 03:07
>>562
それでは解決になってないと思われ。

564 名前:デフォルトの名無しさん :2001/05/22(火) 20:09
画面にデバッグ用の文字を表示する時ってどうしてます?
HDC dc = NULL;

dc = GetDC(hWnd);
TextOut(dc, 0, 0, "HELLO", 5);
ReleaseDC(hWnd, NULL);
私はこんなんしてるんですけど、表示がちらついて
見づらいです。別にデバッグ用の表示だからいいんですけど。
普通よく使われるテクニックなどありましたら教えてください。

565 名前:デフォルトの名無しさん :2001/05/22(火) 20:21
セカンダリサーフェスに直接描けばいいのでは。
SDKのサンプルでもセカンダリのDCを貰ってTextOutしてるし。

566 名前:デフォルトの名無しさん :2001/05/22(火) 20:39
セカンダリのサーフェスってbackbufferってやつ?
DCの取得方法がわかんないです。
とりあえずSDKのサンプルみてみる。
それでもわかんなかったら、教えてください。

567 名前:デフォルトの名無しさん :2001/05/22(火) 20:42
>>566
頑張ってください^^

568 名前:デフォルトの名無しさん :2001/05/22(火) 21:35
ごめん、良くわかんないです。
ちょっとヒントもらえますか?
backbufferのハンドルが取得できれば、それでDC作れると思うんだけど。

569 名前:デフォルトの名無しさん :2001/05/22(火) 21:44
ん?もしかしてDirect3Dの話ですか?
Drawだったら
g_pDDSBack->GetDC(&hdc);
とかするだけでDCが入手できるんで……
D3Dにはバックサーフェス的なものは無いんでしたっけ?
ごめんなさい詳しい人フォロー求むです……
あと、DirectXのバージョンとか書いておくといいかもしれません

570 名前:564 :2001/05/22(火) 21:53
すいませんバージョンくらい書いておきべきでしたね。申し訳ない。
DirectX8です。そんで、D3Dでやってます。
サーフェスはあるのですがGetDCがないんです。
なんかやり始めたら解決しないと気がすまなくなってきました。
奮闘してみます。詳しい方がいらっしゃいましたら、回答待ってます。
よろしくです。

571 名前:デフォルトの名無しさん :2001/05/22(火) 22:14
ヘルプみれ。
ID3DXFontクラスの周辺を探すなり。

572 名前:デフォルトの名無しさん :2001/05/22(火) 22:15
>>570
IDirectDrawSurface7::GetDC( HDC *dc );
とかいうのが、DirextX7にはあるんですが、8だと無いですか。移行すんのよそう・・・
英数字程度なら自前でフォント用意して、ってのが高速で理想的ですが。

573 名前:デフォルトの名無しさん :2001/05/22(火) 23:24
DirectX7.0環境で作成したゲームを5.0とか6.1とかでも動くようにするにはどうすればいいんでしょうか。
ヘッダーファイルにダイレクトドローのバージョンをdefineしてるとこがあったので0x500に変更して、
●LPDIRECTDRAW7 -> LPDIRECTDRAW4
●LPDIRECTDRAWSURFACE7 -> LPDIRECTDRAWSURFACE4
のように変更してみたんですが、
DirectDrawCreateで作成したDDオブジェクトにアクセスすると逝ってしまいます。

574 名前:573 :2001/05/22(火) 23:28
まともなエラーコードが帰ってこないので嫌な感じです。
DirectDrawCreateの第2引数には正しいと思われる値が格納されていました。

変更する前はDirectDrawCreateEXでDDオブジェクトを生成していました。

575 名前:デフォルトの名無しさん :2001/05/22(火) 23:29
それはもちろん、
DirectDrawCreateとかQueryInterfaceとかは適切に使われているんだよね。
DirectDraw7ってなってるところを全部DirectDraw4に書き換えただけじゃないよね。

576 名前:デフォルトの名無しさん :2001/05/22(火) 23:31
あとヘッダが云々と書いてあったけど、
#include <ddraw.h>
の前に
#define DIRECTDRAW_VERSION 0x0500
っていう宣言を付けた?
もしかしてddraw.hを直接書き換えてしまいましたか?

577 名前:デフォルトの名無しさん :2001/05/22(火) 23:36
ちなみにDirectX6.0のサンプルDDEX1の初期化部分はこんな感じ

// Global data
/LPDIRECTDRAW4 g_pDD = NULL; // DirectDraw object
(略)
InitApp(HINSTANCE hInstance, int nCmdShow)
{
LPDIRECTDRAW pDD;
(略)
///////////////////////////////////////////////////////////////////////////
// Create the main DirectDraw object
///////////////////////////////////////////////////////////////////////////
hRet = DirectDrawCreate(NULL, &pDD, NULL);
if (hRet != DD_OK)
return InitFail(hWnd, hRet, "DirectDrawCreate FAILED");

// Fetch DirectDraw4 interface
hRet = pDD->QueryInterface(IID_IDirectDraw4, (LPVOID *) & g_pDD);
if (hRet != DD_OK)
return InitFail(hWnd, hRet, "QueryInterface FAILED");
(以下略)

578 名前:573 :2001/05/22(火) 23:48
LPDIRECTDRAW        lpDD;
LPDIRECTDRAW4        lpDD4;

//DirectDrawObject作成
ret = DirectDrawCreate( NULL, (LPDIRECTDRAW *) &lpDD, NULL);
if(ret!=DD_OK)        throw FatalException("DirectDrawObjectの作成失敗");

ret = lpDD->QueryInterface(IID_IDirectDraw4, (void **)&lpDD4);
if(ret!=DD_OK)        throw FatalException("DirectDrawObjectの作成失敗");

579 名前:573 :2001/05/22(火) 23:49
コピペミスりました。
>>578 は初期化部分のソースです。

>>575
QueryInterfaceを呼ぶと例外を出して氏んでしまいます。
>>576
大丈夫です。includeの直前に付加しました。
今思えばVC++の設定のところに入れればよかったと思いました。

580 名前:573 :2001/05/22(火) 23:55
すんません。ブレイクポイントはずしたら動きました。ナンデ・・・・??
ぬぬぬ。DirectDrawCreateのあたりをステップ実行すると逝きます。こういうものですか?

581 名前:デフォルトの名無しさん :2001/05/23(水) 00:08
噂に聞くWin16Lockってやつでしょうか?ドキドキ

582 名前:デフォルトの名無しさん :2001/05/23(水) 20:26
どこか Shadowingテクニック解説してるページありませんか?

583 名前:デフォルトの名無しさん :2001/05/23(水) 23:58
某スレでも聞いたんですけど、無視されてるみたいなんでもしかしてスレ違いだったかな〜とおもってこっちに投げてみます。


DX8でインベーダー作ってます。敵も味方もメッシュで、弾はスプライトです。

でもって、スペースキーを押したときに自機の弾の出現する位置を計算するところで妙な誤差が出てしまって困っています。

↓カメラ
D3DXMatrixLookAtLH(&mat,
  &D3DXVECTOR3(0.0, 200.0, 0.0), // カメラ座標 x = 0.0f, y = 200.0f, z = 0.0f;
  &D3DXVECTOR3(0, 0, 0), // 視点 x = 0.0f, y = 0.0f, z = 0.0f;
  &D3DXVECTOR3(0, 0, -1)); // カメラの上 x = 0.0f, y = 0.0f, z = 0.0f;

↓透視
FLOAT fAspect = m_d3dsdBackBuffer.Width / (FLOAT)m_d3dsdBackBuffer.Height;
D3DXMatrixPerspectiveFovLH (&mat,
  D3DX_PI / 4, // y 方向視野角
  fAspect, // アスペクト比
  1.0f, // カメラに近い方のクリップ面 z 座標
  1000.0f); // カメラに遠い方のクリップ面 z 座標

という状態で、スペースキーを押したときに

TamaPosition = FighterPosition

としています。
でもって、レンダリングするときに、

float X
= ((float)BackBuffer.Height / 2.0f) * (fAspect - TamaPosition.x / (200.0f * tanf(D3DX_PI / 8)));
float Y
= ((float)BackBuffer.Height / 2.0f) * (1.0f + TamaPosition.z / (200.0f * tanf(D3DX_PI / 8)));

として、

TamaSprite->Draw(TamaTexture, &rct, NULL, NULL, 0, &D3DXVECTOR2(X - 16, Y - 16), 0xffffff00);

としてるんですが、Yは問題ないんですが、 X は TamaPosition.x に 3.0f を足してあげないと適正な位置に弾が表示されません。
この理由がわからないです。

わかる方、教えてください。

584 名前:デフォルトの名無しさん :2001/05/24(木) 00:34
マジックナンバーの呪い。

585 名前:デフォルトの名無しさん :2001/05/24(木) 02:41
ありがとうです。マジックナンバー関係でした。

586 名前:デフォルトの名無しさん :2001/05/24(木) 06:59
だれかNVIDIA主催の勉強会行く人いない?(5万円/2日)
別売するGF3のリファレンスカードってどこ製なんだろう?(ELSA?)

メーカー公認のリファレンスカードが入手できる機会って初かも?
(意味はないだろうけど。NVIDIA信者な俺には、萌え)

587 名前:デフォルトの名無しさん :2001/05/24(木) 07:49
>>586
どこでやんの?日本国内でも場所によってはなぁ。

588 名前:デフォルトの名無しさん :2001/05/24(木) 13:25
http://www.siliconstudio.co.jp/events/ss/2001/nvidia_gf3.html

ほい

589 名前:デフォルトの名無しさん :2001/05/24(木) 14:06
>>588
thx.
そっか、リファレンスボードくれるのは10万円コースか・・・そんな大金、流石に無いよ。

590 名前:デフォルトの名無しさん :2001/05/24(木) 22:46
DirectX Graphicsのカスタム頂点って、なんで#pragma pack(1)してないの?

591 名前:デフォルトの名無しさん :2001/05/25(金) 02:24
要素が全部Floatじゃねぇか、、、

592 名前:デフォルトの名無しさん :2001/05/25(金) 02:44
DirectShowって、もっと盛り上がるもんかと思ってた。DirectMusicも。
すっかり3D関係に人気とられてるなー。

593 名前:デフォルトの名無しさん :2001/05/25(金) 04:13
>>592
DirectAudioのDLSって生き残れるのか?
ファイルもツールも話題もあまり見たことがない。

DirectShowは便利だから自分のソフトで使ってたりするけど...

594 名前:デフォルトの名無しさん :2001/05/25(金) 05:32
DirectXの上でAVIムービー流すのってどうやんの?
DirectShowってやつと、MCIの方があるらしいけどどうやんの?
ヘルプ探したけど見当たらないよ。

595 名前:デフォルトの名無しさん :2001/05/25(金) 05:38
SDKにサンプル付いてるだろガ。

596 名前:デフォルトの名無しさん :2001/05/25(金) 14:23
>>591
floatだからって保証はなくない?
将来的に構造体に隙間がないことに対する。
とりあえず気にしないで先進むけど。

597 名前:デフォルトの名無しさん :2001/05/25(金) 15:39
>>596
普通、32bit 機ならその境界線に合わせるように設計すると思われ。

598 名前:デフォルトの名無しさん :2001/05/25(金) 18:00
594
AVIStreamでぢっそうしたんだけど、
MPEG4のAVI再生できないんだけど。
これって仕様?!
やっぱDirectShow使うしかないの?

599 名前:デフォルトの名無しさん :2001/05/25(金) 18:02
>>598
CODECはインストール済みか?

600 名前:598 :2001/05/25(金) 18:12
MediaPlayerでは再生できます。
AVIStreamGetFrameOpen
の戻り値がNULLなんで

---------------------------------------------------------
AVIStreamGetFrame 関数で使える GetFrame オブジェクトが返ります。
指定されたフォーマットまたは RGB フォーマットにストリームを
解凍できる解凍ツールを検出できない場合は、NULL が返ります。
---------------------------------------------------------

ということなんで、ここでいう解凍ツールが無いんだと思うんだけど。

601 名前:デフォルトの名無しさん :2001/05/25(金) 18:21
>>600
その「解凍ツール」のことをCODECて言うんだけどな。

602 名前:598 :2001/05/25(金) 18:36
>>601
だからMediaPlayerでは再生できる(=CODECがインストールされている)のに、
AVIStreamでは再生できないんで、
AVISTreamではMPEG4には非対応って事なのかなと思ったんだけど。

DirectShowよく解らんし、ネタソフトでそこまで手間かけるのもなんだから、
MPEG4やめてIndeoRにしとけって事なのかなぁ。

603 名前:デフォルトの名無しさん :2001/05/25(金) 19:04
RGBにできないってことなんじゃ
YUV専用とか

604 名前:598 :2001/05/25(金) 19:50
>>603
それってどうやれば確認できるんでしょうか?
メディアプレイヤーのファイルプロパティ内にはそれらしき表記が無いッス。

605 名前:デフォルトの名無しさん :2001/05/30(水) 04:57
「ハードウェアで高速に処理される」なんて書いてあるから自前より相当
速いのかと思い、積極的にジオメトリパイプラインを使っていたのですが、
巷の掲示板見るとtlvertex使うのが当然という感じがしてなりません

ジオメトリパイプラインを使わない理由ってなんなのでしょうか

606 名前:デフォルトの名無しさん :2001/05/30(水) 06:25
使ってるビデオカードがsavage系だから(藁

607 名前:デフォルトの名無しさん :2001/05/30(水) 11:37
DirectInput7で質問させて下さい。
Keyboardデバイスを使う時に、一旦アプリのフォーカスを外し、
INPUT_LOSTした後で復旧の為にAcquire()を呼ぶのですが、
何故か再認識に失敗し、入力を拾えません。
ここではGetDeviceStateを行い、戻り値がDIERR_INPUTLOSTの場合に
Acquire()するようにしてるのですが…
この時DIERR_INPUTLOST,DIERR_INVALIDPARAM以外のエラーが返ってしまいます。

何故か上記の現象は周期の短いループ内で発生しますが、テストの為に
ステップ実行すると問題無くAcquire()で復帰します。
協調はDISCL_FOREGROUND | DISCL_NONEXCLUSIVEで行っています。
何か問題の見落としがあると思うので、考えられる原因があれば指摘下さい。

沈むには惜しいスレなんでageます。

608 名前:ギ印 :2001/05/30(水) 14:57
MPEG4 Codecってどこのですか?
WindowsMedia系のコンポーネントは、認証が必要

609 名前:シラネーヨ :2001/05/30(水) 18:19
>>607
マニュアルより
>成功した場合は、DI_OK を返す。デバイスが取得済みであれば S_FALSE を返す。

Acquireの成功時でも返値がエラーコード(S_FALSE)を返す場合があるのに引っかかってる?

if(DI_OK == hr || S_FALSE == hr){
OutputDebugString("DXInput:keyboard 取得成功\n");


610 名前:シラネーヨ :2001/05/30(水) 18:39
あ、確認したけどS_FALSE返ってこねぇや(藁
lostしてる時にacquire呼ぶわけだからこの場合、再取得はありえないわな

acquire自体は成功するの?

611 名前:シラネーヨ :2001/05/30(水) 18:43
この時DIERR_INPUTLOST,DIERR_INVALIDPARAM以外のエラーが返ってしまいます

それ以外のエラーって何よ?
DXinputの仕様上マニュアルに載ってない謎の返値を返す事なんてないよね?

612 名前:607 :2001/05/30(水) 19:33
>>611
ドキュメントを見るとAcquireの戻り値は
DI_OK = S_OK、S_FALSE、DIERR_INPUTLOST、DIERR_INVALIDPARAM = E_INVALIDARG
としか書いてなかったのでこれだけしかチェックしてませんでした。
610の件と併せてちょっと調べてみます。

613 名前:シラネーヨ :2001/05/30(水) 19:43
なんか見てて変だと思ったんだけど MSのマニュアルで
acquireの返り値は

DIERR_INVALIDPARAM
DIERR_NOTINITIALIZED
DIERR_OTHERAPPHASPRIO
(と、S_FASE,DI_OK)

だよ。なんか変な本見てる?or GetDeviceStateの返り値と混同してない?

614 名前:デフォルトの名無しさん :2001/05/30(水) 21:21
げ、

>なんか変な本見てる?or GetDeviceStateの返り値と混同してない?

その通り、変な物見てました。
実はDX3の日本語ドキュメント読んでたんですが、これ間違ってました。(をぃをぃ
で、英語ドキュメントにはおっしゃる通りの事が書いてあるし

DX7やってるのにDX3のドキュメント参考にしてた私も悪いけど…
#最近DirectX7に移行して、DirectInput使うのは初めてだったんでつい
涅槃に逝って出直します。

615 名前:605 :2001/05/30(水) 23:49
>>606
それだけのこととは(T_T

なんとなく当たり判定のためなのかなぁ
なんて思ってたのだけど違うのか・・・

616 名前:シラネーヨ :2001/05/31(木) 00:10
http://www.microsoft.com/japan/developer/directx/downloads.asp#jahelp

ここで日本語マニュアル落せるよ〜 DX7&8

617 名前:デフォルトの名無しさん :2001/05/31(木) 00:20
>>616
単に馴染んだ手法から脱却できない先輩方が多いってだけですよ。
俺の時代は色数16色ながらギャザ云々で〜とか言ってるようなもんです。
これから先はどうなるかわかりませんが、とりあえず今はGPUでやれることはやろうって
時代です。それに合わせていけば良いと思う。
ただAthlon4とか凄そうなんでコロッとかわりそうですけどね。

618 名前:デフォルトの名無しさん :2001/05/31(木) 00:40
>>617
ディザだろ?
ギャザリングしてどーすんだYO(藁

619 名前:デフォルトの名無しさん :2001/05/31(木) 01:19
>>616
かたじけない、マジで有難う。
これで勉強し直しますわ。

620 名前:デフォルトの名無しさん :2001/05/31(木) 01:28
単に馴染んだ手法から脱却できないルー大柴が多いってだけですよ。
俺の時代は場が冷めたらトゥギャザで〜とか云ってるようなもんです。
これから先はどうなるかわかりませんが、とりあえず今はNHKでやれるとこまでやろうって
時代です。それに合わせていけば良いと思う。
ただブリーフ脱ぐと凄そうなんでコロッとかわりそうですけどね。

621 名前:デフォルトの名無しさん :2001/05/31(木) 01:54
> 単に馴染んだ手法から脱却できないルー大柴が多いってだけですよ。
いや少ない。いない。

ワラタよ

622 名前:605 :2001/05/31(木) 01:54
>>617
明快なレスありがとうございます
自前って言葉になんとなく劣等感を感じていたのですが安心しました

623 名前:デフォルトの名無しさん :2001/05/31(木) 06:06
>>620
面妖なレスありがとうございます
時代って言葉になんとなく劣等感を感じていたのですが安心しました

624 名前:デフォルトの名無しさん :2001/06/02(土) 01:14
はろーえぶりばで。

えーと、DirectDrawのフルスクリーンアプリが終了したときに、
他のアプリのウィンドウのサイズや位置が変わってしまうんですけど、
対処する方法ありますか?

SDKのサンプルでも起きるんで、そういうモンだと思ってたんですが
今日買ってきたWin版ミスタードリラーでは起きないんで
なんか方法あるのかなーと。

625 名前:デフォルトの名無しさん :2001/06/02(土) 01:19
全部の窓の位置大きさを保存しておいて終わるときに戻す?

626 名前:デフォルトの名無しさん :2001/06/02(土) 01:34
なんだっけか 解像度チェンジのAPIが2種類(以上?DX系と非DX系?)あって
一方にはおかしくなるバグがある

名前とか、詳細は知らない(藁

627 名前:デフォルトの名無しさん :2001/06/02(土) 02:51
EnumWindow()、GetWindowRect()で他のアプリの
ウィンドウサイズを全部記録。
終了時にSetWindowPos()で復帰つう方法も。

628 名前:デフォルトの名無しさん :2001/06/02(土) 03:04
ちゅーか、なんかタスクバーの状態も変わってるんだよね。
「常に手前の状態にする」を入れなおさないといけなかったり。
問題起きないゲームでは起きないので、何か手があると思うんだけども。

>>627
力技はあとあと怖いよお。

629 名前:デフォルトの名無しさん :2001/06/02(土) 05:13
画面サイズが変わったっていうメッセージを
他のウインドウに飛ばさなきゃいいんだよ。

つーかDirectXででもなる?
俺なったことないけどな……

630 名前:デフォルトの名無しさん :2001/06/02(土) 06:27
なりまくりで困ってるざます。(T-T
実行テストするたびにVisual Studioのウィンドウ元の大きさに戻してるざます。(T-T

631 名前:デフォルトの名無しさん :2001/06/02(土) 07:08
なんか終了プロセスのタイミング次第っぽいよ。
漏れはいろいろ試行錯誤してたら、いつのまにか起きなくなった。
(いつのまにか……ね)
多分、ウィンドウハンドルが閉じられるとき、DirectXがウィンドウ
ハンドルを使用中だと、そうなるような「気が」する。
WM_CLOSEに入るまでに&それ以降は確実にDirectDraw&3DAPIが呼び
出されないようにすればいいのかも。
すくなくとも今の俺のソースはそうなってるし。

632 名前:デフォルトの名無しさん :2001/06/02(土) 07:43
WM_CLOSEで処理していては遅いってことになるのかな?
F4押されたりや外部から終了メッセージなんか出されると、間に合わないってことか。

633 名前:デフォルトの名無しさん :2001/06/02(土) 07:50
終了処理後、しばらく眠らせるってのはどう?

634 名前:デフォルトの名無しさん :2001/06/02(土) 08:02
ごめん逆かも。ハンドルがクローズされるまで、DirectDrawがないと駄目なのかも。
よくわからん。とにかくその辺の順番いろいろ弄ってたらなんとかなったYO!

635 名前:デフォルトの名無しさん :2001/06/02(土) 09:08
ウインドウリサイズされるのウザイわりに、
webでこの辺取り扱ってるページってないんだよなあ。
やはり、原因、解決策がはっきりとはわからないからか?

636 名前:デフォルトの名無しさん :2001/06/02(土) 14:32
BltFast使って斜めスクロールのやりかた

きぼんぬ。

4回Bltすることはわかってるんだが、

RECT Scrrc={0,0,640,480}; //画面のサイズ

int sc_x;
int sc_y;

Scrrc.left=sc_x;
Scrrc.right=0;
Scrrc.top=sc_y;
Scrrc.bottom=0;


lpBackbuffer->BltFast(0,0,lpScreen,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT); //背景
sc_x++;
sc_y++;
lpBackbuffer->BltFast(sc_x,sc_y,lpScreen,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT); //背景

わかんない。これができない俺は氏ぬべきか?

637 名前:デフォルトの名無しさん :2001/06/02(土) 17:31
>>636
スクロールに斜めも縦横だけもない
背景画像が一枚なら、必要な場所を一発転送するだけだ

638 名前:デフォルトの名無しさん :2001/06/02(土) 17:48
>>636
サーフェースのポインターを所得して、書換えるという方向性で。(w

639 名前:デフォルトの名無しさん :2001/06/02(土) 18:29
マップチップで描画するにしてもやはり、必要な場所から書き始めるだけかと。
もちろん差分描画しない場合ね。

640 名前:デフォルトの名無しさん :2001/06/03(日) 01:24
>>636
くりっぷ!くりっぷ!

641 名前:デフォルトの名無しさん :2001/06/03(日) 14:33
<DirectX8 SDK>\Samples\Multimedia\Common\〜の中にある、CD3DApplication クラスにバグがあるって聞いたんだけど、見つけられません。
どんなバグがあるんですか?

私の見つけたのは、メニューがないとウィンドウの高さがずれちゃうって奴だけ。

642 名前:デフォルトの名無しさん :2001/06/03(日) 14:43
>>641
そんなもの使わないからしらん。
その辺りは自作せよ。

643 名前:641 :2001/06/03(日) 15:05
すいません、BBXにもマルチポストしてます。

644 名前:デフォルトの名無しさん :2001/06/03(日) 15:12
>>643
正直でよろしい

645 名前:デフォルトの名無しさん :2001/06/03(日) 16:16
よくBioやBBXで質問のマルチポストすると怒る奴がいるけど。
馬鹿だよね。
効率悪いよ。能美疎までシングルタスク?
いいじゃん解決して報告すりゃ。
それで助かる人もいるかもしれない。
と、逝ってみるテスト。
あ、気にしないで続けてください。

646 名前:デフォルトの名無しさん :2001/06/03(日) 17:35
>>645
別にポストした全てに結果報告してくれれば問題ない。
それをしないアホが多いから嫌われる。>マルチポスト
つーか質問しといて返事を書かないその神経が理解不能。
(関係ないからsage)

647 名前:デフォルトの名無しさん :2001/06/03(日) 22:19
それは同意!
馬鹿な奴ヨクミロage

648 名前:デフォルトの名無しさん :2001/06/04(月) 19:40
>>645
マルチポストする連中は、何故かドキュソ率が極めて
高いというが定説だな。厨房の代名詞になってるのさ。

>>646
全くもって同感だ。

649 名前:641 :2001/06/04(月) 22:04
結局BBXでも答えは返ってこないです・・・。

650 名前:この業界から逃出した男 :2001/06/04(月) 22:18
>>649
ふむぅ。
やっぱり、質問は2Chに限るとか 最近マジで思ってきてる…
と、一応レス
僕も、Window開くとかは全部自分で作ってます。

651 名前:BBX住人 :2001/06/04(月) 22:53
>>641
いや知ってりゃ答えるって。
みんな心当たりがないから答えないんだよ。
あーゆーBBSは、2chみたいに適当な返事はしづらいじゃん。

652 名前:デフォルトの名無しさん :2001/06/04(月) 23:16
答えるにしても過去ログの管理がしっかりしてる所に書き込みたいね。

653 名前:デフォルトの名無しさん :2001/06/04(月) 23:18
>>641
その不具合がなんなのかよくわからないのでレスしにくいんですが、
もしかして、これのことですかね。
http://www.bio100.co.jp/cgi-bin2/directx/log01/flashviw.cgi?mode=set&no=9053

普通に使ってる分にはあんまり問題なさそうに読めますね。
僕は楽なので、CD3DApplicationよく使います。
外してたらごめんなさい。


>>650
2ちゃん嫌いだけど詳しい人とかいるから、
BBXとかBio100%がダメってわけでもないと思うけど。

BBXは検索できるのが便利。過去ログ消えたのは痛いなぁ、、、

654 名前:デフォルトの名無しさん :2001/06/04(月) 23:51
>>653
ありがとうです。そのURL、BBXにnageてきます。

655 名前:デフォルトの名無しさん :2001/06/05(火) 00:52
>>652
ワラタ

656 名前:デフォルトの名無しさん :2001/06/05(火) 05:35
よく2ch嫌いって人いるけど、
それって匿名を隠れ蓑にして罵詈雑言な奴が嫌いな
だけなんじゃないかなぁ、と思ってみる。

657 名前:デフォルトの名無しさん :2001/06/05(火) 06:52
2ch嫌いは大抵、あおられまくったイヤになったとか、
実名でたたかれたとか(←これはオレでもイヤになるかもな
うちの周りそういうのが多い。

658 名前:デフォルトの名無しさん :2001/06/05(火) 07:16
ん〜、俺の知り合いで2chで叩かれてる奴って、
大抵その状況楽しんでたりするが。
それよりも2ch嫌いって、大抵ロクに2ちゃん見た
ことない奴のほうが多いんじゃないかと思うよ。
fjの2ch評とか見ててもね。

激しくスレ違いだな、しかし。

659 名前:デフォルトの名無しさん :2001/06/05(火) 09:32
ウィンドウサイズの件ですが、
以前なんかの文献で、DirectDrawObjectを開放する時はWM_DESTROYを受け取った
時が一番安全というのを読んだ事があります。
#アレ?DirectXのドキュメントだっけ?

実際私もWM_DESTROYの所で解像度を戻す>DirectDrawObject開放>PostQuitMessage
としてますが、これで他のウィンドウサイズが変わった事は無いです。

自分としてはWin32APIのChangeDisplaySettings()での解決法が知りたいですが、
どうも不可避っぽいですね…

660 名前:657 :2001/06/05(火) 12:07
かく言う俺は、2chで話題に上がったらどんな批判がくるかわくわくするほうだわ(w

661 名前:デフォルトの名無しさん :2001/06/05(火) 13:23
既出の古い話題ですが、VooDooのテクスチャが256x256制限
という事は、それ以上のテクスチャは”全く使えない”んでしょうか?
ウチはRivaTNTなんで、512x512を使ってたんですが、
使えないんであれば、修正しないと……。

662 名前:デフォルトの名無しさん :2001/06/05(火) 15:24
終わってるボードに対応する必要はないと思われ。

663 名前:デフォルトの名無しさん :2001/06/05(火) 17:03
>実際私もWM_DESTROYの所で解像度を戻す>DirectDrawObject開放>PostQuitMessage

ウチその通りにやってますが変わっちまいます。どうしたもんかなあ。

664 名前:659 :2001/06/05(火) 18:59
>>663
ゴメソ、ちょっと嘘ついてた。
自分のソース見直したら解像度を元に戻す操作してなかったよ(藁
ちなみにCOMインターフェース使ってる?私は使ってないけど…

665 名前:661 :2001/06/06(水) 13:20
>>662
……突っ走るか。

666 名前:デフォルトの名無しさん :2001/06/07(木) 21:27
DirectX8を最近はじめました。サンプル等見ながら勉強しているのですが、Xfile
のアニメーションがさっぱりできません。
skinmeshのサンプル以外にweb上によいサンプルはないでしょうか?
正直に言いますと、C++わかんないんです。
具体的にどのような関数でアニメーションさせるのかわかればいいんですけど。
よろしくお願いします。

667 名前:デフォルトの名無しさん :2001/06/08(金) 14:18
>>661
使えない.

ただ,使えないからと言って即対応外とするんじゃなく
まず 512x512 のテクスチャを作ってみて,もし失敗したら
256x256 で作るってのでいいんじゃないかな.

256x256 の時は画像を縮小してテクスチャ上へロードすれば
画質は低下するけど,その他の処理は全く同じなので楽.
今更,終わってる Voodoo(3以前)にテクスチャ&ポリゴン分割
とか真面目に対応はしなくてもいいと思われ.
あくまで「動かねーよ!」とメール送ってきたり,怒って電話を
かけてくる客の対応用ね.

以上 Voodoo3 で開発してる俺の考え.

668 名前:661 :2001/06/08(金) 19:23
>>667
なるほど。
素材はそのままに、内部で縮小して引き伸ばしですね。
苦情が来た際には、それで対応しましょう。
どもですー。

669 名前:デフォルトの名無しさん :2001/06/10(日) 20:11
age

670 名前:sageない :2001/06/11(月) 06:05
ところで、アクションマップってどう思います〜?
なんか全然使えない気がしてるのですが・・・。

671 名前:名無しさん :2001/06/15(金) 07:23
近日、3Dの勉強を始めるつもりでいます。
3DRMと3DIMの違いって何でしょうか。
(ネットでなんかこんなのがあることをチラッと目にしたのですが)

672 名前:デフォルトの名無しさん :2001/06/15(金) 07:27
>>671
DirectX7からRMは削られました。
RMはXファイルの読み込みとか高レベルな実装がされてました。
Xファイルの読み込みは、
http://piza.2ch.net/test/read.cgi?bbs=tech&key=988207106
を参考にがんばってください。

673 名前:デフォルトの名無しさん :2001/06/15(金) 08:55
DXのゲームを作るとき自分の環境では問題なく動いてるのに、いざ配布すると、他環境でエラーが出ます。
こういうときはどうやって直しますか?

本に載っていることは全てのマシンで使えるって言う保証はあるんでしょうか。

674 名前:デフォルトの名無しさん :2001/06/15(金) 09:30
とりあえず、使いたいハードウェアの機能はしっかりチェックして、
使えないようならそれが原因です、というメッセージを表示して速やかに終了。
ユーザーには仕様です、対応したハードウェアを入手してくださいと答える。

ってのは、あんまりやりたくないなら、、
やっぱどこかでマシンスペックを線引きして、
制限かけて使う機能を絞ってやるしかないでしょねー。

・・・そういう話ではない?

675 名前:デフォルトの名無しさん :2001/06/15(金) 10:41
>>673
相手の環境に適当なバージョンのDirectXは入ってますか?
VGAの機能は十分ですか?
VGAで良くあるのは、Voodoo系で >>661,>>667 とか。
Voodooだと、16bitカラー以上のモードでHALを使用しているとダメだったり。
エラーチェック強化して、問題発生する人に人柱ってもらうのが吉。

676 名前:デフォルトの名無しさん :2001/06/15(金) 23:30
市販ゲームなら、こういう線引きできれば上々ですか?
GeForce3・頑張る。
他のGeForce・遊べる。
それ以外・遊べないこともない・エフェクト類はカットしまくりで安定性重視

677 名前:名無しさん=Lv7 :2001/06/15(金) 23:38
実行時エラー
-2005397118(88781182)
ってなんですか?

M$に行ってもDirectMusicのエラーコード表が無いんです。
パスに全角とかカタカナが混じってるからですか?

678 名前:デフォルトの名無しさん :2001/06/16(土) 00:01
>>677
パス関係は以外に穴があるかも。
以前、MCI弄ってたときに、ネットワーク越しだと
相対パスでファイルが正しく読み込まれないという現象に遭遇したこともあるので。

679 名前:デフォルトの名無しさん :2001/06/16(土) 00:11
>>677
DMUS_E_LOADER_FAILEDOPEN
ファイルが存在しないか、ロックされているので、オープンできませんでした。

だそうです。

ttp://www.hh.iij4u.or.jp/~kachin/directx/
ここからHRESULTの意味を調べるHRESULT Finderというソフトが落とせます。
死ぬほど便利。作者には感謝感謝!!

680 名前:デフォルトの名無しさん :2001/06/16(土) 00:12
このソフト,16進の検索には0xをつけないとダメなので,ねんのため。
0X88781182とかやって検索します。

681 名前:名無しさん@Lv7 :2001/06/16(土) 00:20
>>679
おお、すげえ便利そうだ!
ありがとうございます!

682 名前:デフォルトの名無しさん :2001/06/16(土) 00:22
DirectX8を使っているならDXGetErrorString8関数がエラーコードを返してくれます。

683 名前:名無しさん@Lv7 :2001/06/16(土) 00:25
>>682
DX7なんです。DX8入れたら動かないのが増えて7を再インストールしたんです。

684 名前:デフォルトの名無しさん :2001/06/16(土) 00:39
馬鹿なことやんなよ。
それやるとさらにおかしくなるぞ。
一回ハードディスク空にしてもういちど入れ直せ。
あと8にして動かなくなったのは自分のプログラムだけだろ?
それはDirectXのバージョンをヘッダをインクルードする前に入れないからだよ。
具体的にはコンポーネントのバージョン定数という項目に書いてある。
ていうかヘルプよくよめ。

685 名前:名無しさん@Lv7 :2001/06/16(土) 00:44
>>684
いやいや、最初からOS入れなおしたし問題ないです。
8にして動かなくなったのは、おもにDLしたやつだな。
あとは、旧バージョンの奴とか。3とか5時代の奴。
それに当時はDXゲームを作る力なかったし。

686 名前:デフォルトの名無しさん :2001/06/16(土) 01:08
つか、動かないんじゃなくてコンパイルできなくなったの間違いでしょ?
だって確実に別ルーチンだし。
よく8にしたら動かなくなったって聞くけどそんなことはないはずなんだけど。

687 名前:デフォルトの名無しさん :2001/06/16(土) 01:11
>>684
685じゃないが、市販のでも8入れて動かなくなるのは結構ある


688 名前:687 :2001/06/16(土) 01:13
>>686
いやほんと仰るとおりで、そんなことないはずなんだけどな、つくりがさ
なんでだろうね

689 名前:デフォルトの名無しさん :2001/06/16(土) 01:16
なんでだろうね。
使ってるファイルも違うものなのに器用だよね。
これは絶対組んだ奴がマヌケだからだと思われ

690 名前:デフォルトの名無しさん :2001/06/16(土) 01:24
#define DIRECTDRAW_VERSION 0x5000

とかのバージョン宣言。
知らないアホグラマが多いらしい。

691 名前:デフォルトの名無しさん :2001/06/16(土) 01:25
>>690
DirectXプログラマはマゾですか?

692 名前:デフォルトの名無しさん :2001/06/16(土) 01:50
いやそれはコンパイルのときに関係するものであって動いていたものが
バージョンが変わることによって動かなくなることとはまた違う。

693 名前:デフォルトの名無しさん :2001/06/16(土) 01:53
マゾです>691

694 名前:デフォルトの名無しさん :2001/06/16(土) 02:14
バージョンが変わったくらいで動かなくなるプログラムは、
ドキュソな作りになってるに違いない。

旧バージョンでは偶然うまく動いてただけ。

695 名前:デフォルトの名無しさん :2001/06/16(土) 02:18
ウザイ>694=690

696 名前:デフォルトの名無しさん :2001/06/16(土) 02:25
>>695
ドキュソプログラマ発見!!

697 名前:デフォルトの名無しさん :2001/06/16(土) 02:34
sageろアホ

698 名前:デフォルトの名無しさん :2001/06/16(土) 05:48
というか実際にDirectX8で動かなくなったオンラインソフト上げてもらえば一発では?
うち、一応DirectX8とそれ未満のバージョンの環境あるから試せるよ。

699 名前:デフォルトの名無しさん :2001/06/16(土) 09:52
いいよそんなことしなくったって。
まず、こんなことおこりえないし、もし起こったとしても、
アプリ側では対処不能。

700 名前:デフォルトの名無しさん :2001/06/16(土) 14:13
>>699
同意。
COMの構造上、バージョンアップで動かなくなるはずがない。

701 名前:デフォルトの名無しさん :2001/06/16(土) 14:33
>>700
COM的にはそうだけど、実装側が対応してないかも知れない。

702 名前:デフォルトの名無しさん :2001/06/16(土) 15:02
ならいいんだけど。

703 名前:デフォルトの名無しさん :2001/06/16(土) 15:06
でもあからさまに動作変わってるところもある。
カラーキーで黒抜きしてたんだけど、黒の判別範囲が7>8にした途端、黒抜きの範囲が変わった。
旧部分にも何らかの変更が加えられているのは間違いない。

704 名前: :2001/06/17(日) 04:51
Zバッファの内容って読む方法ないですかね
マニュアルによればLock出来ないって書いてあるんですけど、、なんか抜け道はないのかな?
(HELの場合は出来るみたいだけど)

つか読めないと困るつーの

705 名前:デフォルトの名無しさん :2001/06/17(日) 05:05
>704
CreateDeviceのとき、
present.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
で、GetBackBufferして
パフォーマンス落ちるってマニュアルに書いてある。

706 名前:704 :2001/06/17(日) 05:18
backバッファじゃなくて、Zバッファだよ〜

Zバッファのフォーマットを D3DFMT_D16_LOCKABLE にすれば読めるって書いてあるけど
HAL deviceだと 駄目みたいだし

707 名前:デフォルトの名無しさん :2001/06/17(日) 10:06
>703
 バージョンアップで、GDI→DD変換時の色が変化する事はあるよ。
RGB(4,4,4)がRGB(0,0,0)になってたのが、RGB(8,8,8)になったり。
 サーフェイスのピッチが変わった事もあるし<自前で計算するのはヤメレ

708 名前:デフォルトの名無しさん :2001/06/17(日) 14:02
>>707
じゃあどうやんの?
特定色抜きたい時とかさ。

709 名前:デフォルトの名無しさん :2001/06/17(日) 15:05
>708
 GDI→DD変換後、Lockして変換後の値を取得

710 名前:デフォルトの名無しさん :2001/06/17(日) 15:09
>>709
いや、そうでなくて、変換後の色を抜き指定しても、特定範囲の色((2,2,2)とか)は抜けてしまう。
その「特定範囲」が変わってたんだが。

711 名前:デフォルトの名無しさん :2001/06/18(月) 17:39
 あ、その意味ね。
CGの左上スミを、そのままカラーキーにする手法はどうだ?
I/O別冊でよく紹介されている手法だが、わりかし使える。
枠を使いたいなら、左か上を一行空ければ済むし。

 つか、8Bitや16Bitの場合、色空間によるカラーキー指定は恐くて使えん。

 例えば16Bit(5,5,5)の場合、VRAM上で0x0000として扱われていた色が、
(0<= r <= 7) && (0<= g <= 7) && (0<= b <= 7)だったのが、
(0<= r <= 3) && (0<= g <= 3) && (0<= b <= 3)や、
(0<= r <= 0) && (0<= g <= 0) && (0<= b <= 0)になる事があるため、
RGB(2,2,2)が0x0421になったり、0x0000になったりする。
 そのため、古いバージョンでは違う色として扱われていた色が、
新しいバージョンでは同じ色になる事もあるし、逆もある。
また、色範囲がボードによって変わる事も。16Bit(5,6,5)とか。
 こうした理由から、16Bitの場合、抜き色近くのrgbが-7〜+7の色は、使わないが吉。

712 名前:デフォルトの名無しさん :2001/06/18(月) 17:41
 そういえば、αマップで色抜きをしている人がいたな。どうせならジャギも取れ!(藁

713 名前:デフォルトの名無しさん :2001/06/18(月) 20:07
>712
多分、理由はある。
αつきポリゴンのZソートが面倒で手を抜いたか、
効率良く実装できなかった人。

714 名前:デフォルトの名無しさん :2001/06/18(月) 21:50
>>711
それだッ!
>抜き色近くのrgbが-7〜+7の色は、使わないが吉。
その範囲が変わりました。
余りにもウトゥなので死んできます。

715 名前:しんまい :2001/06/20(水) 22:18
DirectX7と8、両方とも少しづつ勉強したんだけど、
このまま両方やっていったほうがいいですか?
それとも8だけでOK?

716 名前:デフォルトの名無しさん :2001/06/20(水) 22:52
ずーっとやりたいならOpenGL
DirctX8もそのうち陳腐化します

717 名前:デフォルトの名無しさん :2001/06/20(水) 23:46
お、上がってる。

>>715
俺は8からはじめたんで、8しか知らない。
でも大丈夫でしょ。

718 名前:デフォルトの名無しさん :2001/06/21(木) 00:45
必要になったら、その時使えるようになればいい。
先のことは先のことだ。

719 名前:デフォルトの名無しさん :2001/06/22(金) 11:41
さがりすぎ

720 名前:デフォルトの名無しさん :2001/06/22(金) 11:56
>>719
なぜかちょっとだけワラタ

DirectXの需要が少ないのか?

721 名前:ひよこ :2001/06/23(土) 19:51
DirectXでスプライト処理をしたいのですが、どうしたらいいのでしょうか?
WinSDKでGDIベースのゲームを作ってるときはマスク処理でやっていたのですが。

なにかいい方法がありましたら御教授くださいませ

722 名前:デフォルトの名無しさん :2001/06/23(土) 19:53
抜き色を使うか、自力計算か。
Direct3Dを使ってαチャンネルか。

723 名前:ひよこ :2001/06/23(土) 20:35
>>722
レスどうもです。
ちなみに、今はカラーキーを設定して指定の色を透過するという方法を
やってみました。これが 抜き色 という奴でしょうか?

ただ、この方法だと例えば指定した色が黒にしたとき、透過したくない部分の黒まで
透過され、それはそれで不都合が起きると思うのですが、どうやって
この問題を解決するのでしょうか?

724 名前:デフォルトの名無しさん :2001/06/23(土) 20:49
黒を使わない。
すごく濃いグレー、例えばRGB=(8,8,8)くらいの色を黒のかわりに使う。

RGB=(0,255,0)をカラーキーに使うって手もあるけどね。
グリーンだけ100%付近の色ってあまり使わないから。

上の方ででも出てるけど、
色変換がどうなるか怖いから、カラーキー近くの色は避けるべきだと思う。
で、できれば左上の色をカラーキーにするっていうのを
使った方がいいと思う。

725 名前:ひよこ :2001/06/23(土) 21:42
大変参考になりました。ありがとうございます。

726 名前:デフォルトの名無しさん :2001/06/23(土) 22:04
>>724
ビデオカードのバカドライバがディザを使う可能性も怖い
RGB(0,0,0)がRGB(8,8,8)に化けるドライバはたまにあるけど
ディザもひょっとしたらあるかも

727 名前:デフォルトの名無しさん :2001/06/25(月) 12:58
誰かDirectXのDirectInputで参照しているDLL知っていたら是非教えて!

728 名前:デフォルトの名無しさん :2001/06/25(月) 15:51
age

729 名前:デフォルトの名無しさん :2001/06/25(月) 18:47
DirectX 上のあるアプリで、スクリーンを全画面モードに変更したのちに、
そのアプリを終了して、全画面モードから復帰したとします。

すると、先にデスクトップに開かれていた他のウィンドウが、
デスクトップのサイズを誤認識してしまい、「最大化」ボタンを
クリックしても期待通りに最大化が行われなくなる現象を
よく見かけますが、あれは一体何が原因なんでしょう?

730 名前:デフォルトの名無しさん :2001/06/25(月) 18:57
>>729
ドライバのバグです。

731 名前:デフォルトの名無しさん :2001/06/25(月) 19:05
>>729
630あたりでがいしゅつですが、未解決です。
うちもなるので困ってます。
Win2kSP2に、GeForceMX2のドライバ12.90です。

732 名前:729 :2001/06/25(月) 20:28
>>730 >>731
レスありがとさんです。がいしゅつでしたか・・・。失礼しました。

当方でも、デスクトップに影響を出す場合と出さない場合があるので、
タイミング依存の何かのような気はしますねぇ。

733 名前:デフォルトの名無しさん :2001/06/25(月) 21:12
>>729
環境変えたらなったり、ならなかったりするから、俺もいまいちその辺わかってない。
ドライバのバグで終わらせられたらいいんだけど(よかねぇって

734 名前:デフォルトの名無しさん :2001/06/25(月) 23:49
みなさんはどの言語をベースに DirectXを組んでいますでしょうか?
私はC言語でやっております。しかし、知り合いから DirectXなら
C++でしょー  みたいなことを言われたのですが、やはりC言語では
色々と不都合があるのでしょうか?

735 名前:デフォルトの名無しさん :2001/06/26(火) 00:55
不都合はないけど、ベクトルx行列 みたいなことが出来るのでC++の方が便利。

736 名前:デフォルトの名無しさん :2001/06/26(火) 23:17
>>734
VBっていうと、どうせネタだとか言われたり、
けなされたリするんだろうな〜

737 名前:デフォルトの名無しさん :2001/06/26(火) 23:28
>>736
その段階ではまだ大丈夫。
「○×の{ドライバ|チップ|etc...}は{遅い|汚い|etc...}」
といった話をしたがる奴がVB使いだったりすると
思いきり叩かれる。

738 名前:デフォルトの名無しさん :2001/06/26(火) 23:33
>>737
俺が736に言いたかった色んな事を、たった4行で纏めてくれた。素晴らしい。

739 名前:デフォルトの名無しさん :2001/06/27(水) 00:59
要するに
「パフォーマンスの話をするならまずVBを捨てろ」
または
「VB使いにドライバやチップを責める資格無し」
てことでよろしいか。

740 名前:デフォルトの名無しさん :2001/06/27(水) 05:01
>>739
大体はそういうことで。

741 名前:デフォルトの名無しさん :2001/06/27(水) 05:03
おれはDelphi。
特にSDKいれんでもヘッダさえあれば開発できるのが強みか(藁
lib?なにそれ?

742 名前:デフォルトの名無しさん :2001/06/27(水) 11:17
Cでもlibなんぞ無くてもDirectXは使える。
例外のD3DXを除けば。

743 名前:デフォルトの名無しさん :2001/06/27(水) 16:56
>>742
そうなん?やり方きぼーん

744 名前:デフォルトの名無しさん :2001/06/27(水) 17:32
>>741-742
マジで意味わかりません。
ソースがあるの?

745 名前:デフォルトの名無しさん :2001/06/27(水) 19:09
>>744
COM について調査してください。

746 名前:デフォルトの名無しさん :2001/06/27(水) 19:31
>>744
CoCreateInstance()
DX8以降はLoadLibrary()必須?
CLSIDねーし。

747 名前:デフォルトの名無しさん :2001/06/27(水) 19:33
DirectXでわざわざCoCreateInstance使うのかよー(´д`;)
ていうか、そんな手間がいるならlib要るわな。

748 名前:デフォルトの名無しさん :2001/06/27(水) 19:50
>>746
イミネー。
lib使え。

749 名前:デフォルトの名無しさん :2001/06/27(水) 20:55
LIBを使うとDLLが無かったときに情けねえメッセージボックスが出るぞ

750 名前:デフォルトの名無しさん :2001/06/27(水) 21:43
インターフェイスの取得は出来ても
専用の生成関数を使わなきゃ、オブジェクトの初期化は出来ないんじゃないの?


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.