5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

初心者はここで聞け!DirectX相談室

1 :デフォルトの名無しさん:2001/06/06(水) 11:46
入門書のことから、初歩的な質問まで幅広くいきましょう。

上級者はこちら↓
http://piza.2ch.net/test/read.cgi?bbs=tech&key=966655286&ls=50

2 :デフォルトの名無しさん:2001/06/06(水) 11:58
ホーケー手術にはいくらぐらいかかりますか?

3 :名無しさん:2001/06/06(水) 12:09
256色でフェードアウト関数を作成し、一応動作を確認したのですが、
画面に表示されているキャラクタにどうもかすかなチラツキが確認できました。
これってなんとか改善されないものでしょうか?

4 :デフォルトの名無しさん:2001/06/06(水) 12:10
垂直帰線期間にパレットを変更しよう

5 :ひよこ:2001/06/06(水) 12:15
工学社の「DirectXによりゲームプログラミング入門」著:大川善邦
を読みながら勉強しております。

しかし、この本はDirectX3の頃の本なのでなにぶん内容が古いような気がします。
ビットマップの読みこみも256色でパレット使ってやってます。
16Bit以上の場合はパレットの操作は必要ないんでしょうか?

6 :デフォルトの名無しさん:2001/06/06(水) 12:23
>>5
16bpp以上にパレットは無い
故に操作も無い

7 :名無しさん:2001/06/06(水) 12:30
>4
垂直帰線期間って何なんでしょうか?

void BLACKOUT( int speed )
{
int Count; Count = 0;

if( ! Pflg )
{
memcpy( fade, enogu, sizeof( PALETTEENTRY ) * 256 );
Pflg = 1;
}

for( int i = 0 ; i < 256 ; i ++ )
{
if( fade[i].peRed - speed < 0 )
{
fade[i].peRed = 0;
}else
fade[i].peRed -= speed;

if( fade[i].peGreen - speed < 0 )
{
fade[i].peGreen = 0;
}else
fade[i].peGreen -= speed;

if( fade[i].peBlue - speed < 0 )
{
fade[i].peBlue = 0;
}else
fade[i].peBlue -= speed;
}

lpPalette -> SetEntries( 0, 0, 256, fade );

for( i = 0 ; i < 256 ; i ++ )
if( fade[i].peRed == 0 && fade[i].peGreen == 0 && fade[i].peBlue == 0 )
{
Count ++;
}

if( Count == 256 )
{
Fadeflg = 5;
}else
Count = 0;

return;
}

8 :デフォルトの名無しさん:2001/06/06(水) 13:16
>>7
Vertical Blanking Time
ブラウン管の原理を勉強しとけ。電子工学概論とかの本にはたいてい載ってる。

9 :デフォルトの名無しさん:2001/06/06(水) 13:31
メッシュの必要性がいまいちわかりません。
DirectX8SDKには人間をアニメーションさせるサンプルがついていますが、
メッシュで動かしたほうが楽なのでしょうか?
毎フレーム頂点バッファいじったらダメなんですか?

10 :デフォルトの名無しさん:2001/06/06(水) 13:54
頂点バッファは基本的にV-RAMにおいていじらないもの だよ
VRAMにないとビデオチップからのアクセスが難儀するし
頂点転送で帯域潰すし、HT&Lとして使えない

VRAM上にある頂点バッファを自前でいじるのも遅いので厳禁
systemメモリの頂点バッファならいいけど、上記の理由でイマイチ

頂点バッファの内容をいじらずに、変形とかする為に
VertexBlendとか、もろもろの仕組みがあるわけよ

11 :デフォルトの名無しさん:2001/06/06(水) 15:19
斜めスクロールのやりかたきぼんぬ

