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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
※回答する人も、質問する人も必ず読んでください

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

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

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

前スレ
【C++】 DirectX初心者質問スレ Part5 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1122031254/
2デフォルトの名無しさん:2005/09/20(火) 15:47:19
はい、どうぞ
3デフォルトの名無しさん:2005/09/20(火) 18:25:55
1乙。
しかしこのスレってテンプレが少ないなぁ
4デフォルトの名無しさん:2005/09/20(火) 18:38:21
とっくに既出だろうし、スレの趣旨に反しちゃうかもしれないけど、
単にゲーム作りたいからって言うんなら、DXライブラリ使わして
もらった方が良いよ。唯一の欠点は普通にゲーム作るくらいなら
簡単すぎるくらいに出来ちゃうんで、DirectXの勉強がおろそかに
なること・・・Cは結局みんなライブラリなんだよと自分に言い訳
すればこれもオッケってことで・・・

http://homepage2.nifty.com/natupaji/DxLib/
5デフォルトの名無しさん:2005/09/20(火) 18:43:10
>>4
>   3Dグラフィック機能
>   なし(ただし2D描画に3Dグラフィック機能使用)


6デフォルトの名無しさん:2005/09/20(火) 18:57:20
DirectXってなに?
7デフォルトの名無しさん:2005/09/20(火) 19:55:47
動画のコーデック
8デフォルトの名無しさん:2005/09/20(火) 20:44:58
3D使える国産ライブラリって無いね
9デフォルトの名無しさん:2005/09/20(火) 20:45:51
>>6
マルチメディアソリューション
ゲームに特化して拡張したのがXNA
10デフォルトの名無しさん:2005/09/20(火) 21:11:58
質問です。XP、.NET です。

DirectPlay8 に関して、

IDirectPlay8Peer* pDPlayPeer;
hr = pDPlayPeer->Initialize((PVOID)this, &myMessageHandler, 0);

通信メッセージが届いたときに呼び出されるコールバック関数を myMessageHandler に設定しています。
通信方法は TCP を指定しています。

通信相手が SendTo() を複数回実行し、複数のメッセージが届いたとき、
このコールバック関数が複数回呼ばれることになりますが、
呼び出される順番は、メッセージを送った順序と等しいことは保障されるでしょうか。
逆順で実行される、もしくは並列で処理されることがあるでしょうか?
11デフォルトの名無しさん:2005/09/20(火) 21:23:30
Direct3D9なんですけど
意図的にデバイスをロストさせるって出来ますか?
12デフォルトの名無しさん:2005/09/20(火) 21:28:23
>>10
Sendのヘルプ読め。重要なのはこのあたり。
DPNSEND_GUARANTEED
DPNSEND_NONSEQUENCIAL

DirectPlayの特徴なのだが、たとえマルチスレッドであろうと、
一人のプレイヤーに関するメッセージが並列実行されることがないようにスケジューリングされている。
DPNSEND_NONSEQUENCIALを指定した場合は、届いた順に処理されるが、
それでも同時に処理されることはない。

それとDirectPlayはマルチスレッドで頭使わなきゃならんのだけど、
DirectPlay8ThreadPoolを使えばマルチスレッドで処理する必要がなくなり、
CRITICAL_SECTIONとかも使わなくて済むようになるよ。すご〜く楽。
DirectPlayで簡単なプログラム作るならマジお勧め。

>>11
意図的にって、例えばフルスクリーン状態でALT+TABで画面切り替えとか、そんな話?
13デフォルトの名無しさん:2005/09/20(火) 21:31:25
device=NULL
1410:2005/09/20(火) 21:32:12
>>12
詳しい説明ありがとうございます!
知らないキーワードが多いので、順に調べて見ます。
15デフォルトの名無しさん:2005/09/20(火) 22:07:43
>>12
そうです。
ALT+TABでロストするんですか。
ちょっと試してみます。
16デフォルトの名無しさん:2005/09/20(火) 22:09:37
>>13
確かにデバイスロストだなw
17デフォルトの名無しさん:2005/09/21(水) 18:46:39
lost doutei
18デフォルトの名無しさん:2005/09/21(水) 18:50:21
>>17
static const bool doutei = true;
19デフォルトの名無しさん:2005/09/21(水) 19:31:31
static const ワロス
20デフォルトの名無しさん:2005/09/21(水) 19:57:55
1127198808.dat:19: `ワロス' undeclared (first use in this thread)
21デフォルトの名無しさん:2005/09/21(水) 20:57:46
assert(doutei);
22デフォルトの名無しさん:2005/09/21(水) 22:39:32
class HUMAN {
protected:
char *gene;
public:
char *experience
}
class MAN : public HUMAN {
public:
HRESULT InsertTo(HUMAN);
}
extern HUMAN kanojo;
int main() {
MAN myself;
myself->InsertTo(kanojo);
return 0;
}

error LNK2001: 外部シンボル ""class HUMAN kanojo" (?kanojo@@3PADA)" は未解決です。
fatal error LNK1120: 外部参照 1 が未解決です。
23デフォルトの名無しさん:2005/09/21(水) 22:47:03
× myself->InsertTo(kanojo);
○ myself.InsertTo(kanojo);
24デフォルトの名無しさん:2005/09/21(水) 23:04:23
>>22
myselfはMANを更に継承してprivateメンバにconst bool doutei = true;を持ったクラスにした方がよさげ
25デフォルトの名無しさん:2005/09/21(水) 23:10:58
こうか。
class MAN : public HUMAN {
private:
bool doutei;
public:
HRESULT InsertTo(HUMAN);
};
class MOOTOKO : public MAN {
private:
const bool doutei = true;
};
2624:2005/09/21(水) 23:36:22
>>25
何やってんの?w
寒いよw
2724:2005/09/22(木) 00:32:34
>>25
何やってんの?w
暑いよw
2824:2005/09/22(木) 03:25:30
>>25
何やってんの?w
ナウいよw
2924:2005/09/22(木) 07:08:47
>>25
何やってんの?w
弾幕薄いよw
30デフォルトの名無しさん:2005/09/22(木) 18:45:30
今までID3DXSprite::Drawを使って
回転&拡大の2D処理してたんだけど、
この前SDKをOct,2005にバージョンアップしたんです。

そしたら、Drawメソッドの仕様が変わってて
回転角とスケーリングが消えてたんですが
もうSpriteでこれらの処理をするのは不可能なんでしょうか?
31デフォルトの名無しさん:2005/09/22(木) 18:58:48
というかD3DXSpriteの仕様変更に悩まされるなんて
何年前から同じことやってんだ。DirectX8のときからずっとじゃん。
いい加減あきらめて自前で車輪発明しろよ
32デフォルトの名無しさん:2005/09/22(木) 19:19:16
ID3DXSprite::SetTransform あたりじゃねーの
33デフォルトの名無しさん:2005/09/22(木) 19:31:04
回答ありがとうございました。
要するに自前で行列計算をしないといけないってことですね。
調べてやってみたいと思います。
34デフォルトの名無しさん:2005/09/22(木) 19:34:23
行列は自分で計算しなくてもCPUがやってくれるだろ?
35デフォルトの名無しさん:2005/09/22(木) 20:31:56
>>34
そうみたいですね。SetTransformを勘違いしていたみたいです。

表示位置や座標系の違いのせいか、位置の調整などはうまくいってませんが
なんとか画像の表示まではできました。ありがとうございました。

36デフォルトの名無しさん:2005/09/22(木) 22:15:54
>>31
すれたいすれたい
37デフォルトの名無しさん:2005/09/23(金) 05:45:12
256色全画面にするにはどうすればいいでしょうか?
BackBufferFormatにD3DFMT_P8を設定するだけだと思っていたら
うまくいかなくて悩んでいます
D3DFMT_UNKNOWNにすれば全画面にはなりました
38デフォルトの名無しさん:2005/09/23(金) 06:02:28
16bit なり 32bit でデバイス作って、
16bit なり 32bit のテクスチャだけど、256色しか使ってない

って方法ぐらいしか残ってない気がするけど。


もしくは DirectDraw 使うか。
39デフォルトの名無しさん:2005/09/23(金) 11:29:33
どうやらDirect3D9のサポートするバックバッファフォーマットは
A2R10G10B10
A8R8G8B8
X8R8G8B8
A1R5G5B5
X1R5G5B5
R5G6B5
のみのようだ。
つうかアダプタがサポートするフォーマットを列挙して判断しろ。
40デフォルトの名無しさん:2005/09/23(金) 16:31:03
いまどき256色モードなんて超ありえない。何その中途半端な数字。
41デフォルトの名無しさん:2005/09/23(金) 17:58:59
そもそも9でなくても、Direct3Dでは256色モード使えないし。
(昔あったRampドライバだけは例外だが)
42デフォルトの名無しさん:2005/09/23(金) 21:29:10
DirectPlayのP2Pでホストに最初に送られるDPN_MSGID_CREATE_PLAYERメッセージは
ホスト自身が発したもので間違いないですか?
43デフォルトの名無しさん:2005/09/23(金) 21:52:50
DirectInputでPS2コントローラの振動をやろうと思ったのですが、うまく振動してくれません。
どうもIDirectInputEffect::Startが失敗しているようなのですが、エラー値が
DIERR_NOTEXCLUSIVEACQUIREDを返しています。
しかし、IDirectInputDevice8::SetCooperativeLevelでDISCL_EXCLUSIVEは設定しています。
DirectXのサンプルでは振動するのを確認しましたが、私にはサンプルソースと比べておかしい所の見当がつきませんでした。
どなたかご教授お願い致します。
44デフォルトの名無しさん:2005/09/23(金) 22:26:32
Acquire()が抜けてるとかだったりして。
4543:2005/09/23(金) 23:26:05
>>44
Acquire()は書いてありました。
46デフォルトの名無しさん:2005/09/24(土) 01:25:25
ささいなミスかもしれんしなあ、該当部分のソースうpってくれんと分からんかも
47デフォルトの名無しさん:2005/09/24(土) 11:10:20
質問です。ttp://saw.minidns.net/software/index.html#soft08
上記のサイトから取れるTalesWeaverロードコントローラのソースコードから
DirectXのフックを勉強してるんですがどうも挙動が良く分かりません。

このライブラリはdsound.dllというファイル名でゲームクライアントEXEのカレントディレクトリに置く事から
システムディレクトリのdsoundより先にロードされてラッパとして動作するのはわかるんですが

hinst = LoadLibrary("DDRAW.DLL");
pddcreate = (DirectDrawCreateEx_Type)GetProcAddress(hinst, "DirectDrawCreateEx");
(*pddcreate)(NULL, (void **)&lpdd, IID_IDirectDraw7, NULL);

↑みたいにDirectDrawもロードしてDirectDrawオブジェクトを作ってるんですが、これってまずくないですか?
ゲームクライアント自体もDirectDrawオブジェクトを作ってるから二重に作っちゃった事になってると思うんですが
もしかしてDirectDrawオブジェクトは何個も作ってOKなんですか?
48デフォルトの名無しさん:2005/09/24(土) 15:43:09
>>47は動いたもん勝ちって世界じゃないのか
49デフォルトの名無しさん:2005/09/24(土) 18:04:08
>>47
そんなもん作者に聞けこのチーターめっ
50デフォルトの名無しさん:2005/09/24(土) 18:45:40
チーターがそういう扱い受けるっていうことは
プロプライエタリな奴が多いの?
51デフォルトの名無しさん:2005/09/24(土) 18:49:00
オープンソースは、プログラマーの権利を放棄させるために扇動されているものです。
フリーソフトは、アホのプログラマーがダンピングした物です。
52デフォルトの名無しさん:2005/09/24(土) 19:11:59
プロプライエタリが何かわからない俺がきました
53デフォルトの名無しさん:2005/09/24(土) 19:13:39
>>50
ぐーぐるで調べてみたけどプロプライエタリとチート関係なくね?
プロプライエタリって言ってみたかっただけとか?
http://www.atmarkit.co.jp/aig/04biz/proprietary.html
54デフォルトの名無しさん:2005/09/24(土) 19:28:38
>>47
なんでDirectDrawオブジェクトを何個も作ってはいけないと思うのかね?
ヘルプにはそんなことどこにも書いてないと思うが。
複数を併用するとパフォーマンスが落ちるという話はあったと思うが。

あと、そのソースは見てないが、デバイスを取得しているのは
VTBLを書き換えるためじゃないの?
VTBLを書き換えたら用無しだから解放しちゃっていいかと。
5547:2005/09/24(土) 19:29:41
>>48
やっぱそうなんですかね…ぶっ壊れてもいいやーくらいのノリなのかな。
もうちょっとDirectXの資料覗いてみます。

>>49
残念ながら作者さんの更新は1年前に止まってるみたいです。
あと私はこのゲームに触った事もありませんし興味もありません。
5643:2005/09/24(土) 21:38:44
プロジェクトごとうpしました。24kbほどです。
http://up.isp.2ch.net/up/8a0a00b5e7b6.zip
宜しくお願い致します。
57デフォルトの名無しさん:2005/09/24(土) 22:04:42
繋がらない
58デフォルトの名無しさん:2005/09/24(土) 22:18:20
>>56
http://gamdev.org/up/

まともなロダにうpしてくれ
5943:2005/09/24(土) 22:35:59
申し訳ありませんでした。
http://gamdev.org/up/ にうpしました。
3414です。
60デフォルトの名無しさん:2005/09/24(土) 22:56:20
ジョイスティックがないから試せないな。
ビルドすると562行で演算子の優先順位を明確にしろとかWarningが出るけどこれは関係ないんだよな?
61デフォルトの名無しさん:2005/09/24(土) 22:57:16
BlueInput.cppの562行な
6243:2005/09/24(土) 23:03:29
>>60
此方でそのWarningは確認できませんでしたが、()で優先順位を明確にしても
やはり振動しませんでした。
(iを1と書き間違えていたのは秘密です)
63デフォルトの名無しさん:2005/09/24(土) 23:19:24
BluInput.cppの253行のEnumDevicesのdwFlagを
DIEDFL_FORCEFEEDBACK | DIEDFL_ATTACHEDONLY
にしても駄目かなぁ?
自分で試せないと問題点探すの面倒くさいなw
64デフォルトの名無しさん:2005/09/24(土) 23:24:52
OnInitDialogの時点ではWindowは表示されてないから、
振動を開始させようと思ってもできないんだよ。
6543:2005/09/24(土) 23:26:44
>>63
それは以前にも試したことがあったのですが、駄目でした。
6643:2005/09/24(土) 23:34:38
>>64
ありがとうございます。
コントローラのデータ取得時にIDirectInputEffect::Startを実行したら振動してくれました。
なるほど、Windowが表示されてからでないと駄目だったんですね。
ご協力下さった皆様、ありがとうございました。
67デフォルトの名無しさん:2005/09/24(土) 23:37:10
MFC触ったことないからわけわかめorz
6847:2005/09/25(日) 00:18:59
>>54
遅レスですがヘルプにも確かにそういった記述はありませんでしたね。
ありがとうございました。
69デフォルトの名無しさん:2005/09/25(日) 03:09:03
すいません、あるゲームをやろうとした所
GetDeviceCaps D3DADAPTER_DEFAULT D3DDEVTYPE_HAL
というメッセージが発生するのですが、これはdirectxと何か関係が
あるんですかね?
70デフォルトの名無しさん:2005/09/25(日) 03:14:30
あなたオナニーのしすぎです
地獄行く

という天からのメッセージです
71デフォルトの名無しさん:2005/09/25(日) 18:08:10
今更DirectDrawの質問です。
ウィンドウモードでバックバッファを作成してフリップでどうこう
ダブルバッファリングさせたいのですが、
dwFlagsにDDSD_BACKBUFFERCOUNTを、または
dwCapsにDDSCAPS_FLIPを指定するとCreateSurfaceでエラーが発生します。
なぜか分かりません。ウィンドウモードでバッファを複数もつことはできないのでしょうか?
誰か奇跡的に知っている方がいらっしゃれば教えてください。
72デフォルトの名無しさん:2005/09/25(日) 18:19:43
ウィンドウモードでFlipは使えない。
73デフォルトの名無しさん:2005/09/25(日) 18:48:44
奇跡も何も>>72の通り。ウィンドウモードはBltのみ
74デフォルトの名無しさん:2005/09/25(日) 19:26:25
D3D だと FLIP って指定できなかったっけ?
内部的には blt だろうけど
7571:2005/09/25(日) 19:30:30
>>72-73
ありがdございます。
すっきりしたけど、
ぶっちゃけた話、ちらつきのない2Dシューティングゲームを
ウィンドウモードで作りたいのですが、バックバッファがないと
辛いと思うのですが、どうしたらいいでしょうか?
ttp://www.vector.co.jp/games/soft/win95/game/se209883.html
これDirectX使ってるみたいなんですが、ウィンドウモードに切り替えられて
バリバリ動きます。こんなゲーム作りたいでつ。
76デフォルトの名無しさん:2005/09/25(日) 19:33:31
自分で用意すればいいだけじゃねーの。
77デフォルトの名無しさん:2005/09/25(日) 19:39:41
>>75
http://pc8.2ch.net/test/read.cgi/tech/1125850096/496-
これと同じじゃないかな。
7871:2005/09/25(日) 19:52:40
>>77
いや、ちょっと違う気がするんですが
メモリデバイスコンテキストを複数用意して切り替えるのと
DirectDrawでいうバックバッファを用意して切り替えるは
同じなんでしょうか?
だとしたらWinAPIだけでアクションゲームくらい
作れる希ガス。どうなんでしょう?
79デフォルトの名無しさん:2005/09/25(日) 19:58:07
VRAMを使うかどうかの違いじゃね。
80デフォルトの名無しさん:2005/09/25(日) 20:02:20
>>71
バックバッファってのは概念であって、
DirectXの特定機能を指しているのではない。
ウィンドウモードの場合はフリップ可能フラグは立てないで
普通のサーフェスとしてバックバッファを作る。
でもってプライマリにBltで転送する。

プライマリサーフェス作っちゃうと部分的に他のウィンドウに
隠れているときにウィンドウ掴むと綺麗にならないので
自分はデバイスコンテキスト経由で普通に Window 更新してる。
8171:2005/09/25(日) 20:08:55
>>79-80
ありがd。とても参考になりますた。
いっぺんAPIだけでゲーム作ってみます。
8277:2005/09/25(日) 20:17:35
レス内容どころかスレタイもろくに読まないでレスして
WindowモードでのDirectDrawの使い方を調べてたなんて今更とても言えない。
結局良くわからなかったけど何か解決してるようなので良かった。
8371:2005/09/25(日) 20:23:19
>>77
な、なんd(ry
84デフォルトの名無しさん:2005/09/25(日) 20:41:34
>>71
ここで微妙にDirectDrawのbltについての話題が出てるけど参考になるかは全くわからん。
http://pc.2ch.net/tech/kako/985/985540361.html
85デフォルトの名無しさん:2005/09/25(日) 20:42:18
ウインドウモードでちらつきを抑えるのに、
画面の更新を実リフレッシュレートにそろえようとして
余計にちらついているのを見かけるけど、
たとえば60Hzの垂直同期だったら、50FPS程度にわざと落とした方が、
走査線に引っかかりにくくなりちらつきにくくなる。
86デフォルトの名無しさん:2005/09/25(日) 21:55:18
>>71
SDKのサンプルやドキュメントくらい見ろよ。
DirectDrawのウィンドウモードはフルスクリーンとは組み方が違う。
バックバッファはプライマリサーフェスとは別のサーフェスとして作る。
画面の更新はプライマリサーフェスの適切な位置にBltで行う。
(画面全体がプライマリサーフェスなので、ちゃんとウィンドウの位置を
狙ってBltする必要あり)
また、ウィンドウモードではClipperの使用が必須。
87デフォルトの名無しさん:2005/09/26(月) 10:01:30
>シューティングゲーム製作での、弾丸の連続発射アルゴリズム

C言語からやり直せ。
88デフォルトの名無しさん:2005/09/26(月) 11:47:15
あれは即座にフラッシュされない頂点バッファを使い回しているせいだと思うが。
89デフォルトの名無しさん:2005/09/26(月) 12:24:37
いや、どう見てもC言語レベルのミスだが。
DirectXには全く関係ない。
90デフォルトの名無しさん:2005/09/26(月) 12:30:51
DirectXでjpegファイルを読み込む方法を教えてください。
91デフォルトの名無しさん:2005/09/26(月) 13:03:26
>>89
なんかすごい頓珍漢な回答が一件付いてるけど…。
92デフォルトの名無しさん:2005/09/26(月) 13:14:13
>>91
彼は気にしなくていいと思う。
妖精か何かじゃないのかな。
93デフォルトの名無しさん:2005/09/26(月) 13:16:05
BBX別館になってるわねw
向こうのS/N比を下げないためにこっちでヲチするのはあり…かしらね。
94デフォルトの名無しさん:2005/09/26(月) 13:25:21
>>90
OleLoadPicture
95デフォルトの名無しさん:2005/09/26(月) 13:35:50
GPUでjpegのデコードを行うことは出来ますか?
96デフォルトの名無しさん:2005/09/26(月) 13:39:22
君が祈ればきっとできるさっ!
97デフォルトの名無しさん:2005/09/26(月) 13:42:49
なんか、初心者のスレと言うより、自分の脳味噌を使ったり、自分で調べるのが面倒な人のスレだな。
98デフォルトの名無しさん:2005/09/26(月) 15:36:52
童貞捨てるのが面倒くさいです。
誰か変わりに捨ててくれませんか。
99デフォルトの名無しさん:2005/09/26(月) 16:26:30
DirectXがインストールされている場所はどうやって調べるんですか?
DirectX診断ツールを見てもわかりませんでした
DirectX診断ツールのDirectXファイルタブにあるファイル名で
コンピュータ内を検索しても見つかりませんでした
100デフォルトの名無しさん:2005/09/26(月) 16:48:09
擦れ違いです
101デフォルトの名無しさん:2005/09/26(月) 16:54:12
何のことか、さっぱりだーよ・・
102デフォルトの名無しさん:2005/09/26(月) 19:27:43
駄目だ、どうしても分かりませぬ 情報が無さ過ぎて泣きそう
VisualStudio.NETを持ってるのですが、DirectX9 SDKをインストールしても、
プロジェクトの新規作成でDirectXのサンプルが作れません・・・
つまり「テンプレート」欄に、×マークのアイコンが出てこないのですが、
VS.NETとDirectXの関連付け?をどうやるのかさっぱりです。
どうか教えてください。もう何日こんなしょっぱなでさまよっているんだろう。。。
103デフォルトの名無しさん:2005/09/26(月) 19:28:41
それってDirectX9 2004Summerまでの機能じゃなかったっけ
104デフォルトの名無しさん:2005/09/26(月) 19:56:14
DX SDKのインストールフォルダは、環境変数の DXSDK_DIR に設定されているはずだよ。
105デフォルトの名無しさん:2005/09/26(月) 21:40:55
>>102
Wizardのことを言っているのなら、それは無くなった。
サンプルブラウザから適当なサンプルをインストールして、
それを土台にすれば良い。
106デフォルトの名無しさん:2005/09/27(火) 07:04:57
これからDirectXSDKの導入を行おうとしている物ですが、
以下について質問させてください。

1.DirectXSDKのインストールに伴い、システムDLL等の上書きが発生するか?
  開発専用マシンの用意が出来ない為、
  日常利用している環境をできれば壊したくないと思っています。

2.複数のバージョンのDirectXSDKを導入することは可能か?
  1.が発生しなければ、ビルド時の参照先ライブラリを変える事で、
  可能かと思っています。

DirectX開発専用のマシンの構築が出来ない為、上記が気になっています。
サーチした限りでは、このような環境で開発しているような方を見かけなかったので、
ご存知の方いらっしゃいましたら、教えていただけないでしょうか?
107デフォルトの名無しさん:2005/09/27(火) 07:39:29
>>106
1.普通に上書きされる。
昔と違ってDirectX入れたから不安定になることは稀。

2.複数のSDKはインストール可能。
ランタイムは最新バージョンのを入れる。
108デフォルトの名無しさん:2005/09/27(火) 07:56:15
>>107
有難うございます。
最後に追加でもう一点だけ聞かせてください。

システムDLLの上書きが行われるということですが、
現在の環境(DirectX9.0cランタイム導入済みWinXP)に、
8.1SDKと9.0SDK(December2004)の導入を予定しているのですが、
こちらのようなケースで問題は発生しないのでしょうか?

最初に環境と導入予定を書いておけばよかったですね。すみませんです。
109デフォルトの名無しさん:2005/09/27(火) 08:04:12
>>108
その場合だと9.0cが一番新しいから、
8.1と9.0は「ランタイム以外」を適当なフォルダにインストールすればOK。

おいらは仕事で使っているのでいろんなバージョンのSDKが入ってる。
9.0c(ランタイム込み)、9.0、7.0a、5.0
110デフォルトの名無しさん:2005/09/27(火) 08:11:43
>>109
早速のレス有難う御座いました。
心配していた所が晴れました。これから早速導入してみます。
こちらも仕事なんですが、急にDirectX環境用意してくれと言う割に、
マシン貸し出しも無く、どうしようか悩んでいたので助かりました。
111デフォルトの名無しさん:2005/09/27(火) 08:31:09
デュアルブート。
112デフォルトの名無しさん:2005/09/27(火) 10:47:26
(・∀・∀・)
113デフォルトの名無しさん:2005/09/27(火) 11:11:38
デバッグの度に再起動するの?メンドくない?
114デフォルトの名無しさん:2005/09/27(火) 12:15:52
うちのC++.NETはデバッグの度に3割くらいの確率でOSごとフリーズする
115デフォルトの名無しさん:2005/09/27(火) 12:36:26
COMについて勉強中です

D3D_COM_HOGE* temp_com_pointer = com_pointer_a;
com_pointer_a = com_pointer_b;
//ここでなんらかの処理
com_pointer_a = temp_com_pointer;

大雑把に言うと以上のような処理をしたいのですが、こういう場合もやはり、逐一

D3D_COM_HOGE* temp_com_pointer = com_pointer_a;
temp_com_pointer->AddRef();

com_pointer_a->Release();
com_pointer_a = com_pointer_b;
com_pointer_a->AddRef();
//ここでなんらかの処理
com_pointer_a->Release();
com_pointer_a = temp_com_pointer;
com_pointer_a->AddRef();
temp_com_pointer->Release();
temp_com_pointer = NULL;

と、するべきなのでしょうか?
116デフォルトの名無しさん:2005/09/27(火) 12:40:38
スレ違い。
117115:2005/09/27(火) 12:43:20
いえもちろんDirectXでのCOMの話なのですが…
118デフォルトの名無しさん:2005/09/27(火) 12:45:27
116はVB厨
119デフォルトの名無しさん:2005/09/27(火) 12:48:00
(・∀・)ニヤニヤ
120マイク ◆yrBrqfF1Ew :2005/09/27(火) 19:38:11
関係無いがすねるの法則というのはツンデレというもののことか?
121デフォルトの名無しさん:2005/09/27(火) 20:06:45
スネルの法則は
「光線の入射角 d1、屈折角 d2、入射側の屈折率 n1、出射側の屈折率 n2とすると、n1 * sin(d1) == n2 * sin(d2)」
のことだ。つまりツンデレのことだな。
122デフォルトの名無しさん:2005/09/27(火) 23:01:32
>>117
詭弁だな。

とりあえず CComPtr でも使えば?
123デフォルトの名無しさん:2005/09/27(火) 23:11:58
>>122
参照カウント増減のタイミングを聞いてるので
その解では不完全。
124デフォルトの名無しさん:2005/09/27(火) 23:46:55
>>115
生のCOMポインタを扱うなら、そういう操作は必要だろうね。
提示したソースの場合、 com_pointer_bを代入した際に、
Release呼ばなくていいのか?とか
参照カウント増減の順序とかちと気持ち悪いね。
まぁ参考にでっち上げたソースなんだろうけど。

ただ、その操作の煩雑さからバグを引き起こす可能性があるから、
CComPtrなんかのラッパークラスを利用した方がいいと思う。
CComPtrのソース見りゃ分かるけど、その手の操作は隠蔽される。

そういやCOMのスレって無いんだねぇ。
出来れば皆関わりたくないと言う意思の現れか?
125デフォルトの名無しさん:2005/09/27(火) 23:54:03
>>124
COMは検索しにくいのが難点だな。
技術を布教しようと思ったらネーミングにも気をつけないと、とオモタ。

最近まであったCOMスレ
ttp://makimo.to/2ch/pc8_tech/1044/1044457085.html
126115:2005/09/28(水) 00:25:58
皆さんレスありがとうございます

> com_pointer_bを代入した際に、
> Release呼ばなくていいのか?とか

shared_ptrの様なものだと認識してたのですが、
auto_ptrみたいに、当該ポインタは一つじゃないと駄目なんでしょうか。

というか皆さんの口ぶりから察すると、DirectXをやるのにCOMを学ぶ必要はないんでしょうか?
出来れば俺もこんなものやりたくないのですが。

>>125
激しく同意でとても困ってます。.netとかも。
127デフォルトの名無しさん:2005/09/28(水) 01:05:31
>>126
オマイの使ってるDirectXのバージョンはいくつだ。
128デフォルトの名無しさん:2005/09/28(水) 01:12:55
DirectXのCOMなんて
AddRefとReleaseだけ知ってればことは済むよ。

_COM_SMARTPTR_TYPEDEF( IDirect3DStateBlock9, IID_IDirect3DStateBlock9 );
IDirect3DStateBlock9Ptr pStateBlock;
pD3DDevice->BeginStateBlock();
・・・
pD3DDevice->EndStateBlock( &pStateBlock );

ちなみにこのコードはリークを起こす。
皆さん知ってましたか?
129デフォルトの名無しさん:2005/09/28(水) 01:14:40
すいません抜けがありました。
正しくはこう。

_COM_SMARTPTR_TYPEDEF( IDirect3DStateBlock9, IID_IDirect3DStateBlock9 ); 
IDirect3DStateBlock9Ptr pStateBlock; 
pD3DDevice->CreateStateBlock( D3DSBT_ALL, &pStateBlock );
pD3DDevice->BeginStateBlock(); 
・・・ 
pD3DDevice->EndStateBlock( &pStateBlock ); 
130デフォルトの名無しさん:2005/09/28(水) 01:23:48
DirectShowを使うときはCOMを意識したが、
Direct3DではCOMって何?状態。
131デフォルトの名無しさん:2005/09/28(水) 06:12:25
まぁ、何でもネット上の情報で済まそうとするのが間違いだな。
COMの本なら結構出版されてる。
132デフォルトの名無しさん:2005/09/28(水) 07:57:17
今月のcマガの特集で紹介されているけど、、スレイプニルの構造がCOMっぽいけど。
C++再考のハンドルクラスの話と同じのような希ガス。
133デフォルトの名無しさん:2005/09/28(水) 08:10:15
DirectXとCOMは別の技術ということを>>115がわかっていないんじゃまいか?
134デフォルトの名無しさん:2005/09/28(水) 08:42:40
わかってなきゃ、この台詞は出まい

> というか皆さんの口ぶりから察すると、DirectXをやるのにCOMを学ぶ必要はないんでしょうか?
> 出来れば俺もこんなものやりたくないのですが。
135デフォルトの名無しさん:2005/09/28(水) 08:48:59
117 名前:115 [sage] 投稿日:2005/09/27(火) 12:43:20
いえもちろんDirectXでのCOMの話なのですが…
136デフォルトの名無しさん:2005/09/28(水) 10:00:09
とうとう自治厨まで出てきたか
137デフォルトの名無しさん:2005/09/29(木) 21:34:13
>>129の意味がわかりません。
138デフォルトの名無しさん:2005/09/30(金) 10:13:18
DirectXの初期化中のデバイスオブジェクトの作成に失敗します
なぜですか?

  // デバイスオブジェクトを生成
  // 必ず失敗
  if (FAILED(m_pD3D->CreateDevice(
    D3DADAPTER_DEFAULT,                // プライマリディスプレイアダプタ
    D3DDEVTYPE_REF,                   // 描画をソフトウェアで行う
    hWnd,                            // フォーカスウィンドウ
    D3DCREATE_SOFTWARE_VERTEXPROCESSING, // 頂点処理をソフトウェアで行う
    &m_D3DPresentParameters,              // 生成するデバイスのプレゼンテーションパラメータ
    &m_pD3DDevice                     // 生成されたデバイスへのポインタ
  ))) {
    // 生成失敗
    return E_FAIL;
  }
139デフォルトの名無しさん:2005/09/30(金) 10:30:38
プレゼントパラメータ(m_D3DPresentParameters)の設定も書かないと分からん。
140デフォルトの名無しさん:2005/09/30(金) 10:35:26
まとめてどっかにうpした方がいいかな

  // プレゼンテーションパラメータを設定
  {
    D3DDISPLAYMODE d3ddm; // ここにディスプレイモードを格納

    // ディスプレイモードを取得
    m_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm);

    // プレゼンテーションパラメータをゼロクリア
    ZeroMemory(&m_D3DPresentParameters, sizeof(D3DPRESENT_PARAMETERS));

    // プレゼンテーションパラメータを設定
    m_D3DPresentParameters.BackBufferCount = 1;
    m_D3DPresentParameters.Windowed = true;
    m_D3DPresentParameters.BackBufferFormat = d3ddm.Format;
    m_D3DPresentParameters.EnableAutoDepthStencil = true;
    m_D3DPresentParameters.AutoDepthStencilFormat = D3DFMT_D16;
  }
141デフォルトの名無しさん:2005/09/30(金) 10:43:52
設定が少なすぎるんじゃない?
漏れのソースから適当に見繕ってみたので、以下を適当に挿入してみると動くかも知れない。

m_D3DPresentParameters.Flags= D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
m_D3DPresentParameters.SwapEffect = D3DSWAPEFFECT_DISCARD;
m_D3DPresentParameters.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
m_D3DPresentParameters.BackBufferWidth = 640;
m_D3DPresentParameters.BackBufferHeight = 480;
m_D3DPresentParameters.MultiSampleType = D3DMULTISAMPLE_NONE;
142デフォルトの名無しさん:2005/09/30(金) 10:49:34
動いたよ。・゚・(ノД`)・゚・。ありがとう
143デフォルトの名無しさん:2005/09/30(金) 13:31:19
>>140
つーことはお前、ヘルプのチュートリアルもみてないのか。
死ね。死にまくれ。
144デフォルトの名無しさん:2005/09/30(金) 13:34:38
ゆとり教育
学校の先生に「教科書の19ページを見なさい」と言われないと見ない
誰かに「ヘルプの○○を見なさい」と言われないと見ない
145デフォルトの名無しさん:2005/09/30(金) 16:49:21
VC++&DirectXでアクションゲーム作ってます。
アニメーションのXファイルを読み込むことはできたのでフィールドを走り回るプログラムはできました。
そこでDirectInputからキーボード入力があったらこのアニメーションXファイルを切り替えて攻撃用のアニメーションXファイルやガード用のアニメーションXファイルに切り替えるにはどうすればいいのでしょうか?

if(key[DIK_Z] & 128)
   InitThing(&Thing[0],"keru.x",&D3DXVECTOR3(Thing[0].vecPosition.x,Thing[0].vecPosition.y,5));
   sleep(10);
   InitThing(&Thing[0],"aruku.x",&D3DXVECTOR3(Thing[0].vecPosition.x,Thing[0].vecPosition.y,5));

とか、ない頭振り絞って考えたんですがちゃんと攻撃のアニメーションをして歩くアニメーションに戻ってくれません。
InitThingはD3DXLoadMeshHierarchyFromXでアニメーションメッシュを読み込んで作成する関数です。
DirectXにくじけそうです。よろしくおねがいします


146デフォルトの名無しさん:2005/09/30(金) 17:42:03
>>145
ゲーム作成云々のサイトか本を一冊読んだほうが良いと思うよ。
それだと、他のキャラクターはどうするつもり?
147デフォルトの名無しさん:2005/09/30(金) 18:16:28
>>143
ダイナミックヘルプなら死ぬほど見たのにそんな言い方ないだろう
148デフォルトの名無しさん:2005/09/30(金) 18:34:53
>>147
死ぬほど見てたら俺と同じくらい詳しいと思うけどな。
149デフォルトの名無しさん:2005/09/30(金) 19:44:26
死ぬ=法的情報やDirectX Graphicsの新機能からずっと読んでいたのですが、プログラミングガイドの固定機能パイプラインのあたりで眠ってしまいました。
という意味です
150デフォルトの名無しさん:2005/09/30(金) 19:46:15
俺一生死ねない
151デフォルトの名無しさん:2005/09/30(金) 21:30:55
DirectSoundの環境リバーブ(I3DL2REVERB)が重いです。
ずっと重いわけではなく、時々リバーブの音を鳴らしている間は問題ないのですが、
リバーブの音を出さずに数十秒放置すると、突然CPU使用率が急激に上昇します。
SetPresetやSetQualityの値を各種試しましたが原因がつかめません。
エコーとコーラスは問題ありませんでした。心当たりがある方はおられませんか?
152デフォルトの名無しさん:2005/09/30(金) 21:43:07
もう軽く半日くらい悩んでてブチ切れ超えて涙出てきた。

typedef HRESULT (WINAPI *DI8Create_Type)(HINSTANCE, DWORD, REFIID, LPVOID *, LPUNKNOWN);

HRESULT ret;
HINSTANCE Dinput;
DI8Create_Type pDICreate;
LPDIRECTINPUT lpDI8;

Dinput = LoadLibrary("dinput.dll");
pDICreate = (DI8Create_Type)GetProcAddress(Dinput,"DirectInput8Create");
ret = (*pDICreate)(GetModuleHandle(NULL),DIRECTINPUT_VERSION,IID_IDirectInput8A,(void **)&lpDI8,NULL);

なんでここでretにDIERR_OUTOFMEMORYが帰ってくるのお!?

あるアプリのDirect3DラッパDLL内DLLMain直後で
環境はWinXP・VC++.net2003です
153デフォルトの名無しさん:2005/09/30(金) 21:49:53
DirectInput8Createはdinput8.dllじゃないの?
154デフォルトの名無しさん:2005/09/30(金) 21:52:13
あああああああああああああああああああああ!!!
155デフォルトの名無しさん:2005/09/30(金) 21:52:46
>>153
ビンゴです_| ̄|○ありがとうございました
自分のアホさに泣けてくる…
156デフォルトの名無しさん:2005/09/30(金) 22:00:18
たった半日かよ・・・
157デフォルトの名無しさん:2005/09/30(金) 22:06:25
>>152←こういう馬鹿な奴ほどさぁw
わざわざ妙な組み方してハマってるよなw
サンプルにある奴のコピーの方が他の奴がみたときわかり易いだろうに・・・
動かないときだって原因が特定しやすいし・・・
ホント、身の程をわきまえろって思うよ。
158デフォルトの名無しさん:2005/09/30(金) 22:07:05
意外におもわれがちだけど
学生の半日ってケッコー貴重なんすよ・・・
159デフォルトの名無しさん:2005/09/30(金) 22:08:41
>>157
 ざ
 ン
 か
 ン

こうですか!?わかりません!!

>>158
学生はニートに次いで2番目にヒマな人間だろ
160デフォルトの名無しさん:2005/10/01(土) 01:57:54
>>158
学生の半日<<<<<<<<<<<<<<<<<<<<<<<<<<本職の30分

戯れ言は寝て家。
161デフォルトの名無しさん:2005/10/01(土) 02:57:01
>>160
無職の半年<<<<<<<<<<<<<<<学生の半日<<<<<<<<<<<本職の30分

戯れ言は寝て家。
162デフォルトの名無しさん:2005/10/01(土) 03:10:48
みんな時間の使い方が素晴らしくて涙が溢れそうです。
163デフォルトの名無しさん:2005/10/01(土) 05:28:05
ここは心が温まるスレですね
164デフォルトの名無しさん:2005/10/01(土) 06:26:21
>>160-161
寝て言うのは戯言では無く寝言だ!
165デフォルトの名無しさん:2005/10/01(土) 10:51:33
輝ける青春まっただ中にある学生の時間>惰性で毎日を送る社会人の時間
じゃないのか

そこまで言わなくても、歳共に時間が過ぎるのが速くなるなぁ
166デフォルトの名無しさん:2005/10/01(土) 11:16:07
将来に不安を持つ若者とつまらない学生生活を過ごしてきた年輩が集うスレはここですか?

何歳になろうと時間の価値に変化なんてねーよ
変化してんのはお前らの感性と時間の使い方だ
167デフォルトの名無しさん:2005/10/01(土) 12:31:48
時間の価値って何?
何か基準があるの?
人それぞれ時間の価値は違うんじゃないの?
なら時間とともに変化するんじゃないの?
168デフォルトの名無しさん:2005/10/01(土) 12:35:22
半日が貴重かどうかは人それぞれだが、

>もう軽く半日くらい悩んでてブチ切れ超えて涙出てきた。
半日で涙流してブチ切れ超えるのは、忍耐が無いとしか思えない。
169デフォルトの名無しさん:2005/10/01(土) 12:53:55
たった1つのバグを、半日考えても潰せなかったら凄く焦ってこない?
…もしかしてこのまま一生ここから進めないんじゃ…みたいに。
そりゃ Dual Paraboloid Mapping を半日考えただけで涙流す人は忍耐なさ過ぎだけどw
170デフォルトの名無しさん:2005/10/01(土) 12:57:27
>>169
同意。>>152が泣きそうって言ったのも分かる気がする
今更かもしらんけどDLL内でGetHandleModule(NULL)で
DirectInput8Createしてもエラー返るんじゃね?ヘルプにそんな記述あった
171デフォルトの名無しさん:2005/10/01(土) 12:58:50
大げさに書いた方が食いつきが良いだろうって下らない考え、その程度の話だろ
本当にお前ら、こういう誰でも参加できるレベルの低い話ばかり盛り上げるな
172デフォルトの名無しさん:2005/10/01(土) 12:58:50
GetModuleHandleだバカかオレは
173171:2005/10/01(土) 13:00:03
おっとすまん、170はそれなりに建設的な
174デフォルトの名無しさん:2005/10/01(土) 13:03:30
仕事とか、課題とか期限付きならわからんでもないが、
おそらくそうじゃないんでしょ?

大体、半日程度で、なんでもできると思ってる方がどうかしてる。
それに、一生進めないなんてありえない。

半日悩んだけど、スキンメッシュが扱えねー!とか
半日悩んだけど、シェーダーが扱えねー!とか。
175マイク ◆yrBrqfF1Ew :2005/10/01(土) 13:11:10
仕事で必死にゲーム作って心も体も一杯一杯なのって人生終わってるな(▽
176デフォルトの名無しさん:2005/10/01(土) 13:20:31
納豆
177デフォルトの名無しさん:2005/10/01(土) 13:22:35
オレはサンプルにあるやり方でやらないでわざわざ変なやり方してハマッてる状態みて
「あー、こいつ馬鹿なんだw ブッ叩いてやろう」
って思った。
んで、自分、泣きそうになってんのに、まだくだらないやり方にこだわってるのw
「あー、こいつゲーム作れる器無いねw ブッ叩いてやろう ついでにウザイから沈めちゃえw」
って思った。

実際、こいつってゲーム完成させたことないと思うw
178デフォルトの名無しさん:2005/10/01(土) 13:25:23
なんかもまいら楽しそうだな
179デフォルトの名無しさん:2005/10/01(土) 13:27:16
こいつって誰だ
お前は誰と話をしているつもりなんだ
180デフォルトの名無しさん:2005/10/01(土) 13:30:23
>>179
撒き餌じゃね?
181デフォルトの名無しさん:2005/10/01(土) 13:48:48
>>179
はぁ?流れでわかんないの?
小学校からやり直してこいよw
182デフォルトの名無しさん:2005/10/01(土) 13:49:22
>>167
時間は時間だ。時間以外のものとその価値を比べることなんて厳密には出来ないだろう。
人それぞれの時間の価値が違うのも時間と共に変化してるのも
その人の主観的な価値観であって時間そのものの価値ではない。

若い頃の10分も今の10分もどっちも同じ10分でしかない。
ただ若い頃と今ではその10分の使い方が違うだけ。
183デフォルトの名無しさん:2005/10/01(土) 13:52:39
4.余計な雑談は不要ですよ
184デフォルトの名無しさん:2005/10/01(土) 13:53:19
>>181
自分が流れの中心に居ると思い込んでいる奴キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
185デフォルトの名無しさん:2005/10/01(土) 13:56:34
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
186デフォルトの名無しさん:2005/10/01(土) 14:00:42
>>184
はぁ?だからいつまでたってもゲームが作れないんだぞお前はw
俺が言ってるのは国語だよ。国語。これまでのレス読んでわからねーのかよ低脳。
誰も話題の中心がどうだとかそんな話してないよ。馬鹿?つーか、馬鹿。
そうやって全然話の本質をとらえないで逸らすことばっかり考えてるから
プログラムもそうやって頓珍漢なもん組み始めるんだよバーカ。
お前は一生DirectInput弄って誰ももってないデバイスサポートしてろチンカス(笑)
187デフォルトの名無しさん:2005/10/01(土) 14:06:01
DirectInputじゃないとXPで不具合でるんじゃなかったかな
XPはIDの設定が出来ないとかで
188デフォルトの名無しさん:2005/10/01(土) 14:09:29
ID無い板って大変だな
189デフォルトの名無しさん:2005/10/01(土) 14:12:58
そんなあなたにゲーム製作技術板
DirectXでもゲームプログラミングでも具体的な話をしたい人はこちらへどうぞ

Direct 3D
http://pc8.2ch.net/test/read.cgi/gamedev/1005293179/
ゲームプログラミング相談室【Part6】
http://pc8.2ch.net/test/read.cgi/gamedev/1078503950/
190デフォルトの名無しさん:2005/10/01(土) 15:52:34
>>177
DLLの実行時動的リンクはそれなりに意味があるよ。
191デフォルトの名無しさん:2005/10/01(土) 15:54:36
>>177
152のことを言ってるんだろうが、あのコードを見てゲーム作ろうと
しているとか勘違いしているお前の方が痛いぞ。
分かる奴はあれだけ見れば、何しようとしているのか想像つく。

>>152
わざわざC言語で書いてるみたいだけど、#includeよりも前に
#define CINTERFACEって書いておくと、C++からでもCOMを
Cのインターフェースで扱えるよ。
192デフォルトの名無しさん:2005/10/01(土) 16:08:30
>>190
どんな?
泣いて半日無駄にする以上の価値があるわけね。

>>191
>あのコードを見てゲーム作ろうとしているとか勘違いしているお前の方が痛いぞ
じゃあ、なにしてんの?

つか、結論から書けよ。
>>190 「意味があるよ」じゃなくて、ちゃんとどういう理由があるのか一言で説明できるだろ。
馬鹿だろ。マジで死ね。なにもったいつけてんだ?
どうせくっだらねぇ理由だから意味ありげなレスで止めてんだろ。死ね。

>>191
お前も何してるのか書けよ。
>>152はゲームを作ろうとしてるんじゃなくて、これこれこういう理由でこういうコードになってんだよ。
って説明書けよ。クズが。
193デフォルトの名無しさん:2005/10/01(土) 16:11:19
(・∀・)ニヤニヤ
194デフォルトの名無しさん:2005/10/01(土) 16:17:55
わかったからいい加減にゲームを完成させろ
195デフォルトの名無しさん:2005/10/01(土) 16:44:41
俺様の最強ゲームライブラリは
・DirectX9がインストールされてなければ、原因と取るべき対処の方法を、PC初心者にも分かりやすい日本語で教えてくれる予定です。
・DirectXとOpenGLを切り替えできます。将来的には、完全ソフトウェア描画にも対応する予定です。
・超絶凄いゲームが、今後次々とインターネット上で有志によってリリースされてゆく予定です。
196デフォルトの名無しさん:2005/10/01(土) 17:09:01
最強ゲームライブラリにしちゃ志が低いな。
追加しておけ↓
つ・ロイヤリティがボコスコ入ってきて、寝てるだけももうチンコビンビンです。
つ・流通は初心会が管理し、ROMカセットのみの販売となります。

うはなにをするくぁwセdrftgyふじこlp;@:「
197デフォルトの名無しさん:2005/10/01(土) 17:09:50
本当の意味でゲームを作る前に、初期化とか環境設定で殺されるなんて。
ってことで、誰か賢い人が作ったライブラリを使った方がお勧め。
198デフォルトの名無しさん:2005/10/01(土) 17:53:16
>>192 に同情。一言で説明できるのに勿体ぶって説明せずに寸止めする香具師大杉。
199デフォルトの名無しさん:2005/10/01(土) 17:54:46
オレも>>192に同情!
200デフォルトの名無しさん:2005/10/01(土) 17:56:19
ほんと馬鹿な香具師多すぎ、私も>>192に同情します。
201デフォルトの名無しさん:2005/10/01(土) 18:03:58
同情するより仕事くれ
202デフォルトの名無しさん:2005/10/01(土) 21:24:20
わざわざDLLいじるのは>>195をやるためだって
203デフォルトの名無しさん:2005/10/01(土) 22:41:21
>>202
ゲームを作るコードじゃないらしいよ。
204デフォルトの名無しさん:2005/10/02(日) 07:39:38
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(222) : error C2146: 構文エラー : ';' が、識別子 'PVOID64' の前に必要です。
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(222) : error C2501: 'PVOID64' : 識別名を宣言するのに、型が指定されていません。
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(5940) : error C2146: 構文エラー : ';' が、識別子 'Buffer' の前に必要です。
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(5940) : error C2501: '_FILE_SEGMENT_ELEMENT::PVOID64' : 識別名を宣言するのに、型が指定されていません。
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(5940) : error C2501: '_FILE_SEGMENT_ELEMENT::Buffer' : 識別名を宣言するのに、型が指定されていません。

とか言うエラーが5個ぐらい発生しているのだが、
どうやったら直る?
205201:2005/10/02(日) 07:56:03
因みに、言語はC++、何も編集しない状態でこうなる。
206デフォルトの名無しさん:2005/10/02(日) 09:28:42
WIN64関係の識別子が定義されてないんだろうねぇ
207デフォルトの名無しさん:2005/10/02(日) 10:11:54
ねぇ
208デフォルトの名無しさん:2005/10/02(日) 12:57:23
その前にインクルードしてる自作のヘッダーファイルに;や}がない罠じゃね?
209デフォルトの名無しさん:2005/10/02(日) 19:38:18
謹製のインクルードファイル。
210デフォルトの名無しさん:2005/10/03(月) 01:26:18
自作3Dモデルを動かしたくてDirectXプログラミングを始めたのですが、

ttp://www.twin-tail.jp/
ttp://www.roy.hi-ho.ne.jp/pastel/home/index.html

上記サイトを参考にXファイルの表示方法は分かったのですが、
そのXファイルの表示位置の変更(つまりは表示キャラの移動)
については触れられてませんでした。
(サンプルプログラムでは全て画面中央に表示されるようになってました)

どうすれば表示モデルの移動ができるのでしょうか?
211デフォルトの名無しさん:2005/10/03(月) 01:40:53
>>210
とりあえず、SDKのヘルプは読んだ?
212デフォルトの名無しさん:2005/10/03(月) 01:44:05
特にDirect3D のチュートリアルのところ。
213デフォルトの名無しさん:2005/10/03(月) 02:06:57
>>211-212
メッシュの使い方の項でしょうか。行列の項も一応読んですが、
勉強が足りてないせいか特にヒントは得られませんでした…
214デフォルトの名無しさん:2005/10/03(月) 06:34:26
>>213
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/DirectX9_c/directx/graphics/programmingguide/tutorialsandsamplesandtoolsandtips/tutorials/3/step1.asp
ほんとだw
最強によくわかんねーなコレw
これは回転する例だけだけど、平行移動・スケーリング(拡大・縮小)・回転とできてな。
描画位置をどうにかするには平行移動をすればいいわけよ。
その辺は自分で探してみてくれ。
要はSetTransformに設定された場所にモデルが描画されるわけよ。
215デフォルトの名無しさん:2005/10/03(月) 07:27:55
>>210
D3DXMatrixTranslationとかだけど、行列演算が移動になるってこと分かってないようだし、
まずは初心者向けの本を読んだ方がいいって。
216デフォルトの名無しさん:2005/10/03(月) 07:41:52
ところがどっこい、書いてない入門書のほうが多いわけですよ
買うときは気をつけなー
217デフォルトの名無しさん:2005/10/03(月) 08:25:17
>>213
3DCGの原理を勉強したほうがいいんでないの?
とりあえず2ch的な推奨本なら多分こんな奴。
http://www.amazon.co.jp/exec/obidos/ASIN/4939007375/qid=1128295398/sr=8-3/ref=sr_8_xs_ap_i3_xgl14/250-9773565-7639426

線形代数を学んだ大学生向けだと思うけど、気合の入った理系高校生なら読めるかも。
218デフォルトの名無しさん:2005/10/03(月) 08:46:47
>>213
基本を知らないと時間ばかりが過ぎていくぞ。
急がば回れってやつだ。
219デフォルトの名無しさん:2005/10/03(月) 14:14:46
チュートリアルを実際に動作させてみて、適当にいじくり回していけば基本は習得出来るはず。
逆に読むだけなのは身に付かないから時間の無駄。
220デフォルトの名無しさん:2005/10/03(月) 14:27:15
DirectX7のヘルプは読み応えがある
理路整然としていて理解しやすい
221デフォルトの名無しさん:2005/10/03(月) 16:48:55
つうかMSってヘルプが他とくらべものにならないぐらい充実してるんだよな。
例えばMSXMLとXercesでは全然違うぜ。
MSがシェアとってるのは案外こういうとこからきてるのかも。
222デフォルトの名無しさん:2005/10/03(月) 17:42:22
質問です。XP、.NET です。

メモリにロードした画像データを表示する必要があるため、
D3DXCreateTextureFromFileInMemory を使おうと思いました。

HRESULT D3DXCreateTextureFromFileInMemory(LPDIRECT3DDEVICE8 pDevice,
 LPCVOID pSrcData,
 UINT SrcData,
 LPDIRECT3DTEXTURE9* ppTexture);

pSrcData には、画像ファイルをそのままメモリにロードしたもののアドレスを渡せばいいのでしょうか?
具体的には、例えば png ファイルの場合は