12 :デフォルトの名無しさん:2001/06/06(水) 15:21
>>11
どうぞ(w
http://piza.2ch.net/test/read.cgi?bbs=tech&key=991415593

13 :デフォルトの名無しさん:2001/06/06(水) 15:21
ずらした画像と隙間(縦方向、横方向) の3つをコピーするだけでは?

14 :デフォルトの名無しさん:2001/06/06(水) 15:25
チンカスはどうやって掃除してますか

15 :デフォルトの名無しさん:2001/06/08(金) 02:51
糞スレ。

16 :デフォルトの名無しさん:2001/06/10(日) 15:10
もっと盛り上げて優秀スレにしてくれ

17 :デフォルトの名無しさん:2001/06/10(日) 15:16
>>16
そういうお前がやれ
内容がないのに上げるな

18 :デフォルトの名無しさん:2001/06/10(日) 15:24
ゲー厨の糞スレ乱立はどうすれば治まりますか?

19 :デフォルトの名無しさん:2001/06/10(日) 15:40
SDKプログラミングはできるのですがDirectXはまだやったことがありません
学習しやすい本かホームページを教えてください
お願いします

20 :デフォルトの名無しさん:2001/06/10(日) 15:43
DirectXがバージョンアップのたびにデカくなっていくのが鬱なんですけど、
どうしましょう?

21 :デフォルトの名無しさん:2001/06/10(日) 17:39
どうして誰もおしえてくれないんだ!
荒らしてやるああああああああああああああああああああ
あああああああああああああああああ
あああああああああああああああああああああ

22 :デフォルトの名無しさん:2001/06/10(日) 18:22
>>1
初級者でも「鬱だ氏のうDirectX」で聞いていいじゃん。
上級者とかどうとか言う前に、ただでさえゲーム関係者はこの板だと
肩身狭いんだからさ、頼むぜ。

23 : :2001/06/10(日) 19:51
sage進行してるから見てなかったよ
お勧めの本は工学社の奴かな。つかDX8の本は種類がないのでこれくらいしかない

同様にHPも 皆DX5,6の頃にマスターしてしまったので、今見ると古い情報とか
追加機能についてしか触れていないものが多いかな

24 :デフォルトの名無しさん:2001/06/10(日) 21:41
>>22
だね。

25 :名無しさん:2001/06/10(日) 21:43
市販のゲームパッドの判定なんですけど、DirectInputを使うメリットって何ですか?

26 :デフォルトの名無しさん:2001/06/10(日) 22:17
・WinAPI 標準の物だと、十字キー+4ボタン相当品しか扱えない。
・フォースフィードバック (DirectX5〜)
・アクションマップ (DirectX8〜)

27 :デフォルトの名無しさん:2001/06/11(月) 02:48
>>26
joyGetPosExだったらもちっと幅出るけどね。

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

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

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

30 :デフォルトの名無しさん:2001/06/15(金) 04:33
初級者でも「鬱だ氏のうDirectX」で聞いていいじゃん。
上級者とかどうとか言う前に、ただでさえゲーム関係者はこの板だと
肩身狭いんだからさ、頼むぜ。

初級者でも「鬱だ氏のうDirectX」で聞いていいじゃん。
上級者とかどうとか言う前に、ただでさえゲーム関係者はこの板だと
肩身狭いんだからさ、頼むぜ。

初級者でも「鬱だ氏のうDirectX」で聞いていいじゃん。
上級者とかどうとか言う前に、ただでさえゲーム関係者はこの板だと
肩身狭いんだからさ、頼むぜ。

初級者でも「鬱だ氏のうDirectX」で聞いていいじゃん。
上級者とかどうとか言う前に、ただでさえゲーム関係者はこの板だと
肩身狭いんだからさ、頼むぜ。

31 :デフォルトの名無しさん:2001/06/15(金) 07:17
>>28-29
鬱氏DXスレで質問してください。
回答用意してまってます。

32 :デフォルトの名無しさん:2001/06/25(月) 13:00
DX初心者です。
DXのDInputで参照しているDLLを知りたいので誰か知っていたら教えてください。

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

34 :デフォルトの名無しさん:2001/06/26(火) 01:37
DIRECT DRAWで作って描いたサーフェスを
DIRECT 3Dでてくすちゃとして使いたいんですけど
どうすればいいのですか?

35 :デフォルトの名無しさん:2001/06/26(火) 02:45
初級者でも「鬱だ氏のうDirectX」で聞いていいじゃん。
上級者とかどうとか言う前に、ただでさえゲーム関係者はこの板だと
肩身狭いんだからさ、頼むぜ。

初級者でも「鬱だ氏のうDirectX」で聞いていいじゃん。
上級者とかどうとか言う前に、ただでさえゲーム関係者はこの板だと
肩身狭いんだからさ、頼むぜ。

初級者でも「鬱だ氏のうDirectX」で聞いていいじゃん。
上級者とかどうとか言う前に、ただでさえゲーム関係者はこの板だと
肩身狭いんだからさ、頼むぜ。

初級者でも「鬱だ氏のうDirectX」で聞いていいじゃん。
上級者とかどうとか言う前に、ただでさえゲーム関係者はこの板だと
肩身狭いんだからさ、頼むぜ。

36 :デフォルトの名無しさん:2001/06/26(火) 03:42
>>35
同感だ。
なお、繰り返さんでも良い。

37 :デフォルトの名無しさん:2001/06/26(火) 04:00
ふかわりょうに言ってやれ
ふかわりょうに言ってやれ

38 :デフォルトの名無しさん:2001/06/26(火) 11:13
DirectX8上で
16色or256色(フルカラーはOK)の画像に透過色を設定すると
その透過色がころころ変わってしまうのですが、
どしたらよいでしょうか?

39 :デフォルトの名無しさん:2001/06/26(火) 12:04
>>38
コロコロ変わらないようなプログラムを組めばよい。

40 :デフォルトの名無しさん:2001/06/26(火) 23:19
>>34
普通に使えばいいじゃん

41 :デフォルトの名無しさん:2001/07/06(金) 16:02
DirectXの勉強を始めようと思ったところです。
ライブラリの設定などはしたつもりなのですが、
サンプルをビルドしようとするとddraw.libについて
fatal error LNK1106: ファイルが無効であるか、 またはディスクがいっぱいです:
0x389bc689 にシークできません
と表示されてしまいます。
どうすればよいでしょうか?

42 :デフォルトの名無しさん:2001/07/06(金) 18:24
鬱氏が不調?なのでレスします。

>>41
可能性
1:ほんとにライブラリ設定した"つもり"
2:ディスクいっぱいで中間ファイル吐けない
3:ライブラリ壊れてる

全部確認してダメだったら、SDKのddraw.libとサイズ・日時を照合。
違ってたら入れなおす。一致してたら泣く。

4:某島製品でコンパイルしてる→インポートするか、そっち用ライブラリを使う

43 :デフォルトの名無しさん:2001/07/07(土) 12:00
DirectXをMFCでプログラミングしたらDQNですか?
SDKはめんどいです。

44 :デフォルトの名無しさん:2001/07/07(土) 12:05
>43
自分がどんな作業をするのか予測がつけられないDQN

例えばゲームではなくツール系のアプリなので
ユーザーインタフェイスをMFCで作るとか場合による

つーか、ここは糞スレだ

45 :デフォルトの名無しさん:2001/07/07(土) 12:23
>44
なんつーか、フルスクリーンアプリは嫌いなので、
ウィンドウとか作るのは全部MFCにしようかと。
さらに、Doc/Viewも使いたいなと。

46 :デフォルトの名無しさん:2001/07/07(土) 17:13
>>43
SDK サンプルの中にも MFC Tex とか MFC と DirectX を使った例はあるよ。それみて考えてみて。

47 :デフォルトの名無しさん:2001/07/07(土) 20:12
>>46
SDKサンプルのMFCはすべてFormViewだと思われ

48 :運子供よく聞け:2001/07/08(日) 00:11
2CHでは教える奴も教えてもらう奴もドキュソが多いぞ!

気をつけろ!

49 :デフォルトの名無しさん:2001/07/08(日) 00:51
******* 糞スレにつき終了 *******

50 :デフォルトの名無しさん:2001/07/09(月) 01:13
DirectX8でテキスト表示したいのですが。いやDrawTextA()は重いし。
GetDC()みたいなの無いからなぁ。

51 :デフォルトの名無しさん:2001/07/09(月) 02:06
オマエモナ〜>>48

52 :デフォルトの名無しさん:2001/07/09(月) 04:48
>>48
今ごろ気付いたのか。

つうか具体的な技術論になると、とたんに反応が鈍くなるよね。
しょうもない見栄の張り合いと世間話が似合ってるよ、2chには。

53 :デフォルトの名無しさん:2001/07/10(火) 03:13
>>41
VC5?

54 :デフォルトの名無しさん :2001/07/10(火) 03:18
VBの質問なんですけど良いですか?

55 :デフォルトの名無しさん:2001/07/10(火) 04:03
DirectXを使う利点ってなに?

56 :デフォルトの名無しさん:2001/07/10(火) 04:53
VBで作ったゲームはユーザーにも馬鹿にされ
買ってもらえません

57 :デフォルトの名無しさん:2001/07/10(火) 04:54
DirectXかOpenGLを使っていないとユーザーにも馬鹿にされ
買ってもらえません

58 : :2001/07/16(月) 13:10
D3D7でテクスチャセットしてら
ポリゴン真っ白になっちゃいます。
何の設定が足りないんでしょうか。

59 : :2001/07/18(水) 00:39
//DirectDraw作成と画面設定
DirectDrawCreateEx(NULL,( void ** )&lpDirectDraw7,IID_IDirectDraw7, NULL );
lpDirectDraw7->SetCooperativeLevel(hWnd,DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN | DDSCL_ALLOWREBOOT );
lpDirectDraw7->SetDisplayMode (800,600,16, 0, 0 );
//プライマリサーフェスとバックバッファ
DDSURFACEDESC2 SurfaceDesc;
ZeroMemory ( &SurfaceDesc, sizeof ( DDSURFACEDESC2 ) );
SurfaceDesc.dwSize = sizeof ( DDSURFACEDESC2 );
SurfaceDesc.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
SurfaceDesc.dwBackBufferCount = 1;
SurfaceDesc.ddsCaps.dwCaps = DDSCAPS_COMPLEX | DDSCAPS_FLIP | DDSCAPS_PRIMARYSURFACE | DDSCAPS_3DDEVICE | DDSCAPS_VIDEOMEMORY;
lpDirectDraw7->CreateSurface(&SurfaceDesc,&PSurface, NULL );
DDSCAPS2 ddscaps;
ZeroMemory(&ddscaps,sizeof(DDSURFACEDESC2));
ddscaps.dwCaps=DDSCAPS_BACKBUFFER;
PSurface->GetAttachedSurface(&ddscaps,&BSurface);
//D3Dとデバイス作成
lpDirectDraw7->QueryInterface(IID_IDirect3D7,(void**)&Direct3D7);
Direct3D7->CreateDevice(IID_IDirect3DHALDevice,BSurface,&Direct3DDevice7);
//Zバッファ作成とバックバッファ関連付け
ZeroMemory ( &SurfaceDesc, sizeof ( DDSURFACEDESC2 ) );
SurfaceDesc.dwSize = sizeof ( DDSURFACEDESC2 );
SurfaceDesc.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
SurfaceDesc.ddsCaps.dwCaps = DDSCAPS_ZBUFFER | DDSCAPS_VIDEOMEMORY;
SurfaceDesc.dwWidth = 800;
SurfaceDesc.dwHeight = 600;
SurfaceDesc.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
SurfaceDesc.ddpfPixelFormat.dwFlags = DDPF_ZBUFFER;
SurfaceDesc.ddpfPixelFormat.dwZBufferBitDepth = 24;
SurfaceDesc.ddpfPixelFormat.dwZBitMask = 0xffffff;
lpDirectDraw7->CreateSurface(&SurfaceDesc,&ZSurface, NULL );
BSurface->AddAttachedSurface(ZSurface);
//テクスチャ用サーフェス作成
ZeroMemory ( &SurfaceDesc, sizeof ( DDSURFACEDESC2 ) );
SurfaceDesc.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT | DDSD_TEXTURESTAGE;
SurfaceDesc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_TEXTURE | DDSCAPS_COMPLEX;
SurfaceDesc.ddsCaps.dwCaps2 = DDSCAPS2_TEXTUREMANAGE;
SurfaceDesc.dwWidth = 256;
SurfaceDesc.dwHeight = 256;
SurfaceDesc.ddpfPixelFormat.dwSize = sizeof ( DDPIXELFORMAT );
SurfaceDesc.ddpfPixelFormat.dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
SurfaceDesc.ddpfPixelFormat.dwRBitMask = 0x1F << 10;
SurfaceDesc.ddpfPixelFormat.dwGBitMask = 0x1F << 5;
SurfaceDesc.ddpfPixelFormat.dwBBitMask = 0x1F << 0;
SurfaceDesc.ddpfPixelFormat.dwRGBAlphaBitMask = 0x1 << 15;
SurfaceDesc.ddpfPixelFormat.dwRGBBitCount = 16;
lpDirectDraw7->CreateSurface(&SurfaceDesc,&TSurface, NULL );
必ずテクスチャサーフェスが作れません。何が悪いんでしょうか?

60 :デフォルトの名無しさん:2001/07/18(水) 00:45
戻り値でも調べたら?
パラメータの設定ミスだと思うけどね

61 : :2001/07/18(水) 00:58
戻り値見てみたらZバッファさえ作られてませんでした。
マジであにがわるいかさっぱりです。
何かヒントだけでもください。

62 : :2001/07/18(水) 01:01
ちなみにDX7です

63 :デフォルトの名無しさん:2001/07/18(水) 01:17
戻り値はなんだったの?

64 : :2001/07/18(水) 01:56
Zbuffer:DDERR_INVALIDPIXELFORMAT
texture:DDERR_INVALIDPARAMS
でした。

65 : :2001/07/18(水) 02:02
zbufferは深度を変えたら直りました。24ビットをサポートしてないだけでした。
テクスチャは依然不明です。

66 :デフォルトの名無しさん :2001/07/18(水) 02:50
SurfaceDesc.dwSize = sizeof ( DDSURFACEDESC2 );
がぬけてんのと
dwcapsの中身ををかえなさい

67 :デフォルトの名無しさん:2001/07/19(木) 05:49
DirectX8は難しいそうなので7を覚えようと思っています。
DirectX8 SDKをインストールしたのですが、これで7をやっても
不都合はないでしょうか?

68 :デフォルトの名無しさん:2001/07/19(木) 06:27
DirectX7の方難しいよ。

69 :デフォルトの名無しさん:2001/07/19(木) 06:34
そういう理由ならDirectX8一択かと

70 :デフォルトの名無しさん:2001/07/19(木) 07:04
DirectXのサイトを見ただけなのですがDirectDrawは
まあ何とか分かりそうでした。
8は何かを表示するのにいちいちポリゴンを使用するのでしょうか?
DirectX8SDKで7用のコードをコンパイルできないのでしょうか?

71 :デフォルトの名無しさん:2001/07/19(木) 07:10
できるよ。DirectX8の2Dのサンプル参照。まんまDirectX7つかってます。

72 :aa:2001/07/19(木) 09:47
Lightwaveでつくった3Dのキャラなどを
VCのプログラムで動かしたりするのって、
他になにか必要になるのでしょうか?

73 :デフォルトの名無しさん:2001/07/19(木) 10:30
>72
君の場合、勉強が必要。

Lw形式 -> X形式に変換 -> DirectX8を初期化 -> Xをロード -> 表示
または
Lw形式 -> DirectX8を初期化 -> 自分の好みの頂点形式に変換 -> 表示

74 :aa:2001/07/19(木) 15:21
>>73
ありがとうございます。

75 :デフォルトの名無しさん:2001/07/19(木) 15:38
ぁのぅ、

毎日MPEG1動画が吐き出される環境(Win2k)があるのですが、
それを自動的にMediaEncoderを使ってwmvニコンバーとして、もとの
MPEG1動画を削除したいのですが、

どうも、VBScriptというのを使うとできるみたいなんですが、それはどうやったらインストロールできますか?

ぼくはCとパールしかできないのですが、VBスクリプトというのは難しいですか?

Windowsでは自動化というのは難しいんでしょうかね。

でもうにっくすではwmvにで機内誌。

76 :デフォルトの名無しさん:2001/07/19(木) 15:39

DirectX8でダブルバッファリングを使い、スプライトを表示させる
までのプログラムを書け。なお、スプライトはDirect3DSurface8にファイルから画像を読み込んだものを使用する。ファイル名はDX8.bmpとする。

77 :75:2001/07/19(木) 15:48
すみません、スレ違いでした。

78 :デフォルトの名無しさん:2001/07/19(木) 16:59
>>75
ネタおおすぎ・

79 :72:2001/07/19(木) 17:35
すみません。Lw形式からXファイルにするコンバータって
どれがいいんですか?
Lw6.5つかってます。

80 :デフォルトの名無しさん:2001/07/19(木) 17:54
>>76
>ねたおおすぎ(>>75について)

(1)インストロール → インストール
(2)VBスクリプトというのは難しいですか? → Cや Perl に比べると簡単。ていうか厨房向き
(3)パール → Perl
(4)Windowsでは自動化は難しいんでしょうね → Windows Scripting Host(ウイルスが簡単に動かせちゃうほど自動化マンせー)
(5)うにっくす → UNIX
(6)で機内誌 → できないし
(7)でもうにっくすではwmvにで機内誌 → UNIXはマルチメディア(和良)が苦手、とのWin厨の弁

確かにネタ多い

81 :デフォルトの名無しさん:2001/07/20(金) 02:37
テクスチャの縦横のサイズって2のかいじょうじゃないと
はみだしてしまうのですが、そんなもんなんですか?
あとテクスチャサーフェスをバックバッファにbltしたら
その動作はサポートしてません見たいなエラーが出るんですけど、
これも仕様ですか?

82 :デフォルトの名無しさん:2001/07/20(金) 08:59
あげ

83 :デフォルトの名無しさん:2001/07/20(金) 09:59
age

84 :デフォルトの名無しさん:2001/07/20(金) 13:59
mage

85 :既出?:2001/07/20(金) 23:26
ボーランドのフラッグシップ・プロダクトのエントリー版
Borland(R) DelphiTM 6 Personal
無償ダウンロードを決定
http://www.borland.co.jp/news/del6personal.html

86 :既出?:2001/07/20(金) 23:28
スレ違い失礼

87 :デフォルトの名無しさん:2001/07/21(土) 00:12
とっくの昔に既出です

88 :aaa:2001/07/21(土) 02:18
>すみません。Lw形式からXファイルにするコンバータって
>どれがいいんですか?
>Lw6.5つかってます。

D-STORMからダウンロードできるやつはどうでしょうか?
コンバータのソースファイルも公開されていますよ。

89 :79:2001/07/21(土) 09:18
ありがとうございます。
さっそく落としました。
あとはLWでキャラつくってロードか・・・・
闇の中を手探り状態。
LWもまださわって5日目だし

90 :デフォルトの名無しさん:2001/07/22(日) 02:12
>>81
かいじょう(階乗)ってなによ(w
それを言うなら累乗(るいじょう)だろ。
テクスチャのサイズに関してはそう言うもんみたいだ。
ほとんどのハードは2の累乗のサイズしかサポートしないみたい。

91 :41:2001/08/02(木) 13:02
未だに問題が解決しません。問題とは>>41です。
>>42
ディスク容量は十分にあります。
ライブラリは新しいのを準備したのですが症状が同じなので
これも原因ではありません。
設定が正しいかどうかあやしいのですが
ttp://www1.mahoroba.ne.jp/~jyama/
を参考にそのままやっています。
>>53
VC4を使ってます。大学の友人からもらったものでかなり古いです。

92 :デフォルトの名無しさん:2001/08/02(木) 13:15
>>91
もらうな

93 :デフォルトの名無しさん:2001/08/02(木) 15:20
ライセンスごと譲り受けたなら○
そうでないなら・・・終了

94 :デフォルトの名無しさん:2001/08/03(金) 01:10
違法コピー厨房っつーことで
>>41>>41>>41>>41 終了 >>41>>41>>41>>41>>41>>41

95 :デフォルトの名無しさん:2001/08/03(金) 08:35
んか一気に冷めたな・・・

96 :デフォルトの名無しさん:2001/08/03(金) 17:47
>>91
Ver6.0を買ってこい
話はそれからだ

97 :デフォルトの名無しさん:2001/08/04(土) 07:05
開発環境ぐらい自分の金で買えよ・・・。学生なんだったら格安で買えるじゃん。VCなら。

98 :デフォルトの名無しさん:2001/08/04(土) 11:13
agetoku

99 :デフォルトの名無しさん:2001/08/04(土) 11:41
age

100 :デフォルトの名無しさん:2001/08/04(土) 13:17
agetokuwa

101 :デフォルトの名無しさん :2001/08/04(土) 13:22
DirectXをはじめようとしている初心者ですが,質問させてください.
DirectX8の参考書を探したんですが,まったくの初心者にわかりやすそうなものが
見つかりません.(工学者の2冊と3Dネットワークゲームなんとか)
っていうか,あのレベルでも良いのかもしれませんが,もっと多くの参考書に目を通したいのです.
DirectX7までと,大幅に変わっていると聞くのですが,DirectX8以前の本で
8でも問題無く使える良書はないでしょうか?

102 : :2001/08/04(土) 13:39
結局、そのレベルの本しかないよ
初心者にはわかり難いけど、それが読めないと先に進めない
(遠回りするなら、RMやってみるのもいいかもね。それなら清水本とか)

書籍じゃ、ポリゴンだして終わりってのが多いから、その程度なら
MSマニュアルのチュートリアルでもいいのかも

いざ、パフォーマンス重視で実装となるとまた一苦労よ
まとまった資料がないからね(ネット活用すべし)

103 :デフォルトの名無しさん:2001/08/04(土) 14:14
>>101
ヘルプとサンプルで十分だと思うが、他に何を期待しているんだ?

104 :名無しさん:2001/08/04(土) 14:38
↑まったくの初心者がいきなりヘルプとサンプルで十分だって思ってはじめるか?
それは経験者の意見だろ.

105 :デフォルトの名無しさん:2001/08/04(土) 15:08
>>103
これだからちょっと自分のレベルが上だと勘違いしてる奴は。
そうやって自分より下の奴を馬鹿にして楽しいか?

106 :しkk:2001/08/04(土) 15:46
ピアソンの「入門DirectX7プログラミング」
が俺にとっては一番わかりやすかったけども。

107 :デフォルトの名無しさん:2001/08/04(土) 16:47
DirectX8のヘルプは下手な書籍よりも初心者にもわかりやすく書いてあると思うが

108 :デフォルトの名無しさん:2001/08/04(土) 16:50
ゼロからのスタートだったら工学社の入門シリーズが無難かと。
一冊であれこれやろうと思うほうが間違いと思われ。

109 :名無しさん++:2001/08/06(月) 15:21
書籍+ヘルプだにゃ

110 :デフォルトの名無しさん:2001/08/06(月) 16:40
ヘルプ見ながらサンプルのTutorialsを改造して遊ぶとこから
はじめればよいと思われ。

111 :101:2001/08/10(金) 15:56
レスありがとうございます.
参考にしてやってみます

112 :デフォルトの名無しさん:2001/08/10(金) 19:09
WAVのストリーミング再生の実装をしてるんですが、何か注意点ってありますか?
ここのページは見とけとか、SDKのサンプルはここがおかしいから注意しろ!とか。
あと、マシン固有の問題とか。

都合上DirectX5相当でやってます。

113 :デフォルトの名無しさん:2001/08/10(金) 21:24
>>112
DirectX実践プログラミングのストリーミング再生にはバグがある。
DirectX7実践プログラミングのストリーミング再生では直っている。
要するに、再生している部分にデータを書き込んでいる。

114 :112:2001/08/10(金) 22:25
>>113
以前試した時、どのマシンでもブチブチいうからなんでかなとおもてたら
そういうことだったんですか(´д`;)
thanx!

115 :デフォルトの名無しさん:2001/08/13(月) 00:53
うんがあ。
DirectX8のスプライト関数つかって見てるのだけれど、
画像の反転処理ができない泣

ID3DXSpriteのDraw関数の
ヘルプには、使う画像Rectの上下左右を
入れ替えればいいって書いてあるのにぃ泣
左右反転は(0,0,20,20)→(20,0,0,20)
じゃダメのなのかな…

だれかわかる人いたらおねがいします。

116 :デフォルトの名無しさん:2001/08/13(月) 01:35
>>115
凸('Д`)FAQ、RECTじゃダメみたい
ID3DXSprite::DrawのスケーリングD3DXVECTOR2を-1と1にして対応(涙

117 :デフォルトの名無しさん:2001/08/14(火) 00:39
>>116
おお、センキューです。

つーか、また嘘ぶっこいたかマックロソフトめ。
って、これじゃインプレスのぱくりだな笑>マックロソフト

118 :デフォルトの名無しさん:2001/08/14(火) 04:47
http://157.110.50.64:8080/~g96307/html/Ronbun.pdf
DirectXって、こんなことにも使えるんだね。

119 :デフォルトの名無しさん:2001/08/14(火) 06:46
dx8 しか持ってなくて、ddraw のマニュアルがありません。
dx7 のマニュアルって何処かにありませんか?

120 :デフォルトの名無しさん:2001/08/14(火) 08:02
>>119
http://www.microsoft.com/downloads/release.asp?ReleaseID=26071

121 :デフォルトの名無しさん :2001/08/14(火) 23:21
初心者って書いてあるけどここレベル高い。と言うわけで真性初心者
の質問。今「DirectX5ゲームプログラミング入門」インプレス
っていう本があるけど3Dのサンプルがしょぼくて不満です。
ミニゲーム(ソースを改良すれば遊べるレベル)が載ってる
DirectX本でお勧めありませんか?

122 :超初心者:2001/08/14(火) 23:39
ソースコードを本を見て打つ練習をしています。
大文字と小文字を、ちゃんと分けなければいけないのでしょうか?
本には詳しく載っていなかったのですが、かまわないところもあるよう
に書いてあったのですが・・・お願いします。

123 :チュー:2001/08/14(火) 23:43
◆◆◆(新)芸能人彼氏とH芸能界の表裏画像動画大公開◆◆◆
◆アイドル画像秘宝館◆
http://www.futomomo.com/netidol/idolhappy/maki/
◆綺麗なおねぇさんは好きですか?◆
http://www.futomomo.com/netidol/sister/megu/
◆セーラー服◆
http://www.futomomo.com/netidol/sailor/miku/
◆モーニング娘 ◆
http://www.futomomo.com/netidol/morning/mai/

◆◆◆(新)芸能人彼氏とH芸能界の表裏画像動画大公開◆◆◆
◆アイドル画像秘宝館◆
http://www.futomomo.com/netidol/idolhappy/maki/
◆綺麗なおねぇさんは好きですか?◆
http://www.futomomo.com/netidol/sister/megu/
◆セーラー服◆
http://www.futomomo.com/netidol/sailor/miku/
◆モーニング娘 ◆
http://www.futomomo.com/netidol/morning/mai/

lillliliuliulo

124 :デフォルトの名無しさん:2001/08/14(火) 23:46
>>122
使ってる言語によって違うよ。
C/C++だと、打ち分けないとダメだ。
Delphi,VBは、打ち分けなくてもいい。

125 :名無しさん:2001/08/14(火) 23:48
ぎょええええ
Delphiってどっちでもいいのか!?
CからDelやったから打ち分けてた・・・

126 :超初心者:2001/08/14(火) 23:58
javaを使っています。どうでしょうか・・・

127 :デフォルトの名無しさん:2001/08/15(水) 00:11
JavaでDirectXってできたっけ?

128 :デフォルトの名無しさん:2001/08/15(水) 07:53
VJなら確かOK

129 :初心者:2001/08/15(水) 12:39
8.1出てるんですが不具合は解消されてるんでしょうか?
8はUSBのゲームパッドが認識させることができなかったんですが

130 :デフォルトの名無しさん:2001/08/15(水) 12:50
でてないじゃん>8.1

131 :デフォルトの名無しさん:2001/08/15(水) 12:51
>>129
初心者なのにどうでもいいこと気にするね。
DirectXなんて小さいところ叩けばきりがないよ。
まずはゲームを作るのに最低限必要なものがそろえばいいじゃん。

132 :通りすがりの短足おじさん:2001/08/15(水) 17:01
>>129
USB 僕の環境では認識出来てるよ。
ああ、他の人にも試して貰ったから大丈夫なはず。

後、Dx8のJoyStickのサンプルプログラムにはバグがあるから
Dx7のを使うと良いよ。

133 :デフォルトの名無しさん:2001/08/15(水) 18:44
サンプルプログラムのコンパイルのしかたをおしえてください

134 :デフォルトの名無しさん:2001/08/15(水) 19:00
F7を押す

135 :デフォルトの名無しさん:2001/08/15(水) 19:01
[F7] を押しましょう。

136 :デフォルトの名無しさん:2001/08/15(水) 19:30
>>133
貴様をSDKのヘルプ100回読みの刑に処す。

137 :デフォルトの名無しさん:2001/08/15(水) 20:10
やはりDirectXデバッグモードで組むべきなんでしょうか?
デバッグモードだと不具合をだす市販や同人のソフトが時々あるけど、
あれはリリースモードで組んでて不具合に気づいてないのですかね?
そういうゲームに限ってどうしてもやりたいけどDirectXをいちいち入れ替えるのは面倒だし、
デバッグモードでデバッグアウトプットレベルを下げても所詮はデバッグモードだかkら
そういったソフトは動かないし…困った。

138 :デフォルトの名無しさん:2001/08/15(水) 20:57
>>134-136 VCからmdpファイル読みこんで出来ました。

139 :デフォルトの名無しさん:2001/08/15(水) 21:04
まあ、それはDirectXでゲームを作るときの注意事項その1ですな。

140 :デフォルトの名無しさん:2001/08/15(水) 21:05
>>137
最初はデバッグビルドで作るけど、最終的にはリリースビルドが
普通だと思うけど、俺なんか違うこといってる?
具体例きぼーん

141 :137:2001/08/15(水) 22:14
>>140
あ、いや、自分のソースのビルドの話ではなく、DirectXの方です。
インストール時に選ぶじゃないですか。デバッグ用は開発にはいいけど遅い、とか警告がでて。
でもデバッグモードだとローグスピアの音声が変になったりとか
ゲームをやる段では色々問題がありまして。

142 :デフォルトの名無しさん:2001/08/15(水) 22:17
>>140
DirectXランタイムのことなんじゃないの?
リリースビルドとデバッグビルドの話じゃなくて。
勘違いだったらごめん。

>>121
DirectX本におすすめはかなり少ない。というかないかも。
その目的だと、強いていえば
「3Dネットワークゲームプログラミングガイド」
http://www.shuwasystem.co.jp/books/wwwsrch/cgi-bin/content/0081/index.htm
この辺かな?立ち読みしただけですが。
自分は買ってまで読む本じゃないと思った。

それより
C:\mssdk\samples\Multimedia\Demos\Donuts3D
この辺とかはどうよ。ただだし。

143 : :2001/08/16(木) 01:39
ランタイムの切り替えは DX8から簡単になってると思うが?
コントロールパネル内からいけるよ

144 :140:2001/08/16(木) 01:51
あーやっぱり勘違いだったか。逝って来ます。
その前にDirectX8はDirectDraw以外ならコントロールパネル内の
DirectXからデバッグ/リリースが切り替えられると思います。

145 :137:2001/08/16(木) 04:52
>>143,>>144
ありがとう、できました。
やはりローグスピアにしてもパーティーズブレイカーにしても(藁)
リリースにすると巧く動作する…。ツメが少し甘いのでは〜

146 :デフォルトの名無しさん:2001/08/16(木) 09:11
リリースとデバッグの違いって何があるの?
おれリリースでしか組んでないんだけど。

147 :デフォルトの名無しさん:2001/08/16(木) 10:38
>>142 ありがとうございます。良スレあげ

148 :デフォルトの名無しさん:2001/08/16(木) 16:42
>>146
OutputDebugStringsしてくれるんだわ。

149 :デフォルトの名無しさん:2001/08/16(木) 17:06
>>148
OutputDebugString[s]
そんなAPIは無いという突っ込みはOK?

150 :デフォルトの名無しさん:2001/08/16(木) 17:08
>>149
リリースビルドでもデバッガが動いていれば
OutputDebugStringで情報が表示されることを突っ込む方が先だろ

151 :デフォルトの名無しさん:2001/08/16(木) 17:16
>>149
それ、コンパイラによく怒られる(^^;;

>>150
そなの?そう言うことだと思ってたよ‥‥。不勉強逝ってよし。うぐぅ‥‥

152 :デフォルトの名無しさん:2001/08/21(火) 15:23
Directx8.0ではDirect3DとDirectDrawが統合されて
DirectX Graphicsになったはずですが
ヘルプやその他Directx8関係のHP「3Dネットワークゲーム」とかい
う本でも堂々とDirect3Dが使ってあって
混乱します。やっぱりDirect3Dは廃止されてないってことですか?
だったらDirectXGraphicsってなに?すごい混乱してるんで、馬鹿とか言わずに教えてください。

153 :140:2001/08/21(火) 15:28
>>152
Direct3DIMとDirect3DRMは廃止されたけど、インターフェイスでは
Direct3D8〜って感じでDirect3Dの名前が残ってるよね。
そんなもんです。別にそれほど気にすることはないかと。

154 :152:2001/08/21(火) 15:49
なるほど、名前だけってことですか?しつこいようですが
ヘルプにある
DirectX Graphics の機能
Microsoft® Direct3D® は、Microsoft Windows®
搭載のコンピュータ上で世界に通用するゲームやインタラクティブ 3D グラフィックスを
使えるようにすることを目的に設計されている。
3D ビデオディスプレイ ハードウェアへのデバイスに依存した
アクセスを、デバイスに依存しない方法で行うことができる描画
インターフェイスである。

っていうのは、Direct3Dがまだあるって読めてしまうんですけど、
Direct3DイコールDirectXGraphicsととっていいってことですか??

155 :152:2001/08/21(火) 15:52
そこらへんがしっくりこないので・・・

156 :デフォルトの名無しさん:2001/08/21(火) 16:16
要するに、統合すると言いながら
単にDirectDrawを抹殺しただけのMSはクソってことです。

とか言ってみるテスト

157 :デフォルトの名無しさん:2001/08/24(金) 12:41
うーん、そうですか、ありがとうございます

158 :デフォルトの名無しさん:01/08/26 09:28
>>113
DirectX実践プログラミングの加算合成もバグだね。

159 :デフォルトの名無しさん:01/08/26 18:38 ID:4LTRxqK.
DirectSoundでWaveMapperを指定した時(デバイスのLPCGUIDにNULLを渡した時)
実際にマッピングされたデバイスの情報を取得する方法を求む。
とりあえずデバイス名が取得できれば良しとする。
まぢ困ってます、知ってる方いたらプリーズ

160 :159:01/08/26 18:40 ID:4LTRxqK.
しまった、age忘れた。ageなきゃ誰も答えてくれんだろう。
ってことでage

161 :デフォルトの名無しさん:01/08/26 19:15 ID:W5V7B8q.
DX7のスプライトを使って画面の奥方向に傾いている表現(台形のようになる)をしたいのですが
D3DXDrawSprite3Dだと貼り付けているテクスチャーがおかしな形に歪んでしまいます。
DrawPrimitive( D3DPT_TRIANGLESTRIP, D3DFVF_LVERTEX...)のような描画ができて、
なおかつ表示位置を画面上のドットで指定する方法はないでしょうか。

162 :manse-:01/08/26 19:46 ID:c1OCf.yw
IDirect3D8::GetAdapterDisplayMode でリフレッシュレートが
なぜか0としか返ってこないんですがなんででしょうか…?
リフレッシュレートをデフォルト以外の周波数に設定していても
同じみたいです…
あとIDirectDraw7::GetDisplayMode だと0の変わりにどんな
周波数でも60(Hz)としか返ってきません…
誰か教えて下さいぃぃ

163 :デフォルトの名無しさん:01/08/26 19:51 ID:r9kv7gys
>>162
この辺参照
http://piza.2ch.net/tech/kako/972/972165437.html

164 :manse-:01/08/26 20:13 ID:c1OCf.yw
>>163
レス有難う御座います
実はそのスレッドは既に読んだんですが、結局リフレッシュレートは
自分でVSYNC信号から計測する以外知る方法は無いんでしょうか…?
あとGetDisplayModeでリフレッシュレートを調べられない事について
SDKのヘルプに書いてないみたいなんですがみんなそのことを前提に
してプログラムしてるんでしょうか…?
どうか教えてくださいぃぃ…

165 :デフォルトの名無しさん:01/08/26 21:16 ID:r9kv7gys
リフレッシュレートを強制設定することもできないし、
取得したリフレッシュレート自体も信用しない方向性でいかねばならないということ。
それが前提。

それを知った上でどうするかが問題。

166 :manse-:01/08/26 21:45 ID:GXjyi/9M
>>165
うー…ん、そうですか…。どうも有難う御座います…

167 :デフォルトの名無しさん:01/08/27 13:29 ID:q21zzpHo
よっしぃんさんとこにも解説記事があった
http://www2.tky.3web.ne.jp/~yosshin/memo/010815.html

NT系でtimeGetTimeはダメみたいな誤情報があったけど書き直されてたので、
ようやく紹介できる

168 :[kimuchi]manse-:01/08/27 17:18 ID:e.3xNWR.
>>167
うはあぁぁぁぁ!有益な情報有難うございます!

169 :デフォルトの名無しさん:01/08/27 21:02 ID:HXrloQsc
DX8SDKつかってるんですが、
DirectDrawCreateExを使うとビルド時にエラーがでます。
なぜなんでしょうか??

170 :デフォルトの名無しさん:01/08/27 22:11 ID:IqBhMycA
DX8VBのCD3D8FrameやCD3D8Mesh、D3D_Util関数群の詳しい日本語の参考資料ってありませんか?
VB MAGAZINE5月号記載のシューティングゲームプログラムを元に作られた多階層フレームの多関節ロボット稼動プログラムで、テクスチャ読込メッシュのライティング処理ができなくて困ってます(;_;)

171 :デフォルトの名無しさん:01/08/27 23:01 ID:MEaR4JZA
>>170
ステートじゃないの?
SetRenderState( D3DRS_LIGHTING, FALSE)とか。

172 :ビルゲイヅ:01/08/28 16:36 ID:OtMyE66U
ほんと初心者な質問で申し訳ないですが
DirectX Graphicsだとディスプレイの解像度を変えるメソッドが
用意されてないみたいですが、Win32APIのChangeDisplaySettingsを
使えという事なんでしょうか・・・?
あと協調レベルに関して設定するメソッドも見つからないんですが
そこのところどうなってるんでしょうか・・・?
わかる方いましたらどうかお願いします・・・

173 :デフォルトの名無しさん:01/08/28 17:15 ID:2i5VZtz6
>172
サンプルのd3dapp.cppを読みなされ

174 :ビルゲイヅ:01/08/28 18:37 ID:cel/Dsaw
>>173
レスどうも
・・・今読んでます・・・うーん、なかなか何処で解像度を変えてる/協調レベルの
設定をしているのか見つからないです・・・。もうちょっと頑張ってみます・・・

175 :デフォルトの名無しさん:01/08/28 19:07 ID:DwbZUWmA
どうでもいいけど、ChangeDisplaySettingsってウインドウとかアイコンの配置を
バラバラにしてくれるから正直ゲーム目的では使ってほしくないよ。
あのAPI封印してほしいくらいだよ。

176 :ビルゲイヅ:01/08/28 19:36 ID:6hWcQqcI
>>175
晩飯食べないで頑張ってるのに見つかりません・・・
後生ですから何処らへんで設定してるのかだけでもかまいませんから
教えて下さいぃいいいぃい・・・

177 :ビルゲイヅ教えて:01/08/28 20:13 ID:Gl4gwcpA
解像度を変更する方は分かりそうで試してる所ですので
出来れば協調レベルがどうなってるのか誰でもいいですから
頼みますから教えて下さい下さい下さいぃぃ

178 :デフォルトの名無しさん:01/08/29 01:02 ID:Mf58huQg
ビルゲイヅなのかビルゲイヅに教えを請うてる人なのかはっきりしてください。

179 :170:01/08/29 11:13 ID:pM4wIep.
>>171
回答ありがとうございます。
レスが遅くなって大変申し訳ありませんでした。

ステートを調べて見たのですが、
コードモジュールD3dutil.bas内の関数Public Sub D3DUtil_SetupDefaultScene()で、
>With g_dev
> Call .SetRenderState(D3DRS_AMBIENT, &H10101010)
> Call .SetRenderState(D3DRS_CLIPPING, 1) 'CLIPPING IS ON
> Call .SetRenderState(D3DRS_LIGHTING, 1) 'LIGHTING IS ON
> Call .SetRenderState(D3DRS_ZENABLE, 1) 'USE ZBUFFER
> Call .SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD)
>End With
と記述されているので、多分ステート以外の設定だと思いますが、未だに原因がつかめていません(T-T)
関数D3DUtil_SetupDefaultSceneを通っていない可能性も考えましたが、デバッグモードによりこの関数を通っていることも確認済みです。

180 :ピルゲイツ:01/08/29 13:33 ID:2qJ58q1c
>>178
同一ゲイツです。

IDirect3DDevice8::Resetでフルスクリーンモードを指定すれば
バックバッファに設定したサイズの解像度に勝手に変わってくれる
みたいなのが分かりましたが、フルスクリーンモードにしないで
解像度だけ変える方法はないんでしょうか・・・?
教えて教えて教えて下さい下さい下さいぃぃ

181 :[kimuchi]manse-:01/08/29 17:13 ID:VrH2Umpg
DirectXの質問じゃなくて悪いんですが、
リフレッシュレートを計測するプログラムを実行してみたんですが
まともな値が返って来やがりません…(誤差-5〜-20位)。
↓何処か変でしょうか…?

UINT CountRefreshrate(UINT CountSec){
DWORD begintime;
DWORD refreshrate = 0;
TIMECAPS tc;
timeGetDevCaps( &tc , sizeof(TIMECAPS) );
timeBeginPeriod( tc.wPeriodMin );

for(;;) if((_inp(0x03da) & 0x08)) break;
for(;;) if(!(_inp(0x03da) & 0x08)) break;
begintime = timeGetTime();
while((timeGetTime()-begintime)<(CountSec*1000)){
for(;;) if((_inp(0x03da) & 0x08)) break;
for(;;) if(!(_inp(0x03da) & 0x08)) break;
refreshrate++;
}
refreshrate /= CountSec;
return refreshrate;
}

182 :[kimuchi]manse-:01/08/29 17:14 ID:VrH2Umpg
インデントが…

UINT CountRefreshrate(UINT CountSec){
 DWORD begintime;
 DWORD refreshrate = 0;
 TIMECAPS tc;
 timeGetDevCaps( &tc , sizeof(TIMECAPS) );
 timeBeginPeriod( tc.wPeriodMin );

 for(;;) if((_inp(0x03da) & 0x08)) break;
 for(;;) if(!(_inp(0x03da) & 0x08)) break;
 begintime = timeGetTime();
 while((timeGetTime()-begintime)<(CountSec*1000)){
  for(;;) if((_inp(0x03da) & 0x08)) break;
  for(;;) if(!(_inp(0x03da) & 0x08)) break;
  refreshrate++;
 }
 refreshrate /= CountSec;
 return refreshrate;
}

183 :デフォルトの名無しさん:01/08/29 17:33 ID:GnfmfSsI
>_inp(0x03da)
これって環境依存っぽくない?

184 :デフォルトの名無しさん:01/08/29 17:37 ID:GnfmfSsI
>>180
IDirectDraw::SetDisplayMode;

ChangeDisplaySettingsもあるけど>>175にある理由から推奨できない

185 :[kimuchi]manse-:01/08/29 17:40 ID:VrH2Umpg
>>183
う、ちょっと_inp(0x03da)の変わりにIDirect3DDevice::GetRasterStatusで
書き直してテストしてみます...

186 :[kimuchi]manse-:01/08/29 17:57 ID:Zzw.zIUo
さっきよりはマシになりましたけどやっぱり
誤差がかなりあります…(-10Hz前後位)
実際にゲームを作ってる人はどうやって計測してるんでしょう…?あぁぁ…

UINT CountRefreshrate(UINT CountSec){
  DWORD begintime;
  DWORD refreshrate = 0;
  D3DRASTER_STATUS rstat;
  TIMECAPS tc;
  timeGetDevCaps( &tc , sizeof(TIMECAPS) );
  timeBeginPeriod( tc.wPeriodMin );
  for(;;) { lpD3DDEV->GetRasterStatus(&rstat); if(rstat.InVBlank) break; }
  for(;;) { lpD3DDEV->GetRasterStatus(&rstat); if(!rstat.InVBlank) break; }
  begintime = timeGetTime();
  while((timeGetTime()-begintime)<(CountSec*1000)){
    for(;;) { lpD3DDEV->GetRasterStatus(&rstat); if(rstat.InVBlank) break; }
    for(;;) { lpD3DDEV->GetRasterStatus(&rstat); if(!rstat.InVBlank) break; }
    refreshrate++;
  }
  refreshrate /= CountSec;
  return refreshrate;
}

187 :[kimuchi]manse-:01/08/29 19:15 ID:GFrMMkfo
mp3を再生しながら計測していたのがいけなかったみたいでした。
再生を止めて計測したら誤差-3Hz以内に収まりました

188 ::01/08/29 20:05 ID:zTMHlIeQ
>>179
自分はVBは門外漢なので、的確なアドバイスは出来ないと思うけど、
まずは、メッシュの頂点フォーマット。ちゃんと法線が含まれているか?
頂点色はマテリアルなのら、ちゃんとマテリアルはセットされているか?
それともFVFに含まれるやつなら、それに合わせてステートを変更しているか?
あと、D3DDeviceには、ライトをアクティブにさせるメソッドがあったはず、これはどうか?
こんぐらいかなあ?

189 :ピル゚ゲイ゚ツ゚:01/08/29 23:15 ID:bf9.0QUQ
>>184
DirectDrawだとディスプレイアダプタを選択出来ないのですが
選択する方法はあるでしょうか・・・
DirectDrawCreateの最初の引数で目的のアダプタドライバのGUIDを
入れれば出来そうですがそのGUIDを取得する方法がわかりません・・・
どうかお願いします・・・

190 :デフォルトの名無しさん:01/08/30 01:56 ID:YEMO5.RY
>>188

timeGetTime()はなんだかんだ言ってもぁゃιぃので、
PerformanceCounter使うべし。
できればクロック計測後にrdtsc命令でやった方が誤差が出ない。

191 :[kimuchi]manse- :01/08/30 02:29 ID:zgvSnoZM
>>190
自分へのレスですよね…?アドバイス有難うございます
とりあえず試してみます

192 :190:01/09/01 05:29 ID:jNF.zKm2
>>191
そう。なんで>>188って書いてるんだ、俺?

ついでに
>>189
DirectDrawEnumerate()すれば?

193 :デフォルトの名無しさん:01/09/01 05:57 ID:zvbIgHe6
斜めスクロールのやりかたきぼんぬ。

194 :デフォルトの名無しさん:01/09/01 06:13 ID:1DtRZ1Hg
縦と横ができりゃ斜めもできるっしょ。

195 :夏春都:01/09/01 06:44 ID:D.ABUc5s
ここに書き込めばいろいろ作ってもらえますよ!
丁寧に頼むのがコツです!!

http://isweb8.infoseek.co.jp/computer/bbx/cgi-bin/bbx.cgi

196 :デフォルトの名無しさん:01/09/01 08:19 ID:1DtRZ1Hg
>>195
やめれ。ある意味最後の砦なのに。

197 :デフォルトの名無しさん:01/09/01 13:01 ID:.mOGTW5.
>>193
まだできねぇのか(藁

198 :デフォルトの名無しさん:01/09/01 13:43 ID:.x5tGM/g
>>195
最悪。
ていうか来るな。
プログラムやめろ。

199 :デフォルトの名無しさん:01/09/01 20:34 ID:jNF.zKm2
>>196
BBXなくなってもまだBio100%があるぞ。
つーか>>159で質問してるの俺なんだが、
誰か知らないか? かなり困ってるんだが。

200 :デフォルトの名無しさん:01/09/01 20:39 ID:9O/qUJsc
>BBXなくなってもまだBio100%があるぞ。
俺の心の中では既に終了認定している。

201 :193:01/09/01 20:50 ID:E8SX09Ro
一般人からも叩かれオタッキー野郎からも叩かれる俺は何?
ヒッキーなのか?もう嫌だ暴れてやる。
鬱だ死のう・・・

202 :193:01/09/01 20:54 ID:E8SX09Ro
ったくなんであんなアニオタ野郎から怒られないといかんのだ。
こっちは必死で我慢してんのに。マジでシバキ倒して再起不能に
してやりてえ。あ〜むかつく氏ね。

203 :193:01/09/01 20:58 ID:E8SX09Ro
もう俺ドキュソでいいよ。
土方やるから。っていうかそれしか仕事ないし・・・

204 : :01/09/01 21:06 ID:6wEGDcFE
今日のIDに乗せられてDirectX始めました。
ところでいろいろとサンプルを動かしていく中で、
射影行列という言葉が出てきたのですが、
これってどういう意味なんでしょうか?

205 :デフォルトの名無しさん:01/09/01 21:27 ID:q81TAzjE
>204
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_the_projection_transformation_graphics.htm

206 : :01/09/01 22:07 ID:6wEGDcFE
>>205
ご丁寧にすみませんねぇ。
単位行列を高校時代の参考書引っ張り出して確認してるレベルな
もんで、なかなか理解が進みません。
初めて数学コンプレックスを自覚してます。

207 :デフォルトの名無しさん:01/09/02 07:00 ID:GgUo8/bg
射影行列が何かっていったら、「ビューボリュームを立方体に直してやる」変換に使う行列。

行列の中身なんぞほっといて、概念とかを言葉で説明できるようになっておいた方がいい。
そうでなければ受験でもないかぎり覚えないし、覚えたとしても応用利かない。
実際、座標の取り方で射影行列が全く変わってくるんよ。

208 :207:01/09/02 08:47 ID:GgUo8/bg
ちっと、ちがうか。

「ビューボリュームを立方体に直す」変換が射影変換で、これには中心投影と平行投影がある。
でもって、そのどっちでも良いから、とにかく射影変換に使う行列が射影行列。

と、オイラは覚えているよ。

209 : :01/09/02 13:56 ID:Y5uOkXVQ
>>207
ありがとうございます。
ところで疑問なのですが、例えばシューティングゲームなどで、
敵キャラが出てきたらそのたびにVertexBuffer作ってロックして
行列変換してってやるんですよね?ミサイルなんかもそうやるのでしょうか?
行列変換はループのなかで一回やるだけでいいとしても。
なんか慣れてない用語が山のように出てきて戸惑ってますw
気分を害するような勘違いがあれば指摘して欲しいです。
よろしくお願いします。

またみなさんどれぐらいのスペックのマシンで開発してますか?
やっぱりプロの人はいいものつかってるのでしょうか?

210 :[kimuchi]manse-:01/09/02 15:25 ID:dHgZ9kug
>>192
すごく遅レスになりますが…
とりあえずパフォーマンスカウンタとタイムスタンプカウンタで
以前に書いたのと同じ方法で、何秒間か垂直帰線の発生する数を数えて
カウントした秒数で割るという方法を試してみたのですが、ウチの
環境ではあまり精度は変わりませんでした…。どうもタイマーの精度の
問題ではなかったようで…。ただ、70回程垂直帰線の間隔を取ってそれを
リフレッシュレートにして、一番同じ数が多かったものを選択したら
timeGetTime()だと1割位の割合で変な数が出る以外大体誤差±2Hz位に
収まるようになり、パフォーマンスカウンタ、タイムスタンプカウンタ
ならほぼ100%誤差±1Hz以内でリフレッシュレートを求める事が
出来ました。
DirectXと関係の無い話長々とすいませんでした…

211 : :01/09/02 19:40 ID:XX.PwXlU
VertexBufferは最初にまとめて1回作るんだよ。
キャラクター毎にVertexBufferを作っておく
中身を書き換えるような事は極力してはいけない。したがってLockもしない
(頂点データーも書き換えるようなエフェクトを実装する場合は例外)

212 :デフォルトの名無しさん:01/09/02 20:27 ID:zNUtPRHU
ちょっとお聞きします。
googleツールバーを他のアプリから呼び出すには
COM経由で呼び出すと機器ました。
そんことってできるのですかぁ?
できるなら、凄いですよね?
凄いなぁ。

213 :204:01/09/02 20:34 ID:Y5uOkXVQ
>>211
あ、そうなんですか(汗
よく考えたらそうですよね。
ところで
> 頂点データーも書き換えるようなエフェクト
これってアメーバーのように変体するオブジェクトを表現する
のに使われるのでしょうか?

ところで皆さん、思い描いた図形をすぐにベクトルへ頭のなかで
変換とかできるんですか?これって自分にはかなり辛いです。
慣れの問題なのかな?それとも単にセンスがないだけなのか・・・

X-BOX発売までにゲームをひとつ作りたいなんて思ってますが、
ハードルがいくつもありそうですね。

寺田文行の参考書『代数幾何』、高校生の時はさっぱり
分からなかったのに今だとスラスラ理解できる。なんだかなぁ。
ま、勉強始めるのに年は関係ないかと自分を慰めてますw

214 :メロン:01/09/02 20:37 ID:CarNkN.k
モジヲ ヘンカンシヨウトスルト IEXPLOREガ ゲンインデ
 エラーガ ハッセイシマシタ。IEPLOREハ シュウリョウシマス。 モンダイガ カイケツシナイバアイハ コンピューターヲ
 サイキドウシテクダサイトデマス サイキドウシテモ モンダイハカイケツシマセン ダレカタスケテ

215 :デフォルトの名無しさん:01/09/02 20:39 ID:G96xcqig
>>212
すごいですね。

>>214
シリマセン

216 :_:01/09/02 20:45 ID:BQI6Ch6c
>>213
ハードルは後67個ぐらいあるよ
ガムバッテ

217 :204:01/09/02 20:55 ID:Y5uOkXVQ
>>216
あと発売まで4ヶ月ぐらいですが何とか一つ仕上げたいと思います
ガンバリマス

218 :204:01/09/02 23:07 ID:GgUo8/bg
あー、211に補足。

たとえば、同じキャラクタが何匹もいるとき。たとえばゾンビの集団でいいや。
ゾンビの一体一体それぞれに、VertexBufferを確保するんじゃなくて、全てのゾンビで一つのVertexBufferを共用する。

ま、こんなに偉そうに書くようなことではないんだけど一応ね。

219 :204:01/09/02 23:44 ID:Y5uOkXVQ
>>218
ありがとうございます。
そういったテクニックなんかはどこでネタを仕入れているのですか?
極々基本的なものだけでもいいから知りたいと思います。
つーか、まずはサンプルを完全に理解してからだけど。。

こんな本参考になるんでしょうか?
http://www.amazon.com/exec/obidos/ASIN/1584500492/qid=999440768/sr=8-2/ref=aps_sr_b_1_2/102-9919407-4912155
http://www.amazon.com/exec/obidos/ASIN/1584500549/qid=999440768/sr=8-1/ref=aps_sr_b_1_1/102-9919407-4912155
sorenishitemo takai desu・・・

DirectXに特化したことが知りたいのでアセンブラでどうこうとかいった
話はあまり興味がありません。というか作れません(泣
何かよい本、もしくはよいサイト(こっちのほうがうれしかったり^o^;)
をご存知でしたら教えて頂けないでしょうか?
基本的には3Dアプリを考えています。よろしくお願いします。

今月中にはキャラクタの作成とインターフェイスの取り決めまで、
やりたいなぁ。。

220 :デフォルトの名無しさん:01/09/03 12:52 ID:W16CWBbg
>>193
ほれ。見れ。


まず、画面サイズは、640x480とする。

#define SDCREEN_WIDTH 640
#define SDCREEN_HEIGHT 480

// Global
POINT ptBase; // スクロール基準点
LPDDSUF lpWall; // スクロールさせる壁紙サーフェイス

DrawWall()
{
 RECT rt;
 // 左エリア
 if( ptBase.x > 0){
  // 左上
  if( ptBase.y > 0){
   SetRect( &rt, 0, 0, ptBase.x, ptBase.y);
   // BltFast等の描写
  }
  // 左下
  if( ptBase.y <= SDCREEN_HEIGHT){
   SetRect( &rt, 0, ptBase.y, ptBase.x, SDCREEN_HEIGHT);
   // BltFast等の描写
  }
 }
 // 右エリア
 if( ptBase.x <= SDCREEN_WIDTH){
  // 右上
  if( ptBase.y > 0){
   SetRect( &rt, ptBase.x, 0, SDCREEN_WIDTH, ptBase.y);
   // BltFast等の描写
  }
  // 右下
  if( ptBase.y <= SDCREEN_HEIGHT){
   SetRect( &rt, 0, ptBase.y, ptBase.x, SDCREEN_HEIGHT);
   // BltFast等の描写
  }
 }
}

221 :デフォルトの名無しさん:01/09/03 14:22 ID:y/7mtwuA
ていうか、昔そのまんまのスレがたったよね。

222 :デフォルトの名無しさん:01/09/03 15:25 ID:W0SXXXpE
>221
これかな?絵に描いたような駄スレだが
http://www.google.com/search?q=cache:l2Z6hbwb8Rw:piza.2ch.net/tech/kako/991/991415593.html

223 :204:01/09/04 02:02 ID:THUfbr9I
ワールド、ビュー、射影のそれぞれのトランスフォームで
図形をぐりぐりイジッてたら気持ち悪くなってきた。もう寝ます・・・

224 :デフォルトの名無しさん:01/09/09 16:30
まったくの初心者質問かもしれないけど、
GDIしか使わなかったらDirectXがインストールされていなくても
コンパイルと実行ファイルの動作に問題ないのだろうか。

225 :デフォルトの名無しさん:01/09/09 17:32
本読みながらここまで何とか作れましたが
CreateDeviceのところで蹴られます
http://www.interq.or.jp/blue/solomon/test.cpp
どこを直せばよいでしょうか?

226 :デフォルトの名無しさん:01/09/09 18:24
根本的な解決手段ではないけど(w
//  d3dppApp.FullScreen_RefreshRateInHz = 60;

227 :デフォルトの名無しさん:01/09/09 18:29
d3dpp.FullScreen_RefreshRateInHzは60じゃなくて
D3DPRESENT_RATE_DEFAULTにする。
後はバックバッファのフォーマットをいろいろ変えてみ?
古いVoodooはD3DFMT_X8R8G8B8じゃ駄目とかいろいろある。

228 :デフォルトの名無しさん:01/09/09 18:58
>>227
ありがとうございました

本の丸写しではやっぱりだめですね
もっと勉強してこれからも頑張ります

229 :デフォルトの名無しさん:01/09/09 20:17
>224
DirectXのヘッダーやライブラリを組み込んでても、
実行時に実際にDirectXを使わなければインストールしてなくても
プログラム自体は問題なく動く(or起動する)ことを期待しているわけか?

230 :デフォルトの名無しさん:01/09/10 08:58
んーっと、初めて DirectX で音鳴らしてるんだけど、DirectX Audio で MP3 とか Ogg とか鳴らしたいときは DirectSound 使うしかないのかな?

google と BBX 漁り中‥‥

231 :デフォルトの名無しさん:01/09/10 09:55
>>229
まさにその通りの質問です。
すごく分かりやすい書き方・・・、自分の説明力のなさが・・・鬱氏。

232 :一3D初心者:01/09/10 14:42
DirectX8.0で「有理Bスプライン面/曲線」「パラメトリック面/曲線」のメッシュを作成したいのですが、HELPや書籍を調べてもわかりませんでした(高次元プリミティブの設定のところで「有理Bスプラインを有効にする」という設定があるのは確認しましたが)。
どなたか御教授お願いいたします。

233 :デフォルトの名無しさん:01/09/16 23:39
Direct X7の質問です。
IDirect3DDevice7::SetTextureにて、注意書きに
>このメソッドは、割り当てられているテクスチャ サーフェスの参照カウントをインクリメントする。
>テクスチャが不要になった場合は、該当するステージのテクスチャを NULL に設定しなければならない。
>これを行わないと、サーフェスが解放されずメモリ リークが発生する。
とありますが、これの意味がいまいちよくわかりません。
サンプルを見ても、特に気をつけているとは思えないし・・・

開放する手順を具体的に言うと、該当するステージのテクスチャを NULL に設定したあと、
開放するテクスチャのサーフェスを(参照カウントがインクリメントされた分)なんどもReleaseしろってことなのでしょうか?

234 :デフォルトの名無しさん:01/09/16 23:49
http://www.interq.or.jp/blue/solomon/test.cpp

テクスチャにbmpを貼り付けて2D表示する場合256×256以下の
大きさ意外は扱えないらしいのでbmpを2枚に分けて
2つのテクスチャで表示させたのですが継ぎ目の部分が
おかしく表示されます
DirectX8でスプライトを使用して640×480のような
大きいサイズのbmpを表示させることはできないのでしょうか?

235 :デフォルトの名無しさん:01/09/17 01:40
>>233
DirectX8だと勝手に参照カウントをデクリメントする旨の表記があるんでDX7も同じなんじゃないの?
心配ならデバッグモードでメモリリークがあるか調べてみるとか。

236 :233:01/09/17 02:29
>>235
えぇ?
参照カウントをデクリメントしちゃうんですか?
そりゃ大変だ・・・やばいですね。
コードの大幅な修正が必要かも・・・。
がんばって修正してみます。

237 :デフォルトの名無しさん:01/09/17 04:06
>2>33
SetTextureにNULLを設定するということは
テクスチャを開放する(release)するという意味なのよ。
ReleaseTextureというメソッドを設ける代わりに
NULLを渡すって方法にしたの。
当然NULLを渡せば、参照カウントはデクリメントされる。

238 :デフォルトの名無しさん:01/09/17 20:30
>>234
D3DXCreateTextureFromFileEXを使いましょう

239 :デフォルトの名無しさん:01/09/18 00:04
>>232

> DirectX8.0で「有理Bスプライン面/曲線」「パラメトリック面/曲線」の
> メッシュを作成したいのですが、HELPや書籍を調べてもわかりませんでした
> (高次元プリミティブの設定のところで「有理Bスプラインを有効にする」
> という設定があるのは確認しましたが)。
> どなたか御教授お願いいたします。

三角形分割をハードウェアにやらせるなら
矩形パッチの制御点情報を頂点バッファに入れてDrawRectPatch()らしい。
Microsoftのドキュメントは頂点バッファのフォーマットに関する記述が
抜けているけど、とりあえずベジェとか3次スプラインの曲面なら最低限
(D3DFVF_XYZ)さえ入れておけば理屈では足りる気がする。

Nervous局面は知らないのでパス。

nVidiaやATIのサイトに行けばサンプルコードか何かが見つかる気がする。

240 :デフォルトの名無しさん:01/09/18 00:44
曲面はGEFORCE3がないとダメだよ
有理はサポートしてない

241 :デフォルトの名無しさん:01/09/18 02:45
BCC++5.5でDX8使えますか?
ビルドの時にどうしても
Error: 外部シンボル 'Direct3DCreate8' が未解決
ってでるんですが…。

242 :デフォルトの名無しさん:01/09/18 04:33
>>241
ぷよぉんのページ検索しとけ。

243 :デフォルトの名無しさん:01/09/18 11:55
>>242
検索しましたけど、それらしき情報が見つかりません(泣

244 :デフォルトの名無しさん:01/09/18 13:27
>>243
出るやん
http://www.google.com/search?hl=ja&q=%82%D5%82%E6%82%A7%82%F1&lr=

245 :デフォルトの名無しさん:01/09/18 16:03
>>244
そのページ内にBCC++で使うための情報が見つけられませんでした…。

246 :241:01/09/18 16:33
というか自己解決。スミマセンスレ汚しましたゴメンナサイ(;´Д`)

247 :初心者:01/09/21 16:48
すみません、DirectDrawについて教えてください。
ウィンドウモードでのフリップのタイミングは何に依存するのでしょうか。
フルスクリーンモードでは自分でコントロールできるのですが。
リフレッシュレートですか?

248 :デフォルトの名無しさん:01/09/21 17:13
>>247
SDK のドキュメント読みましょうよ

IDirectDrawSurface7::Flip の「注意」のセクションから抜粋
> IDirectDrawSurface7::Flip メソッドは、常に垂直帰線消去と同期する。サーフェスがビデオ ポートに
> 割り当てられていると、このメソッドは表示状態のオーバーレイ サーフェスおよびビデオ ポートの
> ターゲット サーフェスを更新する。

あと、ウィンドウ表示のときには複合サーフェイスを作らず、オフスクリーンサーフェイスとして
作ったバックバッファからプライマリサーフェイスに Blt するのが一般的だと思います。SDK
のサンプルもそうなってますよね。

249 :デフォルトの名無しさん:01/09/22 07:32
>>247

平たく言えば、ウィンドウモードの場合

『画面更新のタイミングは自分で取る』

ってことさー。
リフレッシュレートと同期とるなら、環境にもよるけど
WaitForVerticalBlank()やGetScanLine()とか使って。
使えない場合は適当にやって。

あとは、こんなん参考にして↓
http://piza.2ch.net/tech/kako/972/972165437.html
http://piza.2ch.net/tech/kako/969/969984472.html

250 :デフォルトの名無しさん:01/09/22 11:11
WINDOWモードでVSyncって検出できるの?
出来ないと思ったが、、、、

251 :デフォルトの名無しさん:01/09/22 11:52
どなたか、頼みます。
MS-DOSプロンプトでキーボードの「enter」キーと同じ動作をする
コマンドを教えてください。
お願いします。

252 :デフォルトの名無しさん:01/09/22 12:18
>>251
ん? echo. のことか? つーかスレ違い

253 :251:01/09/22 12:30
>>252
ありがとうございます。
早速、試してみます。

254 :249:01/09/22 15:17
>>250

そうか。

それじゃ、とりあえず実際に試してみて
その結果とグラフィックスカード名を報告して。
そのほうが有意義ってもんだろうよ。

こちらで試したところ

・nVidia GeForce256
・Matrox G400
・ATI RADE ON

はウィンドウモードであろうと垂直帰線同期
を取ることはできたよ。

そっちはどうだい?

255 :デフォルトの名無しさん:01/09/22 18:24
250追い込まれました!
ピンチ!
ニヒルに笑う249!

256 :249:01/09/22 19:43
>>255

あ、誤解しないで。全然そういうつもり無いんで。
>>249でも断ってる通り、実際使えない環境あるんだよ。
だから>>250の反応は当然だよ。

今は手元にないんで確かめられないんだけど、例えば
nVidia RIVA128 とかウサン臭かったような気がする。
不確かだけど。

257 :デフォルトの名無しさん:01/09/23 16:48
age

258 :一3D初心者:01/09/26 13:18
すごい亀レスで申し訳ありません。

>>239
やはり三角形分割でやるしかないですか。
一応その方向で試してみます。

259 :デフォルトの名無しさん:01/09/27 22:05
こちらで質問させてください。
例えばゲームでキャラクターや背景を一つのビットマップにしておいた時、
その一部分のみをスプライトや背景データとして他のサーフェイスに順次貼り付けていくために
なにかビットマップのある一部分だけを転送できる関数があるのでしょうか・・・?
ああ、もう答えてもらえないかな・・・。

260 :デフォルトの名無しさん:01/09/27 22:16
>>259
1. ビットマップ全体を格納するサーフェイスを作る
2. そのサーフェイスからバックバッファに Blt するときに、転送範囲を指定する
 IDirectDrawSurface7::Blt() の第三引数をチェック

で、どうよ?

261 :デフォルトの名無しさん:01/09/27 22:24
>>260
ほほう!
今HELP見てきました。
Blt()とはそういうものだったのか・・・。
BltFast()も見てみたらこれも出来そうですね。
ありがとう!!

262 :デフォルトの名無しさん:01/09/28 04:01
ををっ、このスレらしいレスが付いている。
つか最近、どう考えても鬱氏DX向けのネタばかりが並んでいたような……
「鬱だ死のうDirectX 2」
http://piza.2ch.net/test/read.cgi?bbs=tech&key=966655286&ls=50

263 :デフォルトの名無しさん:01/09/28 04:22
>>262
上級/初心者の区別をつけるガイドラインが提示されていない以上、ごっちゃに
なるのは必然と思われ。2D/3D とか言語で分けるなら明確なんだけどさ。

264 :蛇足:01/09/28 08:18
リンクミスっとったんで。

■鬱だ氏のうDirectX 2
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=997101556

265 :デフォルトの名無しさん:01/09/28 13:29
初級質問から話題が派生することも多いしな。

266 :名無しサソ:01/09/29 06:19
 かなり初心者っぽい質問なので、こちらで・・・

 DirectX7SDKのIMサンプルの中に、Xfileロードの
サンプルがあるけど、これに使われているXファイル
ロード用のCD3DfileObjectって、一つしかChildが
持てないように見えるのは、気のせいですか?

VOID CD3DFileVBObject::AddChild( CD3DFileVBObject* pChild )
{
if( m_pChild )
m_pChild->AddNext( pChild );
else
m_pChild = pChild;
}

と言う感じで、子供がすでに居たら、子供に子供を
作らせてるし。

267 :名無しサソ:01/09/29 06:23
 age忘れ。スマソ。

268 :デフォルトの名無しさん:01/09/29 09:20
DX7SDK入れてないからサンプルが読めないんだけど、
2番目以降の子供は1番目の子供の次に格納するって感じだったと思う。
なので、1つのフレームにつき、1つの子供でオッケー。


|
子供-次-次
|    |
孫-次  孫2-次-次

図、ずれるだろーなー。雰囲気ってことで。
ところで、これ、どのサンプルだろう?
CD3DFielVBObjectなんてあったっけ。

269 :名無しサソ:01/09/29 20:22
>268
 どうもありがとう。CD3DFileVBObjectは
とある人のオリジナルソース(VertexBuffer仕様にしてある)
で、CD3DFileObjectが元の名前です。ゴメソ。

270 :名無しサソ:01/09/29 20:24
 捕捉:よく見てみたら、AddChildじゃなくてちゃんとAddNext
だね。どうも寝ぼけていたらしい・・・・。逝ってきます。

271 :超厨房質問でスミマセンが:01/10/08 15:55
SDK 8にサンプルとしてついてきたbillboard ですが、
実行しようとするとmediaがloadできないと出てしまいます。

パスの設定がまずいかと思い、readme.txtのように
ソースと実行可能〜を設定しまいしたが変わりません。

恥ずかしいほど厨房質問ですが、
どなたか解決策を教えていただけますでしょうか。

実行後のメッセージ(その1を閉じるとその2が出て終了します)

その1
Billboard DSD Billboarding Example
Could not load required media.
Switching to the reference rasterizer, a software device that
implements the entire Direct3D feature set, but runs very slowly.

その2
Could not load required media.
This sample will now exit.

272 :271:01/10/08 15:59
readme.txtによれば
Path
====
Source: MSSDK\Samples\Multimedia\D3D\Billboard
Executable: MSSDK\Samples\Multimedia\D3D\Bin

となっています。

実際billboard.cppを見ると、"Tree02S.tga"などを読み込んでいます。
これはreadme.txtのパス(ディレクトリ)にはないんですけど
これでいいのでしょうか?
「Could not load required media. 」はここらへんに関係しているような・・・?

273 :デフォルトの名無しさん:01/10/08 16:24
それで当たってるよ。
>>271

自力でもう少しソースを追ってみ。簡単だから。

そすると、こんなん出てくるから。後はすぐ分かるから。
DXUtil_FindMediaFile()
DXUtil_GetDXSDKMediaPath()

274 :デフォルトの名無しさん :01/10/08 17:07
directx8のデモサンプルのdonuts3dのLoadShipModel()の中の
g_pShipFileObject = new CD3DMesh();

のg_pShipFileObjectを配列のようにするには
(g_pShipFileObject[0],[1],{2}・・かな?)
ソースをどのように変えればよろしいのでしょうか?

275 :デフォルトの名無しさん:01/10/08 17:21
>274
…もしかしたら思いっきり勉強が足りないんじゃないか?

276 :ポリゴン:01/10/08 17:44
directX8.0/VC++6.0で質問なんですが、
2つ上下にくっついた円柱をある加速度で上下に分離させたいんですけど、
宣言する関数とかが分かりません。
頂点データに加速度を加えるようにするのでしょうか?

277 :271:01/10/08 18:08
>>273
厨房質問なのに答えていただきありがとうございました。
今から再挑戦してみます。

278 :デフォルトの名無しさん:01/10/08 18:22
>>276
IDirect3DDevice8::separateCylinder();
という関数があるのでそれを利用。

頂点データに加速度を与える方法は、
次から店員にマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。

279 :デフォルトの名無しさん:01/10/08 18:55
なんかタイムリー?なので2点ほど質問させてください、よろしくお願いします。

DirectX8で頂点が頻繁に減ったり、動いたりするようなデータを
VBufferで扱うにはどういう方法がベストなのでしょうか?

また↑の上手い方法が思いつかず、結局今はDrawPrimitiveUPを
使ってるのですが、この引数である頂点配列の先頭アドレスとして
std::vectorの情報をなんとか渡す方法ってありますでしょうか?

280 :かなり適当:01/10/08 20:12
>>279

確かめてないけど、こんなんでえんとちゃうの。
え、全然違う?

vector<HOGEVERTEX> v;
DrawPrimitiveUP(D3DPT_TRIANGLELIST,プリミティブ数,(void*)v.begin(),sizeof(HOGEVERTEX));

281 :280:01/10/08 20:14
あ、要素入れるトコは端折っとるよ。

282 :274:01/10/08 20:29
>>274
簡単なことかもしれないけど教えてくださいませ。

283 :デフォルトの名無しさん:01/10/08 20:48
>>280
それって、vector<T>::iteratorがT*な実装限定じゃないの?

284 :ポリゴン:01/10/08 20:51
>>278
この関数の使い方がヘルプにも載っていないのですが??

285 :280:01/10/08 20:57
うん、そういうことだね。

286 :デフォルトの名無しさん:01/10/08 21:05
あー。difference_typeとか忘れてたー。
気の抜けた書き込みでもうすわけね。

287 :276:01/10/08 21:44
分からない〜!

288 :デフォルトの名無しさん:01/10/08 21:55
>>287
ヘルプ古いんじゃない?
http://choco.2ch.net/test/read.cgi?bbs=tv&key=1001857624
に最新のあるURLが書いてあるよ。

289 :デフォルトの名無しさん:01/10/08 22:00
あー、280です。
280のコード確認したらとりあえず動いてるわ。
適当だから細かい事は勘弁して。てことでスマン。

290 :デフォルトの名無しさん:01/10/08 22:14
>>287
ネタだって。
そもそも命名規約守ってないメソッドがあるわけ無いやん

291 :デフォルトの名無しさん:01/10/08 23:28
>>283

ところで、実際のトコを伺いたいんだが・・・
その条件を満たさない開発環境に遭遇するのか?
(orその懸念は実際上有意義なものなのか?)

292 :276:01/10/08 23:39
誰か賢い人いないですか〜?

「directX8.0/VC++6.0で質問なんですが、
2つ上下にくっついた円柱をある加速度で上下に分離させたいんですけど、
宣言する関数とかが分かりません。
頂点データに加速度を加えるようにするのでしょうか?」
と言う質問なんですけど…
知っている方お願いします。

293 :デフォルトの名無しさん:01/10/08 23:45
>>292
賢い人はVCなんか使わない。

294 :デフォルトの名無しさん:01/10/08 23:47
VCはゴミ、Delphi最高!

295 :名無しサソ:01/10/08 23:53
>292
 余計なお世話かも知れないけど、同じ事を二度も書き込むようだと、
厨房と思われて、賢い人は余計にレスをしてくれない。人を馬鹿に
するような書き方は止めたほうがいい。

 そもそも、何を宣言する関数なのか、日本語が意味不明。
2つある円柱を切り離したいのか、円柱の上下を引き延ばしたいのかも
分からない。二つの円柱を動かしたいだけなら、お互いの座標系で
加速度を加えてやればいいはず。物体が複雑に変形するわけでも
無しに、頂点データ云々言っているのであれば、はっきり言って
勉強不足。

 と、ヘタレからの忠告。

296 :デフォルトの名無しさん:01/10/08 23:54
>>292
最初から2つのオブジェクトを作るなり
頂点座標を変更するなりすれば良いだけだが
その程度の事を思いつかないはずはないわけで
結局何が聞きたいのか分からん
座標をいじるだけなら関数云々は関係無い

297 :デフォルトの名無しさん:01/10/08 23:57
Delphiを貶めようとしている人の発言なので反応しないでください。

298 :297:01/10/08 23:58
>>293-294

299 :デフォルトの名無しさん:01/10/09 00:26
>>292

そんなんじゃ駄目だよ。全然詰めが甘い。
http://piza2.2ch.net/test/read.cgi/tech/1002290332/121

300 :278:01/10/09 01:13
               ◎___
            .  //     /
              . // 疎   /
             // 羅  ./
             // 音  /
            // 絵  ./
             // 世  /
       ∧空∧// ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       {´ ◎ `}< >>276の文章は解読できんので賢くはないがソラネーヨ!
      ρ/  / )  \________
    口⊇○   丿
   /"/| /⌒' 丿┐
   ///(_)//┐=3 べべべ〜
   ◎ ̄ ̄ ̄ └◎
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

301 :デフォルトの名無しさん:01/10/09 03:59
>>291
VC.NETは違うらしいし

302 :デフォルトの名無しさん:01/10/09 04:02
某MLから引用

- vector<T>::iterator は T* ではない。

#include <iostream>
#include <vector>
#include <typeinfo>
int main() {
std::cout << typeid(std::vector<int>::iterator).name() << std::endl;
return 0;
}

こいつの結果はVC++6ではint*でしたが、
VC++7では:class std::_Ptrit<int,int,int *,int &,int *,int &>
です。vector<T>::iteartor が T* と仮定しているコードは互換性が
ないのでちうい。

303 :279:01/10/09 12:19
>>280さんや他の皆様
レスありがとうございます、できました!当面の所VC++6以外使う
予定ないので互換性の問題に留意しつつ、これでいかせていただきます。

昨晩必死になって(自宅でネットに繋げれば…)作ってた、
erase()の実装がとっても愉快な自作vectorコンテナを使わずに済むだけで万々歳!です

304 :デフォルトの名無しさん:01/10/09 17:44
>>302
なるほど。知らなかたーよ有難う。

どうしてもデータ配置を配列と同じにしたけりゃ
それ専用のアロケータ用意するのが筋なんだね。

305 :276:01/10/09 21:01
なんかすごい言われよーですね…。
内容が足りなかったのは謝ります。
知りたいのは、ある加速度を持って上下に切り離すやり方です。
やり方と言ってはあれですけど、加速度を頂点データに持たすには??
ということでお願いします。
まだ、足りないようであれば指摘して頂けると幸いです。

306 :デフォルトの名無しさん:01/10/09 21:40
>>305

微妙に煽ってみたり卑屈んなったり忙しい奴だなー。
実を得るために初志を曲げるのはお父さん関心しないぞ。
フラフラしちゃいかん。厨房まっしぐらで頼む。

307 :デフォルトの名無しさん:01/10/09 21:54
>>305
てゆーかあんたがどう言うデータ構造でやってるか全然わからんので
返事のしようが無いというのが本音だ。
一番単純な方法は頂点データを毎回変更すればいいんじゃねーの?

308 :デフォルトの名無しさん:01/10/09 22:05
>>305
http://www.bio100.co.jp/cgi-bin2/directx/flashviw.cgi?no=1721&reno=no
馬鹿?
このスレでも何度も答えが書き込まれているのに、なんで人の話を聞かないの?
迷惑だからプログラムやめろ

309 :デフォルトの名無しさん:01/10/09 22:06
とうとうBioで聞き出したか…。

逝って良し、と

310 :デフォルトの名無しさん:01/10/09 22:14
>>309

BBX(↓ココね)
>> http://isweb8.infoseek.co.jp/computer/bbx/ <<
で聞かなかっただけましだと思われ

311 :デフォルトの名無しさん:01/10/09 22:16
age

312 :307:01/10/09 22:17
>>305
てゆーか既に答えがかいてあるじゃねーか。>>295-296
これで理解できないなら、もう少し基礎から勉強しる

313 :デフォルトの名無しさん:01/10/09 22:18
>>308
リンク先ワラタ

314 :276:01/10/09 23:32
>>312
295-296の内容はわかってます。
だけど、加速度をどうやって出すかが分からないのです。
ある文献には、角度をtimeGetTime()で得てことで回転をさせてる。
速度を得るには??

>>308
答えなんか載ってます?

315 :デフォルトの名無しさん:01/10/09 23:39
>>314
ダメだこりゃ
プログラムを組む前に中学生からやり直してください

316 :デフォルトの名無しさん:01/10/09 23:49
>>314

>>317 一番単純な方法は頂点データを毎回変更すればいいんじゃねーの?

317 :リアル厨房:01/10/09 23:57
>>314

v=v0+atですよ。学校で習いましたよ。

318 :305:01/10/09 23:58
>>314
匿名掲示板で無粋だがあえて聞く。
最終学歴は?理系か文系か?

あるなら物理1Bか2の教科書読んでくれ。

319 : :01/10/09 23:58
悪質なSPAM業者に対する対応を練っています。
ぜひご意見をお聞かせください。
■2ちゃんねらー対悪質SPAM業者
http://kaba.2ch.net/test/read.cgi/news2/1002632468/l50

320 :278:01/10/10 00:00
                      ◎___
                      //     /
                    // 居   /
                    // 場   /
                    // 所  ./
                   // ネ  /
                   // /  ./
                  // ヨ  /
             ∩熊∩/___/
            (´(・)` )<  276に感動した!無視だなんてソラネーヨ!
             ):::::::::(/ゝゝ,ゝゝ,
            /::::⊂二_) JJJJ
         手二|::::::::::::::\__/
   ∩_∩    (;;;;;;;;;;;;;;;;;;;)     
  (3(・)3 )  __<< \\      __  //    ─────
   \  <_丶::::◎>__<:::◎>( ̄ ̄ )二//     ─────
  ┌(__)┐__)┐_(_/⌒ヽ二二_//    ─────
     (ニニニ)_○//(ニニニ)__)二二/      ─────

321 :デフォルトの名無しさん:01/10/10 00:03
>>320
ナニコレ?

322 :276:01/10/10 00:13
>>317,318
そんなことは分かってます。
速度も加速度も時間に依存していますよね?
速度(m/s),加速度もしくは重力(m/s*2)
それ(時間(s))を変数に割り当てる方法が分からないのですが。
>>320
応援ありがとうございます(^^)/~

323 :305:01/10/10 00:18
>>322
Windows起動後のシステム時間をミリ秒単位で返す。
前回の値を記憶しておいて、今回の値との差を取れば時間がでる。
これでいいか?

324 :305:01/10/10 00:19
timeGetTime()の話な

325 :デフォルトの名無しさん:01/10/10 00:44
>>322
はいはい、積分すれば?(NHKスペシャルを見ながら)

326 :デフォルトの名無しさん:01/10/10 07:33
>>322
式変形すれば出来ると思うが・・・

327 :デフォルトの名無しさん:01/10/10 07:38
>>276
速度も加速度も時間に依存しません。
物理の勉強してください。答えはキミが毎回学校のロッカーにしまっている教科書の中にあります。

たしかに、物体にかかる力を地球からの万有引力 ( 簡単のため g = 9.8 m/sec^2 の定数と仮定 )のみと仮定すれば

F = mg
a = F / m = m
v = ∫a dt = v0 + g(t - t0)
r = ∫v dt = v0(t - t0) + 1/2 * g(t - t0)^2 + r0

が導き出されますが、空気抵抗を考えると

F = mg - kv

ですので、例えば人体の場合 200m/sec あたりで安定します。

‥‥ひそかに答え(藁

328 :327:01/10/10 07:46
補足:
v0 : 時間 t0 における速度
r0 : 時間 t0 における位置
k : 物体固有の抵抗-速度係数

329 :デフォルトの名無しさん:01/10/10 08:10
>>327
>a = F / m = m

こんなところに書きこんでると、小学校のお友達がおあいてしてくれなくなっちゃうので
はやく学校に行きましょうね♪

330 :デフォルトの名無しさん:01/10/10 13:49
327のつまんねー煽りと、それに得意げにつっこむ329
という厨房泥仕合絵図なのか。そうなのか。

331 :デフォルトの名無しさん:01/10/10 15:07
>>330

うむ。というか、より掘り下げれば、
外野が>>276という天然素材を彼らは食い散らかしてしまった。
無粋な連中はすぐがっつくからイカン。育て、愛で、楽しむんだ。

332 :278:01/10/10 18:28
                        ◎___
                     .  //     /
                       . // 疎   /
                      // 羅  ./
                      // 音  /
                     // 絵  ./
                      // 世  /
         /\ /\  ∧空∧/__/ ̄ ̄ ̄ ̄ ̄ ̄
        / /\  \{´ ◎ `}ミミ./ < >>331俺も外野か?ソラネーヨ!
       ())ノ__ ○二○二⌒/../   \___
       / /||(二ニ) (___/../ 几l _
   γ ⌒ /|V||彡Vミ/⌒_ノ二二ノl0   ̄ ̄
   l| (◎).|l |((||((゚(__/ ||三三三・||
__ ゝ__ノ     ̄        ゝ__ノ    バルルルウルルルルルル

333 :デフォルトの名無しさん:01/10/10 19:54
      ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < んなーこたーない
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |

334 :デフォルトの名無しさん:01/10/10 21:58
Direct3Drmをフルスクリーン表示に変更しているのですがコンパイルすると

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

hres = lpDirect3DRM->CreateDeviceFromSurface(NULL, lpDirectDraw,lpBackBuffer, &lpD3DRMDevice);

c:\direct3d\initd3d.cpp(36) : error C2664: 'CreateDeviceFromSurface' : 2 番目の引数を 'struct IDirectDrawSurface *' から 'struct IDirectDraw *' に変換できません。 (新しい機能 ; ヘルプを参照)
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。

c:\direct3d\main.cpp(145) : error C2039: 'SetCooperativeLevel' : 'IDirectDrawSurface' のメンバではありません。
c:\mssdk\include\ddraw.h(1417) : 'IDirectDrawSurface' の宣言を確認してください。

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

なぜかこのようなエラーが出てしまいます。ちゃんとddraw.libとかもリンクしてあるのに
4時間ほど悩んでます。ヘルプを見ても解らないです。

335 :デフォルトの名無しさん:01/10/10 21:59
DirectXのバージョンは7aです。

336 :バルバロッサ:01/10/10 22:01
◎___
                     .  //     /
                       . // 疎   /
                      // 羅  ./
                      // 音  /
                     // 絵  ./
                      // 世  /
         /\ /\  ∧空∧/__/ ̄ ̄ ̄ ̄ ̄ ̄
        / /\  \{´ ◎ `}ミミ./ < >>334そんなことシラネーヨ
       ())ノ__ ○二○二⌒/../   \___
       / /||(二ニ) (___/../ 几l _
   γ ⌒ /|V||彡Vミ/⌒_ノ二二ノl0   ̄ ̄
   l| (◎).|l |((||((゚(__/ ||三三三・||
__ ゝ__ノ     ̄        ゝ__ノ    バルルルウルルルルルル

337 :デフォルトの名無しさん:01/10/10 22:01
C/C++じゃ無理。
言語が糞だから駄目。
Delphi使えよバーカ。

338 :バルバロッサ:01/10/10 22:02
@ノハ@
 (σ‘д‘)σ<加護ちゃんです♪
 (    )
 (__)__)

∋0ノハヽ0∈
 (σ´D`)σ<つじちゃんれす♪
 (   )
 (__)__)

339 :コリンズ:01/10/10 22:05
  @ノハ@
   ( ‘д‘)つ   >>334は氏んどけやでぇ!
 (( (⊃  (⌒) ))
    (__ノ

340 :コリンズ:01/10/10 22:05
   @ノハ@
   (‘д‘ ∩ ))  もう諦めろや!
 ((  (⊃ 丿
    (__)し'

341 :コリンズ:01/10/10 22:07
>>334ワッショイ >>334ワッショーイ
                            +
.   +  (\_/)(\_/)(\_/)  +
      ( ´∀`∩(´∀`∩)( ´∀`)
 +  (( (つ   ノ(つ  丿(つ  つ ))  +
       ヽ  ( ノ ( ヽノ  ) ) )
       (_)し' し(_) (_)_)

342 :デフォルトの名無しさん:01/10/10 22:22
もっと具体的に書くと

Direct3Drmをフルスクリーン表示に変更しているのですがコンパイルすると

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

hres = lpDirect3DRM->CreateDeviceFromSurface(NULL, lpDirectDraw,lpBackBuffer, &lpD3DRMDevice);

c:\direct3d\initd3d.cpp(36) : error C2664: 'CreateDeviceFromSurface' : 2 番目の引数を 'struct IDirectDrawSurface *' から 'struct IDirectDraw *' に変換できません。 (新しい機能 ; ヘルプを参照)
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。

hres = DirectDrawCreate(NULL, &lpDirectDraw, NULL);

c:\direct3d\main.cpp(145) : error C2039: 'SetCooperativeLevel' : 'IDirectDrawSurface' のメンバではありません。
c:\mssdk\include\ddraw.h(1417) : 'IDirectDrawSurface' の宣言を確認してください。

hres = lpDirectDraw->SetCooperativeLevel(hwnd, DDSCL_FULLSCREEN | DDSCL_EXCLUSIVE | DDSCL_ALLOWREBOOT);

c:\direct3d\main.cpp(145) : error C2039: 'SetCooperativeLevel' : 'IDirectDrawSurface' のメンバではありません。
c:\mssdk\include\ddraw.h(1417) : 'IDirectDrawSurface' の宣言を確認してください。

hres = lpDirectDraw->SetDisplayMode(640, 480, 16);

c:\direct3d\main.cpp(147) : error C2039: 'SetDisplayMode' : 'IDirectDrawSurface' のメンバではありません。
c:\mssdk\include\ddraw.h(1417) : 'IDirectDrawSurface' の宣言を確認してください。

hres = lpDirectDraw->CreateSurface(&ddsd, &lpPrimary, NULL);

c:\direct3d\main.cpp(157) : error C2039: 'CreateSurface' : 'IDirectDrawSurface' のメンバではありません。

hres = lpDirectDraw->CreateClipper(0, &lpClipper, NULL);

c:\direct3d\main.cpp(184) : error C2039: 'CreateClipper' : 'IDirectDrawSurface' のメンバではありません。

hres = lpDirect3DRM->CreateDeviceFromSurface(NULL, lpDirectDraw, lpBackBuffer, &lpD3DRMDevice);

c:\direct3d\main.cpp(193) : error C2664: 'CreateDeviceFromSurface' : 2 番目の引数を 'struct IDirectDrawSurface *' から 'struct IDirectDraw *' に変換できません。 (新しい機能 ; ヘルプを参照)

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

なぜかこのようなエラーが出てしまいます。ちゃんとddraw.libとかもリンクしてあるのに
4時間ほど悩んでます。ヘルプを見ても解らないです。

343 :デスプラター:01/10/10 22:24
  @ノハ@
   ( ‘д‘)つ   >>337は氏んどけやでぇ!
 (( (⊃  (⌒) ))
    (__ノ

344 :278:01/10/10 22:39

   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< オマエモナー
  (    )  \_____
  | | |
  (__)_)


               ◎___
            .  //     /
              . // ソ   /
             // ラ  ./
             // ネ  /
            // /  ./
             // ヨ  /
       ∧空∧/___/
   _______ {´ ◎ `}   < と、見せかけておいてソラネーヨ!!!
  ,ィィ,ィィ\):::::::::(
  しししし(_つ:::::::::ヽ
   ヽ__ノ::::::::::::::|二手
      (;;;;;;;;;;;;;;;;;;;)
      // >>__
    <◎:::> <::::◎ノ

つうか、>>336コピペ失敗カコワルイ!

345 :デフォルトの名無しさん:01/10/10 22:40
昔を思い出すな…
プログラム始めた頃は毎日がコンパイルエラーとの格闘だった

346 :デフォルトの名無しさん:01/10/10 23:20
   \      sage         /
      ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄

  ⊂二 ̄⌒\               ノ)
     )\   ( ∧_∧         / \
   /__   ) ´Д`)    _ / /^\)
  //// /       ⌒ ̄_/
 / / / // ̄\      | ̄ ̄
/ / / (/     \    \___
((/         (       _  )
            /  / ̄ ̄/ /
           /  /   / /
         / /   (  /
        / /     ) /
      / /      し′
    (  /
     ) /
     し′

347 :名無しさん:01/10/12 16:24
苦そッ!

348 :デフォルトの名無しさん:01/10/12 17:34
賑やかなスレだなあ

349 :デフォルトの名無しさん:01/10/12 17:41
>>342
どうせネタだろうけれど、それは引数として渡してるもんが違うって暗に言ってるんだよ。
コンパイラは礼儀正しいからハッキリとは言わないのさ。読み取ってやれよ。

350 : :01/10/12 19:34
X.fileを作成できるフリーのソフトってないでしょうか?

351 :一3D初心者:01/10/12 20:15
太陽光によるメッシュの影付けを行いたいのですが、CreateBoxで作成された
メッシュはうまくいくのに、以下のロジックで作成されたメッシュでは
うまくいきません。
何か設定がおかしいのでしょうか?

Dim frame As CD3DFrame
Dim mesh As CD3DMesh
Dim retd3dxMesh As D3DXMesh
Dim vertexbuffer As Direct3DVertexBuffer8
Dim verts(4) As D3DVERTEX
Dim indices(6) As Integer

'Create an empty d3dxmesh with room for 12 vertices and 12
Set retd3dxMesh = g_d3dx.CreateMeshFVF(4, 6, D3DXMESH_MANAGED, D3DFVF_VERTEX, g_dev)

'front face
With verts(0): .x = v(0).x: .y = v(0).y: .z = v(0).z: .nz = -1: .tu = 1: .tv = 0: End With
With verts(1): .x = v(1).x: .y = v(1).y: .z = v(1).z: .nz = -1: .tu = 0: .tv = 0: End With
With verts(2): .x = v(2).x: .y = v(2).y: .z = v(2).z: .nz = -1: .tu = 0: .tv = 1: End With
With verts(3): .x = v(3).x: .y = v(3).y: .z = v(3).z: .nz = -1: .tu = 1: .tv = 1: End With

'connect verices to make 2 triangles per face
indices(0) = 0: indices(1) = 1: indices(2) = 2
indices(3) = 0: indices(4) = 2: indices(5) = 3

D3DXMeshVertexBuffer8SetData retd3dxMesh, 0, Len(verts(0)) * 4, 0, verts(0)
D3DXMeshIndexBuffer8SetData retd3dxMesh, 0, Len(indices(0)) * 6, 0, indices(0)

352 :デフォルトの名無しさん:01/10/12 20:27
何が「うまくいかないのか」問い詰めたい。小一時間問い詰めたい。

353 :デフォルトの名無しさん:01/10/12 21:39
人に問題点を説明するのが「うまくいかない」と思われ(w

354 :デフォルトの名無しさん:01/10/12 22:17
人生(ボソッ

355 :一3D初心者:01/10/15 10:06
>>351の補足
material.emissive.a = 1
material.emissive.g = 0.7
material.Ambient.a = 1
material.Ambient.g = 1
material.diffuse.a = 1
material.diffuse.g = 1

上記のマテリアルを351のメッシュにSetMaterialOverrideで追加しているのですが、
影の色のメッシュ表示しかされず、CreateBoxで作成したメッシュのように
太陽光の当たっている部分とそうでない部分(影)との色の差が全く出ないんです。

356 :デフォルトの名無しさん:01/10/17 06:37
>>350
PolyEditって探して見れ。

357 : :01/10/19 22:54
いまDirect3Drmを使ってフルスクリーン表示のプログラムに
しようとしていてフルスクリーンに入るようなったのですが、
フルスクリーンに入ったとたんに下記のようなエラーが出ます。

-----------------------------------
エラー内容
 Error : -2005532477 on
CreateDevice
-----------------------------------
プログラム上でCreateDeviceって設定しているところがおかしいのかな?
ビデオカードがおかしいのだろうか?
VRAMは一応8MBあるけど
他のVoodooBansheeのVRAM16MBマシンで動かしたけど同じ結果が出る。
わかんない。

358 :357:01/10/19 23:01
DirectXSDKのバージョンは7a
コンパイラはVisualC++ ver 6.0

359 :デフォルトの名無しさん:01/10/19 23:10
>>357

DirectDrawのフルスクリーンのサンプルは動くの?

360 :_:01/10/19 23:33
>>357
戻り値のHRESULTを
スカラ表示させてっでっから
わがんねんだっぺ。
まず戻り値の意味を確認しなんしょ。

361 :デフォルトの名無しさん:01/10/20 15:48
640x480のテクスチャとポリゴンを1枚作って描画するだけで
なぜか4秒もかかります。
ビデオカードがクソなだけでこんなに遅くなるもんなんでしょうか?

362 :デフォルトの名無しさん:01/10/20 16:29
>>361
それは99%アプリがクソ。
サンプルは試したか。どうだった。

363 :357:01/10/20 17:19
なんかサンプルのフルスクリーンはサクサク動いてます。
自分が書いたプログラムがダメなのか・・・?

364 :デフォルトの名無しさん:01/10/20 17:24
DXiの作り方がサッパリわかりません
誰かわかる人いますか?

365 :デフォルトの名無しさん :01/10/20 18:04
>>361
実際に4秒かかって描画されてるのが見えてるのか?

366 :361:01/10/20 19:45
ちなみにVRAM 2MB、HALが使えないのでHELです。
画面は最初が真っ黒で、4秒経つと描画されたものが出てきます。

367 :マジ初心者:01/10/20 20:55
プログラムを作るソフトは全部買わないといけないのですか?

368 :デフォルトの名無しさん:01/10/20 21:04
>>361
>>357

サンプルがサクサク動くなら
それ改造しながら組めばいいのに。

369 :357:01/10/20 22:47
>>368
オリジナルで組みたいのです〜!
そこんとこご勘弁を・・・

370 :デフォルトの名無しさん:01/10/20 22:51
sigh

371 :デフォルトの名無しさん:01/10/20 23:55
>>369

やや、クリエイター様でしたか。こりゃ失敬。

溢れるオリジナリティとかクリエイティビティとか
その辺は専門外なのでもうお手上げでちゅ。

頑張ってくだちゃい。

372 :デフォルトの名無しさん:01/10/21 00:19
サンプルはHALだった?それともHELだった?

あと、テクスチャがデカイと処理も重くなるよ。<多分コレだと思ワレ
効率の良いテクスチャの大きさは、
縦横同じ大きさで、2のX乗の大きさ。
256×256の大きさが、一番効率が良いトカ。

そういえば一部のビデオカードでは、
256×256を超える大きさのテクスチャを使えない
なんて話もあったな。128×128だったかな?

373 :デフォルトの名無しさん:01/10/21 00:19
>369
初期化処理なんて手順ほとんど同じだろ・・・
なんで車輪の再発明するんだ?

374 :デフォルトの名無しさん:01/10/21 00:30
激しくワナビーの予感。

375 :デフォルトの名無しさん:01/10/21 01:03
懐かしい響き > ワナビー

376 :名無しサソ:01/10/21 01:17
 今時、ほとんど捨てられた状態のRMの初期化を、
よく覚える気になれるね・・・。RMなら素直にDirect3Z
でも使っておけば問題ないと思うけど。

>372
 Voodoo系の事じゃないの?それなら256^2が最高
解像度だよ。でも、仕様制限がきっちりしていた方が、
実は組みやすいような気もするね。もしかして、みなさん
VRAMの残り容量に合わせてテクスチャの解像度を
変えたりするライブラリを組んでいたりするのかな?

377 :デフォルトの名無しさん:01/10/21 03:34
DXi情報求む

378 :デフォルトの名無しさん:01/10/21 06:41
DXiって何?

379 :デフォルトの名無しさん:01/10/21 07:00
どうしても256超えなきゃなんないときに、ポリゴンの継ぎ目がキビシイです
アルファかけるならなおさら

380 :デフォルトの名無しさん:01/10/21 07:26
アルファって何だよ。
かってに造語つくってそれ前提に話するな

381 : :01/10/21 09:57
AGPがあるんだからテクスチャ容量なんて無視さ
うごかねぇなんて奴のマシンが悪い

382 :デフォルトの名無しさん:01/10/21 09:58
>>379-380
アルファーブレンド系の処理の事でしょ。
アルファ値なんて言葉もあるぐらいだから、問題ないと思ワレ

383 :379:01/10/21 13:26
アルファブレンディングによる透過処理のことです。
ここは初心者向け相談室でしたね。すみません。

384 :デフォルトの名無しさん:01/10/21 14:18
                         ∧_∧
                         ( ´Д`)
               -=≡ /⌒  /⌒ヽ/\
   (´⌒;  -=≡ ./⌒ヽ,  /     ̄    \\ ヽ/⌒ヽ,      ウワーン
 (´⌒;;;   -=≡  /   |_/__i.ノ ,へ _     _/ \\/   | /ii        キモイヨー!!
   .    .-=≡ ノ⌒二__ノ__ノ    ̄ ̄     \ヽ  |./ |i           
(´⌒;;;   -=≡ ()二二)― ||二)          ()二 し二) ― ||二)   =  ((( )))
 ≡≡≡ -=≡ し|  | \.||              .|   .|\ ||      =  (llTДT)
    (´⌒;;;-=≡  i  .|  ii      (´⌒;;;       i  |  .ii      =  ( つ つ
;; (´⌒;;;   ;-=≡ ゙、_ ノ    (´⌒;;;  (´⌒;;;   .゙、 _ノ      =   人 Y
    (´⌒;;;  (´⌒;;;    (´⌒;;;  (´⌒;;;   ~~   ⌒;;ソ ヽ   =  し (_)

385 :花粉症の初心者さん:01/10/22 16:48
初心者なんで的を外しているかもしれませんが、
DirectXでWindowベースで絵を書いたりキャラクターを
動かすのは色んなサンプルが出ていてわかるのですが、
DirectXで、VC++でいうダイアログをベースとして
プログラムを組むことってできるのでしょうか?

できるとしたら、そのサンプルプログラムなんて無いでしょうか?

386 :デフォルトの名無しさん:01/10/22 17:11
>>385
文面からうまく読み取れんが、
・メインウィンドウに描写
・メインウィンドウから開いたダイアログに描写
の違いか?

ダイアログはVC固有の用語ではないぞ。

387 :花粉症の初心者さん:01/10/22 17:25
ありがとうございます。分かりにくくてすいません。
メインウィンドウに描写するのは、いろんなサンプル例がありますね。
で、VC++のMFCでアプリケーションを作る時に、SDIにするかMDIにするか
ダイアローグベースにするか選択しますよね。 その時に選択・作成するような
ダイアローグ見たいな物にPictrureなどのコントロールなどを作って、
そこにDirect(Draw)などを用いて、絵を描くことなどがしたいのですが
できるのでしょうか? 問いう事を尋ねたかったのです。

388 :デフォルトの名無しさん:01/10/22 17:38
>>385 ,387

CWnd から派生してれば簡単に描画できるんでわ?

389 :デフォルトの名無しさん:01/10/22 18:41
MFCは知らん

390 :デフォルトの名無しさん:01/10/22 18:52
>>387
描きたいダイアログのウインドウハンドルをDirectDrawの引数に
いれてやればいいんじゃないのかな?
外してる?

391 :386:01/10/22 20:39
>>390の言う通り、ウィンドウハンドル渡せば何にでも書ける。
Pictureとか書いてるあたり見ると、VBあがりな気がするので、いきなり凄いことしようとせずに、SDK+DirectDrawで画像表示はじめることをお勧めする。

とりあえず、MFCはやめとけ。これ定説。

392 :デフォルトの名無しさん:01/10/22 23:50
物体の落下を表示させたいのですが、

while(1)
{
h+=v;//初期値、高さ(float)h=100
v+=a;//初期値、速度(float)v=0,加速度(float)a=-1
SetLVertex(&mat[0],1,h,1,color);
SetLVertex(&mat[1],0,h,1,color);
SetLVertex(&mat[2],1,h,0,color);
}
こんな感じにしたとき(ちょっと略)、予定では下へ(x-z平面)に
近づいていくはずなのですが、微動だにしません。
初歩的な質問ですが、アドバイスお願いします。

393 :デフォルトの名無しさん:01/10/23 00:20
>392
初歩というか、高校の物理はやったか?
やってないならしょうがないかもしれんが。。。

このソースだけでやっているとは信じたくないが、
他に省略している部分はないのか?

数式通りにものを動かしたいのなら、
数式がどうゆうグラフになるのかを知るのは重要だ。
まずはhの値をグラフにプロットしてみな。
己の馬鹿さ加減にあきれるだろう。

394 :393:01/10/23 00:33
すまん、初期値が書いてないと思ったら、コメントにかいとったのね。
>393はきにしないでくれ。

395 :390:01/10/23 00:51
>>392
カメラの位置がおかしいとか、ビューポートの設定が間違っているとかそういうのじゃないの?
とりあえずはX/ZとYを入れ替えて反応をみるとか。

396 :デフォルトの名無しさん:01/10/23 06:59
DirectDraw のウィンドウモードでフリップってどうやるんですか?

397 :デフォルトの名無しさん:01/10/23 07:44
>>396
アプリがタイミングとってDCにBlt()。

SDKのサンプル読めばいい。あと以下のログ。それで解決。
http://piza2.2ch.net/test/read.cgi/tech/1002894129/
http://piza2.2ch.net/test/read.cgi/tech/991795568/

398 :花粉症の初心者さん:01/10/23 10:14
みなさん、ありがとうです。 VBも少しやりましたが、VC++の方が履歴だけは長いです。
あまり中身は深くしてない物で無意識にMFCなどを使ってます。ので、VCで作ったダイアローグだけを
出すスケルトンプログラムに、DirectX(DirectDraw)などで使う初期設定などを
していくのかなぁ?!、と思っているのですが。 方針、間違ってます?

399 :名無しサソ:01/10/23 11:04
>392
 もしかして、座標だけ移動させて、移動後の
座標で描いてないなんてオチは無いよね?

400 :NASA:01/10/23 19:15
誰か、趣味?仕事?でロケットが打ち上げられるような
プログラム作ったった人いない?
発射時の煙(モクモクっと)とかノズルからの炎がリアルに
表示できたりしてるプログラムを作りたいんだけど…

401 :デフォルトの名無しさん:01/10/23 19:36
炎はテクスチャの加算合成で、煙は減算合成でそれなりに表現できると思うけど。

402 :デフォルトの名無しさん:01/10/23 20:45
Hornetのアーカイブで雲とかそれ系のエフェクトのソースを見た記憶がある。
まだあるのかな?

403 :デフォルトの名無しさん:01/10/23 20:57
Hornet?

404 :392:01/10/23 22:47
>399
またやってみたら、今度は無限ループに入ったらしく…
ウィンドウ真っ白。お先真っ暗…

405 :390:01/10/23 22:54
>>404
誰でも最初はそんなもんだよ。頑張れ。

406 :名無しサソ:01/10/24 06:04
>404
 あれ?当たってたの??とりあえず、あまりにうまくいかない
時は、サンプルと一対一比較すると良いかもね。たまにサンプルで
バグってるのもあるけどね・・・・。無限ループだけだったら、デバッグ
モードで見つけるか、メッセージボックスを出すかしてチェックすれば
いいじゃない。頑張れ〜。

407 :デフォルトの名無しさん:01/10/24 09:35
>>400
HyperVoxels
ttp://www.dstorm.co.jp/hv2/hv2.html

408 :400:01/10/24 16:51
>407
これって買わなきゃダメじゃない?
これのサンプルソースみたいなのないかな?

409 :デフォルトの名無しさん:01/10/24 22:08
>>408
バイトして買っとけ。LWも。

ttp://www.absolute-research.com/IISSamples/Default/welcome.htm

ttp://absolute-research.com/iissamples/default/graphics/particle/ARExplosion.zip
とか。delphi+directx

410 :デフォルトの名無しさん:01/10/24 22:09
あと、『cellular automata』とか『particle』でgoogleしてみ。

411 :409:01/10/24 22:11
上のほうのリンクは貼り間違い。
× ttp://www.absolute-research.com/IISSamples/Default/welcome.htm
○ ttp://absolute-research.com/iissamples/default/graphics/particle/Particles.htm

412 :デフォルトの名無しさん:01/10/24 22:17
ttp://developer.nvidia.com/view.asp?IO=Volumetric_Explosion_Example

413 :デフォルトの名無しさん:01/10/24 22:40
ttp://www.3dengines.de

414 :デフォルトの名無しさん:01/10/25 16:07
すいません
フルスクリーン時にALT+TABでタスク切り替えを無効にしたいので、
いろいろ調べて
SystemParametersInfo(SPI_SCREENSAVERRUNNING,TRUE,0,SPIF_SENDWININICHANGE);
SystemParametersInfo(SPI_SCREENSAVERRUNNING,FALSE,0,SPIF_SENDWININICHANGE);
上記二つの関数で可能といろいろなサイトにかいてあったのですが、
やってみたところALT+TABが機能してしまいます。
どなたかわかりますか?
当方 Win98SEです。

415 :デフォルトの名無しさん:01/10/25 16:53
>>414
http://www.microsoft.com/japan/developer/directx/techart/DirectX8faq.asp
>どうすれば、ALT+TAB や、その他のタスク切り替えを無効にできますか。
>無効にはできません。

迷惑だからそういう手抜きはやめれ

416 :>>414:01/10/25 16:53
 フックして、メッセージを揉み消す・・・・じゃダメか。

417 :414:01/10/25 17:06
WM_SYSKEYDOWNでALTキーをつぶすという方法で
ダサいながらも解決しました。
>>415
DirectX8使ってないんです。DirectX3です。
しかも人のプロジェクトの修正なんでもうお手軽にやりたかったので
ごめんなさい。(´¬`)ネムー

418 :デフォルトの名無しさん:01/10/25 19:57
>>415
ALT+TABを禁止することを禁止したい奴がいるけれど
フルスクリーンの3Dゲームなら別にいいんじゃないか?
大抵の製品はALT+TAB禁止してるよ。実際かなり念入りに対処していても
環境によってはいろいろ不具合でるんだよ。

419 :デフォルトの名無しさん:01/10/25 20:33
うむ。文句があるならこんなクソ仕様にしたマイクロソフトに言え。

420 :デフォルトの名無しさん:01/10/25 20:45
そしてMSはドライバのせいにするんだYO
ま、ATiは食品会社なら今ごろ営業停止ってことだ。

421 :デフォルトの名無しさん:01/10/25 21:35
DX8SDKのソースにあるDWORD(4バイト)が
65535も使ってないならWORD(2バイト)でも良さそう
だけど実際WORDに変更すると不都合はありますか?

422 :255:01/10/25 21:41
WORDの方がDWORDよりアクセスが遅い。

423 :デフォルトの名無しさん:01/10/25 21:55
>>422 納得です。

424 :デフォルトの名無しさん:01/10/25 22:29
DirectX 8はサーフェスのロスト気にしなくていいって聞いたけど
信頼していいんでしょーか?

425 :デフォルトの名無しさん:01/10/25 22:43
>>424
その前に
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_lost_devices_graphics.htm
を読んでみ。

426 :アマグラマ:01/10/26 03:08
D3Dで色々遊んでいるのですが、フリーのテクスチャ付きのXファイル(素材?)って
どっか落ちてないですかね?
色々探したんですが、あまりみつからないのでSDKに付いていたヤツで遊んでいるのですが。
できればモナーとかギコ猫のファイルが欲しいなぁと。
ちなみにライトウェーブ形式のはSDK付属のコンバータでコンバートしたらテクスチャが剥がれていたので却下と言う事で。

427 :名無しサソ:01/10/26 05:30
>426
 拾うより先に作ってしまおう。

 MetasequoiaLEならテクスチャ付きの
Xファイルが出力できるよ。フリー素材で
Xファイル以外の形式があっても、ある程度
コンバートも出来る。

428 : :01/10/26 12:34
今DirextXでWin環境で動くゲームを作ったバアイ、
それって簡単にX-BOXで動くの?
初心者なんで書いてみたぞ。
誰か教えてけろ

429 :アマグラマ:01/10/26 14:48
>>427
凄いソフトの紹介ありがとうございます。
直接Xファイルに出力できるのは凄いですね。

ちなみに、コンバートすると大抵テクスチャが欠けるので困っていました。

>>428
多分そのままじゃ動かないと思います。

430 :すいか:01/10/26 15:38
アニメーションのデータが格納されているXファイルはどのようにして作るのですか。
ソフトはMAX4.0です。

118 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)