(続く)
223222:2005/10/03(月) 17:42:58
fp = fopen("〜.png", "rb");

// ファイルの大きさを取得
fseek(fp, 0, SEEK_END);
long bytes = ftell(fp);
fseek(fp, 0, SEEK_SET);

// 領域を確保し、データをロード
void* Pic = malloc(bytes);
fread(Pic, 1, bytes, fp);

LPDIRECT3DTEXTURE9 pTexture;
D3DXCreateTextureFromFileInMemory(pDevice, Pic, bytes, &pTexture);

と言った風に行っています。

エラーはでないのですが、画像が表示されません。(スプライトを生成してテクスチャを表示しています)
もちろん他の部分に間違いがある可能性もありますので、上記コード内に間違いがあるかどうかは現状では不明です。

よろしくお願いします。
224デフォルトの名無しさん:2005/10/03(月) 17:53:16
>>223
D3DXCreateTextureFromFileでファイルから読み込んだ場合はちゃんと表示されるのか?
225222:2005/10/03(月) 17:59:11
>>224
表示されないじゃん…orz
以前にテストは行ったのですが、
他の方法 (DirectX を使わない)で表示させていた部分のコメントアウトが一部抜けてて、
それで表示されていると勘違いしていました。
出直してきます。ありがとうございました。
226デフォルトの名無しさん:2005/10/03(月) 20:39:39
超初心者な質問ですみません。
DirectDrawで2Dゲーム作る利点を軽く教えてください
お願いします。
227デフォルトの名無しさん:2005/10/03(月) 20:51:55
無い
228デフォルトの名無しさん:2005/10/03(月) 21:20:58
質問です。こいつら何やってるんですか?
http://pc8.2ch.net/test/read.cgi/tech/1096649788/734-
229デフォルトの名無しさん:2005/10/03(月) 21:23:47
>>228
スレ違い
230226:2005/10/03(月) 21:28:46
>>227
これってマジレスですか?
231デフォルトの名無しさん:2005/10/03(月) 21:32:40
マジれす
232226:2005/10/03(月) 23:49:55
じゃあ2Dシューティングゲームか何かは
どうしてDirectX7とかを使ってるんですか?
233デフォルトの名無しさん:2005/10/04(火) 00:03:28
自前の最適化された拡大縮小回転ルーチンや矩形転送ルーチンに
最大限に意義を持たせるためだと想像します。
234デフォルトの名無しさん:2005/10/04(火) 00:09:33
わざわざDirectDrawで作るのは
Direct3Dがハードウェアサポート受けてないような低スペックハードで
動かせるようにするためだろうけれど今時そんなハード見つけるほうが大変だろ。

低スペックで動くからDirectDrawスゲーってわけじゃなくて、
回転拡縮とかやり始めたら作るのめんどくさい&速度遅いしで色々と時間の無駄。
とうとう最後の砦とも言うべきかエロゲもDirect3D使い始めたようだしなあ
235デフォルトの名無しさん:2005/10/04(火) 07:10:26
>>226
Direct3Dの機能が特に必要ない場合は、DirectDrawの方が
2Dゲームは作りやすい。

あと、Direct3Dを使う場合でも、Windows98を動作対象に入れる場合は、
DirectX7を使うこともある。
236デフォルトの名無しさん:2005/10/04(火) 07:40:27
シューティングは256色で高速に動かしたいからじゃね
古い機種だと16ビット色ですら動作が遅くなる
237デフォルトの名無しさん:2005/10/04(火) 08:30:47
・アルファチャネル要らなくてカラーキーで満足できる
・ドット絵のジャギー感が欲しい(フェチ)
・浮動小数点演算に抵抗がある(ランバ・ラルのようなオールドタイプ
238デフォルトの名無しさん:2005/10/04(火) 10:43:35
>>235
3Dアクセラレータが使えないから激遅ってのも重要な点だな。
239デフォルトの名無しさん:2005/10/04(火) 13:36:33
回転とか拡大縮小をしないなら、激遅ってほどでもないんでない
むしろDDraw有利だと思ってたくらいで
240デフォルトの名無しさん:2005/10/04(火) 13:43:25
あれ・・・
ひょっとして Direct3D 使って作ったアプリて
Windows98 に対応できないんですか・・・?
241デフォルトの名無しさん:2005/10/04(火) 15:43:36
>>240
対応できるよ。最新のDirectXでもWin98はサポートされている。

Win98は初期状態でDX7が入っていて追加のインストールが必要ないから
主なターゲット層がサラリーマン等の場合はDX7を使ったりするということ。
242240:2005/10/04(火) 16:09:12
>>241
なるほど、ありがとうございます。
243デフォルトの名無しさん:2005/10/04(火) 19:13:41
つまりライバルはマインスイーパーやソリティア
244デフォルトの名無しさん:2005/10/04(火) 19:18:02
WinGって、APIに吸収されたんでそ?
245デフォルトの名無しさん:2005/10/04(火) 19:55:52
bio100%のやつ?
246デフォルトの名無しさん:2005/10/04(火) 20:05:30
>>244 そう

>>245 それはWinGL 別名MS横流(ry
247デフォルトの名無しさん:2005/10/04(火) 23:46:25
あるMSの技術者がその昔、バイファムの声優をやっていたことは意外に知られていない。
248デフォルトの名無しさん:2005/10/04(火) 23:57:43
いいなあ
ロリティック銀河漂流
してみたいなあ
ピースボードで我慢するか
249デフォルトの名無しさん:2005/10/05(水) 01:47:08
>ハルなんとかさん
http://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=47&vew=410
そりゃ、おめーのプログラム見てみるしかねぇよw
250デフォルトの名無しさん:2005/10/05(水) 09:14:53
こんな所で愚痴るなんて陰険な上に無能だな
251デフォルトの名無しさん:2005/10/05(水) 09:23:46
>>250
そりゃIP抜かれたくないもんな
252デフォルトの名無しさん:2005/10/05(水) 10:19:03
もう、BBXに書き込みたくないってのはあるな。
253デフォルトの名無しさん:2005/10/05(水) 11:05:57
なんれ?
254デフォルトの名無しさん:2005/10/05(水) 11:52:18
>>253
なんとなく。
理由なんか無い。
255デフォルトの名無しさん:2005/10/05(水) 18:37:08
新しいDirectXって何が変わった?
256デフォルトの名無しさん:2005/10/05(水) 18:42:08
更新履歴見れ。
257デフォルトの名無しさん:2005/10/05(水) 19:10:16
どこ?
258デフォルトの名無しさん:2005/10/05(水) 20:03:17
XInputが目玉ぽいな。
259デフォルトの名無しさん:2005/10/05(水) 20:41:47
X挿入
260デフォルトの名無しさん:2005/10/05(水) 21:40:39
なんでこんな重要な更新で日本語ドキュメントないんだよ
261デフォルトの名無しさん:2005/10/05(水) 21:41:14
ドキュン
262デフォルトの名無しさん:2005/10/05(水) 21:50:06
ドキュメント!
263デフォルトの名無しさん:2005/10/06(木) 09:37:05
ドキュトメン
264デフォルトの名無しさん:2005/10/06(木) 10:19:28
>>260
誤訳多いとか言われ続けたので翻訳担当が放棄してるらしい。
265デフォルトの名無しさん:2005/10/06(木) 10:57:11
>>264
それが事実だとしたら、翻訳担当クビでいいよ。
実際MSDNは日本語訳クソなんだから。ちょっとあんまりだとおもうよ。
266デフォルトの名無しさん:2005/10/06(木) 11:14:18
XInputって日本語しゃべれるのかな?
267デフォルトの名無しさん:2005/10/06(木) 12:19:16
DX9cが安定版で、今の隔月リリースはDX10に向けての
テスト期間だからじゃないの、翻訳しないのって。
268デフォルトの名無しさん:2005/10/06(木) 12:23:07
そもそも翻訳してる人って作る側の人間じゃないからな

この時点で既に間違ってると思う
269デフォルトの名無しさん:2005/10/06(木) 12:44:50
単独でDirectホゲホゲと呼ばれるぐらいの大きさの機能追加で
日本完全無視ってどういうことよ
XINPUTはベータじゃないしXACTなんてほぼ全員が関係するような重要な機能じゃないか
新機能興味なきゃ資料"グラフィックス カード能力"ぐらいしか見ないかもしれんが
270デフォルトの名無しさん:2005/10/06(木) 13:09:37
>>269
いや、ほぼベータとみて警戒した方がよさげではある。
いま、手を出しても変更する可能性大。
271デフォルトの名無しさん:2005/10/06(木) 13:49:26
GPUで画像に例えばアンチエイリアスをかけてその結果をCPU側に書き戻すことは出来ますか?
272デフォルトの名無しさん:2005/10/06(木) 14:07:10
>>271
できる
273デフォルトの名無しさん:2005/10/06(木) 14:25:14
>>271
将来的には出来るかもしれないが現在のGPUでは無理
274デフォルトの名無しさん:2005/10/06(木) 15:00:22
>>271
StretchRectでダウンサンプリングしてLockRectかしら。
275デフォルトの名無しさん:2005/10/06(木) 15:12:48
>>271
テクスチャにレンダリングするとかじゃなくて?
276デフォルトの名無しさん:2005/10/06(木) 21:18:25
できるけどVRAMからPCへの転送が遅いってだけでは
277デフォルトの名無しさん:2005/10/06(木) 23:19:07
そういやPCI−eは速いんじゃなかったか?
実際どうよ
278デフォルトの名無しさん:2005/10/06(木) 23:27:14
AGPx4と、AGPx8でたいして違いが無かったのに?
279デフォルトの名無しさん:2005/10/06(木) 23:33:27
何寝ぼけたこといってんだよw
280デフォルトの名無しさん:2005/10/07(金) 19:02:36
3分ほど(約50MB、wav)のBGMを流そうと思っているのですが、DirectSoundのストリームバッファを使うべきなのでしょうか?
BGM以外に既にSEをスタティックバッファを使っており、DirectInputも使う予定です。
検索して出てきたサイトを見ていると、これらを使った場合WaitForMultipleObjects等が正確に取得できないとも書かれています。
実践プログラミングを見ながら組もうとしているのですが、こういった状況でもDirectSoundのストリームバッファを使うべきでしょうか。




281デフォルトの名無しさん:2005/10/07(金) 19:25:57
嫌なら無理に使わなくていいよ
282デフォルトの名無しさん:2005/10/07(金) 19:29:08
>>280
その改行はなんだ
もしかして高学歴非童貞には見えない文章なのか
283デフォルトの名無しさん:2005/10/07(金) 19:39:09
WaitForMultipleObjectsがなくてもポーリングすりゃいいじゃん
284デフォルトの名無しさん:2005/10/07(金) 23:08:35
鰻についての質問はこのスレでよろしいですか?
285:2005/10/07(金) 23:12:37
なんでも聞いてくれ
286デフォルトの名無しさん:2005/10/07(金) 23:34:56
どっちが表でどっちが裏ですか?
287デフォルトの名無しさん:2005/10/07(金) 23:40:15
288デフォルトの名無しさん:2005/10/07(金) 23:40:26
ここは初々しい人のためのスレだ。
煮詰まった人の無駄話は専用スレでやれ↓

鬱だ氏のう DirectX (Part 15)
http://pc8.2ch.net/test/read.cgi/tech/1096649788/
289デフォルトの名無しさん:2005/10/07(金) 23:48:15
>>煮詰まった人の無駄話
ワロス
ちょっとなごんだ。
290デフォルトの名無しさん:2005/10/07(金) 23:50:37
もうハードボイルドですよ。
291:2005/10/07(金) 23:51:18
>>286
知らん!次!
292デフォルトの名無しさん:2005/10/08(土) 00:04:51
こらこら。DirectX関係みんな鰻で埋め尽くす気かよ。
293デフォルトの名無しさん:2005/10/08(土) 00:09:29
鰻とDirectX・・・何か特別な関係があるのかもしれないな・・・。
ミステリーだ。
294デフォルトの名無しさん:2005/10/08(土) 00:16:50
でもよ。
鰻屋って、夏以外の季節ってどうしてんだろうな。
やっぱり、鰻食わせんのかな?
295デフォルトの名無しさん:2005/10/08(土) 00:21:16
鰻を食わせるんじゃなくて鰻に食わせるんだよ。
296デフォルトの名無しさん:2005/10/08(土) 00:24:17
夏以外も鰻屋には人入ってるよ。
あぶらっこいオッサンが多いけど。
297デフォルトの名無しさん:2005/10/08(土) 00:43:48
なんか、脂っこい鰻が喰いたくなってきた。
298:2005/10/08(土) 01:01:01
((((((;゚Д゚))))))ガクガクブルブル
299デフォルトの名無しさん:2005/10/08(土) 01:05:51
C++Builder 6 を使い始めたのですが、
閉じたくても「デバッグ中ですが終了してもよろしいですか?」
と出るので、はいにすると、「プロセスを終了できません。アクセス拒否
されました」と出て、終了できないのですが、どうしたら
いいんでしょうか?教えてください。。
300デフォルトの名無しさん:2005/10/08(土) 01:11:07
だいぶ、魚臭くなってきたな
301デフォルトの名無しさん:2005/10/08(土) 01:14:32
海の鰻と川の鰻どっちがうまいの?
302デフォルトの名無しさん:2005/10/08(土) 01:30:46
陸の鰻にきまってんだろ!
303デフォルトの名無しさん:2005/10/08(土) 01:39:18
ここまで鰻の自演。
304152:2005/10/08(土) 02:01:35
すっごい遅レスですが

>>191
ありがとうございます。
ずっとCばっかりだったのでCなコード書くのがクセになっちゃってます。
一度諦めちゃってたんですがまた再挑戦してみようと思います。
305デフォルトの名無しさん:2005/10/08(土) 03:32:50
>>295
鰻って一番時期外れなのが夏だったりする
広告は偉大って事やね
306280:2005/10/08(土) 03:40:36
>>281-283
遅れましたがレスありがとうございます。
実装してみましたがやはり理想ではデータ更新が1秒おきのところ1秒以内の不定期に。
さらにスレッドを使っているせいか、データ更新時に黒い横線のようなものが描画されます。
とりあえずメインループ内にポーリング作業を入れてあれこれ試してみようと思います。
307デフォルトの名無しさん:2005/10/08(土) 05:30:46
BGM再生でしょ? メインでポーリングしちゃっていいのか?
データ読み込み中は曲を鳴らせないなんていう、大昔のパソゲーのようなことになるんじゃなかろうか。
308デフォルトの名無しさん:2005/10/08(土) 06:40:27
DirectSoundCreate で、

DSERR_OUTOFMEMORY
DirectSound サブシステムは、呼び出し元の要求を完了するための
十分なメモリを割り当てることができなかった。

が出るのですが、 どうすれば良いのでしょう?
309デフォルトの名無しさん:2005/10/08(土) 07:08:11
何バイト確保しようとしたのかくらい書け
310デフォルトの名無しさん:2005/10/08(土) 15:55:28
>>306
サウンド用のスレッドを用意して
そっちで鰻を食う作業をしたほうがいいだろ
311デフォルトの名無しさん:2005/10/08(土) 15:56:58
|>< ( ・>
312デフォルトの名無しさん:2005/10/08(土) 16:03:30
長い鰻の捌き方=ストリーミング再生。
何と壮大な伏線だろう。
313デフォルトの名無しさん:2005/10/08(土) 17:51:10
>> pDSB->SetFrequency(freq);
>それはサウンドバッファに対してであって3Dサウンドのバッファに対しては反映されないんじゃないですか?
試してもないくせに知った口聞くなよ厨房

>> pDSB->SetFrequency(freq);
>IDirectSound3DBuffer8にSetFrequencyメソッドはありません。
セカンダリにありゃ十分だろうが厨房
それとも「セカンダリは3Dサウンドじゃねぇじゃん」とか言い返すのか?
314デフォルトの名無しさん:2005/10/08(土) 17:56:04
ぬるぬる行こうぜぇー
315デフォルトの名無しさん:2005/10/08(土) 19:04:32
どなたかNVPerfHUDの2.0ベータ持ってませんか
316デフォルトの名無しさん:2005/10/08(土) 20:55:55
>>315
nVIDIAのデベロッパサイトで落とせる3.1じゃダメなの?
特にGPUの種別に制限はなかったと思うけど?
317デフォルトの名無しさん:2005/10/08(土) 21:05:12
ソースがないソフトを弄りたいんだろう
今のバージョンはデベロッパのクレームで制限あるから
318デフォルトの名無しさん:2005/10/08(土) 21:28:13
>>317
>ソースがないソフトを弄りたいんだろう
まさに
319280:2005/10/08(土) 21:58:32
すみません、あれからレス読んでなくてメインループにWaitを持ってきて思いっきり失敗しましたorz
それに肝心のポーリングの仕方が分かりませんでした。
DirectInputならPollがあったと思いますが、DirectSoundに関しては検索しても出てこず。
DirectSoundでストリームバッファを使う場合、何に対してどういうものを使って取得すればいいのでしょうか。
(WaitForMultipleObjectsではなくMsgWaitForMultipleObjectsExでやってみましたが同じ結果でした)
320デフォルトの名無しさん:2005/10/09(日) 00:39:46
>>309
どこで指定するのですか?
321デフォルトの名無しさん:2005/10/09(日) 01:24:45
>>319
・DirectSoundのストリーミングをポーリング
別スレッドで一定時間ごとに、バッファをGetCurrentPositionで監視。
322320:2005/10/09(日) 01:43:30
なぜか出なくなりました。 何が原因だったのだろう…。
323デフォルトの名無しさん:2005/10/09(日) 02:10:08
>>319
ポーリングっつーか、GetCurrentPositionだったか、その辺の命令を使う。
で、現在位置と直前位置を比較して、進んでるだけ読み取っておけばいい。

MSのC#のストリーミング再生の実装にそういうサンプルもあった。
多分その辺のバグも考慮してるんじゃないかな
324デフォルトの名無しさん:2005/10/09(日) 02:41:51
すみません、今かじりはじめた者です。

とりあえずDirectX9SDKをインストールし、VC6のインクルードファイルとライブラリファイルの設定を行いました。
それから適当に検索して出てきた入門ページのサンプルを試してみた所、エラーが発生し、一つもビルドできません。
多分どこか根本的な所で躓いていると思うのですが、どのような所が予想されるでしょうか?

エラー内容はどれもバラバラです。
325デフォルトの名無しさん:2005/10/09(日) 02:45:23
>>VC6のインクルードファイルとライブラリファイルの設定を行いました。
これがきちんと出来ていない。

>>一つもビルドできません。
これが理由。
326デフォルトの名無しさん:2005/10/09(日) 02:46:02
>>321,323
ありがとうございます。
早速組んでみようと思います。
327デフォルトの名無しさん:2005/10/09(日) 02:49:05
>>324
エラーを、一つ一つ調べて潰して行けば良いだけでは?
328デフォルトの名無しさん:2005/10/09(日) 03:15:50
>>324
闇雲にエラーが沢山出たー、って考えずに、先頭のエラーから一つずつなおしていけ。
せめて先頭のエラーの行だけでもここに貼れば、何かしらヒントが得られるかもしれない

最近TAで学生に教えるようになったんだが
初心者はどうも全体を見渡してしまうらしいなあ。
初めから1つずつ見ていけばいいのに、
どれから手を付けていいか分からない。
それを何度も言ってるのに次の週になると忘れてる…
329デフォルトの名無しさん:2005/10/09(日) 03:26:33
地道な作業が嫌いなんでしょ。
ヽ(`Д´)ノウワーン、ポイッ(ノ´ー`)ノ ⌒ (:D) ゴロンッ
330324:2005/10/09(日) 03:38:50
外部シンボル "_IID_IDirectDraw4" は未解決です
fatal error LNK1120: 外部参照 1 が未解決です

このようなエラーが出ています。
外部シンボルとかリンクがとかいう当たり設定に問題があるのかも。

エラーの意味がまだ正確に分からずうまく潰せません。
331デフォルトの名無しさん:2005/10/09(日) 03:47:31
>>330
ヘルプ使え。
それでもわからないなら、C言語すら理解できていないということだ。
332デフォルトの名無しさん:2005/10/09(日) 03:47:58
>>330
ヒント:鰻
333デフォルトの名無しさん:2005/10/09(日) 10:20:41
>>330
dxguid.libでもリンクすればいいんじゃないの?
ていうかエラー一つだけやん。
334デフォルトの名無しさん:2005/10/09(日) 14:57:07
ライブラリのリンクすら分からないレベルでDirectXを
使おうってのは、アミバ様にも勝てないのに「オレって
ラオウと互角じゃね?」と思ってる雑魚以下。
335デフォルトの名無しさん:2005/10/09(日) 15:07:22
>>334
初めてDirectXを学んでみようかと思ってる香具師
は知らなくても全然おかしくないな
336デフォルトの名無しさん:2005/10/09(日) 15:09:31
本人乙
337デフォルトの名無しさん:2005/10/09(日) 15:11:24
(´-`).。oO(何で本人認定されてるんだろう…)
338デフォルトの名無しさん:2005/10/09(日) 15:12:00
>>324
・現在のSDKはVC6に対応していない
・現在のSDKはWindowsXP以外のOSに対応していない
339デフォルトの名無しさん:2005/10/09(日) 15:12:41
>>337
違う人間なら推測でモノを言うな
そもそもライブラリのリンクはC入門書の守備範囲
340デフォルトの名無しさん:2005/10/09(日) 15:40:33
>>339
最近の統合開発環境使った入門書だと書いてなかったりするらしい。
341デフォルトの名無しさん:2005/10/09(日) 15:41:10
そうだな、それがどうした
342デフォルトの名無しさん:2005/10/09(日) 15:44:12
何か顔真赤にして張り付いてるやつがいるな
343デフォルトの名無しさん:2005/10/09(日) 15:52:37
スポーツインタビューみたいに中身のないレスつけんなよ
344デフォルトの名無しさん:2005/10/09(日) 22:15:02
Gemsのスキンメッシュの項に前進行列と書いてある。
前進行列って何者?
345デフォルトの名無しさん:2005/10/09(日) 23:05:11
何巻の何ページ?
346デフォルトの名無しさん:2005/10/09(日) 23:44:08
鰻はもう終わりなんですか?
347デフォルトの名無しさん:2005/10/09(日) 23:44:28
348280:2005/10/10(月) 00:49:29
まだ音が変ですが、何とか打開できそうです。
しかし描画領域の一部(上100ピクセルなどランダム)が更新するたび一瞬真っ黒に。
ロックの開始位置を0、サイズを0にしても同様の症状が出てしまいます。
ロック・アンロックが原因なようですが、どうすればこの症状を回避できるのでしょうか。
(再生しているところを書き換えておかしくなったのかと思いましたがそうでもなさそうですし)
349デフォルトの名無しさん:2005/10/10(月) 00:56:54
前進行列でググったけど実質0件だな
350デフォルトの名無しさん:2005/10/10(月) 01:37:56
>>344
"forward matrix"を直訳してるのかしら。
多分、スキニング用行列じゃなくて、オブジェクトをアタッチするのに使う行列だわ。
351デフォルトの名無しさん:2005/10/10(月) 12:52:27
DirectSoundでogg形式をWAVフォーマットに変換して鳴らしたいのですが
どなたかおしえていただけませんか?
352デフォルトの名無しさん:2005/10/10(月) 13:05:48
無理
353デフォルトの名無しさん:2005/10/10(月) 13:39:36
>>351
WAVEファイルをDirectSoundで再生するDXSDKのサンプルと
OggファイルをWAVEに展開するOggVorbisSDKのサンプルを理解できたら
簡単に作れるだろ
354デフォルトの名無しさん:2005/10/10(月) 15:03:46
ID3DXAnimationController::SetTrackPositionの逆の
GetTrackPositionみたいなトラック内のローカルタイムを
取得することはできないんでしょうか?
355デフォルトの名無しさん:2005/10/10(月) 17:59:14
http://www.geocities.jp/toru_website/dm/2.htmlではmusicを使ってますが
OGG→WAbへんかんの部分はまるごとつかえますか?
356デフォルトの名無しさん:2005/10/10(月) 18:01:12
>>355
自分で試してみてくれませんか。
357350:2005/10/10(月) 18:08:46
>>344
前の文が意味不明だったから補足するわね。
ソース(Gem1,p461)を見る限り、
各階層のデフォルト姿勢を合成していくのが orientation で
各階層のデフォルト姿勢+アニメーションを合成していくのが forward ね。
スキニングをする場合、各頂点に orientaion の逆行列を掛けてピボットを原点にしてから
forward を掛ける訳だけど、もしかして逆変換に対する"順変換"の意味合いの forward なのかしらね。
(単にアニメーションで前進したという意味の forward かもしれないけど)
358デフォルトの名無しさん:2005/10/10(月) 18:45:46
>>355
ぱっと見、使えると思う。
359デフォルトの名無しさん:2005/10/10(月) 21:51:29
ところで、鰻なんですが。
360デフォルトの名無しさん:2005/10/10(月) 22:38:32
>>359
googleしろ。たくさん出るから、それで満足しろ
361デフォルトの名無しさん:2005/10/10(月) 22:58:39
(´;ω;`)
362デフォルトの名無しさん:2005/10/10(月) 23:02:07
何よその顔
363デフォルトの名無しさん:2005/10/10(月) 23:04:20
マジな話、鰻みたいな質感出すなら半透明テクスチャ重ねるしかないな
364デフォルトの名無しさん:2005/10/10(月) 23:39:48
鰻の皮膚の粘膜?
365デフォルトの名無しさん:2005/10/10(月) 23:49:06
そうそう、最近は工夫の余地が出てきたけど
層を分けたほうがそれっぽくなる
366デフォルトの名無しさん:2005/10/11(火) 16:01:03
XINPUTとTTSってなんか違うの?
367デフォルトの名無しさん:2005/10/11(火) 16:30:43
D3DTS_PROJECTIONをD3DXMatrixPerspectiveFovLHで作って、
レンダリングしているのですが、
(D3DTS_VIEWは、MatrixLookAtLH)
なんだか、モデルのZバッファの値の、奥と手前が逆に出力されているようです。
モデルを描いたとき、画面の奥の方にいくほど1.0に近づき、
手前ほど0.0に近づいているような感じです。
なので、複数のモデルを描くと、手前のモデルに隠れるべきところまで
描かれてしまいます。

1.D3DXMatrixPerspectiveFovLHのfarとnearを入れ替える(farを-10、nearを10とか)
2.バックバッファの深度を0.0でクリアして、D3DRS_ZFUNCをD3DCMP_GREATEREQUALにする

の、どちらかをやれば、期待通りの絵にはなるのですが、気持ち悪い。
どのあたりで間違ってるんでしょうか?
368デフォルトの名無しさん:2005/10/11(火) 17:11:29
>>367
>モデルを描いたとき、画面の奥の方にいくほど1.0に近づき、
>手前ほど0.0に近づいているような感じです。
いいんじゃね?
あれ?逆だっけか?
手前が0でよかったような希ガスよ。

誰かZの計算式プリーズw
たしか
深度=今のZ/遠く
だったようなきがすんだけど。
だから、近くだと0で、遠くだと1じゃね?
369デフォルトの名無しさん:2005/10/11(火) 21:32:53
>>368
それであってるよ。

367はなんで勘違いしたのか分からんけど、
テクスチャなどでも最小(最短)が0.0、最大(最長)が1.0を使うから変に覚えるとややこしくなるぉ。
370デフォルトの名無しさん:2005/10/11(火) 22:12:29
>>367
>farとnearを入れ替える(farを-10、nearを10とか)
0 < near < far じゃないとだめよ。
371デフォルトの名無しさん:2005/10/11(火) 22:14:31
>>367
m9(^Д^)プギャー
372デフォルトの名無しさん:2005/10/11(火) 22:42:15
うなぎ。
373デフォルトの名無しさん:2005/10/11(火) 22:44:00
ぎゅうなべ
374デフォルトの名無しさん:2005/10/11(火) 23:36:55
>>367
鰻もいいけど、なんで逆になるのか図解しとくわね。
ttp://www.uploda.org/file/uporg213277.png
375デフォルトの名無しさん:2005/10/11(火) 23:55:03
みんなの作ってるプログラム見てみたいわ
376デフォルトの名無しさん:2005/10/12(水) 01:13:48
プリミティブの大きさは1四方でも10000四方でも、スクリーン上での描画結果が同じであれば負荷は変わらないのでしょうか?
377デフォルトの名無しさん:2005/10/12(水) 02:00:13
>>376
そうね、大きい時だけクリッピングされてるとかいう意地悪問題でない限り、
頂点計算量もピクセルフィルも同じになるはずだわ。
378デフォルトの名無しさん:2005/10/12(水) 02:08:19
>>377
ありがとうございます
379デフォルトの名無しさん:2005/10/12(水) 02:08:25
>>376
透視変換した結果が一緒になるんでしょ?
それなら負荷は変わらないよ。
行列の各要素が変わるだけっすね
380デフォルトの名無しさん:2005/10/12(水) 02:12:47
                     _____
    / ̄ ̄ ̄ ̄\,,      /−、 −、    \
   /_____  ヽ    /  |  ・|・  | 、    \
   | ─ 、 ─ 、 ヽ |  |   / / `-●−′ \    ヽ
   |  ・|・  |─ |___/   |/ ── |  ──   ヽ   |
   |` - c`─ ′  6 l   |. ── |  ──    |   |
.   ヽ (____  ,-′   | ── |  ──     |   l
     ヽ ___ /ヽ     ヽ (__|____  / /
     / |/\/ l ^ヽ    \           / /
     | |      |  |     l━━(t)━━━━┥
381367:2005/10/12(水) 08:59:50
>>368-371
すみません。肝心なとこ書き間違えてました。

間違画面の奥の方にいくほど0.0に近づき、
手前ほど1.0に近づいているような感じです。

バッファの深度を0.8あたりでクリアして、モデルを描画すると、
モデルの手前側がクリップされてます。
どっかで、マトリクス作るときに、Zを逆にしてるんだと思いますが…
382367:2005/10/12(水) 10:22:39
連続ですみませんが、解決しました。
>370の
> >farとnearを入れ替える(farを-10、nearを10とか)
> 0 < near < far じゃないとだめよ。
でした。
nearを負の数にしてたのが原因でした。
383デフォルトの名無しさん:2005/10/12(水) 22:35:08
nearが負だと、どっかでゼロ除算が発生してそうなんだけど。
たまにフレームレートがガクンと落ちたりしなかった?
384デフォルトの名無しさん:2005/10/12(水) 22:56:28
(・∀・)ニヤニヤ
385デフォルトの名無しさん:2005/10/12(水) 23:00:18
読み込んだXファイルから描画したポリゴンに対して当たり判定ができるような関数はありますか?
凹凸のある地面にボールを重力方向に落とし、地面にぶつかったら180度反転してに跳ね返る
こういうプログラムを作りたいので球の当たり判定のように曖昧すぎるのは避けたいですのですが・・。
386デフォルトの名無しさん:2005/10/12(水) 23:43:51
ググれ
SDK見れ
387デフォルトの名無しさん:2005/10/13(木) 00:14:13
さて、鰻。
388デフォルトの名無しさん:2005/10/13(木) 00:27:16
>>385
D3DXIntersectだっけか。
かなり重い処理だったはずだが9.0で改善されたりしたのか?
389:2005/10/13(木) 00:29:21
呼んだ?
390デフォルトの名無しさん:2005/10/13(木) 00:36:54
>>389
とりあえずまな板の上に横になってくれる?
391デフォルトの名無しさん:2005/10/13(木) 00:37:00
エロイな
392デフォルトの名無しさん:2005/10/13(木) 00:37:46
>>388
最近のPCじゃ気にするほど重くないとおも

>>389
盥に帰れ
393385:2005/10/13(木) 00:46:02
>>388
どうもありがとうございます。
・・・Triを使っていましたがメッシュに対してもできるのですね。
394デフォルトの名無しさん:2005/10/13(木) 06:04:31
fxファイルは実行時にコンパイルされる、という認識なのですが、
これをあらかじめコンパイルしておくことは可能なのでしょうか
395デフォルトの名無しさん:2005/10/13(木) 06:29:07
SDKのヘルプにも、しかもサンプルまであるのに質問する人ってどういう神経してるんだろう・・・
396デフォルトの名無しさん:2005/10/13(木) 07:12:49
397デフォルトの名無しさん:2005/10/13(木) 07:30:43
(・∀・)ニヤニヤ
398デフォルトの名無しさん:2005/10/13(木) 08:19:30
>>395
レスありがとうございます
ヘルプは正直駄目駄目な気がしましたが、サンプルの方は非常に分かりやすかったです
399デフォルトの名無しさん:2005/10/13(木) 08:32:24
それに礼を言うとは…大人だ
400デフォルトの名無しさん:2005/10/13(木) 11:15:11
スプライトしたテクスチャを白く塗りつぶすにはどうすればいいでしょうか?
教えてくださいませ
401デフォルトの名無しさん:2005/10/13(木) 22:03:02
VC++で検索をかけるとMicrosoft DirectX 8.0 (C++)は出てきますが9.0は出てきません。
DirectX 9.0 日本語ドキュメントをDLしてUnZipするだけでは駄目なのでしょうか。
それとも落とすものを間違えているのでしょうか。
402デフォルトの名無しさん:2005/10/13(木) 22:07:55
DirectX9.0 SDKが落としたいの?
ttp://www.microsoft.com/japan/msdn/directx/downloads.aspx
ここの「ソフトウェア開発キット」ってところからダウンロードできるよ
403デフォルトの名無しさん:2005/10/13(木) 22:12:43
C++じゃなくてスクリプト言語からDirectShow使えないかなあ。
404401:2005/10/13(木) 22:13:54
SDKじゃなくてヘルプです。
9.0(b)を使っているのに8.0の使い方を出されてもそのまま使えないことが(´・ω・`)
405:2005/10/13(木) 22:26:49
>>401
頑張って英語のドキュメントを読むんだ。
俺が必需品だ。
406デフォルトの名無しさん:2005/10/13(木) 22:32:35
>>405
そーゆー意味じゃねーだろ
407デフォルトの名無しさん:2005/10/13(木) 22:44:06
>>401
chmファイルで提供されてる
408デフォルトの名無しさん:2005/10/13(木) 22:51:20
>>401
UnzipしたものをVS.NETを持ってるならインストーラーからインストール
VC6.0↓の場合は、解凍したどっかのフォルダに
Directx9_c_JPN.chi
DirectX9_m_JPN.chi
Directx9_c_JPN.chm
DirectX9_m_JPN.chm
があるのでそれをコピーして適当に置く
409401:2005/10/13(木) 23:00:31
>>408
ありがとうございます。無事出来ました。
410デフォルトの名無しさん:2005/10/14(金) 01:47:21
質問です。
DirectX9のD3DXCreateTextureFromFile()で100x100などの
小さい画像はちゃんと表示できるんですが、
270x480や640x480の大きいサイズになると横に1.5倍、
下にも少し伸びて表示されてしまいます。
原因等わかる方いましたらよろしくお願いします。

// 変数宣言
LPDIRECT3DDEVICE9 g_pD3DDevice;
LPDIRECT3DTEXTURE9 g_pD3DTexture;
TCHAR g_szSpriteFile[] = _T("hoge.bmp");
// 初期化
D3DXCreateTextureFromFile(g_pD3DDevice, g_szSpriteFile, &g_pD3DTexture);
// 描写
g_pD3DXSprite->Draw(g_pD3DTexture, NULL, NULL, NULL,
          D3DCOLOR_XRGB(255,255,255));
411デフォルトの名無しさん:2005/10/14(金) 02:07:36
テクスチャのサイズが2^nじゃないから
412デフォルトの名無しさん:2005/10/14(金) 10:50:44
>>408
俺はできません…orz
インストールするフォルダはどこでもいいのでしょうか
413410:2005/10/14(金) 15:45:19
>>411 どうもです。
そういえばそんなこと書いてありましたね。早速書き直してちゃんとサイズは直りました。
ですが今度はPNG形式の背景α値が無効になってしまい、黒くなってしまいます。
いろいろ調べてはみたんですが、黒を透明にする処理をしてしまうと表示したい黒も消えてしまうので、
D3DXCreateTextureFromFile()みたいに、背景α値のみ透明にするにはどのようにすればいいのでしょうか。
414デフォルトの名無しさん:2005/10/14(金) 18:14:04
まずはヘルプのID3DXSprite::Draw メソッドのところを読む。
415401:2005/10/14(金) 19:02:00
>>412
私の場合、UnzipしたものがデフォでTempフォルダでしたのでマイドキュメントに指定し、
そこにインストーラーが保存されたのでダブルクリックすれば無事出来ました。
416410:2005/10/14(金) 23:33:16
>>414 レスありがとうございます。
質問の仕方が悪かったです。>>411さんのアドバイスで読み込みをD3DXLoadSurfaceFromFile()に
変えたので、Draw()は使ってないです。
それともD3DCOLORの設定のところに何かヒントがあるのでしょうか。
全てではなくてもいいので何か教えてもらえたら恐縮です。
417デフォルトの名無しさん:2005/10/14(金) 23:44:16
ヘルプより。

透明となる D3DCOLOR の値。カラー キーを無効にする場合は 0 を指定します。
ソース イメージのフォーマットとは関係なく、これは常に 32 ビットの ARGB カラーです。
アルファが有意であり、通常はカラー キーを不透明にする場合は FF を指定します。
したがって、不透明な黒の場合、値は 0xFF000000 となります。


D3DCOLORにもD3DCOLOR_ARGB、D3DCOLOR_RGBA、D3DCOLOR_XRGBとかあるけどミスってないかい?
418410:2005/10/15(土) 00:15:56
う〜ん。ミスるというか、今のところはこうです(長文すみません)。

LPDIRECT3DSURFACE9 g_pBackBuffer;
LPDIRECT3DSURFACE9 g_lpSurface;
D3DXIMAGE_INFO ImageInfo; // すでに情報取得済み
// サーフェイスに読み込み
D3DXLoadSurfaceFromFile(g_lpSurface, NULL, NULL, _T("hoge.png"), NULL, D3DX_FILTER_NONE,
        0, // ここにD3DCOLOR値を設定するんですか?
        NULL);

// バックバッファへ描画
RECT SrcRect, DestRect;
SetRect( &SrcRect, 0, 0, ImageInfo.Width, ImageInfo.Height);
SetRect( &DestRect, 0, 0, ImageInfo.Width, ImageInfo.Height );
g_pD3DDevice->StretchRect( g_lpSurface, &SrcRect, g_pBackBuffer,
           &DestRect, D3DTEXF_NONE );

// バックバッファを表示
g_pD3DDevice->Present( NULL, NULL, NULL, NULL );
419デフォルトの名無しさん:2005/10/15(土) 00:37:37
そそ
てか、レス読み飛ばしてるのか知らんけど
>カラー キーを無効にする場合は 0 を指定します。
0は透過しない=そのまま描画

>したがって、不透明な黒の場合、値は 0xFF000000 となります。
0x[A(アルファ値)][R][G][B]
この場合0xだから0〜255を16進数で書く。
アルファ値は0になるほど透明になる(FF=255だから透明じゃない)。
赤を透明にしたかったら0x00ff0000。
0x01020304はD3DCOLOR_ARGB(1,2,3,4)と言った感じで置き換えも可能なはず。
420410:2005/10/15(土) 01:28:21
>>419さん ご丁寧にありがとうございます。
419さんのおかげでD3DCOLORで透明にしたい色が切り替えられるようになりました。
ありがとうございます。
ですが、ホントに説明不足でした。聞きたかったのはこの先なんです。ごめんなさい。
D3DCOLOR値で設定した透過や、もともとPNGファイルが持っているα値で透明にした色って黒くなりますよね。
今、
// シーンのクリア(D3DCOLOR_XRGB()の色でクリア)
g_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 255), 1.0f, 0);
と書いていて、青色でクリアしています。ですが、透明にした場所は黒で描画されてしまいます。
例えるならノベルゲーで、『背景.bmp』→『キャラ.png』と描画したらキャラ周りの色を透過させる感じにしたいんです。
『黒く』ではなく、本当に透過させる方法はあるのでしょうか?
(せっかく.png使ってるのでBitBltのSRCAND,SRCPAINTみたいなのは嫌なんです)
421410:2005/10/15(土) 01:32:53
追加:lockして指定色を消すとかでもないです。
あくまで.pngをそのまま表示したいんです。よろしくお願いします。
422デフォルトの名無しさん:2005/10/15(土) 01:52:09
ID3DXSprite::Beginを調べろ>410
423410:2005/10/15(土) 02:04:16
一応、書いてはいるんですがこれではないんでしょうか…。

g_pD3DDevice->SetRenderState(D3DRS_ALPHAREF, 0x00000001);
g_pD3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
g_pD3DDevice->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);

// ↓これはコメントアウトしてます。スプライト描画ではないですから。…いいんですよね
g_pD3DXSprite->Begin(D3DXSPRITE_ALPHABLEND);
424デフォルトの名無しさん:2005/10/15(土) 13:58:41
ID3DXSprite::Begin メソッド

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

スプライトを描画できるようにデバイスを準備します。



ヘルプ読んでないだろ。
425デフォルトの名無しさん:2005/10/16(日) 05:31:52
IDirect3DDevice9::で、どのメンバ関数が重いのか調べてみようと思ったのですが・・・・
なんとなく重そうだったDrawPrimitive系はすぐ戻ってきてるし、
逆にPresentはmsのオーダーで時間かかってるし、
なにがなにやら分からなくなってきました。
そのへんの関数とCPUやGPUの負荷の関係を解説してある資料はないでしょうか。
426デフォルトの名無しさん:2005/10/16(日) 05:32:56
>>425
SDKのヘルプ
427デフォルトの名無しさん:2005/10/16(日) 14:40:20
>>425
Presentが戻ってくるまでなぜ時間がかかるのか、
分かってないだろオマエ。
428デフォルトの名無しさん:2005/10/16(日) 14:53:17
>>425
DrawPrimitiveは「こうしてくれ」って命令をグラボに送るだけだろうな。
実際に描画するタイミングはまた別にあるだろ。
でもってそれはプログラム側ではわからん。
429デフォルトの名無しさん:2005/10/17(月) 01:19:47
>>427
だから聞いているんじゃないのか
430デフォルトの名無しさん:2005/10/17(月) 01:21:18
>>425は、理由を聞いてるんじゃない!資料の有無を聞いてるんだ!
431デフォルトの名無しさん:2005/10/17(月) 08:32:47
>>430
SDKのヘルプに書かれていることをなぜ聞くわけ?
432デフォルトの名無しさん:2005/10/17(月) 09:49:59
実際どうやって実装されてどんな速度かはMSの知ったことじゃないしな
433デフォルトの名無しさん:2005/10/17(月) 11:22:27
SDKのヘルプ厨はアフォですかw
そんな環境依存の物が書いてあるわけないだろ
434デフォルトの名無しさん:2005/10/17(月) 11:23:46
オマエ読んだこと無いだろw
435デフォルトの名無しさん:2005/10/17(月) 11:25:52
ほら具体的に挙げてみろよ(プ
436デフォルトの名無しさん:2005/10/17(月) 11:28:07
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
437デフォルトの名無しさん:2005/10/17(月) 11:29:09
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
438デフォルトの名無しさん:2005/10/17(月) 11:30:32
そんなこと言っても無駄無駄w
なにぜスレタイの「初心者」の文字すら見えない文盲だからなwwww
テンプレなんか絶対みてないw
439デフォルトの名無しさん:2005/10/17(月) 11:45:45
>>395
>>426
>>431
1見ろボケ

と、とある質問スレ風に今後は対応ということで、この話題は終わり。
>>386はさすがにネタだろうな。
440デフォルトの名無しさん:2005/10/17(月) 11:47:52
「SDK見ろ」じゃ無くて、「SDKのヘルプに書いてある」と言ってるんだからヒント以外の何物でもないような・・・
441440:2005/10/17(月) 11:49:02
しかも>>425は資料を尋ねてるんだし。
442デフォルトの名無しさん:2005/10/17(月) 11:51:11
そんなこと言ったら「ヘルプにある」「ググれば見つかる」のヒントで全て終わるじゃねぇかw
443デフォルトの名無しさん:2005/10/17(月) 11:52:33
444デフォルトの名無しさん:2005/10/17(月) 11:53:16
>>443
うむ、だから440はアフォだと言ってるのさ
445デフォルトの名無しさん:2005/10/17(月) 11:53:26
>>442
ヘルプに書いてないこともある。
ググれと言うのはテンプレで禁止してるんだろ?
446デフォルトの名無しさん:2005/10/17(月) 11:55:14
資料を聞いた奴に、ヘルプに書いてあるぞと回答するのは駄目なのかなるほど。
447デフォルトの名無しさん:2005/10/17(月) 12:00:30
ヘルプにある情報じゃ物足りなかったからここに質問に来たのかもしれないぞ
448デフォルトの名無しさん:2005/10/17(月) 12:03:11
>>445
おやおや、ヘルプみろは禁止されてないのかwww

>>446
だからよー今時探せばネットかヘルプのどこかに資料はあるっての。そりゃそうだろw
初心者にとっては、より具体的な情報が重要なんだよ

つか>>431とかどうみても説教したいだけだろw
449デフォルトの名無しさん:2005/10/17(月) 12:04:00
(・∀・)ニヤニヤ
450デフォルトの名無しさん:2005/10/17(月) 12:06:35
SDKのヘルプってのは、〜の本と同じくらい断定されてると思うけどな。
MSDN全部から探せとか言ってるわけじゃあるまいし。
451デフォルトの名無しさん:2005/10/17(月) 12:06:51
>>449
とうとうAAで誤魔化しですかw
初心者いびりしかしない説教厨房は消えてねwww
452デフォルトの名無しさん:2005/10/17(月) 12:07:48
もしかして、>>425が思い通りの回答を得られなくて暴れてるのか?
453デフォルトの名無しさん:2005/10/17(月) 12:20:35
だから今後は1見ろボケでいいじゃないか。
しかしこれほどテンプレが守られてないスレも珍しいな。ネタスレじゃないのに。
454デフォルトの名無しさん:2005/10/17(月) 14:01:26
>>425の資料ってか、俺の場合、そういうのは掲示板見てて知るくらいしかないな〜
使ってみて云々って感じで、それをどんどんまとめて逝けば資料に・・・(ry

しかし425からワケワカメ
455デフォルトの名無しさん:2005/10/17(月) 14:17:14
SDKのどこに書いてあるのか素で分からん
456デフォルトの名無しさん:2005/10/17(月) 14:30:09
つ『Direct3D API 呼び出しの正確なプロファイル』
457デフォルトの名無しさん:2005/10/17(月) 14:54:33
SDKにある?
458デフォルトの名無しさん:2005/10/17(月) 14:58:46
Webのも日本語版は消えてるな
459デフォルトの名無しさん:2005/10/17(月) 15:05:13
>>456
それ>425の疑問の答えには為ってないんじゃ?
460456:2005/10/17(月) 15:45:20
え? そのものズバリだと思うけど。
461456:2005/10/17(月) 16:01:25
まあいいや。じゃあこのへん?
ttp://developer.nvidia.com/object/gpu_programming_guide.html
ttp://www.ati.com/developer/gdc/D3DTutorial3_Pipeline_Performance.pdf
あとは場所を思い出すのが億劫。CEDECやらMeltdownのスライドを漁れば色々出てくるでしょう。
462デフォルトの名無しさん:2005/10/17(月) 16:10:12
ID3DXAnimationController メンバのSetTrackWeightを利用してモーションブレンド
をしようと思ったのですが、モーションA 50%, モーションB 50%などのようなことが
できません。引数のWeightが効いていないようなんですがこの関数を
使ってのモーションブレンドの方法を教えてもらえませんでしょうか?
よろしくおねがいします。
463デフォルトの名無しさん:2005/10/17(月) 19:04:23
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。

次スレからテンプレのこの部分削除な
464デフォルトの名無しさん:2005/10/17(月) 19:09:24
>>【C++】 DirectX初心者質問スレ Part6 【C++】
次スレからスレタイの「初心者」を削除な
465デフォルトの名無しさん:2005/10/17(月) 19:24:01
>>464
鰻スレあるじゃん
466デフォルトの名無しさん:2005/10/17(月) 19:38:31
初心者の相手がイヤな方はこちらにどうぞ。
http://pc8.2ch.net/test/read.cgi/tech/1096649788/
467デフォルトの名無しさん:2005/10/17(月) 19:39:53
調べることもろくにできない初心者君乙
468デフォルトの名無しさん:2005/10/17(月) 20:23:53
説教厨大暴れか…
469デフォルトの名無しさん:2005/10/17(月) 20:29:06
会社なり家なりでいじめられてるんだろうから、そっとしといてやれ。
470デフォルトの名無しさん:2005/10/17(月) 20:35:33
自演乙
471デフォルトの名無しさん:2005/10/17(月) 20:41:42
おまいらわからないならママにでも聞けよwwwwwwww
472デフォルトの名無しさん:2005/10/17(月) 20:42:35
教えてクン大暴れか…
473デフォルトの名無しさん:2005/10/17(月) 20:43:52
ママにも見放されてるんだろ、そっとしといてやれ。
474デフォルトの名無しさん:2005/10/17(月) 20:45:21
「平日」の「真昼間から夜まで」皆さん元気ですね(・∀・)
475デフォルトの名無しさん:2005/10/17(月) 20:46:48
自己紹介乙
476デフォルトの名無しさん:2005/10/17(月) 21:51:29
回答してもらえなかったからってジサクジエンで暴れるなよガキが…
477デフォルトの名無しさん:2005/10/17(月) 22:36:35
>>462
ブレンドしたいトラックだけをEnableにするとか試してみれば
478鰻。:2005/10/18(火) 05:21:30
>>425 へのダイレクトに近い答えをほじくりだしてみる。

http://developer.nvidia.com/object/gdc_d3dperf.html
の、「The right kind of parallelism」の表が実際のアプリ・ドライバ・GPUの動きを
わかりやすく表してる。

その上の「What kind of parallelism?」のほうのページの図は
プログラマーが頭に描きがちな、実際に起こっているものとは違う動作(つまり嘘)を示してる。

まー各関数の負荷がどうとかはチップと環境によって千差万別なのでなんともいえないが。
479デフォルトの名無しさん:2005/10/18(火) 06:24:31
鰻みたいな回答者なら荒れなかったろうな、遅いよ!
480デフォルトの名無しさん:2005/10/18(火) 06:32:02
見直してみると>>433が荒らした張本人だけどな。
481デフォルトの名無しさん:2005/10/18(火) 06:34:56
ヘルプ見ろや説教だけでは、いつまで経っても
情報が蓄積されないというのは事実だと思うよ。

例えば、後からnoobがログ見たとき、>>428>>478に比べ
>>426>>427は少しも建設的でない。
482デフォルトの名無しさん:2005/10/18(火) 06:41:20
結局チップや環境依存なんだから、正確なのはSDKのヘルプに書いてある事をやるしかないと思うんだが
483デフォルトの名無しさん:2005/10/18(火) 06:56:50
>>481
ヘルプも読まない奴を量産するこのスレは、少しも建設的じゃないなw
484デフォルトの名無しさん:2005/10/18(火) 07:00:32
質問スレというのは質問しても良いスレの事を言うのに、
まともに回答する気がない人が何故常駐しちゃうんだろうな。一部なんだろうけど。
485sage:2005/10/18(火) 07:37:12
>>484
質問する立場でこんなこと言うのも悪いんだけど、ヘルプ読めってレスなら
むしろ付けて欲しくなかったり…流れ止まっちゃって、他に解答してくれたかもしれない人の可能性が…

流れ変えようとしても、ヘルプ読めって書かれちゃうと、もう何言ってもこっちが悪いみたいになるし…

確かにヘルプには全て書かれているんだろうけどねぇ…
それで全て理解できちゃうなら質問スレも解説書もいらないわけで
ある程度素養が蓄積されてないと、例え明記されていても理解できないものなのよ
486デフォルトの名無しさん:2005/10/18(火) 07:39:03
>>485
ヘルプ読んでわからなかったのなら、それを併記しわからないところを聞けばよいだけでは?
何も書かなかったら、読んでない教えてくんとしか思えない。
487デフォルトの名無しさん:2005/10/18(火) 07:45:18
そんなこと書いている暇に勉強しろよ、ってことになるわけで。
488デフォルトの名無しさん:2005/10/18(火) 07:47:31
だったら、勉強しろよ
489デフォルトの名無しさん:2005/10/18(火) 09:24:04
>>484
なにかの実験であったけど、人は役割に酔うのよ。最初からまともじゃないわけではない。

例えば回答者という立場にいると、自分が偉くなったと錯覚してくる。
ゆえに長くいる奴ほど説教っぽくなるし、ヘルプも読まないのか!という態度になってくる。

他にも役割によって、質問するときの卑屈さが、回答時の尊大さへと裏返ったりね。
匿名質問スレの宿命だよ。
490デフォルトの名無しさん:2005/10/18(火) 09:44:12
>>489
それテンプレにいれといて
491デフォルトの名無しさん:2005/10/18(火) 09:47:52
DirectXの使い方がわかりません、1から教えてください。
492デフォルトの名無しさん:2005/10/18(火) 09:58:40
>>489
これかな。 es って映画にもなってるやつの元ネタだね。
ttp://www.prisonexp.org/
493sage:2005/10/18(火) 10:07:03
>>486
教えて君と思われるのは残念だけど、その場合余計なレスで流れ止めたりしないでスルーして欲しいのよ…
こう言ってしまうと申し訳ないんだけど、ネットの場合、何十何百という人が他にいるんだし

同様に、同じ疑問を持つ人だって何百といるかもしれないし
まぁ皆が「ヘルプのxxxは読んだのですが」と、枕詞付けるのもありかもしれないけど

>>489
なるほどねぇ…
494デフォルトの名無しさん:2005/10/18(火) 10:29:06
質問者様は神様です。
495デフォルトの名無しさん:2005/10/18(火) 10:34:32
最近はむしろ教えてちゃんが逆ギレしてるパターンのほうが多いだろ。
質問者のほうが偉そうだ。
しかし、うまくスルーできるようにならんとなあ・・。
496デフォルトの名無しさん:2005/10/18(火) 10:47:47
質問者も回答者も、テンプレ守らない奴が悪い、それだけの話
そろそろ質問来い
497デフォルトの名無しさん:2005/10/18(火) 11:07:17
DitrectXを教えろ。
498デフォルトの名無しさん:2005/10/18(火) 11:22:39
検索が面倒でやる気のないアホが自分勝手に作り出したテンプレなんか守れるか
499デフォルトの名無しさん:2005/10/18(火) 11:26:57
とうとう本音がでちゃった…
500デフォルトの名無しさん:2005/10/18(火) 11:27:33
>>497
ヘルプ嫁。
501デフォルトの名無しさん:2005/10/18(火) 11:28:24
502デフォルトの名無しさん:2005/10/18(火) 11:29:11
>>1にはSDK見たり、ググったりしてわからなかったら〜って書いてあるんだから
○○がわかりません とかいう質問はSDKミレ!ググレ!でいーんじゃまいか?
○○をググったのですが××という部分がわかりません つーのが普通の質問だべ
503デフォルトの名無しさん:2005/10/18(火) 11:30:04
>>498
さすがにこれは同意できんなぁ。
それなら別に自分好みの質問にだけ答えられる掲示板つくりなよ。遠慮はいらない。
504sage:2005/10/18(火) 11:32:00
>>497 >>500 >>501
非道い自演だなぁ
そこまでして貶めたいのか…なんかもうまともに意見言えないな
505デフォルトの名無しさん:2005/10/18(火) 11:32:27
まぁ、質問者も自分好みにルールを変えようとしてるわけだが。
506498:2005/10/18(火) 11:32:52
>>503
まあ言い方はかなり悪かったけど
ヒントでもいいのにSDK・ググれはNGとか矛盾だかけなんだよ
507498:2005/10/18(火) 11:33:39
○だらけ
×だかけ
508デフォルトの名無しさん:2005/10/18(火) 11:35:03
433の影に隠れているけど、対立側にも変なのが一人いるよ
509503:2005/10/18(火) 11:48:52
>>505-506
逆に「くだらない質問でも答える系スレ」を俺が立ててみようかな。
このスレは、初心者の文字を取って、ヘルプに載っている様な質問は禁止すればいい。

と書いてて思ったけど、一応初心者質問スレなんだよなここ。
こっちはこのままで、初心者質問がいやな人が鬱スレでいい気もしてきたが。
510デフォルトの名無しさん:2005/10/18(火) 11:58:35
「初心者」だと検索もできませ〜ん何でもかんでも教えてくださ〜い ってなるから
「初級者」がいいと思う
511433:2005/10/18(火) 12:05:05
まだやってたのかwww
俺が煽りすぎたせいで引くに引けなくなった人もいるせいだろうな
すまんな、特に最初の人

>>510
いや大差ないとおもうぜ、それならちゃんとテンプレ変えた方がいい
しかし検索できてヘルプ読める時点でもう一人前だけどな
512デフォルトの名無しさん:2005/10/18(火) 12:10:33
読める。
読もうとするが読めない。
読まない。
513433:2005/10/18(火) 12:23:52
読まないの含めて初心者だからなぁ、そこへわざわざやってきて説教するんだからな
まぁ受け皿が無いせいもあるが

>>489,492
勉強になった

>>509
鬱だ氏のうスレが駄目なら、ゲ製板の方を復活とかどうよ
IDあるし
514デフォルトの名無しさん:2005/10/18(火) 12:26:56
>>513
読まないのは問題外だろ。
初心者にすら含まないと思うが。
515デフォルトの名無しさん:2005/10/18(火) 12:41:50
厨房王国BBXと同じつもりで質問してんだろうけど
この板には以下のBBX3大機能は標準搭載されていない
自分でたいした努力しなくても
3大機能がなんとかしてくれると思ってるんだろうな

他人デバッグ機能 - 動かないソース出せばバグ取りから最適化まで丁寧に教えてくれる

他人ヘルプインデックス機能 - ヘルプのどこを読めばいいのか丁寧に教えてくれる

他人ソースコードジェネレータ機能 - 作り方わからなければ丁寧にソースを書いてくれる

MSの集まりに行ったことあるけど
神気取りな3大機能はなんとかならんのかね
なんの努力もしてない奴に直接的な答えを教えたら
答え丸写しして終わりだろうに
516デフォルトの名無しさん:2005/10/18(火) 13:01:44
みんな鰻食って落ち着け。
517デフォルトの名無しさん:2005/10/18(火) 13:01:56
答え丸写しは頭に入らないしね
この辺が最近のガキの頭の悪さを表してるな
518デフォルトの名無しさん:2005/10/18(火) 13:06:24
これからクソ質問は全部BBX誘導でいーんじゃね?
519デフォルトの名無しさん:2005/10/18(火) 13:11:48
「ヘルプ嫁」ではなく、「ヘルプはご覧いただけましたか?」にすればいい。
520デフォルトの名無しさん:2005/10/18(火) 13:23:19
質問者がテンプレ守ってないのに
回答者にテンプレを求めるのが問題だ
521デフォルトの名無しさん:2005/10/18(火) 13:31:42
鰻も鯰も秋刀魚も食べたい
522デフォルトの名無しさん:2005/10/18(火) 13:37:19
まあ、でも、ググって見つかるものもあれば、見付からないものもあるからな。
とりあえず、質問してみて、ググレって言われたら、ググッた結果を貼り付けたらどうだ?
「こういう感じでググってみたのですが・・・」
って感じで、だいたいヒットしない奴ってのはググリ方がまずい奴が多いわけだし。

ヘルプ嫁って言われたら、オンラインヘルプのどこらへんに書いてあるのか聞く。
まずはこの辺がお互いの折衷案に繋がっていくんじゃね?
523デフォルトの名無しさん:2005/10/18(火) 13:53:22
>ヘルプ嫁って言われたら、オンラインヘルプのどこらへんに書いてあるのか聞く。
教科書を渡されてもまだわからんのか…って話
524デフォルトの名無しさん:2005/10/18(火) 14:06:31
そういう奴にこそ鰻でも食ってろボケって
525デフォルトの名無しさん:2005/10/18(火) 14:58:02
なまず
526デフォルトの名無しさん:2005/10/18(火) 15:26:31
鯰 != 鰻
527デフォルトの名無しさん:2005/10/18(火) 16:05:43
ゲーム製作についての質問です

ゲームは始まったら当然スグゲーム開始ではなく
タイトル画面があったり設定画面があったりしますよね
これらはどうやって実装したらいいのでしょうか?
一応自分で思いついたのは以下の方法です

ゲームループ内で
switch(game_status)
case START_INIT:
  start.Init();
case START_FRAME:
  start.update();
  start.draw();
  break;
case GAME_INIT:
  game.Init();
case GAME_FRAME:
  game.update();
  game.draw();
  break;

といった感じです
何かもっとスマートな方法はありますでしょうか?
528527:2005/10/18(火) 16:06:23
{
}
を忘れてました^^;
529デフォルトの名無しさん:2005/10/18(火) 16:07:19
あります。まずはゲ製板へどうぞ。
530デフォルトの名無しさん:2005/10/18(火) 17:29:32
.NET使ってるんですが、DirectX9SDKインスコしたけど新規プロジェクトでAppwizardがありません。
VC++6.0じゃないと使えないのでしょうか?
531デフォルトの名無しさん:2005/10/18(火) 17:34:00
いつからだったかは忘れたけどもうWisardは無くなったそうだよ。
532デフォルトの名無しさん:2005/10/18(火) 18:23:31
>>530
このスレを「wizard」で検索
533デフォルトの名無しさん:2005/10/18(火) 21:51:33
テンプレの

>これらに当てはまる人のための質問スレです。
>3.SDKを見ても、Googleで検索しても、いまいち理解できない人

>【 質問する香具師 】
>・ どんな事で躓いているのか明確にしよう。

この文章から導き出される質問の仕方は

SDKに記述がある答えやGoogleでモロ解答が得られる場合は
”SDKの読み方が分りません、Googleの使い方が分りません”
って素直に言うべきだと思う。

>3.SDKを見ても、Googleで検索しても、いまいち理解できない人
>「ググれ」「SDK見れ」以外の回答でおながいします。
3の状況なのに
この二つの文章を盾に、モロ答えを教えてくれるのが当り前って発想の奴は
コピペ以外じゃ、説明したって理解とか出来るレベルじゃないと思う……
534デフォルトの名無しさん:2005/10/18(火) 21:51:56
>>530
(Summer 2004) で廃止
代替品はサンプルブラウザからコピー可能
どうしても必要ならそれより前のSDKを利用すればよい

>>527
関数ポインタもしくは多態

※少し前の論争について
ググれ、ヘルプ嫁も場合によっちゃアリだとは思うがポインタを示すぐらいしてもいいんじゃないか?
回答者が理解してない、勘違いしてると思われる場合もそういう回答の仕方だと指摘しづらい
質問はスレの共有財産であって質問者は貴重なモルモットだということを思い出して欲しい
535デフォルトの名無しさん:2005/10/18(火) 21:56:18
>>534
同意、後からログ読んで有意義なのがいいね
とかく2chのログは、検索でひっかかるから

>>527はゲ製板へ移行済みの模様だよ
536デフォルトの名無しさん:2005/10/18(火) 22:00:02
>>533
一字一句合った関数名を検索にかければ出るけど、
スペルミスはともかく、どういう関数を使えばいいのか分からない場合どうすっぺ。
537デフォルトの名無しさん:2005/10/18(火) 22:03:54
527じゃないけど興味を持ったので聞きたいのですが
関数ポインタって

HRESULT (*p) (int game_status) = {
 start_init, start_frame, game_init, game_frame } 

てな感じでしょうか?
538デフォルトの名無しさん:2005/10/18(火) 22:04:48
新しいフレームワークってたしかDXUTとかいうんだっけか。
539デフォルトの名無しさん:2005/10/18(火) 22:06:07
(*p)じゃなくて(*p[4])か…orz
540デフォルトの名無しさん:2005/10/18(火) 22:46:53
確かDXUTってVC6でコンパイルしようと思うと泣けるよね
>>539
良いと思うよ
ソースレベルでシーン管理しちゃうのだったら、別途で添字管理が必要な配列より、
その都度関数を関数ポインタへ直接渡して遷移させる方が個人的に好きだけど
541デフォルトの名無しさん:2005/10/19(水) 00:25:22
アプリを起動したPCにDirectXのどのバージョンが入っているか調べるAPIってありますか?
自分でも調べたのですけれどOSのバージョンはわかれどDirectXを調べるAPIが見つからない・・・
インストールされているバージョンに応じて処理を切り替えたいのです。
542デフォルトの名無しさん:2005/10/19(水) 01:14:44
ない
543デフォルトの名無しさん:2005/10/19(水) 01:48:40
何のためにDirectXは古いバージョンも入れているんだか。
544デフォルトの名無しさん:2005/10/19(水) 02:13:52
GetDXVersion
545デフォルトの名無しさん:2005/10/19(水) 02:19:11
>>537
配列とかにするんじゃなくて、1つの関数ポインタを書き換えることで
状態遷移をするのが普通かなぁ。
527でいうgame_statusがそのまま関数ポインタで、switchを使わずに
game_status()を呼ぶ感じ。

まぁ、今は関数ポインタそのものを使うのではなく、クラスで実装するのが
普通だけど、DirectXとは関係ない話だな。
546デフォルトの名無しさん:2005/10/19(水) 03:53:32
俺的には配列で関数ポインタテーブルになってる方が好きかな。
確かにポインタ変数を書き換える方式の方が処理的には速いんだろうけど
配列として静的に中身が定義されてるとパッと見わかりやすい。
547デフォルトの名無しさん:2005/10/19(水) 04:51:51
配列もswitchも使わずに関数ポインタを目的の関数のポインタに書き換えるってどうやるの?
スレ違いなのはわかってるがどうしても気になる。
548デフォルトの名無しさん:2005/10/19(水) 04:54:39
普通普通
喪前らWNDCLASSSにウィンドウ関数ぶちこんでるだろ
あれと一緒
549デフォルトの名無しさん:2005/10/19(水) 04:59:10
あ、スマン。ボケてた。
前の処理の関数の最後に関数ポインタが次の関数を指すように書き換えれば良いのか。
550デフォルトの名無しさん:2005/10/19(水) 05:01:38
変な日本語になったorz
関数ポインタが次の関数を指すよう書き換えるコードをそれぞれの関数の最後に追加すれば良いんだよな。
551デフォルトの名無しさん:2005/10/19(水) 05:43:49
日本語に限らずC言語でも
関数ポインタが絡む宣言は理解に時間がかかる
552デフォルトの名無しさん:2005/10/19(水) 06:29:55
1つの関数ポインタ書き換えって
HRESULT (*p) (int game_status)
p = game_init
// で、game_init内の最後で
p = game_frame
ってコトだよね?

俺もテーブルの方が見易い派だなぁ
553552:2005/10/19(水) 06:30:41
掲示板だとついセミコロンを忘れて…ヽ(`Д´)ノウワァァァン!!
最悪だな俺orz
554デフォルトの名無しさん:2005/10/19(水) 06:40:19
だからスレ違いだろ
555デフォルトの名無しさん:2005/10/19(水) 06:52:53
>>541
OSで判別するか、目的のDirectXのバージョンでしか使えないCOMインターフェイスを
取得できるかどうかで判別するのよ。
詳しくはヘルプの「紹介」>「使い方」>「CまたはC++」>「バージョン」にて

>>546
非配列は、処理の速さというより、オブジェクト指向でいう所のポリモーフィズムというか、
インターフェイスと実装を分離する感じが好きなのよ。もちろん処理も速いけど。

>>552で言うと、pが何かをクライアントは意識しないで良いからね。
556デフォルトの名無しさん:2005/10/19(水) 12:35:52
>>555
>非配列は、処理の速さというより、オブジェクト指向でいう所のポリモーフィズムというか、
>インターフェイスと実装を分離する感じが好きなのよ。もちろん処理も速いけど。
実際、そういうところでバグり易いのに、わざわざ処理の分岐をわかりにくくするのは、
あまりよくないんじゃないか?
俺はぶっちゃけ、ポリモーフィズムなんてこれっぽっちもよくないと思ってる。
よーく考えると利点の無いオブジェクト指向言語の改悪機能の一つだと思ってる。
557デフォルトの名無しさん:2005/10/19(水) 12:40:20
ハイハイ、ワロスワロス
558デフォルトの名無しさん:2005/10/19(水) 12:53:29
【初心者歓迎】スレを立てる前にココで質問を【Part9】
http://pc8.2ch.net/test/read.cgi/gamedev/1127522168/

>>527は↑に移動したみたいだから続きの議論も↑でやろうぜ。
ここだとスレ違いだし。
559デフォルトの名無しさん:2005/10/19(水) 13:50:56
遅くなったけど、ありがとうございました。
560デフォルトの名無しさん:2005/10/19(水) 21:07:08
>>556
オブジェクト指向を何も理解してないんだな。
561デフォルトの名無しさん:2005/10/19(水) 21:19:28
>>556
最高にド低脳な発言してください in ム板(VIII)
http://pc8.2ch.net/test/read.cgi/tech/1128354256/
562デフォルトの名無しさん:2005/10/19(水) 21:50:36
556は釣りだろ
563デフォルトの名無しさん:2005/10/19(水) 21:52:57
>>560
ポリモーフィズムなんて、所詮は後付け機能。
ダレが公認したのか知らんけど入れるべきじゃないね。

処理が変われば引数も変わるんだ。
無理やり同じようにまとめるべきじゃない。
強引にポリモーフィズムを突き通したことでグローバル変数を使うような糞設計なんてしてりゃ世話無いよなw低脳君w
564デフォルトの名無しさん:2005/10/19(水) 22:01:58
>>563
>処理が変われば
たぶんそこの考えが違うんだろうな。
処理が主体なんじゃなくて、オブジェクトが主体なんだよ。
手続き型のパラダイムのままじゃ理解できない。
565デフォルトの名無しさん:2005/10/19(水) 22:03:41
祭りの予感
566デフォルトの名無しさん:2005/10/19(水) 22:04:35
ねーねー、DirectXってmsdnライブラリとか
JavaTM 2 Platform, Standard Edition, 1.4.0API 仕様
みたいなサイトないの?もちろん日本語のね。
567デフォルトの名無しさん:2005/10/19(水) 22:06:36
msdnライブラリ
568デフォルトの名無しさん:2005/10/19(水) 22:07:04
>>563
> 強引にポリモーフィズムを突き通したことでグローバル変数を使うような糞設計
そりゃ単にオブジェクト指向を正しく使っていないだけ。

ポリモーフィズムを上手に活用するのがオブジェクト指向。
569デフォルトの名無しさん:2005/10/19(水) 22:15:39
>>568
具体的にいってよ。意味ねーじゃん。

あと、君がオブジェクト指向に変な意味を付加してるのがわかるよ。
オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、
プログラムを組んでく以上の意味は無いでしょうよ。

後にあるのは設計が下手糞か上手かどうかの話でオブジェクト指向云々じゃない。
ポリモーフィズムはあくまでもオブジェクト指向言語の機能だ。
オブジェクト指向じゃない。
570デフォルトの名無しさん:2005/10/19(水) 22:23:38
>569
> 具体的にいってよ。意味ねーじゃん。
君が具体論を持ち出した形跡が見当たらないわけだが。
論点逸らすのやめたほうがいいぞ。

> あと、君がオブジェクト指向に変な意味を付加してるのがわかるよ。
わかったからといってどうなるの?

> オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、
> プログラムを組んでく以上の意味は無いでしょうよ。
その過程にポリモーフィズムの活用があるのもわからんのか。

> 後にあるのは設計が下手糞か上手かどうかの話でオブジェクト指向云々じゃない。
何の後だよ。

> ポリモーフィズムはあくまでもオブジェクト指向言語の機能だ。
> オブジェクト指向じゃない。
だれがんなこといったんだ?エスパー?
571デフォルトの名無しさん:2005/10/19(水) 22:24:07
そういや俺の学校の先生がオブジェクト指向で設計されたプログラムには
グローバル変数は存在しないって断言してたけど本当なんだろうか…。
まあこれ以上はスレ違いだから移動しようぜ。

オブジェクト指向・嗜好・試行・至高・歯垢
http://pc8.2ch.net/test/read.cgi/tech/1049778124/
572デフォルトの名無しさん:2005/10/19(水) 22:27:06
オブジェクト指向の解釈は、絶対真理のバイブルなど無く堂々巡り。
そんなものをいちいちスレ違いなところで議論するのはただの馬鹿。

そんなに解釈を叫びたいのなら、論文にまとめて発表して、支持を集めて公式見解にすればいい。
ここで話す事柄ではない。
573デフォルトの名無しさん:2005/10/19(水) 22:35:27
>>570
はぁ?じゃあ、聞くけど、
君のこの文↓と
>ポリモーフィズムを上手に活用するのがオブジェクト指向。

俺のこの文↓は
>オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、プログラムを組んでく

どっちがオブジェクト指向として適切なのよ?
574570じゃないけど:2005/10/19(水) 22:37:46
>>573
どっちもどっち
575デフォルトの名無しさん:2005/10/19(水) 22:39:20
>>573
スレタイを100回ぐらい音読するといいよ
576デフォルトの名無しさん:2005/10/19(水) 22:41:09
C言語の場合
if(flag) {
 printf("aho");
} else {
 printf("baka");
}
577デフォルトの名無しさん:2005/10/19(水) 22:42:09
>>576
せめてprintf文は一箇所にまとめろ
578デフォルトの名無しさん:2005/10/19(水) 22:42:30
最後に3つだけ。
1.俺の文じゃないこと。
2.君の文は「オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、
  プログラムを組んでく以上の意味は無いでしょうよ。」であること。
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.俺も移動するからさっさと移動しろということ。
579デフォルトの名無しさん:2005/10/19(水) 22:43:17
C++の場合
class Base {
public:
 virtual void print() = 0;
};

class Aho : public Base {
public:
 void print() {printf("aho");}
};
class Baka: public Base {
public:
 void print() {printf("baka");}
};

A *a = new Aho;
a->print();
a = new Baka;
b->print();
580デフォルトの名無しさん:2005/10/19(水) 22:46:14
サンプル見る限りじゃオブジェクト指向で組むなということだろう。
まともに組みたい奴はC#に行けって。
581デフォルトの名無しさん:2005/10/19(水) 22:46:26
>>569
たとえばCのFILE *のようにオブジェクト指向言語と言われていない言語でもかなり支障ないケースがある。
となるとオブジェクト指向の本質はオブジェクト指向言語とそうでない言語の差に含まれていると捉えてよいだろう。
そう考えるとポリモーフィズムや継承はそれに当てはまらないか?
582デフォルトの名無しさん:2005/10/19(水) 22:49:06
>>578
じゃあ、とりあえずこっち↓へ移動だ。

オブジェクト指向・嗜好・試行・至高・歯垢
http://pc8.2ch.net/test/read.cgi/tech/1049778124/
583デフォルトの名無しさん:2005/10/19(水) 22:54:43
Cより難解でC#より安全でない
中途半端なC++は扱いにくい。
早くDirectXはC#に完全に移行してもらえんかな
584デフォルトの名無しさん:2005/10/19(水) 22:56:02
DirectXを使ってベターC以上の使い方してるソースなんて見たこと無い
585デフォルトの名無しさん:2005/10/19(水) 23:01:05
.NETとC#を混同している>>583
586デフォルトの名無しさん:2005/10/19(水) 23:02:58
勝手に使えばいいじゃん
C#+DirectXのどこに不満があるの
587デフォルトの名無しさん:2005/10/19(水) 23:05:08
オブジェクト指向とはなにか
なんて関係ないじゃん
自分の言葉で話しなよ
588デフォルトの名無しさん:2005/10/19(水) 23:06:40
>>586
遅い
589デフォルトの名無しさん:2005/10/19(水) 23:17:28
スクリーンショットを取るコードを書いていますが、
D3DXSaveSurfaceToFile以外でスクリーンショットを簡単にとる方法ってないですかね。
取り込んだデータを別のウインドウに書き出したり手を加えたりすることも考えて、
メモリ上にデータを置けるといいのですが。
D3DXSaveSurfaceToFileInMemory以外だと助かります。
590デフォルトの名無しさん:2005/10/19(水) 23:43:39
>>588
「完全に移行」してどうにかなる問題じゃねぇw
しかもC#の問題であってDirectX関数が遅いわけじゃないだろう
591デフォルトの名無しさん:2005/10/19(水) 23:55:03
むしろただ完全に移行しただけじゃ>>588の言う遅いDirectXしか使えなくなる罠がw
592デフォルトの名無しさん:2005/10/20(木) 01:04:54
>>566
MSDNライブラリにDirectXも含まれるよ。
593デフォルトの名無しさん:2005/10/20(木) 08:41:50
脳内のオブジェクトが猫だの人だのが話したり歩いたりと、
ゲームで自機・敵A・敵B・アイテムなんかでは
ポリモーフィズムすることの恩恵と手間隙が異なってくる
594593:2005/10/20(木) 08:42:43
すみません。z個解決しました
595デフォルトの名無しさん:2005/10/20(木) 09:06:18
555だけど、まさかあれが荒れる原因になるとは…すまんな

>>589
バックバッファ作成時にD3DPRESENTFLAG_LOCKABLE_BACKBUFFERを指定しておけば、
オフスクリーンメモリ参照し放題だよ。

パフォーマンスの低下が気になるなら、スクリーンショットを取るときだけ仕立て直すか
レンダリングターゲットを変えて強引にいじれるメモリ上へ持ってきてもいいかもね。
596589:2005/10/20(木) 10:57:37
>>595
ありがとうございます。
なるほど、そういうことができるのですね。
早速やってみたいと思います。
597デフォルトの名無しさん:2005/10/20(木) 15:34:10
>>589
そういう場合はIDirect3DDevice9::GetRenderTargetDataを使う。
598デフォルトの名無しさん:2005/10/20(木) 15:42:46
おまいらが大好きなタスクシステムはポリモルフィズムですよ

オブジェクト指向ネタ引っ張ってスマン
599デフォルトの名無しさん:2005/10/20(木) 17:43:20
>>598
まともな人はそういう組み方をしない。
同人シューティングでしか流行ってないよ、そんなもん。
600デフォルトの名無しさん:2005/10/20(木) 17:47:51
>>599
どっちかというと日本のゲーム業界で培われたノウハウがタスクシステムであって、
それらは本来門外不出なのであまり解説は多くなく、会社ごとに実装も違って、
同人なんかは逆に頑張ってクラス作ってるとおもわれる。
601デフォルトの名無しさん:2005/10/20(木) 18:13:05
>>600
俺、転職多くて4社は移ってるけどそんなの使ってるとこなかったな。
602デフォルトの名無しさん:2005/10/20(木) 21:06:10
つうかそんなもん偉そうに
タスクシステムとか名前付けんなというわけで・・
春日恭介15歳、青春してます!
603デフォルトの名無しさん:2005/10/20(木) 21:42:33
windowsの確認がとれないからダウンロードできないって
いわれたんですけど、なんか解決法とかありませんか??
604デフォルトの名無しさん:2005/10/20(木) 21:43:46
>>603
MSに電話
605デフォルトの名無しさん:2005/10/20(木) 21:58:38
割れ
606デフォルトの名無しさん:2005/10/20(木) 21:59:56
DirectMusicで周波数・3D・ボリュームの設定って反映できますか?
607デフォルトの名無しさん:2005/10/20(木) 22:16:26
DirectMusicって市販のゲームで使われたことあったっけ?
608デフォルトの名無しさん:2005/10/20(木) 22:17:29
使ってるかどうかってどうやって調べるの?
609デフォルトの名無しさん:2005/10/20(木) 22:35:41
>>606
できるよ
610デフォルトの名無しさん:2005/10/21(金) 07:56:57
>609
どうやってできますか?
一部DirectSoundを使わないといけないような気がするんですが
611デフォルトの名無しさん:2005/10/21(金) 10:35:16
LPDIRECT3DDEVICE9(Direct3D9デバイスへのポインタ)って使用頻度が物凄く高いですが
グローバル変数にしたほうがいいのでしょうか?
それとも引数に指定して行くほうがいいのでしょうか?
612デフォルトの名無しさん:2005/10/21(金) 11:20:41
>>610
オーディオパスのGetObjectInPathでDirectSoundとDirectSound3Dを貰えるよ
これらをいじれば>>606が可能になる
613デフォルトの名無しさん:2005/10/21(金) 13:20:18
>>611
その手の話はロクなことにならないので振らないように
614デフォルトの名無しさん:2005/10/21(金) 14:01:59
>>613
そうですか
すいませんデス

てことはたいした違いもねーから勝手に汁!系ですかね^^;
とりあえず色々やってみます
615デフォルトの名無しさん:2005/10/21(金) 14:54:26
>>611
DirectXと全く関係ない話
616デフォルトの名無しさん:2005/10/21(金) 22:25:20
>612
周波数の設定はどうやったらとれますか?
617デフォルトの名無しさん:2005/10/21(金) 22:37:48
こんばんわ。
XFileデータで、AnimationKeyというのがありますが、

AnimationKey {
0;
121;
0;4;0.970079,-0.241868,0.020510,-0.005114;;, //..←ここの値
}

移動や拡大・縮小はそのままの値っぽぃのですが、
回転のデータがどこからやってくるのかわかりません。

どなた様かご教授願います。

618デフォルトの名無しさん:2005/10/21(金) 22:53:21
クオータニオンで入っているだけ。
619デフォルトの名無しさん:2005/10/22(土) 04:44:13
LPDIRECT3DDEVICE9のコピーを各オブジェクトが保持する場合、
やっぱりみんな律儀にAddRefとReleaseするんですよね。
でも、グローバル変数的な唯一の変数でプログラム全体で共有するなら、
AddRefいらないですよね。
620デフォルトの名無しさん:2005/10/22(土) 04:47:17
621デフォルトの名無しさん:2005/10/22(土) 07:58:41
>>619
煽られるの前提で書くけど、自分で管理する覚悟があるなら、律儀さは無くてもOK

MSがCOMっぽさをD3DXで隠蔽しまくっている以上、
COMを意識しなくなるのは当然の流れかもね。
人によってはただの手動スマートポインタになっちまった。
622デフォルトの名無しさん:2005/10/22(土) 08:14:21
EclipseってDirectXの開発環境として使えたりしますか?
623デフォルトの名無しさん:2005/10/22(土) 08:33:57
Eclipseに出来ないことはないよ
624デフォルトの名無しさん:2005/10/22(土) 09:12:04
DirectMusicで周波数の設定ってどうやったらできますか?
625デフォルトの名無しさん:2005/10/22(土) 10:35:03
>>622
Win32+DirectXで使ってるけど、当然ながらVisualC++の方がいいよ。
CVSが簡単に使えたりするのは楽だけど。
626デフォルトの名無しさん:2005/10/22(土) 12:46:23
>>616
DirectSoundと同じことすればいいだけ
627デフォルトの名無しさん:2005/10/22(土) 13:41:25
Musicだとセグメントにロードだと思うんですがIDirectSoundBuffer8
のメソッドのSetFrequencyを呼んでもどこに反映されるのかわかんないんですが
どことどこを関連付け?みたいなことをしなくちゃいけないのかわかりません。
628デフォルトの名無しさん:2005/10/22(土) 14:22:15
WinAPI質問スレにも書いたのですがスレ違いだと思ったのでここで、

他のプロセスのDirectXを使用したウインドウに対して、
高速にGetPixelしたいのですが、何か方法はありますか?
629デフォルトの名無しさん:2005/10/22(土) 14:49:09
チーター乙
630デフォルトの名無しさん:2005/10/22(土) 15:00:43
>>628
氏んでくれ・・・
631デフォルトの名無しさん:2005/10/22(土) 15:05:42
>>627
>SetFrequencyを呼んでもどこに反映されるのかわかんないんですが
DirectSoundBufferをくれたAudioPathに反映してるんだけど
実際にやればわかるはず
632デフォルトの名無しさん:2005/10/23(日) 04:30:11
2のべき乗でないイメージ(600*600)を
D3DXCreateTextureFromFileEx( lpdevice, file, 0,0, 0, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,lpTexture);
で読み込んでポリに貼り付けて表示してるんですがきれいに表示されません。何か解決方法ありませんか?
633デフォルトの名無しさん:2005/10/23(日) 04:50:39
拡大フィルターんとこでD3DXなんちゃら_NONEを使うとうまくいくんでなかったっけ。
634デフォルトの名無しさん:2005/10/23(日) 12:46:04
>>632
D3DX_DEFAULT_NONPOW2
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
で、ヘルプを検索汁。条件が厳しいからあまり使わない方が良いだろうね。

普通はuv値に イメージ幅/2のべき乗に切り上げた幅 を渡したり、
テクスチャマトリクスを使って対処とかかな。
635デフォルトの名無しさん:2005/10/23(日) 14:06:51
>>632
512x512でガマンするか、1024x1024にしる。
メモリ消費を気にするなら、128x128のタイルで5x5に分割しる。
636デフォルトの名無しさん:2005/10/23(日) 14:23:48
すいません、IDチェッカーを使って2ちゃんの書き込みから住所が分るって言ってる人がいるんですけど本当なんでしょうか?

http://sports9.2ch.net/test/read.cgi/billiards/1124849366/153
http://sports9.2ch.net/test/read.cgi/billiards/1124849366/159
637デフォルトの名無しさん:2005/10/23(日) 14:41:05
>>636
DirectIDCheckerを使えば分かる
638質問です。:2005/10/23(日) 21:52:08
JPEGを読み込んでRGBの値を得るプログラムを教えてください。
639デフォルトの名無しさん:2005/10/23(日) 22:06:52
〃∩ ∧ ∧
⊂⌒( ・ω・)  はいはいフォトショフォトショ
 `ヽ_っ⌒/⌒c
    ⌒


  ∧_∧
⊂(#・д・)  フォトショって言ってんだろ!!
 /   ノ∪
 し―-J |l| |
         人ペシッ!!
       __
       \  \
640デフォルトの名無しさん:2005/10/23(日) 22:43:27
jpgをRGB形式の画像データに変換するlibって無かったっけ?
641デフォルトの名無しさん:2005/10/23(日) 22:47:40
http://www.sm.rim.or.jp/~shishido/jdll.html
この人がなんかやってくれてるけど、
こんなことする必要あったっけ?
pngならlibpngあるけどね。
642デフォルトの名無しさん:2005/10/23(日) 22:53:59
Musicで同じ音を複数ならしたいときは読み込みを2回する以外に方法ありませんか?
643デフォルトの名無しさん:2005/10/23(日) 22:58:52
おまえらマルチにかまうなよ
644デフォルトの名無しさん:2005/10/23(日) 23:03:50
こことゲ製作とニュース系サイトしかチェックしてないのに
どれがマルチかわからん
645デフォルトの名無しさん:2005/10/23(日) 23:05:23
はわわ〜
646デフォルトの名無しさん:2005/10/23(日) 23:06:09
量産型は氏ね
647デフォルトの名無しさん:2005/10/24(月) 00:06:52
もうBBXは見てないから、向こうでレス無かったらこっち貼っても
俺的にはかまわない。
648デフォルトの名無しさん:2005/10/24(月) 00:30:54
わからない六大理由

1 読まない
2 調べない
3 試さない
4 理解力が足りない
5 人を利用することしか頭にない
6 単純に頭が悪い
649デフォルトの名無しさん:2005/10/24(月) 00:37:14
>648
6も「ない」で締めろよ。というか4と被ってない?
650デフォルトの名無しさん:2005/10/24(月) 00:46:24
わからない六大理由・改

1 読まない
2 調べない
3 試さない
4 理解力が足りない
5 人を利用することしか頭にない
6 ↑これらを改善する心意気すらない
651デフォルトの名無しさん:2005/10/24(月) 00:54:16
どうせなら縦読みで意味があるようにしようぜ
652デフォルトの名無しさん:2005/10/24(月) 01:31:11
JPG画像読み込みか。D3DXCreateTextureFromFileExしてLockなんだろうが、
D3Dを使いたくなかったゆえFreeImageというライブラリを使ったことがある。
なかなかよかった。
653デフォルトの名無しさん:2005/10/24(月) 01:34:46
グラフィックソフトで余白埋めるのが一番手っ取り早い
654デフォルトの名無しさん:2005/10/24(月) 01:44:33
GameSDK(DirectX1.0)以来触ってないです。。。 orz 市販Winゲー作ったが。。
655デフォルトの名無しさん:2005/10/24(月) 11:20:05
DirectX9で
Texture->BltFast(サーフェイスまたはテクスチャ,RECT)のような感じに
テクスチャにサーフェイスの情報を書き込む方法はないですか?
テクスチャにサーフェイスの情報が含まれているらしいですが見つけられませんでした。
もしTexture->Surfaceのようなものがあれば
D3DXCreateSurfaceFromSurfaceでできるのですが・・・。
656デフォルトの名無しさん:2005/10/24(月) 11:24:44
GetSurfaceLevel()では不満か?
657655:2005/10/24(月) 11:41:13
それでSetSurfaceLevel()かBltFast()のようなものがあればいいのですが・・・
658デフォルトの名無しさん:2005/10/24(月) 11:58:28
全部人に聞く気かよ。
659655:2005/10/24(月) 12:02:38
すいませんでした
DirectDraw使うようにします
660デフォルトの名無しさん:2005/10/24(月) 20:33:10
>>655
今の技術が分からないからって昔の技術を使う、ってのは…進歩がないよ。

GetSurfaceLevelでサーフェスを手に入れて、そのサーフェスに書き込めば、結果はテクスチャに反映される。
だからSet〜は要らない。
転送方法はデバイスに付いている。IDirect3DDevice9::StretchRectとか。
但し、この命令はサーフェスの属性で使えたり使えなかったりする。

テクスチャ→テクスチャと転送するなら、
頂点変換済みの四角形ポリゴンを使ってテクスチャに四角形を描画するとよい。
具体的には、t-potっていうホームページで幾らでも確認できるから調べてみれ。
661655:2005/10/24(月) 21:14:47
660さんありがとうございました。
StretchRectで無事できました。
662デフォルトの名無しさん:2005/10/25(火) 23:13:47
サウンドをDirectMusicで鳴らしてるんですが周波数を上げたら音が途中できれたり
します。原因として何が考えられますか?あと周波数ってピッチと解釈していいんですか?
663617 :2005/10/26(水) 02:08:27
618さんありがとうございます。クォータニンにして突っ込んだら
無事動きました。

すみません、もう一つお聞きしたいことがあります。
Xファイルのデータで、SkinWeightsのmatrixOffsetという
データがあり、ボーンのローカル座標系に変換するマトリクス
とのことですが、ボーンが階層になっている場合、親の逆行列
を子に積算していけばいいのでしょうか。
へっぽこな質問かもしれませんが、認識違いがありましたら
ご指摘願います。
664デフォルトの名無しさん:2005/10/26(水) 07:21:12
>>663
あれ? そうだったっけ? その辺で逆行列を使った記憶がないなあ。
その行列は、ローカル座標系の頂点に演算したら、親の座標系になるんじゃ?
行列に(1,0,0)をかけて、どういう値が帰ってくるか考えてみ。
665664:2005/10/26(水) 07:40:41
ごめん嘘いった。
一旦ローカル座標系にしなきゃならんから、説明の通りでいいのか。
プログラムで姿勢行列を再構築して変化を与えて元に戻す、と。

matrixOffset * ローカル座標行列 * World * View * Proj

で、ローカル座標行列のアニメーションとか積算を自力でやればいいのかな。
666デフォルトの名無しさん:2005/10/26(水) 22:29:01
DirectMusicでリスナの位置を変更するにはどういう手順をふめばいんですか?
667デフォルトの名無しさん:2005/10/27(木) 07:44:05
>>666
ヘルプに書いてあることいちいち聞くなよ
ソースコードジェネレーターに期待してんなら厨房王国行け
668デフォルトの名無しさん:2005/10/27(木) 14:15:34
質問です。XP、.NET 2003 です。

2Dのゲームアプリケーションを作ろうと思っているのですが、
Direct3D を学ぶか、DirectDraw を学ぶかで悩んでいます。

描画関係で行うのは、基本的に png などの画像をそのまま描画するだけで、
拡大、回転などといったことはしないため、機能的には DirectDraw で十分だと思います。
ですが、せっかく Direct3D という最新の技術があるにもかかわらず、
古い技術を今から学ぶのもどうかと思います。

今開発されているようなアプリでも、DirectDraw は使われているのでしょうか。
それとも、今はとくに 3D 描画が必要の無いものでも、Direct3D が使われているのでしょうか。

よろしくお願いします。
669デフォルトの名無しさん:2005/10/27(木) 14:22:57
>>668
もう迷ったらDirect3Dでいいでしょ。
単純に描画機能だけじゃなくて、
周辺環境のことも考えると色々と有利だから。
特に最新の情報はD3Dのほうが圧倒的に多い
670668:2005/10/27(木) 14:33:43
>>669
なるほど。
まだどこが有利かと言う点は理解できていませんが、学びながら理解して行こうとおもいます。
とりあえず Direct3D を用いることにします。
ありがとうございました。
671デフォルトの名無しさん:2005/10/27(木) 14:46:04
とりあえずDirectDraw使ってみて
「ああ、やっぱりDirect3Dにしとけばよかったorz」
を体験するのもいいかも
672デフォルトの名無しさん:2005/10/27(木) 15:16:48
両方やればいいだけ。
673デフォルトの名無しさん:2005/10/27(木) 22:38:24
画像をそのまま描画するだけならDirectXすら不必要
674デフォルトの名無しさん:2005/10/28(金) 14:22:52
DirectDrawのコードのままDirect3D使えたらいいな。
675デフォルトの名無しさん:2005/10/28(金) 14:25:30
2D使いたいだけならスプライトを使えばいいだろう
676デフォルトの名無しさん:2005/10/28(金) 14:33:28
俺は2Dの場合はレンダラクラスでラップしているよ。
レンダラ差し替えでDirect3DもDirectDrawも使えるようなのを
想定していたけど、結局Direct3Dしか使っていない。
677デフォルトの名無しさん:2005/10/28(金) 20:12:47
DirectDrawは過去の遺物なので存在をきれいさっぱり忘れていい。
678デフォルトの名無しさん:2005/10/28(金) 23:54:52
。・゚・DirectDraw・゚・。
679デフォルトの名無しさん:2005/10/29(土) 00:08:40
DirectX9からDDって使えるの?
680デフォルトの名無しさん:2005/10/29(土) 02:09:05
GDIにしとけ。簡単。
681デフォルトの名無しさん:2005/10/29(土) 02:58:05
GDIで少しでも高速にしようと思ったらDirectXなんかよりずっと難しい
682デフォルトの名無しさん:2005/10/29(土) 17:22:49
.net 2003です。Microsoft DirectX 9.0 SDK (October 2005)に入ってるサンプルDxViewerをインストールしてビルドしようとすると、
------ ビルド開始 : プロジェクト : Sas, 構成 : Debug Win32 ------
Sas - 更新しています。
------ ビルド開始 : プロジェクト : DxViewer, 構成 : Debug Win32 ------
リンクしています...
DXUT.obj : error LNK2001: 外部シンボル "_IID_IDirect3DSwapChain9" は未解決です。
DXUTmisc.obj : error LNK2001: 外部シンボル "_IID_IDirect3DBaseTexture9" は未解決です。
DXUTmisc.obj : error LNK2001: 外部シンボル "_IID_IDirect3DTexture9" は未解決です。
DXUTmisc.obj : error LNK2001: 外部シンボル "_IID_IDirect3DCubeTexture9" は未解決です。
DXUTmisc.obj : error LNK2001: 外部シンボル "_IID_IDirect3DVolumeTexture9" は未解決です。
Debug/DxViewer.exe : fatal error LNK1120: 外部参照 5 が未解決です。
と出てしまいます。
Tutorial6とかはビルド出来ます。
リンカにはbufferoverflowu.lib dxerr9.lib dxguid.lib d3dx9d.lib d3d9.lib winmm.lib comctl32.lib shlwapi.lib htmlhelp.lib ../Sas/$(OutDir)/Sas.lib
とあるのですが、正常にDxViewerをビルドする方法教えてー
683デフォルトの名無しさん:2005/10/29(土) 17:33:58
>>682
DirectXの前にCからやり直せ。
684682:2005/10/29(土) 17:50:46
オプション->プロジェクト->VC++ディレクトリ->ライブラリファイルには、C:\Program Files\Microsoft DirectX 9.0 SDK (October 2005)\Lib\x86
インクルードファイルには、C:\Program Files\Microsoft DirectX 9.0 SDK (October 2005)\Include
と入ってるのですが、ここじゃないんですか?
685682:2005/10/29(土) 18:12:57
元々、net2003とMicrosoft DirectX 9.0 SDK (October 2005)だけでは、
LINK : fatal error LNK1104: コンパイラは、ファイル 'bufferoverflowu.lib' を開くことができません。
というエラーが出てしまったので、Microsoft Platform SDKインストールして、
インクルードファイルには、C:\Program Files\Microsoft Platform SDK\Include
ライブラリには、C:\Program Files\Microsoft Platform SDK\Lib
を追加したら、上(682)のようなエラーが出たわけです。
普通にわからなくない?
686デフォルトの名無しさん:2005/10/29(土) 18:18:05
ライブラリの優先順位は?一番上になってる?
687デフォルトの名無しさん:2005/10/29(土) 19:53:26
>> 686
これだったのかー
悔しいです。
ありがとうございました。本当に。
これでういた時間有効に活用させていただきます。
688デフォルトの名無しさん:2005/10/30(日) 01:04:19
DirectMusicで3Dサウンドをできるようにしたんですが複数の音をセグメントに
ダウンロードしたときはリスナの設定も複数しなければいけないんですか?
リスナは1つを固定で全セグメントに対してみたいなことはできませんか?
689デフォルトの名無しさん:2005/10/30(日) 07:50:49
>>688
オーディオパス1個ならリスナも1個
690デフォルトの名無しさん:2005/10/30(日) 10:48:48
XFileに関する質問ですが
3つの行動
(例)
・斬る(上半身)
・走る(下半身)
・走りつつ斬る(下半身+上半身)

の再生を行うにあたって
現在、XFileを上半身、下半身といった具合に2つ作って
再生させてますが、この場合、まるで
初期のPSのゲーム状態(間接が分離したモデル)
一つのスキンとして見せたい場合
一つのXFileに3つのアニメーションを作るもんなのでしょうか
それとも2つの異なるXFileを
合成するような技でもあるのでしょうか
691デフォルトの名無しさん:2005/10/30(日) 12:43:10
質問

画面が、ガラスのように散らばっていくエフェクトなどを作りたいんですが
なんか、参考になるエフェクト関係の良い本やサイトとかないですかね?

作ってる最中で行き詰ってしまって、先に進めない・・

よろしくお願いします。
692デフォルトの名無しさん:2005/10/30(日) 13:13:43
>>690
普通は全モーションを作ると思うけどなあ
もしくはモーションブレンド? よくわからないな

>>691
まず、書き込んだ画面をテクスチャに書き込む。
バックバッファからテクスチャのサーフェスへStretchRectでOK。

次に、スクリーンをスクリーン座標でポリゴン分割して、テクスチャ座標を割り当てる。
それをエフェクト用の透視変換行列を元に逆変換して、3D空間へ変換しておく。
各ポリゴンについて、移動方向、移動速度、回転軸、回転速度の4パラメータを決定。
後は普通に時間積分して動かしていく、って感じかな?

3Dを使わないで画面がパリーンと割れるだけなら、
透視変換行列云々のところが要らなくなるはず。
693691:2005/10/30(日) 17:24:56
694デフォルトの名無しさん:2005/10/30(日) 17:28:34
ここで謝罪↓
695デフォルトの名無しさん:2005/10/30(日) 17:29:27
酢マン
696デフォルトの名無しさん:2005/10/30(日) 17:30:25
もっと心をこめて大胆に!
697デフォルトの名無しさん:2005/10/30(日) 17:30:41
キッコーマン
698691:2005/10/30(日) 17:56:35
>>692
回答サンクス

自分も同じように空のテクスチャを作って、それに画面を書き込んで
D3DXVec3Unprojectを使って逆変換〜ポリゴンに貼り付け〜
とやってみたんだが問題がでた。
z軸の回転移動は、z成分の値が変化しないから、ちゃんと機能した。
でも、XとY軸の回転変換をするとポリゴンが表示されない部分が出てきた。
調べてみたんだが、スクリーン座標から逆変換した3D空間のz座標は、
カメラ座標を作るときに指定した、カメラの位置から1離れた位置のz成分になる。
(例えば3d空間のカメラ位置のz成分が-10なら、逆変換後のポリゴンのz成分は-9になる)
つまり、カメラ位置とポリゴンの位置が近すぎるため、回転変換をすると
カメラのレンズよりも後ろに行ってしまい、見えなくなってしまうみたい。
699690:2005/10/30(日) 18:15:04
>>692
レスどもです
なるほど全モーションですか。
ネットで調べるに
気になったのがt-potさんの
頂点ブレンドだけども
難しそうだ
700デフォルトの名無しさん:2005/10/30(日) 18:35:08
DirectX9での質問です

正射影でプログラムを組んでいるのですが
3D座標にあるモデルのスクリーン座標を求めたいのですがどうやったらよろしいでしょうか?
701デフォルトの名無しさん:2005/10/30(日) 18:36:48
計算すればよいだけでは?
702700:2005/10/30(日) 18:38:49
言葉足らずですいません。

その計算の仕方がわからないのです
MSDNのヘルプのD3DXMatrixOrthoLHの項にには行列で
それらしいことがかいてるのですが全く理解ができません…

703デフォルトの名無しさん:2005/10/30(日) 19:03:36
>>702
行列がわからんのなら諦めろ。
諦めたくなかったら勉強しろ。
704700:2005/10/30(日) 19:08:32
それをいわれるとおしまいなのですが…
数日勉強してもわからないから何かアドバイスを、と質問したわけでして^^;
705デフォルトの名無しさん:2005/10/30(日) 19:10:16
D3DXVec3Project
706700:2005/10/30(日) 19:30:17
ありがとうございます
随分と調べたつもりでしたがその関数には気づきませんでした
707デフォルトの名無しさん:2005/10/30(日) 20:06:15
DirectX8.1のSDKを入手したいのですが、
ドコかに無いでしょうか?
マイクロソフトには見当たりませんでした。
708デフォルトの名無しさん:2005/10/30(日) 21:26:59
現在使用しているビデオメモリ量と、最大量を取得する方法はありませんか?
709700:2005/10/30(日) 22:59:53
D3DXVec3Projectを使ってスクリーン座標を求めようとしたのですが
色々試してもうまくいきません
実行して何も押さない状態だとちゃんとした情報が返って来ます
でも物体を動かす(キーボードで)と変な値になってしまいます。
これはどういった原因が考えられるでしょうか?
何かありましたらよろしくお願いします
710デフォルトの名無しさん:2005/10/30(日) 23:18:26
>>709
(゚Д゚)ハァ?
変な値を与えてるからだろ。
711700:2005/10/30(日) 23:22:47
完全に変な値でしたら初期状態でマトモな値が返ってこないと思ってきいてるのですが…
712デフォルトの名無しさん:2005/10/30(日) 23:27:27
>>711
関数に与えた値と、出てきた値を比べればいいじゃないか。
それが違ってるならDirectXのバグでしょ。
713700:2005/10/30(日) 23:30:16
関数に与えた値と出てきた値とはどういうコトでしょうか?
714デフォルトの名無しさん:2005/10/30(日) 23:38:46
どうやら釣られたらしい(´・ω・`)ショボーン
715デフォルトの名無しさん:2005/10/30(日) 23:39:57
ああ、またC言語からやりなおしなやつが1名…
716700:2005/10/30(日) 23:40:26
スグ釣りとかいうのはやめてください
どの辺がつりに見えたのかはわかりませんがこっちは真剣です
717700:2005/10/30(日) 23:43:03
解決しました。
もういいです。

>>716
勝手に人の番号で発言するのはやめてください
718700:2005/10/30(日) 23:44:12
>>717
ホントネタじゃないんでやめてください。お願いします
今日一日これについて潰しちゃってかなり困ってるんです
719デフォルトの名無しさん:2005/10/30(日) 23:47:12
D3DXVec3Projectを知ってから4時間半ちょい
720700:2005/10/30(日) 23:48:34
>>717
漏れのレス番騙って荒らすのは止めてくれ。
721700:2005/10/30(日) 23:48:40
最初に質問したスクリーン座標に変換する方法について です
722700:2005/10/30(日) 23:49:24
>>720
頼むからやめてください
723700:2005/10/30(日) 23:49:52
>>722
いいかげんにしてください
724デフォルトの名無しさん:2005/10/30(日) 23:52:37
>700がすっかり玩具な件について
725700:2005/10/30(日) 23:54:50
いっぱい釣れたーヽ(´▽`)ノ
726700:2005/10/30(日) 23:56:35
もういいです。
当然質問側ですからある程度なにか言われるとは思っていましたけど
正直ここまでからかわれるとは思いませんでした。
少なくとも俺は本気で解決したくて質問しました。
真剣に聞いてるのにそれすらわかってもらえず残念です。

ただD3DXVec3Projectを教えていただいたのはありがとうございました。
ほんの少しですが前に進めたとは思います
727700:2005/10/30(日) 23:57:28
俺が一番セクシー
728デフォルトの名無しさん:2005/10/31(月) 00:45:26
殺伐としたスレにはやっぱ鰻が必要だな。
729デフォルトの名無しさん:2005/10/31(月) 01:05:11
煽りに切れずにジッと待ちんさい

「物体を動かす」というのは、恐らく物体のワールド(ローカル)座標行列を動かしているのだろうけど、
それがD3DXVec3ProjectのpWorldに相等。恐らくそこをミスっているのだろう。
pWorldに渡した行列をモデル座標に適用すると、しっかりワールド座標になる
…ような行列にちゃんとpWorldが該当するか確認。

あまり安易にD3DXVec3Projectに頼ると、シェーダー書くとき困るよん。
730700:2005/10/31(月) 08:11:24
ども
731700:2005/10/31(月) 08:26:57
ドム
732デフォルトの名無しさん:2005/10/31(月) 18:35:49
D3DXCreateMeshFVFで質問ですが
NumVertices
  [in] メッシュの頂点の数。このパラメータは 1 以上でなければならない。
とありますが65534以上の値を渡すとエラーが出るのですが
こういう仕様なのでしょうか?

NumFaces
  [in] メッシュの面の数。有効な範囲は、0 より大きい値から、最大 DWARD 値 - 1 (通常は 2^32-1) (最後のインデックスは予約されているため) までである。
とあったのでVerticesも2^32だと思っていたのですが。
733デフォルトの名無しさん:2005/10/31(月) 18:48:57
>>732
>こういう仕様なのでしょうか?
ハードウェアに依存

>Verticesも2^32だと思っていたのですが。
VertexとFaceがいっしょなわけがない
734デフォルトの名無しさん:2005/10/31(月) 18:56:35
>>732
D3DXMESH_32BIT
735デフォルトの名無しさん:2005/10/31(月) 19:49:19
>>734
さんくす。

>>733
ナイフで手首切って死ね。
736デフォルトの名無しさん:2005/10/31(月) 19:58:44
自殺幇助か
737デフォルトの名無しさん:2005/10/31(月) 23:20:15
今フルスクリーンでゲームを作ってるんですがオープニングムービーをいれたい
と思ってます。どういった手順ですればできますか?現在D3D関連の描画をしてい
るんですがそれをとめずに行いたいです。できればムービーからテクスチャに
書き込んでそれを描画したいと思ってます。どなたかアドバイス・サンプルなど
ありましたらよろしくお願いいたします。
738デフォルトの名無しさん:2005/10/31(月) 23:22:43
最初から丸投げマンセー!
739デフォルトの名無しさん:2005/11/01(火) 03:41:21
MAYAを買う
740デフォルトの名無しさん:2005/11/01(火) 04:00:41
まーやーねー!この子ったら!
741デフォルトの名無しさん:2005/11/01(火) 04:19:36
742デフォルトの名無しさん:2005/11/01(火) 08:00:00
>>737
DXSDKのサンプル
743デフォルトの名無しさん:2005/11/01(火) 19:01:06
typedef struct _hoge {
  LPDIRECT3DVERTEXBUFFER9 pVB;
  LPDIRECT3DINDEXBUFFER9 pIB;
} hoge;

と宣言してビルドすると、
'_hoge::LPDIRECT3DVERTEXBUFFER9@pVB' : 識別名を宣言するのに、型が指定されていません。
'_hoge::LPDIRECT3DINDEXBUFFER9@pIB' : 識別名を宣言するのに、型が指定されていません。
と言われてしまうのですがなぜでしょうか?
d3d9.hはちゃんとインクルードしているのですが…。
744743:2005/11/01(火) 19:25:13
スマン。俺がバカだった…。

LPDIRECT3DVERTEXBUFFER9 pVBの間のスペースが全角だった…。
半角にしたらコンパイルちゃんと通りました。

IDEの設定で全角スペースだけ強調できたらいいのに。

お騒がせしてすみませんでした。
745デフォルトの名無しさん:2005/11/01(火) 19:41:54
んもぉー
746デフォルトの名無しさん:2005/11/03(木) 19:30:49
質問

class これらを使って描画する{
    -いろいろ変数とか略-
LPDIRECT3DVERTEXBUFFER9m_pMyVB[8];//頂点バッファの入れ物
D3DXVECTOR3 center_of_gravity[7];
-略-
};
こんな感じでクラスの中に定義してプログラムを作っていたら表示がおかしくなりました。
また、
class これらを使って描画する{
    -略-
LPDIRECT3DVERTEXBUFFER9m_pMyVB[8];//頂点バッファの入れ物
-略-
D3DXVECTOR3 center_of_gravity[7];
};
このようにLPDIRECT3DVERTEXBUFFER9型の変数とD3DXVECTOR3の変数をちょっと離したら
正常に表示されました。
どこも弄っていないのにただ単に変数の位置を変えただけで、表示がおかしくなったり直ったりします・・
こんな理不尽なことプログラム組んでてかなり恐ろしいことなんですが、
これって、仕様なんでしょうか?
どうか、よろしくお願いします。
747デフォルトの名無しさん:2005/11/03(木) 19:40:47
仕様を疑うよりも前に自分のミスを疑え。
絶対にお前のプログラムミスだ。
748700:2005/11/03(木) 20:02:40
どうせ、範囲外アクセス(ry
749デフォルトの名無しさん:2005/11/03(木) 21:32:49
>>747,748
理不尽な野郎は自分でした_| ̄|○
範囲外アクセスでビンゴ
変数center_of_gravityは、頂点バッファの数だけ必要なんだから
center_of_gravity[8]でした

申し訳ございませんでした
750デフォルトの名無しさん:2005/11/03(木) 22:49:22
んもぉー
751デフォルトの名無しさん:2005/11/04(金) 11:31:05
どうしてキミはそうかなぁ。もっと確認しなって言ってるじゃん。
752デフォルトの名無しさん:2005/11/04(金) 11:57:15
DirectX8のD3DXCreateSphereで球を描写した時に色をつけたり
金属質の様な感じを出す事は出来るでしょうか?
753デフォルトの名無しさん:2005/11/04(金) 12:43:43
はい、出来ます。
754デフォルトの名無しさん:2005/11/04(金) 15:16:09
質感はシェーダで色々出せるが
普通にそこらにあるスペキュラライティングで十分じゃね
755デフォルトの名無しさん:2005/11/04(金) 19:36:02
PS2などのバイブレーション機能付のゲームパッドをUSB接続し、それをDirectXで振動させることは可能なのでしょうか?
756デフォルトの名無しさん:2005/11/04(金) 19:38:08
変換アダプタの対応が必要
757デフォルトの名無しさん:2005/11/04(金) 20:08:10
草加、dd(´・ω・`)
758デフォルトの名無しさん:2005/11/04(金) 20:24:06
それを股間にあてがうわけだな
759デフォルトの名無しさん:2005/11/04(金) 20:33:50
変換アダプタを使った場合で電気をUSB経由で供給するタイプの場合は
電圧が足りないので揺れがイマイチになる
専用のフォースフィードバック機器に比べて震えの制御も細かくできない
なので股間に利用する場合はMS製(もう売ってないけどな)をはじめとしたしっかりしたタイプを選んだほうがよい
専用のものでないと波形エディタで作りこんでもただ揺れてるだけで揺れの差を区別ができない
変換アダプタでもACアダプタから供給するタイプならPS2で利用するときと同じ程度の強さで揺らすことが出来る
760デフォルトの名無しさん:2005/11/04(金) 21:07:03
>>755
なんだ>>758-759のようなことしたいのなら普通のUSBバイブ買えばいいのに
海外では結構出てるのに国内だと数種類しかないのが難点だけどな
チャットから特定文字([&弱]とか[&リズム])を受け取ると振動するようにできるから
いかにして相手にそういうキーワードを書き込ませるかがポイントだな
761デフォルトの名無しさん:2005/11/04(金) 21:08:59
>>760
そのキーワードってカスタマイズできるの?
762デフォルトの名無しさん:2005/11/04(金) 22:15:39
最初のうちは汚いスパゲッティソースでもいいんだよ。
作って動けば。最後まで完成させることが大切なんだ。
ただいつまでのそのスパゲッティソースのやりかたじゃダメなんだ。
だけどどんなに汚いソースでも作品は完成させろ。
たくさんの作品が血となり肉となり骨となる。





趣味のプログラムならばね
763デフォルトの名無しさん:2005/11/04(金) 22:20:52
>>761
ふたばちゃんねる の えろげ にスクショ載せたよ
764デフォルトの名無しさん:2005/11/04(金) 22:24:11
>>763
なかったorz
765デフォルトの名無しさん:2005/11/04(金) 22:47:03
>>764
あるよ
1ページ目にあるとは限らない
766デフォルトの名無しさん:2005/11/04(金) 22:54:13
5ページぐらい見た
767デフォルトの名無しさん:2005/11/04(金) 22:59:49
5ページ見て無ければ、6ページ目を見ればいいじゃないか。
768デフォルトの名無しさん:2005/11/04(金) 23:02:25
そんなにエロ画像みせてどうするつもり?
769デフォルトの名無しさん:2005/11/04(金) 23:04:09
・全く違うところを見ている
・カスタマイズウィンドウのスクショを探そうとしていない
・何を勘違いしたのかプレイ中のスクショを探している
・ついついエロゲ絵に見とれている
・そもそもDirectXに全く関係ない
770デフォルトの名無しさん:2005/11/04(金) 23:09:27
ホモとか虹グロばっかりで気持ち悪くなってきた
番号教えれば済む話じゃないのか?
初めての掲示板でなにか見落としてるのかもしれんが
普通に初めから絵をみていく分には見落としようがないぞ
それとカスタマイズウィンドウってなんだ?
771デフォルトの名無しさん:2005/11/04(金) 23:16:49
>>770
少なくともこのスレ見に来る奴は
何かのソフトで設定ダイアログぐらい見たことあるだろ
明らかに場違いなのはこれしかないぞ
orz.2chan.net/5/red/1131110217821.htm
772デフォルトの名無しさん:2005/11/04(金) 23:19:20
>>771
把握した
これはこれは貴重な画像をありがとう
773デフォルトの名無しさん:2005/11/04(金) 23:48:47
ヒャッホー!ようやく表示した画像を動かせるようになったぜ。
先は長いが、頑張ろう。
774デフォルトの名無しさん:2005/11/05(土) 00:12:53
>>773
つ[ チラシの裏 ]
775デフォルトの名無しさん:2005/11/05(土) 01:00:46
フルスクリーン(800*600)で2のべき乗の数でないフルカラーのイメージ800*600を
綺麗に表示させたいのですが方法ありますか?テクスチャの読み込み時とかに
2のべき乗に切り上げられないようにしたり1024*1024のイメージにしてテクスチャ
座標とかで表示させてみたりしてるんですがうまくいきません。フルカラーだから
なのか何が原因かわかりません、アドバイスお願いします。
776デフォルトの名無しさん:2005/11/05(土) 01:03:34
>>775
何がわからないのかわかりません。
777デフォルトの名無しさん:2005/11/05(土) 01:45:28
ジョイパッドからの入力を取得するクラス、
class MyInputer{
LpDirectInput8 DI;
LpDirectInputDevice8 DID;
Init()
 (その他省略)
}
ってのを作ってて、クラスのメンバ関数Init()を呼び出したら
初期化されるようにしてるんですが、その関数内で
DI->EnumDevices(・・・)
とする際、第二引数に指定するコールバック関数って、
クラスのメンバ関数として作成できないのですか?
できないとしたら、どのように実現すればいいですか?
778デフォルトの名無しさん:2005/11/05(土) 01:46:07
>>777
散々既出。
779デフォルトの名無しさん:2005/11/05(土) 01:49:00
>>778
スイマセン、出直してきます…
780デフォルトの名無しさん:2005/11/05(土) 02:50:15
ヒント:static
781デフォルトの名無しさん:2005/11/05(土) 10:18:01
>>762
頭の悪い俺はスパゲッティ化すると
麺が切れて、拡張や付けたしが不可能になる
782デフォルトの名無しさん:2005/11/05(土) 17:02:14
>>781
駄目な点を踏まえて作り直すのは有りだと思うが。
時間もそれほどかからないだろうし。
783デフォルトの名無しさん:2005/11/05(土) 17:16:01
ゼロから作り直すのを繰り返すほうがいい
基本的なところをマスターするっていう程度ならな
そういう意味でゲ製作の土日スレいいぞ
784デフォルトの名無しさん:2005/11/05(土) 17:45:58
てか、最初から完璧なコードを目指すなんて無謀だろ。
何度も作ったり、作り変えたりしてれば、
自然に、わかりやすく、メンテしやすいコードがわかってくる。
785デフォルトの名無しさん:2005/11/05(土) 18:39:40
すみません。
D3DVIEWPORT9とSetViewPortで画面を4つに分割してそれぞれ個別にレンダリングするようにしたのですが、
一番最後に定義した画面以外Clearすることが出来ずに連続してメッシュを描画してしまいます。
どうしたらいいのでしょうか
786デフォルトの名無しさん:2005/11/05(土) 19:06:07
ビューポートを設定する毎にClearを呼べば良いんじゃないでございましょうかうんこ。
787デフォルトの名無しさん:2005/11/05(土) 19:32:59
やってみます。ありがとうございましたちんこ
788デフォルトの名無しさん:2005/11/05(土) 19:42:47
んもぉー
789デフォルトの名無しさん:2005/11/05(土) 23:55:55
フルカラーのイメージをフルスクリーンできれいに表示させたいのですが
どうすればいいですか?
790デフォルトの名無しさん:2005/11/06(日) 00:02:13
>>789
壁紙に設定すればいいと思うよ。
791デフォルトの名無しさん:2005/11/06(日) 03:18:20
↑ツン

↓デレ
792デフォルトの名無しさん:2005/11/06(日) 03:19:37
>>789
susie使えば?
793デフォルトの名無しさん:2005/11/06(日) 05:01:37
789です。DirectXを使って表示させたいのですが
794デフォルトの名無しさん:2005/11/06(日) 05:42:35
>>793
何をやって、どう駄目だったか書かないとなんともいえない。
最初から他力本願なら(・∀・)カエレ!!
795デフォルトの名無しさん:2005/11/06(日) 08:30:49
789です。すいませんでした。
R8G8B8のフォーマットの800*600のtgaをフルスクリーンで表示させたいです。(1ドット単位できれいに)
D3DXCreateTextureFromFileExで幅と高さにD3DX_DEFAULT_NONPOW2を引数にしてtgaを読み込んで
構造体は右のsetfvfが通るように作りました、D3DFVF_DIFFUSE | D3DFVF_TEX1 | D3DFVF_XYZRHW。
表示させてもきれいには表示されてません。読み込みで2のべき乗になってるのかと思って1024*1024に
して読み込んでテクスチャ座標であわせてもきれいには表示されませんでした。
という状況です。
796デフォルトの名無しさん:2005/11/06(日) 08:44:50
>>795
0.5ずらした?
797デフォルトの名無しさん:2005/11/06(日) 10:45:27
>きれいには表示されてません。
何でこういう表現使うかな・・・
798デフォルトの名無しさん:2005/11/06(日) 11:22:17
お察し下さい
799デフォルトの名無しさん:2005/11/06(日) 11:28:37
フィルタ関係だろうか・・・

元画像と表示した画像をうpしたら?
どう綺麗じゃないのか分かりやすいと思う。
800デフォルトの名無しさん:2005/11/06(日) 11:50:54
透過色決めてるんだろうから1024*1024のなかに800*600の絵をブチこんで(背景は透過色)
あとはスケーリングでもしたらどうだろうかな
801デフォルトの名無しさん:2005/11/06(日) 13:02:41
はじめまして。
現在ゲームプログラム初心者として、シューティングゲームに挑戦しています
今のところ自機を動かして弾を出す、といったところまでできたのですが、ここで問題が起きてしまいました。
これまではキーボードの矢印キーに応答してスムーズに動いていてくれたのですが、2〜3日前から急にカクカクするようになってしまいました。

DirectX診断ツールでは特に異常はなく、WindowsUpdateも最新になっています(D3D9.dllがデバッグ用とはでてます)
グラフィックドライバもcataryst5.7から5.10まで試したものの変化はありません
プロセス管理を眺めてみてもこれといって処理が持っていかれてるわけでもなく、原因がわからず困っています

ECOなど普通のゲームは問題なく動いているのに、自作のものとSTGアルゴリズムについてきたサンプルの動作がもたついてしまいます(以前は滑らかに動いていました)
原因がわからずほとほと困ってしまっています
なにか「○○が原因じゃないか」といったことがわからないでしょうか?

環境
XP SP2 + DirectX9.0c( OCT2005 ) + VC++.NET
802デフォルトの名無しさん:2005/11/06(日) 13:28:47
>>801
根本的にWindowsがおかしい。
または常駐アプリの何かがおかしい。
スレッドを使っていたら優先度が低く設定されている。
…などなど。
803デフォルトの名無しさん:2005/11/06(日) 13:33:14
>>801
エスパーが見つかると良いですね
804デフォルトの名無しさん:2005/11/06(日) 13:58:11
>>801
何を変更したことによってカクカクし始めたのかが分からないとなあ。
そのころに変更した処理のところをチェックしてみるしかないよ。
805デフォルトの名無しさん:2005/11/06(日) 15:14:22
一応、過去経験したものと言えば

・描画方法によるが、bmp の範囲外を表示すると極端に遅くなる
例えば 100*100 の bmp に対して、BitBlt で表示範囲を 200*200 にしたとき。
もしくは、正常に読み込めていない bmp を表示しようとしたとき。

他には
・デバッグモードにすると遅い
・jane その他複数のアプリを起動していたら遅い

とか。
806デフォルトの名無しさん:2005/11/06(日) 15:16:35
807デフォルトの名無しさん:2005/11/06(日) 15:16:37
後は、フェード処理は何も考えずにやるとものすごく時間がかかる、くらいかな
DirectX でどこまで軽減されるかは知らないけど。
808デフォルトの名無しさん:2005/11/06(日) 15:26:39
>>801
今のところWindowsに対して行った作業です
・ウィルスチェック
・回復コンソールからチェックディスク実行
・Windowsの修復(その後アップデート済)
・すっきりデフラグ
・DirectX SDKの再インストール
・Win高速化を利用して不要と思われるサービスの停止(タスクバーの調子がよくなりました^^;
・不要なスタートアップの削除

スレッドは使ってないです

>>803
そうですね

>>804
特に変更した箇所は無いんですよ
いつも通りにシャットダウンを行って、次の日に立ち上げたらこのようになってました・・・
なので、原因の特定がさっぱりできなくて、困ってここで質問させていただきました

さらに原因の特定がわからない点として、ごく稀に普通に動作する、ということがあるんです
この時は、動かないとき同様に立ち上げたにもかかわらず、カクカクすることが無かったりします
何がなんだかもう・・・・

クリーンインストールしたほうが早いような気がしてきました。。。。
809801:2005/11/06(日) 15:52:49
すみません、808は>>801ではなく>>802です
間違えてしまいすみません

>>805
描画方法はSpriteを使ってます
切り抜き作業は行っていますが、表示範囲外の指定はおこなっていないです

>>モード
コンパネのDireceXのモードはRetailにしています
>>複数のアプリ
他のアプリケーションは起動してません

>>806
つまりメモリの使い方がおかしいということでしょうか?
見直してみます

>>807
フェード処理というと、ランプを徐々に暗くしていくということでしょうか?
まだ始めたばかりなので、自機と弾と背景の処理でいっぱいいっぱいです^^;
810デフォルトの名無しさん:2005/11/06(日) 16:04:05
>>808
どうせ配列のオーバーランとか、初期化忘れだ。
811801:2005/11/06(日) 17:13:37
>>810
一応これまではエラーもカクカクもなく動いてたんですよ
ソースはいじくってないので、間違えてはいないと思うのですが。。。。
とりあえず、ネットのサンプルやDirectX本を参考に場つなぎで作ってたので、これを機にソースを整理してみます


それで、進展というか変な発見をしました
「宮里藍の成績が気になる」ということで、canopusのFEATHERというアプリケーションを立ち上げながら、実行をしたんですね
そしたらなんとそれまでのカクカクがなくなったんです
ためしにSTGアルゴリズムのサンプルも動かしてみたんですが、こちらも普通に動きました
それで、調子がいいのでテレビを見ながらの行動を止めて再実行してみたんです
すると今度は再びカクカクな表示に。

FEATHERはオーバーレイ表示するアプリケーションなので、もしかしたらとWMP10を起動
そしたらまたカクカクがなくなったんです

これはいったい。。。。。
812デフォルトの名無しさん:2005/11/06(日) 17:17:38
質問です

私はレンダリングターゲットとして使う空のテクスチャを作って、そのテクスチャ
に画像を書き込み、テクスチャとしてポリゴンに貼って利用していたのですが、
この空のテクスチャは、第六引数にD3DPOOL_DEFAULTを指定して作っているので
デバイスが消失した場合、IDirect3DDevice9::Reset メソッドを呼ぶと
この空のテクスチャが使えなくなり、描画されなくなってしまいます。
だから、このデバイスが消失しても対応できるように
引数にD3DPOOL_MANAGEDを指定した空のテクスチャ
を別につくり、これに始めに書いたテクスチャをコピーしたいと思っています。
このコピーの方法がわかりません。
良い方法は、ないでしょうか?
よろしくお願いします。
813デフォルトの名無しさん:2005/11/06(日) 17:20:46
>>801
timeGetTimeを使っているのに、timeBeginPeriodを呼んでいないんだろ。
814デフォルトの名無しさん:2005/11/06(日) 17:22:49
>>812
余計なテクスチャなど作らないで普通にロックしてmemcpyすればいいよ
815812:2005/11/06(日) 17:48:45
>>814
D3DPOOL_DEFAULTを指定の時は、ロックできないので無理だと思います。

自分はLockRect(&rect,0,0)を使って、rect.Pitchとrect.PBitsを利用して
コピーしようと思いましたが、ロックできないためこの方法は使えませんでした。
816デフォルトの名無しさん:2005/11/06(日) 18:06:21
そもそもレンダーターゲットってD3DPOOL_DEFAULT
じゃないと作れないんじゃなかったっけ。
817デフォルトの名無しさん:2005/11/06(日) 18:08:20
>>815
UpdateSurfaceかUpdateTexture
818801:2005/11/06(日) 19:39:18
デバッグ関係がおかしいのかと先走って、再び.NET関係を全部入れ替えてきました
レスが遅くなりました

>>813
ご指摘どおりtimeBeginPeriodは呼んでいませんでした
これをソースに入れたところ、前のときより滑らかになりました
前は1キャラ分飛んだりしていたので、大分よくなりました^^;
初歩的なミスですみません

しかし、やはりなぜか突っ掛かりのようなものは残ってしまってます
サンプルも同様なので、マシンに何かしら問題があるのかもしれないです
とりあえず、FEATHERと一緒に起動させておくと何とかなるので、しばらくこれでやってみます


今日は半日近くお付き合いいただき、ありがとうございました
819デフォルトの名無しさん:2005/11/06(日) 19:59:02
んもぉー
820デフォルトの名無しさん:2005/11/06(日) 20:47:34
>>818
>しかし、やはりなぜか突っ掛かりのようなものは残ってしまってます
一定間隔でOSに鞭打つスレッド作るか
または同様な処理をするDirectMusicを初期化しておけば滑らかに動くぞ
821デフォルトの名無しさん:2005/11/06(日) 21:01:16
>>818
ただ単に処理しきれてないだけじゃね?
822デフォルトの名無しさん:2005/11/06(日) 22:39:54
なんでSDKのサンプル(問題が起きていないソース)みてその通りに書かないんだろう・・・
早く死ねばいいのに・・・
823デフォルトの名無しさん:2005/11/06(日) 22:45:13
インスパイア
824デフォルトの名無しさん:2005/11/06(日) 22:48:20
全てのサンプルがあるわけでもないし
825デフォルトの名無しさん:2005/11/06(日) 23:34:38
>>824
ここで質問される内容はサンプルみればほとんどOKな内容ばっかりだろw
レアケースなんて気にする必要のあるレベルの人間じゃないじゃんw
826デフォルトの名無しさん:2005/11/07(月) 00:51:59
>812
俺も8で似たようなことやってるが、9でやるなら、
CreateOffscreenPlainSurface(D3DPOOL_SYSTEMMEM)
ロストしないバックアップ用サーフィスを作成
GetRenderTargetData
バックアップにコピー
UpdateSurface
バックアップから復帰
こんな感じか?
827801:2005/11/07(月) 01:00:33
>>820
なるほど、そういった手もあるのですね
DirectMusicに手を出し始めたら、試してみます

>>821
さすがに数枚のスプライトで処理落ちされるのは.・・・・
828デフォルトの名無しさん:2005/11/07(月) 01:07:07
カーソル表示にしてるだけで処理落ちする環境があることを忘れないでいてください
829デフォルトの名無しさん:2005/11/07(月) 11:28:43
知るかそんなもん
830デフォルトの名無しさん:2005/11/07(月) 11:49:40
ちなみにPentium3世代……
831デフォルトの名無しさん:2005/11/07(月) 12:57:57
質問です。
 Dolbyデジタル(サラウンドなども)の規格のDVD or CDを読み込んで
音の出ている場所を調べる方法はありますでしょうか?
例えば、前から音が出ているとか、後ろから出ているとか、そういう
情報をDirectSoundを用いて知ることは可能でしょうか?

 スピーカの信号をA/D変換して取得するという方法もありますが、
DirectSoundやなにかほかのDLLを用いることで調べることはできますか?

よろしくお願いします。
832デフォルトの名無しさん:2005/11/07(月) 13:10:15
トランスフォーム済み頂点の平行移動ってどうやるのでしょうか
今まで未トランスフォームを行列で移動させてきたので
いざ変換済みを作ってみると方法が全くわかりません…
833832:2005/11/07(月) 13:21:41
書き忘れました。
m_pVB->Lock();でなら出来ると思いますが
毎回ロックするのは処理が重くなるんじゃヴォケ!と
3Dの質問したときに言われたもので他の方法がわからない、というコトです
834デフォルトの名無しさん:2005/11/07(月) 13:37:43
Lockはそんなに重くないよ。
頂点バッファには、できるだけ書き込みアクセスだけで
済むように作るのが吉。

ちなみに、トランスフォーム済みの頂点を移動するのは
Lockして書き換えるのが普通。
っていうか、おまいさんはUP系のDrawPrimitiveを使った方が
何も考えなくて済む分幸せになれそうだが。
835832:2005/11/07(月) 13:50:23
ありがとうございます
これで心置きなくロックできます

>おまいさんはUP系のDrawPrimitiveを使った方が
>何も考えなくて済む分幸せになれそうだが。
確かに…必要以上に考えすぎてる感はあります…
836デフォルトの名無しさん:2005/11/07(月) 18:09:31
Direct3Dでは、2のn乗のサイズしか扱えませんが、
たとえば、640*480などの画像を扱うとき
皆さん、1024*512のサイズを用意して読み込ませて0-640,0-480の部分
を使用したりしているのですか?
それをすると、無駄な部分が出てくるのであまり好ましくは無いのですが
なにかいい方法などありませんでしょうか・・・。
ご教授願います。
837デフォルトの名無しさん:2005/11/07(月) 18:11:12
ありません。
無駄がいやなら、小さいのを複数並べろ。
838デフォルトの名無しさん:2005/11/07(月) 19:50:49
>>836
VRAM 2MB世代の人なのか?
839デフォルトの名無しさん:2005/11/07(月) 19:58:56
>>836
べつにDirect3Dには2のn乗なんて制限はないよ。
制限があるのはビデオカード側。
Direct3Dは自由なサイズでテクスチャを作成できる仕様。

使えるかはD3DPTEXTURECAPS_POW2で判定できる。
まず使えないけどな。使えるのはリファレンスラスタライザくらい。

D3DPTEXTURECAPS_NONPOW2CONDITIONALというのもある。
D3DPTEXTURECAPS_POW2がオフでも、こちらがオンなら条件付きで使える。
これは最近のビデオカードならほとんどが対応している。
840デフォルトの名無しさん:2005/11/07(月) 21:15:59
すいません、質問させて下さい

ゲームのスコアを出すために、LPD3DXFONTのDrawTextを使って
数値を表示しようとしているのですが・・・

int型→LPSTR型への変換の方法は何かないでしょうか?
841デフォルトの名無しさん:2005/11/07(月) 21:18:57
DirectXと何の関係が?
842デフォルトの名無しさん:2005/11/07(月) 21:24:27
ワロタ
843デフォルトの名無しさん:2005/11/07(月) 21:29:32
DirectXでなんとかしたいんです・・・
844デフォルトの名無しさん:2005/11/07(月) 21:32:50
>>840>>843
DirectXとはもはや何の関係もなく、ただのC++の範囲。
845デフォルトの名無しさん:2005/11/07(月) 21:32:58
シェーダー使って変換?
846デフォルトの名無しさん:2005/11/07(月) 21:36:11
そこをなんとかっ・・・!
847デフォルトの名無しさん:2005/11/07(月) 21:37:18
>836
テクスチャとして使わないなら640*480だろうが何だろうが大抵扱える。
848デフォルトの名無しさん:2005/11/07(月) 21:39:19
ではC++の方逝ってきます・・・スマソ
849デフォルトの名無しさん:2005/11/07(月) 22:15:39
sprintfとかitoaとか。
まあC++じゃないだろ、Cだな。
DirectXってそんなに何でも出来る万能ライブラリって
思われてんのかねえ?
850デフォルトの名無しさん:2005/11/07(月) 22:29:56
C++だったら、std::ostringstreamあたりかな。
851836:2005/11/07(月) 23:22:25
質問に答えてくださいました皆様、ありがとうございました。
潔く2の累乗を読み込むことにします。
852デフォルトの名無しさん:2005/11/08(火) 07:57:03
>851
2D用途なら、
適当に分割したテクスチャを合わせて一枚に見せるとか、
背景用一枚絵など、アルファも回転も使わない単なるコピーで良いのなら、
オフスクリーン サーフェイスを作ってStretchRectとかあるけどな。

まあ今どきのVRAM容量なら、ちょっとやそっと無駄にしたって問題ないだろ。
853デフォルトの名無しさん:2005/11/08(火) 14:20:27
ネットワークゲーム用にサーバ/クライアントの通信ポート指定ってできるんですかね?
854デフォルトの名無しさん:2005/11/08(火) 16:55:19
>>853
日本語ヘルプに書いてあるから嫁
855デフォルトの名無しさん:2005/11/08(火) 18:53:23
DirectSoundか何かを使用して、
リアルタイムにオーディオレベルを表示させることはできるのでしょうか?

IDirectSoundBuffer8にGetVolume()というメソッドはあるようなのですが…
856デフォルトの名無しさん:2005/11/08(火) 18:56:02
857デフォルトの名無しさん:2005/11/08(火) 21:33:34
>>840
俺も同じこと考えてたんでちょっとだけ

ltoaとかitoaとか使って変換できたはず。
それをDrawTextで表示できるよ。
そこだけはC++の範囲だからすぐ出来ると思うよ。
858812:2005/11/08(火) 22:04:27
>>817 >>826
似たような感じで、GetRenderTargetData
を使って、うまく経由してコピーすることができました。
情報を有難うございました。
859デフォルトの名無しさん:2005/11/09(水) 00:00:38
>>857
Cだヴォケ
860デフォルトの名無しさん:2005/11/10(木) 00:59:14
DirectX7の時代、ちょこちょこソフト作ってたんだけど
そのときDirectX7.0用のhelp見たいのがただで配られたきがするんだけど
どっかにないかな?

なんかdirectx7.0用msdnみたいなの
861デフォルトの名無しさん:2005/11/10(木) 01:05:02
>>860
そういう問題があるからDirectXは最新でやれって言ってるのにアホかお前。
無駄な苦労、死ぬまで続けて生きていけばいいよw
862デフォルトの名無しさん:2005/11/10(木) 01:29:16
>>861
汗臭い回答よのぉ
863名無し募集中。。。:2005/11/10(木) 01:44:44
DX9SDKの追加ヘルプの中に、789の3種類のヘルプがあったと思う
864デフォルトの名無しさん:2005/11/10(木) 01:53:32
DirectX関係だと思うんですがStream.hがないってエラーがでるんですがこれは
何を入れたら直りますか?
865デフォルトの名無しさん:2005/11/10(木) 01:56:53
>>864
Stream.h
866デフォルトの名無しさん:2005/11/10(木) 02:00:56
今ダウンロードできる日本語ヘルプの中にはDirectX7が含まれてなかった
漏れも以前ダウンロードした記憶があるんだがはてさて・・・・

Microsoft DirectX 9.0 Update (October 2004) 日本語ドキュメント
DirectX 9.0 (2002) 日本語ドキュメント
DirectX 8.0 日本語ドキュメント (C/C++ 開発者用)
867デフォルトの名無しさん:2005/11/10(木) 03:19:46
DX9SDKのExtraだな。詳しく知らんが
Summer2003になら確実に入ってる。
t-potの本でも買ったれ。
868デフォルトの名無しさん:2005/11/10(木) 07:47:10
>>864
まぢれす。
stream.hという空のファイルを作っちゃえば解決。
869デフォルトの名無しさん:2005/11/10(木) 11:59:25
C++でDirectShowを用いてカメラからのキャプチャを試みています。
キャプチャ自体は出来たのですが、キャプチャサイズを640*480にする方法が分かりません。
カメラ、キャプチャカード共に640*480に対応しているのですが、
320*240で出てきてしまいます。どうしたらいいでしょう?
870855:2005/11/10(木) 18:11:39
>>856
ありがとうございました。
教えていただいた内容、ちょっと調べてみたんですが力技ですね。
ようはバッファをロックして生データを見るってことですよねぇ。
871デフォルトの名無しさん:2005/11/11(金) 01:31:23
>>869
DirectShowと戦うスレ
ttp://pc8.2ch.net/test/read.cgi/tech/1026666092/

どんなカメラかさっぱりわからぬが、カメラのキャプチャデバイス(ソースフィルタ)で
設定できると思われる。プロパティページに項目無いの?
872デフォルトの名無しさん:2005/11/11(金) 11:55:33
すいません、DirectXシェーダプログラミングという本を買ったのですが、
構文エラー : 識別子 'LPDIRECTXFILEDATA'
と出てしまい、コンパイルが通りません。

コンパイラは、VIsualStudio.net2003で、DirectX・SDKのバージョンはAugust2005です。
他のDirectXプログラムはコンパイル通っています。
よろしければ解決法を教えてください。
873デフォルトの名無しさん:2005/11/11(金) 12:34:17
まずはC言語から学(中略)かったかボケ。
874デフォルトの名無しさん:2005/11/11(金) 12:37:42
>>872
なんかのファイルにLPDIRECTXFILEDATAってのが宣言されてんだろ。
dxsdkの入ってるフォルダの\includeの中からその宣言が含まれてるファイルを探して#includeしてみ。
目で追うのは大変だろうから、explorerの検索機能を使うとか。

ヘルプにどれをインクルードすればよいか書いてあるかもしれんが…
875デフォルトの名無しさん:2005/11/11(金) 17:53:44
>>872
シェーダの前に、まずはC言語からやり直せ。
とりあえずその本は俺がもらっといてやる。
876デフォルトの名無しさん:2005/11/12(土) 01:12:58
>>872
俺もその本で同じエラーでたけど
付属のDirectXSDKにしたらコンパイル通るようになった。
最新SDKだと DirectX AppWizard も無くなってるしCDのを入れたほうがいいよ。
877872:2005/11/12(土) 04:08:40
>>873
は(中略)い。
>>874
そうです、それでエラー出ました。
ありがとうございます。

>>875
3800円で譲る

>>876
サンクス
878デフォルトの名無しさん:2005/11/12(土) 04:36:11
あれ?いつの間にかDX9 SDK がXP用になってる。
879デフォルトの名無しさん:2005/11/12(土) 04:39:33
2004年12月号を最後にXP専用となりました
880デフォルトの名無しさん:2005/11/12(土) 12:36:41
ちなみに次の次にリリースされるSDKはXPでも動かないよ
VC++.NET2005も見捨てられる
881デフォルトの名無しさん:2005/11/12(土) 13:10:21
開発環境から囲い込んでく気か、MS。
つか、SDKのFAQに書いてあるXPのメリットほとんどNeeeeee
882デフォルトの名無しさん:2005/11/12(土) 13:26:15
ファイルの展開だけして.libと.hさえ使えるようにすれば、OSの制約など関係ない。
その程度のことでいちいち騒ぐな。
883デフォルトの名無しさん:2005/11/12(土) 15:07:27
>>882
天才あらわる
884デフォルトの名無しさん:2005/11/12(土) 15:08:33
>>883
バカあらわる
885デフォルトの名無しさん:2005/11/12(土) 15:19:42
>>884
バカっていったほうがバカなんだぞバーカバーカ
886デフォルトの名無しさん:2005/11/12(土) 15:22:49
デバッグ版DLLなんて別にコピーしなくていいわよね。
887デフォルトの名無しさん:2005/11/12(土) 15:31:27
>>885
それじゃあ天才って言った奴も天才なんじゃね?
888883=天才=ムケチン:2005/11/12(土) 15:41:39
呼んだ?
889デフォルトの名無しさん:2005/11/12(土) 16:18:50
>>887
天才
>>882
どうせインストーラではじいてるだけだろうけど
対応してないってものを入れるのは、なんかヤダ。
本当に動かなかったらヤダし。
890デフォルトの名無しさん:2005/11/12(土) 16:57:33
DirectXいい加減9から10にいかんのかね。
891デフォルトの名無しさん:2005/11/12(土) 19:58:42
DirectXXになるんすかね
892デフォルトの名無しさん:2005/11/12(土) 20:17:19
DirectD(ouble)Xになります
893デフォルトの名無しさん:2005/11/13(日) 09:45:05
次期OSからWGF(WindowsGraphicsFoundation)という名称になる予定だったけど
やっぱり止めてDirectXまま残るそうだな
894デフォルトの名無しさん:2005/11/13(日) 11:09:12
ダッセーナマエ
センスを感じられん
895デフォルトの名無しさん:2005/11/13(日) 11:29:09
ちなみにDirectSEXは洋物のエロビデオですでに名前使ってるし
DirectXXXに関しては登録商標までとってある
896デフォルトの名無しさん:2005/11/13(日) 11:38:15
WindowsAPIってDevとかSMとかsEXとかなんでそんな関数名ばかりなんだ
897デフォルトの名無しさん:2005/11/13(日) 14:37:07
もうDirectSEXでいいよ。

ところでCgって使ったこと無いんだけど、どんな感じなんですかね。
今までHLSLでしかシェーダ書いたことないんで感想ききたいっす。
898デフォルトの名無しさん:2005/11/13(日) 15:41:20
FPS上がらない
899デフォルトの名無しさん:2005/11/13(日) 16:40:04
>>898
nVidiaのプロファイラ使って原因突き止めろ
グラボがnVidiaじゃないなら買い換えろ
ATiのほうがコストパフォーマンスがいいが
開発者にやさしいのはnVidia
900デフォルトの名無しさん:2005/11/13(日) 20:38:22
>>899
nVidiaってFloatingPointBufferってサポートできてるの?
901デフォルトの名無しさん:2005/11/14(月) 23:41:08
>VC++.NET2005も見捨てられる
マジで?じゃあMSは何でゲーム開発しろって言ってんの?
まさかXNAとか言い出すんじゃないだろうな。
902デフォルトの名無しさん:2005/11/14(月) 23:49:47
XNA Studioは画像、動画、音、音楽などとの依存関係を見てくれるだけで
ただのVSですよ
903デフォルトの名無しさん:2005/11/15(火) 05:28:17
XNA Studio for PS3 とかでたら笑える
904デフォルトの名無しさん:2005/11/15(火) 07:46:12
>>901
どうせ 2006じゃなきゃ駄目 とか言い出すんでしょ
905デフォルトの名無しさん:2005/11/15(火) 07:50:31
次の次って2006年2月だろ?まだVistaは出てない
しかも国内じゃやっとVS2005がでたばかり

そんなことよりDirectX10はネイティブじゃなさそうだぞ
DirectX9Exのネイティブと住み分けだ
906デフォルトの名無しさん:2005/11/15(火) 16:40:10
d3dx9_27.dllが見つからないとか言われたんだけどどこにあるんだ。
907デフォルトの名無しさん:2005/11/15(火) 17:12:11
>>906
エクスプローラの検索で探して見つからなければダウンロード汁。
908デフォルトの名無しさん:2005/11/15(火) 17:38:17
ぐぐれば出てくるからそこからダウンロード汁
909デフォルトの名無しさん:2005/11/15(火) 20:14:39
君の心の中にあるよ
910デフォルトの名無しさん:2005/11/15(火) 22:24:13
DirectXの勉強してるんですが、
BeginSceneとEndSceneの間に書いた、ポリゴン描画がうまくいきません。
Beginの前でClearをしてるんですが、フレーム毎に背景色を変えるとそれはちゃんと反映されます。
なんでここまでできててポリゴン描画ができないのかもうわけがわかりません…。

流れとしては、
Clear→BeginScene→各種描画処理→EndScene→Present
だと解釈してるんですが。
ポリゴンが表示できない理由は初期化段階で何かミスがあるとかでしょうか?


環境はVC6++、SDKはsummer2003です。
911910:2005/11/15(火) 22:25:02
自己解決しました
912デフォルトの名無しさん:2005/11/15(火) 22:37:13
すいません。
DXSDKのチュートリアルの虎公を
表示させるプログラムがあるではないですか。
ビルドには成功するのですが、
実行時に
d3dx9d.dll
がありませんと成ります。
ちなみにXPSP1で
MINGW系のものを使ってます。
お願いします。
913デフォルトの名無しさん:2005/11/15(火) 22:41:50
文字通りです
ありがとうございました
914912:2005/11/15(火) 22:44:00
再インストールしたr直りました
ご迷惑おかけしました
915デフォルトの名無しさん:2005/11/15(火) 22:56:18
>>914
再インストールしても直りませんがどうしたら良いのですか?
916デフォルトの名無しさん:2005/11/15(火) 23:01:21
あげ
917デフォルトの名無しさん:2005/11/15(火) 23:17:05
ちなみに>>914は偽です。
918デフォルトの名無しさん:2005/11/15(火) 23:18:33
919デフォルトの名無しさん:2005/11/15(火) 23:22:58
>>918
すみません。
ちなみにDX9.0Cエンドユーザー向け+DX9SDK2005FEBです。
920デフォルトの名無しさん:2005/11/15(火) 23:28:12
誰かー!
921デフォルトの名無しさん:2005/11/15(火) 23:30:38
       ,-┐
 ,ィ─、ri´^-─- 、 .┌f^f^f^f^f^f^f^f^f^┐
く  / , ,'   ヽ ヽ| ~ ~ ~ ~ ~ ~ ~ ~ ~│
 `<' / ,'レイ+tVvヽ!ヽト 知ってるが  │
  !/ ,' i |' {] , [}|ヽリ  お前の態度が |
  `!_{ iハト、__iフ,ノリ,n   気に入らない |
   // (^~ ̄ ̄∃_ア____n_____|
 _r''‐〈  `´ア/トr──!,.--'
922デフォルトの名無しさん:2005/11/15(火) 23:35:55
>>921
お願いします。
d3dx9d.dllが入っているパッケージなどありましたら
なにとぞ!よろしくお願いします。まじで
923デフォルトの名無しさん:2005/11/15(火) 23:42:38
まじで
924デフォルトの名無しさん:2005/11/15(火) 23:44:43
>>923
yes!!!
まじで!
925デフォルトの名無しさん:2005/11/15(火) 23:46:25
>>921
虎大明神様
お願いします!
926デフォルトの名無しさん:2005/11/15(火) 23:50:29
>>922
DirectX SDK
927910:2005/11/15(火) 23:53:20
>>911
誰ですか?
まだ解決してません。
928デフォルトの名無しさん:2005/11/15(火) 23:53:24
お願いするときに倒置法使う人はじめて見た。
>>お願いします。まじで
929デフォルトの名無しさん:2005/11/15(火) 23:53:59
>>926
他のバージョンも試せということですね。
やってみます。
930デフォルトの名無しさん:2005/11/15(火) 23:55:59
>>912
d3dx9d.dllが見つからないってこと?
931デフォルトの名無しさん:2005/11/15(火) 23:57:03
>>930
そうです。実行時に見つかりませんというダイアログが出ました。
ちなみに今再インストールしています。
932デフォルトの名無しさん:2005/11/15(火) 23:59:46
デバッグでビルドしなければいいのに
933デフォルトの名無しさん:2005/11/16(水) 00:00:30
>>921
しらねえんだろ?
w
934デフォルトの名無しさん:2005/11/16(水) 00:01:54
2005Feb の d3dx9d.lib をリンクした場合、参照されるのは
d3dx9d.dll じゃなくて、d3dx9d_24.dll のはずね。
ライブラリファイルの指定が間違ってるんじゃないかしら。
935デフォルトの名無しさん:2005/11/16(水) 00:05:48
>>934
libd3dx9d_24.aが無いのです。
936デフォルトの名無しさん:2005/11/16(水) 00:18:00
とりあえず、代わりに libd3dx9.a にすれば
DLLの問題はなくなるんじゃないかしら。
937デフォルトの名無しさん:2005/11/16(水) 00:23:17
libd3dx9.aもありませんでした。
MINGW系と言いましたが、詳しくはDEV−CPPです。
938デフォルトの名無しさん:2005/11/16(水) 00:25:40
ちなみにd3dx9d_24.dllでインポートライブラリ生成して〜
とやればできる物ですか?
といいつつやり方がいまいち分らないのですが…。
939デフォルトの名無しさん:2005/11/16(水) 00:27:41
とりあえず就寝します。
940デフォルトの名無しさん:2005/11/16(水) 01:00:57
どうせなら永遠に冬眠してくれ。
941デフォルトの名無しさん:2005/11/16(水) 01:01:54
永遠なら永眠だろ
942デフォルトの名無しさん:2005/11/16(水) 01:05:32
1) reimp(MinGW Utilities)で d3dx9.lib から libd3dx9_?.a を生成する
2) 2004Dec 以前の SDKから d3dx9d.dll をゲッツ。
3) Visual C++ 2005 Express に乗り換える
好きなの選んで永眠するといいわ。
943デフォルトの名無しさん:2005/11/16(水) 01:11:43
>>910
3頂点の描画順序がカリングされる順序になっているとか。
944デフォルトの名無しさん:2005/11/16(水) 13:56:27
sage
945デフォルトの名無しさん:2005/11/16(水) 14:00:50
sage
946デフォルトの名無しさん:2005/11/16(水) 14:42:46
>>942
どこかのサイトにreimpではD3DX系のあれはできなかったとか書いてありました。
2004OCTをみてみたのですが、d3dx9_27が入ってたけどd3dx9d.dllがありませんでした。
VC++2005EXPRESSはSP2でないと入ってくれないようです。

現在pexportsで吐いた.defをもとにlib〜.aを生成し、パラメータに設定したところ
リンカエラーが起こります。
MINGW系でDIRECTX成功したって人がいらっしゃれば非常に有難いです。
947デフォルトの名無しさん:2005/11/16(水) 15:25:33
>>946 なんか恣意的なものを感じるけど、自分の蒔いた種かしら。

>どこかのサイトにreimpではD3DX系のあれはできなかったとか書いてありました。
試した?私の環境ではうまくいったわ。(Cygwin環境だけど)
>2004OCTをみてみたのですが、d3dx9_27が入ってたけどd3dx9d.dllがありませんでした。
それは2005Oct。デバッグDLLがあるフォルダは /Developer Runtime
>VC++2005EXPRESSはSP2でないと入ってくれないようです。
(WindowsXP)SP2を入れる。というか 3)が一番おすすめ。
>現在pexportsで吐いた.defをもとにlib〜.aを生成し、パラメータに設定したところ
>リンカエラーが起こります。
私の環境ではpexports自体でエラーが出るんだけど、どういうことかしら。
948デフォルトの名無しさん:2005/11/16(水) 15:43:03
>>947
pexportsでの.defの中身は関数名AまたはWまでのみで
@12などがありませんでした。
俺が馬鹿でした。または馬鹿な俺でした。
reimpを試してみました。あと1歩です。
実行時に
D3DXCreateTextureFromFileA@12がダイナミックリンクライブラリd3dx9_24.dllから見つかりませんでした。
となりました。
あと、他のも試したいのですが、9時頃まで出かける予定があります。
949デフォルトの名無しさん:2005/11/16(水) 17:03:38
>>947
ネカマキモイ
950デフォルトの名無しさん:2005/11/16(水) 18:12:04
3dが使えるライブラリと
お勉強サイトおしえてくれ
951デフォルトの名無しさん:2005/11/16(水) 18:18:30
952デフォルトの名無しさん:2005/11/16(水) 19:06:11
世の中にはおもそろそうなのがいっぱい転がってますね
953デフォルトの名無しさん:2005/11/16(水) 21:05:38
>950
thx
954デフォルトの名無しさん:2005/11/16(水) 22:29:52
>>951
2004年度の天才プログラマーと称えられていたようですな。
955デフォルトの名無しさん:2005/11/16(水) 22:30:47
中身ぺろっと見ただけだが、こいつぁ、お勉強になりそうな気配がするね。
日本語コメントでソース公開してるとこって、なかなか無いべ。
956デフォルトの名無しさん:2005/11/16(水) 22:51:42
>>951
>しかし、キャラクタアニメーションなどの高度な3Dデータは現在Mayaプラグインからしか出力できません
orz
957デフォルトの名無しさん:2005/11/16(水) 22:55:40
>>956
ワラタw
世の中ほとんどのライブラリが抱える致命的な部分は変わらないのナw
コミケに向けてゲーム作ろうとする奴も、普段会社でゲーム作っててフリーでゲーム作ってみようとしてる人も、
ここが作ってあるライブラリなら手放しでよろこべるのになw
958デフォルトの名無しさん:2005/11/16(水) 23:01:46
Lampビルドおわんねー
959デフォルトの名無しさん:2005/11/16(水) 23:11:36
むしろおまいらがMaya以外になに使ってるか気になるぞ
960デフォルトの名無しさん:2005/11/16(水) 23:20:05
メタセコ
961デフォルトの名無しさん:2005/11/16(水) 23:22:41
>>959
メタセコ+六角大王
当然だろ・・・つーか、これ以外でスキンメッシュアニメーションつかねーだろ。
つーか、会社にいるときみたいに高額ツール買い放題できるわけじゃねーんだから。
962デフォルトの名無しさん:2005/11/16(水) 23:26:54
最後はXファイルで出力ねw
963デフォルトの名無しさん:2005/11/16(水) 23:27:35
俺です!!!
wx-dev-cppにしたら(フォームエディタつきのナウいやつ)
libd3dx9.aがありました!!!
さらにDXSDK2004OCTだと思ってたのがじつは
再配布なんたらかんたらバージョンでした。
真の2004OCTにはd3dx9d.dllが入ってました!!!
ありがとうございます!!!まじで。
おかげさまで虎・公爵閣下略して虎公を再生することができました。
みなさんのおかげです!!!
愛しています。
964デフォルトの名無しさん:2005/11/17(木) 00:11:51
MAYA”5.0”限定なのか
965デフォルトの名無しさん:2005/11/17(木) 00:20:10
てゆうか、mayaっていまいくらだよ・・・
どうせ高いだろうから調べる気にもならないけど・・・
966デフォルトの名無しさん:2005/11/17(木) 00:41:18
MAYAは学割で103,950円
ちなみにXSIはキャンペーン(誰でも変える)で50,000円
967デフォルトの名無しさん:2005/11/17(木) 00:46:07
>>966
んで、六角大王1万円だからな。
やっぱり六角大王っきゃねーだろ。
XSIなんてわけわからんフォーマット出されても困るしな。
会社で使ってるのはmayaだしね。

つか、学割で10万って意味ワカンネw
どっちみち金出すの親だろwその値段じゃw
968デフォルトの名無しさん:2005/11/17(木) 01:03:24
バイトに決まってんだろ甘ったれるな
969デフォルトの名無しさん:2005/11/17(木) 01:06:06
>>968
ソンナ時間勉強に当てろといいたい。
外食産業なんかで働いた経験があるってだけでもう負け組確定。
970デフォルトの名無しさん:2005/11/17(木) 01:06:15
そんな気合の入った学生今時居ないだろ
971デフォルトの名無しさん:2005/11/17(木) 01:07:00
>>968
おめーはスーパーでメンチでも売ってろw
972デフォルトの名無しさん:2005/11/17(木) 01:07:30
言われてみれば3DCGソフトの層が薄いね
gameSpaceのような値段と機能のバランスが取れたソフトがない
フリーは皆無だしこれじゃ野良3Dプログラマーが育たないわけだ
973デフォルトの名無しさん:2005/11/17(木) 01:08:40
そこで専門学校ですよ
大学じゃ高額な3DCGソフトなんて無いだろ?
無駄に原子炉やスーパーコンピュータはあるのにな
974デフォルトの名無しさん:2005/11/17(木) 01:11:26
なぜかあるよ、パッケージは無いけどソフトだけある
975デフォルトの名無しさん:2005/11/17(木) 01:15:10
おぼっちゃまが多いんだな
バイトしまくってPhotoshop買ったのが懐かしい
976デフォルトの名無しさん:2005/11/17(木) 01:38:44
メタセコ使ってる人ってボーン入れるとき何つかっとる?
977デフォルトの名無しさん:2005/11/17(木) 01:39:11
fragmotion
978デフォルトの名無しさん:2005/11/17(木) 06:26:50
>>976
六角大王だっていってんだろ!
979デフォルトの名無しさん:2005/11/17(木) 06:27:26
>>975
フォトショなんて2万の奴で十分だw
980デフォルトの名無しさん:2005/11/17(木) 06:29:56
金が無いなら、Photoshop買わなくてもGIMPとか使えばいい。
お世辞にも使い勝手は良いとは言えないが、用は足りる。
981デフォルトの名無しさん:2005/11/17(木) 06:45:13
>>980
やだよ。
だって、入門書とか対応してないじゃん。
綺麗なテクスチャの上手い作り方とかはじめはマニュアルどおりに作りたいじゃん。
2万出せば足りるんだからだせばいいじゃん。
982デフォルトの名無しさん:2005/11/17(木) 07:28:26
(´・ω・`)しらんがな
983デフォルトの名無しさん:2005/11/17(木) 07:30:46
ElementsとCSでもかなり操作方法が違うから
本の通りやりたいなら高いほうを買うことになる
984デフォルトの名無しさん:2005/11/17(木) 07:53:49
おまいら親にお金出してもらわないと何にもできないんだな
985デフォルトの名無しさん:2005/11/17(木) 07:58:31
そこでNYですよ
986デフォルトの名無しさん:2005/11/17(木) 13:50:14
当方C++6.0を使っています。
この場合、DirectX 9.0 SDKを使うには
@DirectX 9.0 SDK とは別に”Extras”というファイルを入手する。
Aその中に含まれている d3dx9.libを、
SDKをインストールしたディレクトリの同名のファイルに貼り付ける。

という作業が必要だそうなのですが、
”Extras”というファイルはどこにあるのですか?
MicrosoftのWebページのSDK関連のページを
適当に回ってみましたが見つかりませんでした。

987デフォルトの名無しさん:2005/11/17(木) 14:40:48
>>986

http://www.microsoft.com/downloads/details.aspx?FamilyID=d6f237de-a6ee-4ded-8bb6-139536162eb8&DisplayLang=en

他のバージョンもちゃんとあるから自分で検索かけたんさい。
988デフォルトの名無しさん:2005/11/17(木) 14:46:25
ExtraがあるのはSummerだかOctorberまでだから、その辺にあるんでない
989988:2005/11/17(木) 14:47:14
6分も遅かった orz
990トイレ:2005/11/17(木) 14:59:49
初めて書きこんでみましたこのスレにきょうみがあったのでかきこみます僕はハッキリ言って
オタなのだだだだだだだだれか助けてトイレにはまったみたい紙もないよ^、^
  
991トイレ:2005/11/17(木) 15:00:40
何が
992トイレ:2005/11/17(木) 15:01:56
だれか答えいぇ^:^
993トイレ:2005/11/17(木) 15:04:18
えDFRTGYGひゅじこおおおおおPっJっHGだれかーーーーーーーーーーーーーー^。。^
994デフォルトの名無しさん:2005/11/17(木) 15:16:29
めるぽ
995986:2005/11/17(木) 16:45:49
>>987 >>988 さんくす。
>>994 ガッ?
996デフォルトの名無しさん:2005/11/17(木) 17:01:35
997デフォルトの名無しさん:2005/11/17(木) 17:03:18
998デフォルトの名無しさん:2005/11/17(木) 17:05:01
999デフォルトの名無しさん:2005/11/17(木) 17:05:52
1000デフォルトの名無しさん:2005/11/17(木) 17:37:40
次スレ
【C++】 DirectX初心者質問スレ Part7 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1132216611/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。