【C++】 DirectX初心者質問スレ Part6 【C++】
1 :
デフォルトの名無しさん :
2005/09/20(火) 15:46:48 ※回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
前スレ
【C++】 DirectX初心者質問スレ Part5 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1122031254/
はい、どうぞ
1乙。 しかしこのスレってテンプレが少ないなぁ
とっくに既出だろうし、スレの趣旨に反しちゃうかもしれないけど、
単にゲーム作りたいからって言うんなら、DXライブラリ使わして
もらった方が良いよ。唯一の欠点は普通にゲーム作るくらいなら
簡単すぎるくらいに出来ちゃうんで、DirectXの勉強がおろそかに
なること・・・Cは結局みんなライブラリなんだよと自分に言い訳
すればこれもオッケってことで・・・
http://homepage2.nifty.com/natupaji/DxLib/
>>4 > 3Dグラフィック機能
> なし(ただし2D描画に3Dグラフィック機能使用)
。
DirectXってなに?
動画のコーデック
3D使える国産ライブラリって無いね
>>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なんですけど 意図的にデバイスをロストさせるって出来ますか?
>>10 Sendのヘルプ読め。重要なのはこのあたり。
DPNSEND_GUARANTEED
DPNSEND_NONSEQUENCIAL
DirectPlayの特徴なのだが、たとえマルチスレッドであろうと、
一人のプレイヤーに関するメッセージが並列実行されることがないようにスケジューリングされている。
DPNSEND_NONSEQUENCIALを指定した場合は、届いた順に処理されるが、
それでも同時に処理されることはない。
それとDirectPlayはマルチスレッドで頭使わなきゃならんのだけど、
DirectPlay8ThreadPoolを使えばマルチスレッドで処理する必要がなくなり、
CRITICAL_SECTIONとかも使わなくて済むようになるよ。すご〜く楽。
DirectPlayで簡単なプログラム作るならマジお勧め。
>>11 意図的にって、例えばフルスクリーン状態でALT+TABで画面切り替えとか、そんな話?
device=NULL
14 :
10 :2005/09/20(火) 21:32:12
>>12 詳しい説明ありがとうございます!
知らないキーワードが多いので、順に調べて見ます。
>>12 そうです。
ALT+TABでロストするんですか。
ちょっと試してみます。
lost doutei
>>17 static const bool doutei = true;
static const ワロス
1127198808.dat:19: `ワロス' undeclared (first use in this thread)
assert(doutei);
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 が未解決です。
× myself->InsertTo(kanojo); ○ myself.InsertTo(kanojo);
>>22 myselfはMANを更に継承してprivateメンバにconst bool doutei = true;を持ったクラスにした方がよさげ
こうか。 class MAN : public HUMAN { private: bool doutei; public: HRESULT InsertTo(HUMAN); }; class MOOTOKO : public MAN { private: const bool doutei = true; };
26 :
24 :2005/09/21(水) 23:36:22
27 :
24 :2005/09/22(木) 00:32:34
28 :
24 :2005/09/22(木) 03:25:30
29 :
24 :2005/09/22(木) 07:08:47
今までID3DXSprite::Drawを使って 回転&拡大の2D処理してたんだけど、 この前SDKをOct,2005にバージョンアップしたんです。 そしたら、Drawメソッドの仕様が変わってて 回転角とスケーリングが消えてたんですが もうSpriteでこれらの処理をするのは不可能なんでしょうか?
というかD3DXSpriteの仕様変更に悩まされるなんて 何年前から同じことやってんだ。DirectX8のときからずっとじゃん。 いい加減あきらめて自前で車輪発明しろよ
ID3DXSprite::SetTransform あたりじゃねーの
回答ありがとうございました。 要するに自前で行列計算をしないといけないってことですね。 調べてやってみたいと思います。
行列は自分で計算しなくてもCPUがやってくれるだろ?
>>34 そうみたいですね。SetTransformを勘違いしていたみたいです。
表示位置や座標系の違いのせいか、位置の調整などはうまくいってませんが
なんとか画像の表示まではできました。ありがとうございました。
256色全画面にするにはどうすればいいでしょうか? BackBufferFormatにD3DFMT_P8を設定するだけだと思っていたら うまくいかなくて悩んでいます D3DFMT_UNKNOWNにすれば全画面にはなりました
16bit なり 32bit でデバイス作って、 16bit なり 32bit のテクスチャだけど、256色しか使ってない って方法ぐらいしか残ってない気がするけど。 もしくは DirectDraw 使うか。
どうやらDirect3D9のサポートするバックバッファフォーマットは A2R10G10B10 A8R8G8B8 X8R8G8B8 A1R5G5B5 X1R5G5B5 R5G6B5 のみのようだ。 つうかアダプタがサポートするフォーマットを列挙して判断しろ。
いまどき256色モードなんて超ありえない。何その中途半端な数字。
そもそも9でなくても、Direct3Dでは256色モード使えないし。 (昔あったRampドライバだけは例外だが)
DirectPlayのP2Pでホストに最初に送られるDPN_MSGID_CREATE_PLAYERメッセージは ホスト自身が発したもので間違いないですか?
DirectInputでPS2コントローラの振動をやろうと思ったのですが、うまく振動してくれません。 どうもIDirectInputEffect::Startが失敗しているようなのですが、エラー値が DIERR_NOTEXCLUSIVEACQUIREDを返しています。 しかし、IDirectInputDevice8::SetCooperativeLevelでDISCL_EXCLUSIVEは設定しています。 DirectXのサンプルでは振動するのを確認しましたが、私にはサンプルソースと比べておかしい所の見当がつきませんでした。 どなたかご教授お願い致します。
Acquire()が抜けてるとかだったりして。
45 :
43 :2005/09/23(金) 23:26:05
ささいなミスかもしれんしなあ、該当部分のソースうpってくれんと分からんかも
質問です。
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なんですか?
チーターがそういう扱い受けるっていうことは プロプライエタリな奴が多いの?
オープンソースは、プログラマーの権利を放棄させるために扇動されているものです。 フリーソフトは、アホのプログラマーがダンピングした物です。
プロプライエタリが何かわからない俺がきました
>>47 なんでDirectDrawオブジェクトを何個も作ってはいけないと思うのかね?
ヘルプにはそんなことどこにも書いてないと思うが。
複数を併用するとパフォーマンスが落ちるという話はあったと思うが。
あと、そのソースは見てないが、デバイスを取得しているのは
VTBLを書き換えるためじゃないの?
VTBLを書き換えたら用無しだから解放しちゃっていいかと。
55 :
47 :2005/09/24(土) 19:29:41
>>48 やっぱそうなんですかね…ぶっ壊れてもいいやーくらいのノリなのかな。
もうちょっとDirectXの資料覗いてみます。
>>49 残念ながら作者さんの更新は1年前に止まってるみたいです。
あと私はこのゲームに触った事もありませんし興味もありません。
56 :
43 :2005/09/24(土) 21:38:44
繋がらない
59 :
43 :2005/09/24(土) 22:35:59
ジョイスティックがないから試せないな。 ビルドすると562行で演算子の優先順位を明確にしろとかWarningが出るけどこれは関係ないんだよな?
BlueInput.cppの562行な
62 :
43 :2005/09/24(土) 23:03:29
>>60 此方でそのWarningは確認できませんでしたが、()で優先順位を明確にしても
やはり振動しませんでした。
(iを1と書き間違えていたのは秘密です)
BluInput.cppの253行のEnumDevicesのdwFlagを DIEDFL_FORCEFEEDBACK | DIEDFL_ATTACHEDONLY にしても駄目かなぁ? 自分で試せないと問題点探すの面倒くさいなw
OnInitDialogの時点ではWindowは表示されてないから、 振動を開始させようと思ってもできないんだよ。
65 :
43 :2005/09/24(土) 23:26:44
>>63 それは以前にも試したことがあったのですが、駄目でした。
66 :
43 :2005/09/24(土) 23:34:38
>>64 ありがとうございます。
コントローラのデータ取得時にIDirectInputEffect::Startを実行したら振動してくれました。
なるほど、Windowが表示されてからでないと駄目だったんですね。
ご協力下さった皆様、ありがとうございました。
MFC触ったことないからわけわかめorz
68 :
47 :2005/09/25(日) 00:18:59
>>54 遅レスですがヘルプにも確かにそういった記述はありませんでしたね。
ありがとうございました。
すいません、あるゲームをやろうとした所 GetDeviceCaps D3DADAPTER_DEFAULT D3DDEVTYPE_HAL というメッセージが発生するのですが、これはdirectxと何か関係が あるんですかね?
あなたオナニーのしすぎです 地獄行く という天からのメッセージです
今更DirectDrawの質問です。 ウィンドウモードでバックバッファを作成してフリップでどうこう ダブルバッファリングさせたいのですが、 dwFlagsにDDSD_BACKBUFFERCOUNTを、または dwCapsにDDSCAPS_FLIPを指定するとCreateSurfaceでエラーが発生します。 なぜか分かりません。ウィンドウモードでバッファを複数もつことはできないのでしょうか? 誰か奇跡的に知っている方がいらっしゃれば教えてください。
ウィンドウモードでFlipは使えない。
奇跡も何も
>>72 の通り。ウィンドウモードはBltのみ
D3D だと FLIP って指定できなかったっけ? 内部的には blt だろうけど
75 :
71 :2005/09/25(日) 19:30:30
自分で用意すればいいだけじゃねーの。
78 :
71 :2005/09/25(日) 19:52:40
>>77 いや、ちょっと違う気がするんですが
メモリデバイスコンテキストを複数用意して切り替えるのと
DirectDrawでいうバックバッファを用意して切り替えるは
同じなんでしょうか?
だとしたらWinAPIだけでアクションゲームくらい
作れる希ガス。どうなんでしょう?
VRAMを使うかどうかの違いじゃね。
>>71 バックバッファってのは概念であって、
DirectXの特定機能を指しているのではない。
ウィンドウモードの場合はフリップ可能フラグは立てないで
普通のサーフェスとしてバックバッファを作る。
でもってプライマリにBltで転送する。
プライマリサーフェス作っちゃうと部分的に他のウィンドウに
隠れているときにウィンドウ掴むと綺麗にならないので
自分はデバイスコンテキスト経由で普通に Window 更新してる。
81 :
71 :2005/09/25(日) 20:08:55
>>79-80 ありがd。とても参考になりますた。
いっぺんAPIだけでゲーム作ってみます。
82 :
77 :2005/09/25(日) 20:17:35
レス内容どころかスレタイもろくに読まないでレスして WindowモードでのDirectDrawの使い方を調べてたなんて今更とても言えない。 結局良くわからなかったけど何か解決してるようなので良かった。
83 :
71 :2005/09/25(日) 20:23:19
ウインドウモードでちらつきを抑えるのに、 画面の更新を実リフレッシュレートにそろえようとして 余計にちらついているのを見かけるけど、 たとえば60Hzの垂直同期だったら、50FPS程度にわざと落とした方が、 走査線に引っかかりにくくなりちらつきにくくなる。
>>71 SDKのサンプルやドキュメントくらい見ろよ。
DirectDrawのウィンドウモードはフルスクリーンとは組み方が違う。
バックバッファはプライマリサーフェスとは別のサーフェスとして作る。
画面の更新はプライマリサーフェスの適切な位置にBltで行う。
(画面全体がプライマリサーフェスなので、ちゃんとウィンドウの位置を
狙ってBltする必要あり)
また、ウィンドウモードではClipperの使用が必須。
>シューティングゲーム製作での、弾丸の連続発射アルゴリズム C言語からやり直せ。
あれは即座にフラッシュされない頂点バッファを使い回しているせいだと思うが。
いや、どう見てもC言語レベルのミスだが。 DirectXには全く関係ない。
DirectXでjpegファイルを読み込む方法を教えてください。
>>89 なんかすごい頓珍漢な回答が一件付いてるけど…。
>>91 彼は気にしなくていいと思う。
妖精か何かじゃないのかな。
BBX別館になってるわねw 向こうのS/N比を下げないためにこっちでヲチするのはあり…かしらね。
GPUでjpegのデコードを行うことは出来ますか?
君が祈ればきっとできるさっ!
なんか、初心者のスレと言うより、自分の脳味噌を使ったり、自分で調べるのが面倒な人のスレだな。
童貞捨てるのが面倒くさいです。 誰か変わりに捨ててくれませんか。
DirectXがインストールされている場所はどうやって調べるんですか? DirectX診断ツールを見てもわかりませんでした DirectX診断ツールのDirectXファイルタブにあるファイル名で コンピュータ内を検索しても見つかりませんでした
擦れ違いです
101 :
デフォルトの名無しさん :2005/09/26(月) 16:54:12
何のことか、さっぱりだーよ・・
102 :
デフォルトの名無しさん :2005/09/26(月) 19:27:43
駄目だ、どうしても分かりませぬ 情報が無さ過ぎて泣きそう VisualStudio.NETを持ってるのですが、DirectX9 SDKをインストールしても、 プロジェクトの新規作成でDirectXのサンプルが作れません・・・ つまり「テンプレート」欄に、×マークのアイコンが出てこないのですが、 VS.NETとDirectXの関連付け?をどうやるのかさっぱりです。 どうか教えてください。もう何日こんなしょっぱなでさまよっているんだろう。。。
それってDirectX9 2004Summerまでの機能じゃなかったっけ
DX SDKのインストールフォルダは、環境変数の DXSDK_DIR に設定されているはずだよ。
>>102 Wizardのことを言っているのなら、それは無くなった。
サンプルブラウザから適当なサンプルをインストールして、
それを土台にすれば良い。
これからDirectXSDKの導入を行おうとしている物ですが、 以下について質問させてください。 1.DirectXSDKのインストールに伴い、システムDLL等の上書きが発生するか? 開発専用マシンの用意が出来ない為、 日常利用している環境をできれば壊したくないと思っています。 2.複数のバージョンのDirectXSDKを導入することは可能か? 1.が発生しなければ、ビルド時の参照先ライブラリを変える事で、 可能かと思っています。 DirectX開発専用のマシンの構築が出来ない為、上記が気になっています。 サーチした限りでは、このような環境で開発しているような方を見かけなかったので、 ご存知の方いらっしゃいましたら、教えていただけないでしょうか?
>>106 1.普通に上書きされる。
昔と違ってDirectX入れたから不安定になることは稀。
2.複数のSDKはインストール可能。
ランタイムは最新バージョンのを入れる。
>>107 有難うございます。
最後に追加でもう一点だけ聞かせてください。
システムDLLの上書きが行われるということですが、
現在の環境(DirectX9.0cランタイム導入済みWinXP)に、
8.1SDKと9.0SDK(December2004)の導入を予定しているのですが、
こちらのようなケースで問題は発生しないのでしょうか?
最初に環境と導入予定を書いておけばよかったですね。すみませんです。
>>108 その場合だと9.0cが一番新しいから、
8.1と9.0は「ランタイム以外」を適当なフォルダにインストールすればOK。
おいらは仕事で使っているのでいろんなバージョンのSDKが入ってる。
9.0c(ランタイム込み)、9.0、7.0a、5.0
>>109 早速のレス有難う御座いました。
心配していた所が晴れました。これから早速導入してみます。
こちらも仕事なんですが、急にDirectX環境用意してくれと言う割に、
マシン貸し出しも無く、どうしようか悩んでいたので助かりました。
デュアルブート。
(・∀・∀・)
デバッグの度に再起動するの?メンドくない?
うちの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; と、するべきなのでしょうか?
スレ違い。
117 :
115 :2005/09/27(火) 12:43:20
いえもちろんDirectXでのCOMの話なのですが…
116はVB厨
119 :
デフォルトの名無しさん :2005/09/27(火) 12:48:00
(・∀・)ニヤニヤ
関係無いがすねるの法則というのはツンデレというもののことか?
スネルの法則は 「光線の入射角 d1、屈折角 d2、入射側の屈折率 n1、出射側の屈折率 n2とすると、n1 * sin(d1) == n2 * sin(d2)」 のことだ。つまりツンデレのことだな。
>>117 詭弁だな。
とりあえず CComPtr でも使えば?
>>122 参照カウント増減のタイミングを聞いてるので
その解では不完全。
>>115 生のCOMポインタを扱うなら、そういう操作は必要だろうね。
提示したソースの場合、 com_pointer_bを代入した際に、
Release呼ばなくていいのか?とか
参照カウント増減の順序とかちと気持ち悪いね。
まぁ参考にでっち上げたソースなんだろうけど。
ただ、その操作の煩雑さからバグを引き起こす可能性があるから、
CComPtrなんかのラッパークラスを利用した方がいいと思う。
CComPtrのソース見りゃ分かるけど、その手の操作は隠蔽される。
そういやCOMのスレって無いんだねぇ。
出来れば皆関わりたくないと言う意思の現れか?
126 :
115 :2005/09/28(水) 00:25:58
皆さんレスありがとうございます
> com_pointer_bを代入した際に、
> Release呼ばなくていいのか?とか
shared_ptrの様なものだと認識してたのですが、
auto_ptrみたいに、当該ポインタは一つじゃないと駄目なんでしょうか。
というか皆さんの口ぶりから察すると、DirectXをやるのにCOMを学ぶ必要はないんでしょうか?
出来れば俺もこんなものやりたくないのですが。
>>125 激しく同意でとても困ってます。.netとかも。
>>126 オマイの使ってるDirectXのバージョンはいくつだ。
DirectXのCOMなんて AddRefとReleaseだけ知ってればことは済むよ。 _COM_SMARTPTR_TYPEDEF( IDirect3DStateBlock9, IID_IDirect3DStateBlock9 ); IDirect3DStateBlock9Ptr pStateBlock; pD3DDevice->BeginStateBlock(); ・・・ pD3DDevice->EndStateBlock( &pStateBlock ); ちなみにこのコードはリークを起こす。 皆さん知ってましたか?
すいません抜けがありました。 正しくはこう。 _COM_SMARTPTR_TYPEDEF( IDirect3DStateBlock9, IID_IDirect3DStateBlock9 ); IDirect3DStateBlock9Ptr pStateBlock; pD3DDevice->CreateStateBlock( D3DSBT_ALL, &pStateBlock ); pD3DDevice->BeginStateBlock(); ・・・ pD3DDevice->EndStateBlock( &pStateBlock );
DirectShowを使うときはCOMを意識したが、 Direct3DではCOMって何?状態。
まぁ、何でもネット上の情報で済まそうとするのが間違いだな。 COMの本なら結構出版されてる。
今月のcマガの特集で紹介されているけど、、スレイプニルの構造がCOMっぽいけど。 C++再考のハンドルクラスの話と同じのような希ガス。
DirectXとCOMは別の技術ということを
>>115 がわかっていないんじゃまいか?
わかってなきゃ、この台詞は出まい > というか皆さんの口ぶりから察すると、DirectXをやるのにCOMを学ぶ必要はないんでしょうか? > 出来れば俺もこんなものやりたくないのですが。
117 名前:115 [sage] 投稿日:2005/09/27(火) 12:43:20 いえもちろんDirectXでのCOMの話なのですが…
とうとう自治厨まで出てきたか
DirectXの初期化中のデバイスオブジェクトの作成に失敗します なぜですか? // デバイスオブジェクトを生成 // 必ず失敗 if (FAILED(m_pD3D->CreateDevice( D3DADAPTER_DEFAULT, // プライマリディスプレイアダプタ D3DDEVTYPE_REF, // 描画をソフトウェアで行う hWnd, // フォーカスウィンドウ D3DCREATE_SOFTWARE_VERTEXPROCESSING, // 頂点処理をソフトウェアで行う &m_D3DPresentParameters, // 生成するデバイスのプレゼンテーションパラメータ &m_pD3DDevice // 生成されたデバイスへのポインタ ))) { // 生成失敗 return E_FAIL; }
プレゼントパラメータ(m_D3DPresentParameters)の設定も書かないと分からん。
まとめてどっかにう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; }
設定が少なすぎるんじゃない? 漏れのソースから適当に見繕ってみたので、以下を適当に挿入してみると動くかも知れない。 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;
動いたよ。・゚・(ノД`)・゚・。ありがとう
143 :
デフォルトの名無しさん :2005/09/30(金) 13:31:19
>>140 つーことはお前、ヘルプのチュートリアルもみてないのか。
死ね。死にまくれ。
ゆとり教育 学校の先生に「教科書の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にくじけそうです。よろしくおねがいします
>>145 ゲーム作成云々のサイトか本を一冊読んだほうが良いと思うよ。
それだと、他のキャラクターはどうするつもり?
>>143 ダイナミックヘルプなら死ぬほど見たのにそんな言い方ないだろう
>>147 死ぬほど見てたら俺と同じくらい詳しいと思うけどな。
死ぬ=法的情報やDirectX Graphicsの新機能からずっと読んでいたのですが、プログラミングガイドの固定機能パイプラインのあたりで眠ってしまいました。 という意味です
俺一生死ねない
DirectSoundの環境リバーブ(I3DL2REVERB)が重いです。 ずっと重いわけではなく、時々リバーブの音を鳴らしている間は問題ないのですが、 リバーブの音を出さずに数十秒放置すると、突然CPU使用率が急激に上昇します。 SetPresetやSetQualityの値を各種試しましたが原因がつかめません。 エコーとコーラスは問題ありませんでした。心当たりがある方はおられませんか?
もう軽く半日くらい悩んでてブチ切れ超えて涙出てきた。 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です
DirectInput8Createはdinput8.dllじゃないの?
あああああああああああああああああああああ!!!
>>153 ビンゴです_| ̄|○ありがとうございました
自分のアホさに泣けてくる…
たった半日かよ・・・
>>152 ←こういう馬鹿な奴ほどさぁw
わざわざ妙な組み方してハマってるよなw
サンプルにある奴のコピーの方が他の奴がみたときわかり易いだろうに・・・
動かないときだって原因が特定しやすいし・・・
ホント、身の程をわきまえろって思うよ。
意外におもわれがちだけど 学生の半日ってケッコー貴重なんすよ・・・
>>157 ざ
ン
か
ン
こうですか!?わかりません!!
>>158 学生はニートに次いで2番目にヒマな人間だろ
>>158 学生の半日<<<<<<<<<<<<<<<<<<<<<<<<<<本職の30分
戯れ言は寝て家。
>>160 無職の半年<<<<<<<<<<<<<<<学生の半日<<<<<<<<<<<本職の30分
戯れ言は寝て家。
みんな時間の使い方が素晴らしくて涙が溢れそうです。
ここは心が温まるスレですね
輝ける青春まっただ中にある学生の時間>惰性で毎日を送る社会人の時間 じゃないのか そこまで言わなくても、歳共に時間が過ぎるのが速くなるなぁ
将来に不安を持つ若者とつまらない学生生活を過ごしてきた年輩が集うスレはここですか? 何歳になろうと時間の価値に変化なんてねーよ 変化してんのはお前らの感性と時間の使い方だ
時間の価値って何? 何か基準があるの? 人それぞれ時間の価値は違うんじゃないの? なら時間とともに変化するんじゃないの?
168 :
デフォルトの名無しさん :2005/10/01(土) 12:35:22
半日が貴重かどうかは人それぞれだが、 >もう軽く半日くらい悩んでてブチ切れ超えて涙出てきた。 半日で涙流してブチ切れ超えるのは、忍耐が無いとしか思えない。
たった1つのバグを、半日考えても潰せなかったら凄く焦ってこない? …もしかしてこのまま一生ここから進めないんじゃ…みたいに。 そりゃ Dual Paraboloid Mapping を半日考えただけで涙流す人は忍耐なさ過ぎだけどw
>>169 同意。
>>152 が泣きそうって言ったのも分かる気がする
今更かもしらんけどDLL内でGetHandleModule(NULL)で
DirectInput8Createしてもエラー返るんじゃね?ヘルプにそんな記述あった
大げさに書いた方が食いつきが良いだろうって下らない考え、その程度の話だろ 本当にお前ら、こういう誰でも参加できるレベルの低い話ばかり盛り上げるな
GetModuleHandleだバカかオレは
173 :
171 :2005/10/01(土) 13:00:03
おっとすまん、170はそれなりに建設的な
仕事とか、課題とか期限付きならわからんでもないが、 おそらくそうじゃないんでしょ? 大体、半日程度で、なんでもできると思ってる方がどうかしてる。 それに、一生進めないなんてありえない。 半日悩んだけど、スキンメッシュが扱えねー!とか 半日悩んだけど、シェーダーが扱えねー!とか。
仕事で必死にゲーム作って心も体も一杯一杯なのって人生終わってるな(▽
納豆
オレはサンプルにあるやり方でやらないでわざわざ変なやり方してハマッてる状態みて 「あー、こいつ馬鹿なんだw ブッ叩いてやろう」 って思った。 んで、自分、泣きそうになってんのに、まだくだらないやり方にこだわってるのw 「あー、こいつゲーム作れる器無いねw ブッ叩いてやろう ついでにウザイから沈めちゃえw」 って思った。 実際、こいつってゲーム完成させたことないと思うw
なんかもまいら楽しそうだな
こいつって誰だ お前は誰と話をしているつもりなんだ
>>179 はぁ?流れでわかんないの?
小学校からやり直してこいよw
>>167 時間は時間だ。時間以外のものとその価値を比べることなんて厳密には出来ないだろう。
人それぞれの時間の価値が違うのも時間と共に変化してるのも
その人の主観的な価値観であって時間そのものの価値ではない。
若い頃の10分も今の10分もどっちも同じ10分でしかない。
ただ若い頃と今ではその10分の使い方が違うだけ。
4.余計な雑談は不要ですよ
>>181 自分が流れの中心に居ると思い込んでいる奴キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
>>184 はぁ?だからいつまでたってもゲームが作れないんだぞお前はw
俺が言ってるのは国語だよ。国語。これまでのレス読んでわからねーのかよ低脳。
誰も話題の中心がどうだとかそんな話してないよ。馬鹿?つーか、馬鹿。
そうやって全然話の本質をとらえないで逸らすことばっかり考えてるから
プログラムもそうやって頓珍漢なもん組み始めるんだよバーカ。
お前は一生DirectInput弄って誰ももってないデバイスサポートしてろチンカス(笑)
DirectInputじゃないとXPで不具合でるんじゃなかったかな XPはIDの設定が出来ないとかで
ID無い板って大変だな
>>177 DLLの実行時動的リンクはそれなりに意味があるよ。
>>177 152のことを言ってるんだろうが、あのコードを見てゲーム作ろうと
しているとか勘違いしているお前の方が痛いぞ。
分かる奴はあれだけ見れば、何しようとしているのか想像つく。
>>152 わざわざC言語で書いてるみたいだけど、#includeよりも前に
#define CINTERFACEって書いておくと、C++からでもCOMを
Cのインターフェースで扱えるよ。
192 :
デフォルトの名無しさん :2005/10/01(土) 16:08:30
>>190 どんな?
泣いて半日無駄にする以上の価値があるわけね。
>>191 >あのコードを見てゲーム作ろうとしているとか勘違いしているお前の方が痛いぞ
じゃあ、なにしてんの?
つか、結論から書けよ。
>>190 「意味があるよ」じゃなくて、ちゃんとどういう理由があるのか一言で説明できるだろ。
馬鹿だろ。マジで死ね。なにもったいつけてんだ?
どうせくっだらねぇ理由だから意味ありげなレスで止めてんだろ。死ね。
>>191 お前も何してるのか書けよ。
>>152 はゲームを作ろうとしてるんじゃなくて、これこれこういう理由でこういうコードになってんだよ。
って説明書けよ。クズが。
(・∀・)ニヤニヤ
わかったからいい加減にゲームを完成させろ
俺様の最強ゲームライブラリは ・DirectX9がインストールされてなければ、原因と取るべき対処の方法を、PC初心者にも分かりやすい日本語で教えてくれる予定です。 ・DirectXとOpenGLを切り替えできます。将来的には、完全ソフトウェア描画にも対応する予定です。 ・超絶凄いゲームが、今後次々とインターネット上で有志によってリリースされてゆく予定です。
最強ゲームライブラリにしちゃ志が低いな。 追加しておけ↓ つ・ロイヤリティがボコスコ入ってきて、寝てるだけももうチンコビンビンです。 つ・流通は初心会が管理し、ROMカセットのみの販売となります。 うはなにをするくぁwセdrftgyふじこlp;@:「
本当の意味でゲームを作る前に、初期化とか環境設定で殺されるなんて。 ってことで、誰か賢い人が作ったライブラリを使った方がお勧め。
>>192 に同情。一言で説明できるのに勿体ぶって説明せずに寸止めする香具師大杉。
ほんと馬鹿な香具師多すぎ、私も
>>192 に同情します。
同情するより仕事くれ
わざわざDLLいじるのは
>>195 をやるためだって
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個ぐらい発生しているのだが、 どうやったら直る?
205 :
201 :2005/10/02(日) 07:56:03
因みに、言語はC++、何も編集しない状態でこうなる。
WIN64関係の識別子が定義されてないんだろうねぇ
ねぇ
その前にインクルードしてる自作のヘッダーファイルに;や}がない罠じゃね?
謹製のインクルードファイル。
特にDirect3D のチュートリアルのところ。
>>211-212 メッシュの使い方の項でしょうか。行列の項も一応読んですが、
勉強が足りてないせいか特にヒントは得られませんでした…
215 :
デフォルトの名無しさん :2005/10/03(月) 07:27:55
>>210 D3DXMatrixTranslationとかだけど、行列演算が移動になるってこと分かってないようだし、
まずは初心者向けの本を読んだ方がいいって。
ところがどっこい、書いてない入門書のほうが多いわけですよ 買うときは気をつけなー
>>213 基本を知らないと時間ばかりが過ぎていくぞ。
急がば回れってやつだ。
チュートリアルを実際に動作させてみて、適当にいじくり回していけば基本は習得出来るはず。 逆に読むだけなのは身に付かないから時間の無駄。
DirectX7のヘルプは読み応えがある 理路整然としていて理解しやすい
つうかMSってヘルプが他とくらべものにならないぐらい充実してるんだよな。 例えばMSXMLとXercesでは全然違うぜ。 MSがシェアとってるのは案外こういうとこからきてるのかも。
質問です。XP、.NET です。 メモリにロードした画像データを表示する必要があるため、 D3DXCreateTextureFromFileInMemory を使おうと思いました。 HRESULT D3DXCreateTextureFromFileInMemory(LPDIRECT3DDEVICE8 pDevice, LPCVOID pSrcData, UINT SrcData, LPDIRECT3DTEXTURE9* ppTexture); pSrcData には、画像ファイルをそのままメモリにロードしたもののアドレスを渡せばいいのでしょうか? 具体的には、例えば png ファイルの場合は (続く)
223 :
222 :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); と言った風に行っています。 エラーはでないのですが、画像が表示されません。(スプライトを生成してテクスチャを表示しています) もちろん他の部分に間違いがある可能性もありますので、上記コード内に間違いがあるかどうかは現状では不明です。 よろしくお願いします。
>>223 D3DXCreateTextureFromFileでファイルから読み込んだ場合はちゃんと表示されるのか?
225 :
222 :2005/10/03(月) 17:59:11
>>224 表示されないじゃん…orz
以前にテストは行ったのですが、
他の方法 (DirectX を使わない)で表示させていた部分のコメントアウトが一部抜けてて、
それで表示されていると勘違いしていました。
出直してきます。ありがとうございました。
超初心者な質問ですみません。 DirectDrawで2Dゲーム作る利点を軽く教えてください お願いします。
無い
230 :
226 :2005/10/03(月) 21:28:46
マジれす
232 :
226 :2005/10/03(月) 23:49:55
じゃあ2Dシューティングゲームか何かは どうしてDirectX7とかを使ってるんですか?
自前の最適化された拡大縮小回転ルーチンや矩形転送ルーチンに 最大限に意義を持たせるためだと想像します。
わざわざDirectDrawで作るのは Direct3Dがハードウェアサポート受けてないような低スペックハードで 動かせるようにするためだろうけれど今時そんなハード見つけるほうが大変だろ。 低スペックで動くからDirectDrawスゲーってわけじゃなくて、 回転拡縮とかやり始めたら作るのめんどくさい&速度遅いしで色々と時間の無駄。 とうとう最後の砦とも言うべきかエロゲもDirect3D使い始めたようだしなあ
>>226 Direct3Dの機能が特に必要ない場合は、DirectDrawの方が
2Dゲームは作りやすい。
あと、Direct3Dを使う場合でも、Windows98を動作対象に入れる場合は、
DirectX7を使うこともある。
シューティングは256色で高速に動かしたいからじゃね 古い機種だと16ビット色ですら動作が遅くなる
・アルファチャネル要らなくてカラーキーで満足できる ・ドット絵のジャギー感が欲しい(フェチ) ・浮動小数点演算に抵抗がある(ランバ・ラルのようなオールドタイプ
>>235 3Dアクセラレータが使えないから激遅ってのも重要な点だな。
回転とか拡大縮小をしないなら、激遅ってほどでもないんでない むしろDDraw有利だと思ってたくらいで
あれ・・・ ひょっとして Direct3D 使って作ったアプリて Windows98 に対応できないんですか・・・?
>>240 対応できるよ。最新のDirectXでもWin98はサポートされている。
Win98は初期状態でDX7が入っていて追加のインストールが必要ないから
主なターゲット層がサラリーマン等の場合はDX7を使ったりするということ。
242 :
240 :2005/10/04(火) 16:09:12
つまりライバルはマインスイーパーやソリティア
WinGって、APIに吸収されたんでそ?
bio100%のやつ?
あるMSの技術者がその昔、バイファムの声優をやっていたことは意外に知られていない。
いいなあ ロリティック銀河漂流 してみたいなあ ピースボードで我慢するか
こんな所で愚痴るなんて陰険な上に無能だな
もう、BBXに書き込みたくないってのはあるな。
なんれ?
255 :
デフォルトの名無しさん :2005/10/05(水) 18:37:08
新しいDirectXって何が変わった?
更新履歴見れ。
どこ?
258 :
デフォルトの名無しさん :2005/10/05(水) 20:03:17
XInputが目玉ぽいな。
X挿入
なんでこんな重要な更新で日本語ドキュメントないんだよ
ドキュン
ドキュメント!
ドキュトメン
>>260 誤訳多いとか言われ続けたので翻訳担当が放棄してるらしい。
>>264 それが事実だとしたら、翻訳担当クビでいいよ。
実際MSDNは日本語訳クソなんだから。ちょっとあんまりだとおもうよ。
XInputって日本語しゃべれるのかな?
DX9cが安定版で、今の隔月リリースはDX10に向けての テスト期間だからじゃないの、翻訳しないのって。
そもそも翻訳してる人って作る側の人間じゃないからな この時点で既に間違ってると思う
単独でDirectホゲホゲと呼ばれるぐらいの大きさの機能追加で 日本完全無視ってどういうことよ XINPUTはベータじゃないしXACTなんてほぼ全員が関係するような重要な機能じゃないか 新機能興味なきゃ資料"グラフィックス カード能力"ぐらいしか見ないかもしれんが
>>269 いや、ほぼベータとみて警戒した方がよさげではある。
いま、手を出しても変更する可能性大。
GPUで画像に例えばアンチエイリアスをかけてその結果をCPU側に書き戻すことは出来ますか?
>>271 将来的には出来るかもしれないが現在のGPUでは無理
>>271 StretchRectでダウンサンプリングしてLockRectかしら。
>>271 テクスチャにレンダリングするとかじゃなくて?
できるけどVRAMからPCへの転送が遅いってだけでは
そういやPCI−eは速いんじゃなかったか? 実際どうよ
AGPx4と、AGPx8でたいして違いが無かったのに?
何寝ぼけたこといってんだよw
280 :
デフォルトの名無しさん :2005/10/07(金) 19:02:36
3分ほど(約50MB、wav)のBGMを流そうと思っているのですが、DirectSoundのストリームバッファを使うべきなのでしょうか? BGM以外に既にSEをスタティックバッファを使っており、DirectInputも使う予定です。 検索して出てきたサイトを見ていると、これらを使った場合WaitForMultipleObjects等が正確に取得できないとも書かれています。 実践プログラミングを見ながら組もうとしているのですが、こういった状況でもDirectSoundのストリームバッファを使うべきでしょうか。
嫌なら無理に使わなくていいよ
>>280 その改行はなんだ
もしかして高学歴非童貞には見えない文章なのか
WaitForMultipleObjectsがなくてもポーリングすりゃいいじゃん
鰻についての質問はこのスレでよろしいですか?
285 :
鰻 :2005/10/07(金) 23:12:37
なんでも聞いてくれ
どっちが表でどっちが裏ですか?
>>煮詰まった人の無駄話 ワロス ちょっとなごんだ。
もうハードボイルドですよ。
291 :
鰻 :2005/10/07(金) 23:51:18
こらこら。DirectX関係みんな鰻で埋め尽くす気かよ。
鰻とDirectX・・・何か特別な関係があるのかもしれないな・・・。 ミステリーだ。
でもよ。 鰻屋って、夏以外の季節ってどうしてんだろうな。 やっぱり、鰻食わせんのかな?
鰻を食わせるんじゃなくて鰻に食わせるんだよ。
夏以外も鰻屋には人入ってるよ。 あぶらっこいオッサンが多いけど。
なんか、脂っこい鰻が喰いたくなってきた。
298 :
鰻 :2005/10/08(土) 01:01:01
((((((;゚Д゚))))))ガクガクブルブル
299 :
デフォルトの名無しさん :2005/10/08(土) 01:05:51
C++Builder 6 を使い始めたのですが、 閉じたくても「デバッグ中ですが終了してもよろしいですか?」 と出るので、はいにすると、「プロセスを終了できません。アクセス拒否 されました」と出て、終了できないのですが、どうしたら いいんでしょうか?教えてください。。
だいぶ、魚臭くなってきたな
海の鰻と川の鰻どっちがうまいの?
陸の鰻にきまってんだろ!
ここまで鰻の自演。
304 :
152 :2005/10/08(土) 02:01:35
すっごい遅レスですが
>>191 ありがとうございます。
ずっとCばっかりだったのでCなコード書くのがクセになっちゃってます。
一度諦めちゃってたんですがまた再挑戦してみようと思います。
>>295 鰻って一番時期外れなのが夏だったりする
広告は偉大って事やね
306 :
280 :2005/10/08(土) 03:40:36
>>281-283 遅れましたがレスありがとうございます。
実装してみましたがやはり理想ではデータ更新が1秒おきのところ1秒以内の不定期に。
さらにスレッドを使っているせいか、データ更新時に黒い横線のようなものが描画されます。
とりあえずメインループ内にポーリング作業を入れてあれこれ試してみようと思います。
BGM再生でしょ? メインでポーリングしちゃっていいのか? データ読み込み中は曲を鳴らせないなんていう、大昔のパソゲーのようなことになるんじゃなかろうか。
308 :
デフォルトの名無しさん :2005/10/08(土) 06:40:27
DirectSoundCreate で、 DSERR_OUTOFMEMORY DirectSound サブシステムは、呼び出し元の要求を完了するための 十分なメモリを割り当てることができなかった。 が出るのですが、 どうすれば良いのでしょう?
何バイト確保しようとしたのかくらい書け
>>306 サウンド用のスレッドを用意して
そっちで鰻を食う作業をしたほうがいいだろ
|>< ( ・>
長い鰻の捌き方=ストリーミング再生。 何と壮大な伏線だろう。
>> pDSB->SetFrequency(freq); >それはサウンドバッファに対してであって3Dサウンドのバッファに対しては反映されないんじゃないですか? 試してもないくせに知った口聞くなよ厨房 >> pDSB->SetFrequency(freq); >IDirectSound3DBuffer8にSetFrequencyメソッドはありません。 セカンダリにありゃ十分だろうが厨房 それとも「セカンダリは3Dサウンドじゃねぇじゃん」とか言い返すのか?
ぬるぬる行こうぜぇー
どなたかNVPerfHUDの2.0ベータ持ってませんか
>>315 nVIDIAのデベロッパサイトで落とせる3.1じゃダメなの?
特にGPUの種別に制限はなかったと思うけど?
ソースがないソフトを弄りたいんだろう 今のバージョンはデベロッパのクレームで制限あるから
>>317 >ソースがないソフトを弄りたいんだろう
まさに
319 :
280 :2005/10/08(土) 21:58:32
すみません、あれからレス読んでなくてメインループにWaitを持ってきて思いっきり失敗しましたorz それに肝心のポーリングの仕方が分かりませんでした。 DirectInputならPollがあったと思いますが、DirectSoundに関しては検索しても出てこず。 DirectSoundでストリームバッファを使う場合、何に対してどういうものを使って取得すればいいのでしょうか。 (WaitForMultipleObjectsではなくMsgWaitForMultipleObjectsExでやってみましたが同じ結果でした)
>>319 ・DirectSoundのストリーミングをポーリング
別スレッドで一定時間ごとに、バッファをGetCurrentPositionで監視。
322 :
320 :2005/10/09(日) 01:43:30
なぜか出なくなりました。 何が原因だったのだろう…。
>>319 ポーリングっつーか、GetCurrentPositionだったか、その辺の命令を使う。
で、現在位置と直前位置を比較して、進んでるだけ読み取っておけばいい。
MSのC#のストリーミング再生の実装にそういうサンプルもあった。
多分その辺のバグも考慮してるんじゃないかな
すみません、今かじりはじめた者です。 とりあえずDirectX9SDKをインストールし、VC6のインクルードファイルとライブラリファイルの設定を行いました。 それから適当に検索して出てきた入門ページのサンプルを試してみた所、エラーが発生し、一つもビルドできません。 多分どこか根本的な所で躓いていると思うのですが、どのような所が予想されるでしょうか? エラー内容はどれもバラバラです。
>>VC6のインクルードファイルとライブラリファイルの設定を行いました。 これがきちんと出来ていない。 >>一つもビルドできません。 これが理由。
>>321 ,323
ありがとうございます。
早速組んでみようと思います。
>>324 エラーを、一つ一つ調べて潰して行けば良いだけでは?
>>324 闇雲にエラーが沢山出たー、って考えずに、先頭のエラーから一つずつなおしていけ。
せめて先頭のエラーの行だけでもここに貼れば、何かしらヒントが得られるかもしれない
最近TAで学生に教えるようになったんだが
初心者はどうも全体を見渡してしまうらしいなあ。
初めから1つずつ見ていけばいいのに、
どれから手を付けていいか分からない。
それを何度も言ってるのに次の週になると忘れてる…
地道な作業が嫌いなんでしょ。 ヽ(`Д´)ノウワーン、ポイッ(ノ´ー`)ノ ⌒ (:D) ゴロンッ
330 :
324 :2005/10/09(日) 03:38:50
外部シンボル "_IID_IDirectDraw4" は未解決です fatal error LNK1120: 外部参照 1 が未解決です このようなエラーが出ています。 外部シンボルとかリンクがとかいう当たり設定に問題があるのかも。 エラーの意味がまだ正確に分からずうまく潰せません。
>>330 ヘルプ使え。
それでもわからないなら、C言語すら理解できていないということだ。
>>330 dxguid.libでもリンクすればいいんじゃないの?
ていうかエラー一つだけやん。
334 :
デフォルトの名無しさん :2005/10/09(日) 14:57:07
ライブラリのリンクすら分からないレベルでDirectXを 使おうってのは、アミバ様にも勝てないのに「オレって ラオウと互角じゃね?」と思ってる雑魚以下。
>>334 初めてDirectXを学んでみようかと思ってる香具師
は知らなくても全然おかしくないな
本人乙
(´-`).。oO(何で本人認定されてるんだろう…)
>>324 ・現在のSDKはVC6に対応していない
・現在のSDKはWindowsXP以外のOSに対応していない
>>337 違う人間なら推測でモノを言うな
そもそもライブラリのリンクはC入門書の守備範囲
>>339 最近の統合開発環境使った入門書だと書いてなかったりするらしい。
そうだな、それがどうした
何か顔真赤にして張り付いてるやつがいるな
スポーツインタビューみたいに中身のないレスつけんなよ
Gemsのスキンメッシュの項に前進行列と書いてある。 前進行列って何者?
何巻の何ページ?
鰻はもう終わりなんですか?
348 :
280 :2005/10/10(月) 00:49:29
まだ音が変ですが、何とか打開できそうです。 しかし描画領域の一部(上100ピクセルなどランダム)が更新するたび一瞬真っ黒に。 ロックの開始位置を0、サイズを0にしても同様の症状が出てしまいます。 ロック・アンロックが原因なようですが、どうすればこの症状を回避できるのでしょうか。 (再生しているところを書き換えておかしくなったのかと思いましたがそうでもなさそうですし)
前進行列でググったけど実質0件だな
>>344 "forward matrix"を直訳してるのかしら。
多分、スキニング用行列じゃなくて、オブジェクトをアタッチするのに使う行列だわ。
351 :
デフォルトの名無しさん :2005/10/10(月) 12:52:27
DirectSoundでogg形式をWAVフォーマットに変換して鳴らしたいのですが どなたかおしえていただけませんか?
無理
>>351 WAVEファイルをDirectSoundで再生するDXSDKのサンプルと
OggファイルをWAVEに展開するOggVorbisSDKのサンプルを理解できたら
簡単に作れるだろ
ID3DXAnimationController::SetTrackPositionの逆の GetTrackPositionみたいなトラック内のローカルタイムを 取得することはできないんでしょうか?
355 :
デフォルトの名無しさん :2005/10/10(月) 17:59:14
357 :
350 :2005/10/10(月) 18:08:46
>>344 前の文が意味不明だったから補足するわね。
ソース(Gem1,p461)を見る限り、
各階層のデフォルト姿勢を合成していくのが orientation で
各階層のデフォルト姿勢+アニメーションを合成していくのが forward ね。
スキニングをする場合、各頂点に orientaion の逆行列を掛けてピボットを原点にしてから
forward を掛ける訳だけど、もしかして逆変換に対する"順変換"の意味合いの forward なのかしらね。
(単にアニメーションで前進したという意味の forward かもしれないけど)
358 :
デフォルトの名無しさん :2005/10/10(月) 18:45:46
ところで、鰻なんですが。
>>359 googleしろ。たくさん出るから、それで満足しろ
(´;ω;`)
何よその顔
マジな話、鰻みたいな質感出すなら半透明テクスチャ重ねるしかないな
鰻の皮膚の粘膜?
そうそう、最近は工夫の余地が出てきたけど 層を分けたほうがそれっぽくなる
XINPUTとTTSってなんか違うの?
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にする の、どちらかをやれば、期待通りの絵にはなるのですが、気持ち悪い。 どのあたりで間違ってるんでしょうか?
>>367 >モデルを描いたとき、画面の奥の方にいくほど1.0に近づき、
>手前ほど0.0に近づいているような感じです。
いいんじゃね?
あれ?逆だっけか?
手前が0でよかったような希ガスよ。
誰かZの計算式プリーズw
たしか
深度=今のZ/遠く
だったようなきがすんだけど。
だから、近くだと0で、遠くだと1じゃね?
>>368 それであってるよ。
367はなんで勘違いしたのか分からんけど、
テクスチャなどでも最小(最短)が0.0、最大(最長)が1.0を使うから変に覚えるとややこしくなるぉ。
>>367 >farとnearを入れ替える(farを-10、nearを10とか)
0 < near < far じゃないとだめよ。
うなぎ。
ぎゅうなべ
みんなの作ってるプログラム見てみたいわ
プリミティブの大きさは1四方でも10000四方でも、スクリーン上での描画結果が同じであれば負荷は変わらないのでしょうか?
>>376 そうね、大きい時だけクリッピングされてるとかいう意地悪問題でない限り、
頂点計算量もピクセルフィルも同じになるはずだわ。
>>376 透視変換した結果が一緒になるんでしょ?
それなら負荷は変わらないよ。
行列の各要素が変わるだけっすね
_____ / ̄ ̄ ̄ ̄\,, /−、 −、 \ /_____ ヽ / | ・|・ | 、 \ | ─ 、 ─ 、 ヽ | | / / `-●−′ \ ヽ | ・|・ |─ |___/ |/ ── | ── ヽ | |` - c`─ ′ 6 l |. ── | ── | | . ヽ (____ ,-′ | ── | ── | l ヽ ___ /ヽ ヽ (__|____ / / / |/\/ l ^ヽ \ / / | | | | l━━(t)━━━━┥
381 :
367 :2005/10/12(水) 08:59:50
>>368-371 すみません。肝心なとこ書き間違えてました。
間違画面の奥の方にいくほど0.0に近づき、
手前ほど1.0に近づいているような感じです。
バッファの深度を0.8あたりでクリアして、モデルを描画すると、
モデルの手前側がクリップされてます。
どっかで、マトリクス作るときに、Zを逆にしてるんだと思いますが…
382 :
367 :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が負だと、どっかでゼロ除算が発生してそうなんだけど。 たまにフレームレートがガクンと落ちたりしなかった?
(・∀・)ニヤニヤ
読み込んだXファイルから描画したポリゴンに対して当たり判定ができるような関数はありますか? 凹凸のある地面にボールを重力方向に落とし、地面にぶつかったら180度反転してに跳ね返る こういうプログラムを作りたいので球の当たり判定のように曖昧すぎるのは避けたいですのですが・・。
ググれ SDK見れ
さて、鰻。
>>385 D3DXIntersectだっけか。
かなり重い処理だったはずだが9.0で改善されたりしたのか?
389 :
鰻 :2005/10/13(木) 00:29:21
呼んだ?
>>389 とりあえずまな板の上に横になってくれる?
エロイな
393 :
385 :2005/10/13(木) 00:46:02
>>388 どうもありがとうございます。
・・・Triを使っていましたがメッシュに対してもできるのですね。
fxファイルは実行時にコンパイルされる、という認識なのですが、 これをあらかじめコンパイルしておくことは可能なのでしょうか
395 :
デフォルトの名無しさん :2005/10/13(木) 06:29:07
SDKのヘルプにも、しかもサンプルまであるのに質問する人ってどういう神経してるんだろう・・・
(・∀・)ニヤニヤ
>>395 レスありがとうございます
ヘルプは正直駄目駄目な気がしましたが、サンプルの方は非常に分かりやすかったです
それに礼を言うとは…大人だ
スプライトしたテクスチャを白く塗りつぶすにはどうすればいいでしょうか? 教えてくださいませ
401 :
デフォルトの名無しさん :2005/10/13(木) 22:03:02
VC++で検索をかけるとMicrosoft DirectX 8.0 (C++)は出てきますが9.0は出てきません。 DirectX 9.0 日本語ドキュメントをDLしてUnZipするだけでは駄目なのでしょうか。 それとも落とすものを間違えているのでしょうか。
403 :
デフォルトの名無しさん :2005/10/13(木) 22:12:43
C++じゃなくてスクリプト言語からDirectShow使えないかなあ。
404 :
401 :2005/10/13(木) 22:13:54
SDKじゃなくてヘルプです。 9.0(b)を使っているのに8.0の使い方を出されてもそのまま使えないことが(´・ω・`)
405 :
鰻 :2005/10/13(木) 22:26:49
>>401 頑張って英語のドキュメントを読むんだ。
俺が必需品だ。
>>401 UnzipしたものをVS.NETを持ってるならインストーラーからインストール
VC6.0↓の場合は、解凍したどっかのフォルダに
Directx9_c_JPN.chi
DirectX9_m_JPN.chi
Directx9_c_JPN.chm
DirectX9_m_JPN.chm
があるのでそれをコピーして適当に置く
409 :
401 :2005/10/13(木) 23:00:31
>>408 ありがとうございます。無事出来ました。
質問です。 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));
テクスチャのサイズが2^nじゃないから
>>408 俺はできません…orz
インストールするフォルダはどこでもいいのでしょうか
413 :
410 :2005/10/14(金) 15:45:19
>>411 どうもです。
そういえばそんなこと書いてありましたね。早速書き直してちゃんとサイズは直りました。
ですが今度はPNG形式の背景α値が無効になってしまい、黒くなってしまいます。
いろいろ調べてはみたんですが、黒を透明にする処理をしてしまうと表示したい黒も消えてしまうので、
D3DXCreateTextureFromFile()みたいに、背景α値のみ透明にするにはどのようにすればいいのでしょうか。
まずはヘルプのID3DXSprite::Draw メソッドのところを読む。
415 :
401 :2005/10/14(金) 19:02:00
>>412 私の場合、UnzipしたものがデフォでTempフォルダでしたのでマイドキュメントに指定し、
そこにインストーラーが保存されたのでダブルクリックすれば無事出来ました。
416 :
410 :2005/10/14(金) 23:33:16
>>414 レスありがとうございます。
質問の仕方が悪かったです。
>>411 さんのアドバイスで読み込みをD3DXLoadSurfaceFromFile()に
変えたので、Draw()は使ってないです。
それともD3DCOLORの設定のところに何かヒントがあるのでしょうか。
全てではなくてもいいので何か教えてもらえたら恐縮です。
ヘルプより。 透明となる D3DCOLOR の値。カラー キーを無効にする場合は 0 を指定します。 ソース イメージのフォーマットとは関係なく、これは常に 32 ビットの ARGB カラーです。 アルファが有意であり、通常はカラー キーを不透明にする場合は FF を指定します。 したがって、不透明な黒の場合、値は 0xFF000000 となります。 D3DCOLORにもD3DCOLOR_ARGB、D3DCOLOR_RGBA、D3DCOLOR_XRGBとかあるけどミスってないかい?
418 :
410 :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 );
そそ てか、レス読み飛ばしてるのか知らんけど >カラー キーを無効にする場合は 0 を指定します。 0は透過しない=そのまま描画 >したがって、不透明な黒の場合、値は 0xFF000000 となります。 0x[A(アルファ値)][R][G][B] この場合0xだから0〜255を16進数で書く。 アルファ値は0になるほど透明になる(FF=255だから透明じゃない)。 赤を透明にしたかったら0x00ff0000。 0x01020304はD3DCOLOR_ARGB(1,2,3,4)と言った感じで置き換えも可能なはず。
420 :
410 :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みたいなのは嫌なんです)
421 :
410 :2005/10/15(土) 01:32:53
追加:lockして指定色を消すとかでもないです。 あくまで.pngをそのまま表示したいんです。よろしくお願いします。
422 :
デフォルトの名無しさん :2005/10/15(土) 01:52:09
ID3DXSprite::Beginを調べろ>410
423 :
410 :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);
ID3DXSprite::Begin メソッド -------------------------------------------------------------------------------- スプライトを描画できるようにデバイスを準備します。 ヘルプ読んでないだろ。
IDirect3DDevice9::で、どのメンバ関数が重いのか調べてみようと思ったのですが・・・・ なんとなく重そうだったDrawPrimitive系はすぐ戻ってきてるし、 逆にPresentはmsのオーダーで時間かかってるし、 なにがなにやら分からなくなってきました。 そのへんの関数とCPUやGPUの負荷の関係を解説してある資料はないでしょうか。
427 :
デフォルトの名無しさん :2005/10/16(日) 14:40:20
>>425 Presentが戻ってくるまでなぜ時間がかかるのか、
分かってないだろオマエ。
>>425 DrawPrimitiveは「こうしてくれ」って命令をグラボに送るだけだろうな。
実際に描画するタイミングはまた別にあるだろ。
でもってそれはプログラム側ではわからん。
430 :
デフォルトの名無しさん :2005/10/17(月) 01:21:18
>>425 は、理由を聞いてるんじゃない!資料の有無を聞いてるんだ!
>>430 SDKのヘルプに書かれていることをなぜ聞くわけ?
実際どうやって実装されてどんな速度かはMSの知ったことじゃないしな
SDKのヘルプ厨はアフォですかw そんな環境依存の物が書いてあるわけないだろ
434 :
デフォルトの名無しさん :2005/10/17(月) 11:23:46
オマエ読んだこと無いだろw
ほら具体的に挙げてみろよ(プ
【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
そんなこと言っても無駄無駄w なにぜスレタイの「初心者」の文字すら見えない文盲だからなwwww テンプレなんか絶対みてないw
「SDK見ろ」じゃ無くて、「SDKのヘルプに書いてある」と言ってるんだからヒント以外の何物でもないような・・・
441 :
440 :2005/10/17(月) 11:49:02
そんなこと言ったら「ヘルプにある」「ググれば見つかる」のヒントで全て終わるじゃねぇかw
>>443 うむ、だから440はアフォだと言ってるのさ
>>442 ヘルプに書いてないこともある。
ググれと言うのはテンプレで禁止してるんだろ?
資料を聞いた奴に、ヘルプに書いてあるぞと回答するのは駄目なのかなるほど。
ヘルプにある情報じゃ物足りなかったからここに質問に来たのかもしれないぞ
>>445 おやおや、ヘルプみろは禁止されてないのかwww
>>446 だからよー今時探せばネットかヘルプのどこかに資料はあるっての。そりゃそうだろw
初心者にとっては、より具体的な情報が重要なんだよ
つか
>>431 とかどうみても説教したいだけだろw
(・∀・)ニヤニヤ
SDKのヘルプってのは、〜の本と同じくらい断定されてると思うけどな。 MSDN全部から探せとか言ってるわけじゃあるまいし。
>>449 とうとうAAで誤魔化しですかw
初心者いびりしかしない説教厨房は消えてねwww
452 :
デフォルトの名無しさん :2005/10/17(月) 12:07:48
もしかして、
>>425 が思い通りの回答を得られなくて暴れてるのか?
だから今後は1見ろボケでいいじゃないか。 しかしこれほどテンプレが守られてないスレも珍しいな。ネタスレじゃないのに。
>>425 の資料ってか、俺の場合、そういうのは掲示板見てて知るくらいしかないな〜
使ってみて云々って感じで、それをどんどんまとめて逝けば資料に・・・(ry
しかし425からワケワカメ
SDKのどこに書いてあるのか素で分からん
つ『Direct3D API 呼び出しの正確なプロファイル』
SDKにある?
Webのも日本語版は消えてるな
>>456 それ>425の疑問の答えには為ってないんじゃ?
460 :
456 :2005/10/17(月) 15:45:20
え? そのものズバリだと思うけど。
461 :
456 :2005/10/17(月) 16:01:25
462 :
デフォルトの名無しさん :2005/10/17(月) 16:10:12
ID3DXAnimationController メンバのSetTrackWeightを利用してモーションブレンド をしようと思ったのですが、モーションA 50%, モーションB 50%などのようなことが できません。引数のWeightが効いていないようなんですがこの関数を 使ってのモーションブレンドの方法を教えてもらえませんでしょうか? よろしくおねがいします。
・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 次スレからテンプレのこの部分削除な
>>【C++】 DirectX初心者質問スレ Part6 【C++】 次スレからスレタイの「初心者」を削除な
調べることもろくにできない初心者君乙
説教厨大暴れか…
会社なり家なりでいじめられてるんだろうから、そっとしといてやれ。
自演乙
おまいらわからないならママにでも聞けよwwwwwwww
472 :
デフォルトの名無しさん :2005/10/17(月) 20:42:35
教えてクン大暴れか…
ママにも見放されてるんだろ、そっとしといてやれ。
「平日」の「真昼間から夜まで」皆さん元気ですね(・∀・)
自己紹介乙
回答してもらえなかったからってジサクジエンで暴れるなよガキが…
>>462 ブレンドしたいトラックだけをEnableにするとか試してみれば
478 :
鰻。 :2005/10/18(火) 05:21:30
鰻みたいな回答者なら荒れなかったろうな、遅いよ!
見直してみると
>>433 が荒らした張本人だけどな。
ヘルプ見ろや説教だけでは、いつまで経っても
情報が蓄積されないというのは事実だと思うよ。
例えば、後からnoobがログ見たとき、
>>428 や
>>478 に比べ
>>426 や
>>427 は少しも建設的でない。
結局チップや環境依存なんだから、正確なのはSDKのヘルプに書いてある事をやるしかないと思うんだが
>>481 ヘルプも読まない奴を量産するこのスレは、少しも建設的じゃないなw
質問スレというのは質問しても良いスレの事を言うのに、 まともに回答する気がない人が何故常駐しちゃうんだろうな。一部なんだろうけど。
>>484 質問する立場でこんなこと言うのも悪いんだけど、ヘルプ読めってレスなら
むしろ付けて欲しくなかったり…流れ止まっちゃって、他に解答してくれたかもしれない人の可能性が…
流れ変えようとしても、ヘルプ読めって書かれちゃうと、もう何言ってもこっちが悪いみたいになるし…
確かにヘルプには全て書かれているんだろうけどねぇ…
それで全て理解できちゃうなら質問スレも解説書もいらないわけで
ある程度素養が蓄積されてないと、例え明記されていても理解できないものなのよ
>>485 ヘルプ読んでわからなかったのなら、それを併記しわからないところを聞けばよいだけでは?
何も書かなかったら、読んでない教えてくんとしか思えない。
そんなこと書いている暇に勉強しろよ、ってことになるわけで。
だったら、勉強しろよ
>>484 なにかの実験であったけど、人は役割に酔うのよ。最初からまともじゃないわけではない。
例えば回答者という立場にいると、自分が偉くなったと錯覚してくる。
ゆえに長くいる奴ほど説教っぽくなるし、ヘルプも読まないのか!という態度になってくる。
他にも役割によって、質問するときの卑屈さが、回答時の尊大さへと裏返ったりね。
匿名質問スレの宿命だよ。
DirectXの使い方がわかりません、1から教えてください。
>>486 教えて君と思われるのは残念だけど、その場合余計なレスで流れ止めたりしないでスルーして欲しいのよ…
こう言ってしまうと申し訳ないんだけど、ネットの場合、何十何百という人が他にいるんだし
同様に、同じ疑問を持つ人だって何百といるかもしれないし
まぁ皆が「ヘルプのxxxは読んだのですが」と、枕詞付けるのもありかもしれないけど
>>489 なるほどねぇ…
質問者様は神様です。
最近はむしろ教えてちゃんが逆ギレしてるパターンのほうが多いだろ。 質問者のほうが偉そうだ。 しかし、うまくスルーできるようにならんとなあ・・。
質問者も回答者も、テンプレ守らない奴が悪い、それだけの話 そろそろ質問来い
DitrectXを教えろ。
検索が面倒でやる気のないアホが自分勝手に作り出したテンプレなんか守れるか
とうとう本音がでちゃった…
>>1 にはSDK見たり、ググったりしてわからなかったら〜って書いてあるんだから
○○がわかりません とかいう質問はSDKミレ!ググレ!でいーんじゃまいか?
○○をググったのですが××という部分がわかりません つーのが普通の質問だべ
>>498 さすがにこれは同意できんなぁ。
それなら別に自分好みの質問にだけ答えられる掲示板つくりなよ。遠慮はいらない。
まぁ、質問者も自分好みにルールを変えようとしてるわけだが。
506 :
498 :2005/10/18(火) 11:32:52
>>503 まあ言い方はかなり悪かったけど
ヒントでもいいのにSDK・ググれはNGとか矛盾だかけなんだよ
507 :
498 :2005/10/18(火) 11:33:39
○だらけ ×だかけ
433の影に隠れているけど、対立側にも変なのが一人いるよ
509 :
503 :2005/10/18(火) 11:48:52
>>505-506 逆に「くだらない質問でも答える系スレ」を俺が立ててみようかな。
このスレは、初心者の文字を取って、ヘルプに載っている様な質問は禁止すればいい。
と書いてて思ったけど、一応初心者質問スレなんだよなここ。
こっちはこのままで、初心者質問がいやな人が鬱スレでいい気もしてきたが。
「初心者」だと検索もできませ〜ん何でもかんでも教えてくださ〜い ってなるから 「初級者」がいいと思う
511 :
433 :2005/10/18(火) 12:05:05
まだやってたのかwww
俺が煽りすぎたせいで引くに引けなくなった人もいるせいだろうな
すまんな、特に最初の人
>>510 いや大差ないとおもうぜ、それならちゃんとテンプレ変えた方がいい
しかし検索できてヘルプ読める時点でもう一人前だけどな
読める。 読もうとするが読めない。 読まない。
513 :
433 :2005/10/18(火) 12:23:52
読まないの含めて初心者だからなぁ、そこへわざわざやってきて説教するんだからな
まぁ受け皿が無いせいもあるが
>>489 ,492
勉強になった
>>509 鬱だ氏のうスレが駄目なら、ゲ製板の方を復活とかどうよ
IDあるし
>>513 読まないのは問題外だろ。
初心者にすら含まないと思うが。
厨房王国BBXと同じつもりで質問してんだろうけど この板には以下のBBX3大機能は標準搭載されていない 自分でたいした努力しなくても 3大機能がなんとかしてくれると思ってるんだろうな 他人デバッグ機能 - 動かないソース出せばバグ取りから最適化まで丁寧に教えてくれる 他人ヘルプインデックス機能 - ヘルプのどこを読めばいいのか丁寧に教えてくれる 他人ソースコードジェネレータ機能 - 作り方わからなければ丁寧にソースを書いてくれる MSの集まりに行ったことあるけど 神気取りな3大機能はなんとかならんのかね なんの努力もしてない奴に直接的な答えを教えたら 答え丸写しして終わりだろうに
みんな鰻食って落ち着け。
答え丸写しは頭に入らないしね この辺が最近のガキの頭の悪さを表してるな
これからクソ質問は全部BBX誘導でいーんじゃね?
「ヘルプ嫁」ではなく、「ヘルプはご覧いただけましたか?」にすればいい。
質問者がテンプレ守ってないのに 回答者にテンプレを求めるのが問題だ
鰻も鯰も秋刀魚も食べたい
522 :
デフォルトの名無しさん :2005/10/18(火) 13:37:19
まあ、でも、ググって見つかるものもあれば、見付からないものもあるからな。 とりあえず、質問してみて、ググレって言われたら、ググッた結果を貼り付けたらどうだ? 「こういう感じでググってみたのですが・・・」 って感じで、だいたいヒットしない奴ってのはググリ方がまずい奴が多いわけだし。 ヘルプ嫁って言われたら、オンラインヘルプのどこらへんに書いてあるのか聞く。 まずはこの辺がお互いの折衷案に繋がっていくんじゃね?
>ヘルプ嫁って言われたら、オンラインヘルプのどこらへんに書いてあるのか聞く。 教科書を渡されてもまだわからんのか…って話
そういう奴にこそ鰻でも食ってろボケって
なまず
鯰 != 鰻
ゲーム製作についての質問です ゲームは始まったら当然スグゲーム開始ではなく タイトル画面があったり設定画面があったりしますよね これらはどうやって実装したらいいのでしょうか? 一応自分で思いついたのは以下の方法です ゲームループ内で 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; といった感じです 何かもっとスマートな方法はありますでしょうか?
528 :
527 :2005/10/18(火) 16:06:23
{ } を忘れてました^^;
あります。まずはゲ製板へどうぞ。
530 :
デフォルトの名無しさん :2005/10/18(火) 17:29:32
.NET使ってるんですが、DirectX9SDKインスコしたけど新規プロジェクトでAppwizardがありません。 VC++6.0じゃないと使えないのでしょうか?
いつからだったかは忘れたけどもうWisardは無くなったそうだよ。
テンプレの >これらに当てはまる人のための質問スレです。 >3.SDKを見ても、Googleで検索しても、いまいち理解できない人 >【 質問する香具師 】 >・ どんな事で躓いているのか明確にしよう。 この文章から導き出される質問の仕方は SDKに記述がある答えやGoogleでモロ解答が得られる場合は ”SDKの読み方が分りません、Googleの使い方が分りません” って素直に言うべきだと思う。 >3.SDKを見ても、Googleで検索しても、いまいち理解できない人 >「ググれ」「SDK見れ」以外の回答でおながいします。 3の状況なのに この二つの文章を盾に、モロ答えを教えてくれるのが当り前って発想の奴は コピペ以外じゃ、説明したって理解とか出来るレベルじゃないと思う……
>>530 (Summer 2004) で廃止
代替品はサンプルブラウザからコピー可能
どうしても必要ならそれより前のSDKを利用すればよい
>>527 関数ポインタもしくは多態
※少し前の論争について
ググれ、ヘルプ嫁も場合によっちゃアリだとは思うがポインタを示すぐらいしてもいいんじゃないか?
回答者が理解してない、勘違いしてると思われる場合もそういう回答の仕方だと指摘しづらい
質問はスレの共有財産であって質問者は貴重なモルモットだということを思い出して欲しい
>>534 同意、後からログ読んで有意義なのがいいね
とかく2chのログは、検索でひっかかるから
>>527 はゲ製板へ移行済みの模様だよ
>>533 一字一句合った関数名を検索にかければ出るけど、
スペルミスはともかく、どういう関数を使えばいいのか分からない場合どうすっぺ。
527じゃないけど興味を持ったので聞きたいのですが 関数ポインタって HRESULT (*p) (int game_status) = { start_init, start_frame, game_init, game_frame } てな感じでしょうか?
新しいフレームワークってたしかDXUTとかいうんだっけか。
(*p)じゃなくて(*p[4])か…orz
確かDXUTってVC6でコンパイルしようと思うと泣けるよね
>>539 良いと思うよ
ソースレベルでシーン管理しちゃうのだったら、別途で添字管理が必要な配列より、
その都度関数を関数ポインタへ直接渡して遷移させる方が個人的に好きだけど
アプリを起動したPCにDirectXのどのバージョンが入っているか調べるAPIってありますか? 自分でも調べたのですけれどOSのバージョンはわかれどDirectXを調べるAPIが見つからない・・・ インストールされているバージョンに応じて処理を切り替えたいのです。
ない
何のためにDirectXは古いバージョンも入れているんだか。
GetDXVersion
>>537 配列とかにするんじゃなくて、1つの関数ポインタを書き換えることで
状態遷移をするのが普通かなぁ。
527でいうgame_statusがそのまま関数ポインタで、switchを使わずに
game_status()を呼ぶ感じ。
まぁ、今は関数ポインタそのものを使うのではなく、クラスで実装するのが
普通だけど、DirectXとは関係ない話だな。
俺的には配列で関数ポインタテーブルになってる方が好きかな。 確かにポインタ変数を書き換える方式の方が処理的には速いんだろうけど 配列として静的に中身が定義されてるとパッと見わかりやすい。
配列もswitchも使わずに関数ポインタを目的の関数のポインタに書き換えるってどうやるの? スレ違いなのはわかってるがどうしても気になる。
普通普通 喪前らWNDCLASSSにウィンドウ関数ぶちこんでるだろ あれと一緒
あ、スマン。ボケてた。 前の処理の関数の最後に関数ポインタが次の関数を指すように書き換えれば良いのか。
変な日本語になったorz 関数ポインタが次の関数を指すよう書き換えるコードをそれぞれの関数の最後に追加すれば良いんだよな。
日本語に限らずC言語でも 関数ポインタが絡む宣言は理解に時間がかかる
1つの関数ポインタ書き換えって HRESULT (*p) (int game_status) p = game_init // で、game_init内の最後で p = game_frame ってコトだよね? 俺もテーブルの方が見易い派だなぁ
553 :
552 :2005/10/19(水) 06:30:41
掲示板だとついセミコロンを忘れて…ヽ(`Д´)ノウワァァァン!! 最悪だな俺orz
だからスレ違いだろ
>>541 OSで判別するか、目的のDirectXのバージョンでしか使えないCOMインターフェイスを
取得できるかどうかで判別するのよ。
詳しくはヘルプの「紹介」>「使い方」>「CまたはC++」>「バージョン」にて
>>546 非配列は、処理の速さというより、オブジェクト指向でいう所のポリモーフィズムというか、
インターフェイスと実装を分離する感じが好きなのよ。もちろん処理も速いけど。
>>552 で言うと、pが何かをクライアントは意識しないで良いからね。
>>555 >非配列は、処理の速さというより、オブジェクト指向でいう所のポリモーフィズムというか、
>インターフェイスと実装を分離する感じが好きなのよ。もちろん処理も速いけど。
実際、そういうところでバグり易いのに、わざわざ処理の分岐をわかりにくくするのは、
あまりよくないんじゃないか?
俺はぶっちゃけ、ポリモーフィズムなんてこれっぽっちもよくないと思ってる。
よーく考えると利点の無いオブジェクト指向言語の改悪機能の一つだと思ってる。
ハイハイ、ワロスワロス
遅くなったけど、ありがとうございました。
>>556 オブジェクト指向を何も理解してないんだな。
556は釣りだろ
563 :
デフォルトの名無しさん :2005/10/19(水) 21:52:57
>>560 ポリモーフィズムなんて、所詮は後付け機能。
ダレが公認したのか知らんけど入れるべきじゃないね。
処理が変われば引数も変わるんだ。
無理やり同じようにまとめるべきじゃない。
強引にポリモーフィズムを突き通したことでグローバル変数を使うような糞設計なんてしてりゃ世話無いよなw低脳君w
>>563 >処理が変われば
たぶんそこの考えが違うんだろうな。
処理が主体なんじゃなくて、オブジェクトが主体なんだよ。
手続き型のパラダイムのままじゃ理解できない。
祭りの予感
ねーねー、DirectXってmsdnライブラリとか JavaTM 2 Platform, Standard Edition, 1.4.0API 仕様 みたいなサイトないの?もちろん日本語のね。
msdnライブラリ
>>563 > 強引にポリモーフィズムを突き通したことでグローバル変数を使うような糞設計
そりゃ単にオブジェクト指向を正しく使っていないだけ。
ポリモーフィズムを上手に活用するのがオブジェクト指向。
569 :
デフォルトの名無しさん :2005/10/19(水) 22:15:39
>>568 具体的にいってよ。意味ねーじゃん。
あと、君がオブジェクト指向に変な意味を付加してるのがわかるよ。
オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、
プログラムを組んでく以上の意味は無いでしょうよ。
後にあるのは設計が下手糞か上手かどうかの話でオブジェクト指向云々じゃない。
ポリモーフィズムはあくまでもオブジェクト指向言語の機能だ。
オブジェクト指向じゃない。
>569 > 具体的にいってよ。意味ねーじゃん。 君が具体論を持ち出した形跡が見当たらないわけだが。 論点逸らすのやめたほうがいいぞ。 > あと、君がオブジェクト指向に変な意味を付加してるのがわかるよ。 わかったからといってどうなるの? > オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、 > プログラムを組んでく以上の意味は無いでしょうよ。 その過程にポリモーフィズムの活用があるのもわからんのか。 > 後にあるのは設計が下手糞か上手かどうかの話でオブジェクト指向云々じゃない。 何の後だよ。 > ポリモーフィズムはあくまでもオブジェクト指向言語の機能だ。 > オブジェクト指向じゃない。 だれがんなこといったんだ?エスパー?
オブジェクト指向の解釈は、絶対真理のバイブルなど無く堂々巡り。 そんなものをいちいちスレ違いなところで議論するのはただの馬鹿。 そんなに解釈を叫びたいのなら、論文にまとめて発表して、支持を集めて公式見解にすればいい。 ここで話す事柄ではない。
>>570 はぁ?じゃあ、聞くけど、
君のこの文↓と
>ポリモーフィズムを上手に活用するのがオブジェクト指向。
俺のこの文↓は
>オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、プログラムを組んでく
どっちがオブジェクト指向として適切なのよ?
>>573 スレタイを100回ぐらい音読するといいよ
C言語の場合 if(flag) { printf("aho"); } else { printf("baka"); }
>>576 せめてprintf文は一箇所にまとめろ
最後に3つだけ。 1.俺の文じゃないこと。 2.君の文は「オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、 プログラムを組んでく以上の意味は無いでしょうよ。」であること。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.俺も移動するからさっさと移動しろということ。
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();
サンプル見る限りじゃオブジェクト指向で組むなということだろう。 まともに組みたい奴はC#に行けって。
>>569 たとえばCのFILE *のようにオブジェクト指向言語と言われていない言語でもかなり支障ないケースがある。
となるとオブジェクト指向の本質はオブジェクト指向言語とそうでない言語の差に含まれていると捉えてよいだろう。
そう考えるとポリモーフィズムや継承はそれに当てはまらないか?
Cより難解でC#より安全でない 中途半端なC++は扱いにくい。 早くDirectXはC#に完全に移行してもらえんかな
DirectXを使ってベターC以上の使い方してるソースなんて見たこと無い
勝手に使えばいいじゃん C#+DirectXのどこに不満があるの
オブジェクト指向とはなにか なんて関係ないじゃん 自分の言葉で話しなよ
589 :
デフォルトの名無しさん :2005/10/19(水) 23:17:28
スクリーンショットを取るコードを書いていますが、 D3DXSaveSurfaceToFile以外でスクリーンショットを簡単にとる方法ってないですかね。 取り込んだデータを別のウインドウに書き出したり手を加えたりすることも考えて、 メモリ上にデータを置けるといいのですが。 D3DXSaveSurfaceToFileInMemory以外だと助かります。
>>588 「完全に移行」してどうにかなる問題じゃねぇw
しかもC#の問題であってDirectX関数が遅いわけじゃないだろう
むしろただ完全に移行しただけじゃ
>>588 の言う遅いDirectXしか使えなくなる罠がw
>>566 MSDNライブラリにDirectXも含まれるよ。
脳内のオブジェクトが猫だの人だのが話したり歩いたりと、 ゲームで自機・敵A・敵B・アイテムなんかでは ポリモーフィズムすることの恩恵と手間隙が異なってくる
594 :
593 :2005/10/20(木) 08:42:43
すみません。z個解決しました
555だけど、まさかあれが荒れる原因になるとは…すまんな
>>589 バックバッファ作成時にD3DPRESENTFLAG_LOCKABLE_BACKBUFFERを指定しておけば、
オフスクリーンメモリ参照し放題だよ。
パフォーマンスの低下が気になるなら、スクリーンショットを取るときだけ仕立て直すか
レンダリングターゲットを変えて強引にいじれるメモリ上へ持ってきてもいいかもね。
596 :
589 :2005/10/20(木) 10:57:37
>>595 ありがとうございます。
なるほど、そういうことができるのですね。
早速やってみたいと思います。
597 :
デフォルトの名無しさん :2005/10/20(木) 15:34:10
>>589 そういう場合はIDirect3DDevice9::GetRenderTargetDataを使う。
おまいらが大好きなタスクシステムはポリモルフィズムですよ オブジェクト指向ネタ引っ張ってスマン
>>598 まともな人はそういう組み方をしない。
同人シューティングでしか流行ってないよ、そんなもん。
>>599 どっちかというと日本のゲーム業界で培われたノウハウがタスクシステムであって、
それらは本来門外不出なのであまり解説は多くなく、会社ごとに実装も違って、
同人なんかは逆に頑張ってクラス作ってるとおもわれる。
>>600 俺、転職多くて4社は移ってるけどそんなの使ってるとこなかったな。
つうかそんなもん偉そうに タスクシステムとか名前付けんなというわけで・・ 春日恭介15歳、青春してます!
603 :
デフォルトの名無しさん :2005/10/20(木) 21:42:33
windowsの確認がとれないからダウンロードできないって いわれたんですけど、なんか解決法とかありませんか??
割れ
606 :
デフォルトの名無しさん :2005/10/20(木) 21:59:56
DirectMusicで周波数・3D・ボリュームの設定って反映できますか?
DirectMusicって市販のゲームで使われたことあったっけ?
使ってるかどうかってどうやって調べるの?
610 :
デフォルトの名無しさん :2005/10/21(金) 07:56:57
>609 どうやってできますか? 一部DirectSoundを使わないといけないような気がするんですが
611 :
デフォルトの名無しさん :2005/10/21(金) 10:35:16
LPDIRECT3DDEVICE9(Direct3D9デバイスへのポインタ)って使用頻度が物凄く高いですが グローバル変数にしたほうがいいのでしょうか? それとも引数に指定して行くほうがいいのでしょうか?
>>610 オーディオパスのGetObjectInPathでDirectSoundとDirectSound3Dを貰えるよ
これらをいじれば
>>606 が可能になる
>>611 その手の話はロクなことにならないので振らないように
>>613 そうですか
すいませんデス
てことはたいした違いもねーから勝手に汁!系ですかね^^;
とりあえず色々やってみます
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;;, //..←ここの値 } 移動や拡大・縮小はそのままの値っぽぃのですが、 回転のデータがどこからやってくるのかわかりません。 どなた様かご教授願います。
クオータニオンで入っているだけ。
LPDIRECT3DDEVICE9のコピーを各オブジェクトが保持する場合、 やっぱりみんな律儀にAddRefとReleaseするんですよね。 でも、グローバル変数的な唯一の変数でプログラム全体で共有するなら、 AddRefいらないですよね。
620 :
デフォルトの名無しさん :2005/10/22(土) 04:47:17
>>619 煽られるの前提で書くけど、自分で管理する覚悟があるなら、律儀さは無くてもOK
MSがCOMっぽさをD3DXで隠蔽しまくっている以上、
COMを意識しなくなるのは当然の流れかもね。
人によってはただの手動スマートポインタになっちまった。
EclipseってDirectXの開発環境として使えたりしますか?
Eclipseに出来ないことはないよ
624 :
デフォルトの名無しさん :2005/10/22(土) 09:12:04
DirectMusicで周波数の設定ってどうやったらできますか?
>>622 Win32+DirectXで使ってるけど、当然ながらVisualC++の方がいいよ。
CVSが簡単に使えたりするのは楽だけど。
>>616 DirectSoundと同じことすればいいだけ
627 :
デフォルトの名無しさん :2005/10/22(土) 13:41:25
Musicだとセグメントにロードだと思うんですがIDirectSoundBuffer8 のメソッドのSetFrequencyを呼んでもどこに反映されるのかわかんないんですが どことどこを関連付け?みたいなことをしなくちゃいけないのかわかりません。
WinAPI質問スレにも書いたのですがスレ違いだと思ったのでここで、 他のプロセスのDirectXを使用したウインドウに対して、 高速にGetPixelしたいのですが、何か方法はありますか?
チーター乙
>>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); で読み込んでポリに貼り付けて表示してるんですがきれいに表示されません。何か解決方法ありませんか?
拡大フィルターんとこでD3DXなんちゃら_NONEを使うとうまくいくんでなかったっけ。
>>632 D3DX_DEFAULT_NONPOW2
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
で、ヘルプを検索汁。条件が厳しいからあまり使わない方が良いだろうね。
普通はuv値に イメージ幅/2のべき乗に切り上げた幅 を渡したり、
テクスチャマトリクスを使って対処とかかな。
635 :
デフォルトの名無しさん :2005/10/23(日) 14:06:51
>>632 512x512でガマンするか、1024x1024にしる。
メモリ消費を気にするなら、128x128のタイルで5x5に分割しる。
>>636 DirectIDCheckerを使えば分かる
638 :
質問です。 :2005/10/23(日) 21:52:08
JPEGを読み込んでRGBの値を得るプログラムを教えてください。
〃∩ ∧ ∧ ⊂⌒( ・ω・) はいはいフォトショフォトショ `ヽ_っ⌒/⌒c ⌒ ⌒ ∧_∧ ⊂(#・д・) フォトショって言ってんだろ!! / ノ∪ し―-J |l| | 人ペシッ!! __ \ \
jpgをRGB形式の画像データに変換するlibって無かったっけ?
642 :
デフォルトの名無しさん :2005/10/23(日) 22:53:59
Musicで同じ音を複数ならしたいときは読み込みを2回する以外に方法ありませんか?
おまえらマルチにかまうなよ
こことゲ製作とニュース系サイトしかチェックしてないのに どれがマルチかわからん
645 :
デフォルトの名無しさん :2005/10/23(日) 23:05:23
はわわ〜
量産型は氏ね
もうBBXは見てないから、向こうでレス無かったらこっち貼っても 俺的にはかまわない。
わからない六大理由 1 読まない 2 調べない 3 試さない 4 理解力が足りない 5 人を利用することしか頭にない 6 単純に頭が悪い
>648 6も「ない」で締めろよ。というか4と被ってない?
わからない六大理由・改 1 読まない 2 調べない 3 試さない 4 理解力が足りない 5 人を利用することしか頭にない 6 ↑これらを改善する心意気すらない
どうせなら縦読みで意味があるようにしようぜ
JPG画像読み込みか。D3DXCreateTextureFromFileExしてLockなんだろうが、 D3Dを使いたくなかったゆえFreeImageというライブラリを使ったことがある。 なかなかよかった。
グラフィックソフトで余白埋めるのが一番手っ取り早い
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でできるのですが・・・。
GetSurfaceLevel()では不満か?
657 :
655 :2005/10/24(月) 11:41:13
それでSetSurfaceLevel()かBltFast()のようなものがあればいいのですが・・・
全部人に聞く気かよ。
659 :
655 :2005/10/24(月) 12:02:38
すいませんでした DirectDraw使うようにします
>>655 今の技術が分からないからって昔の技術を使う、ってのは…進歩がないよ。
GetSurfaceLevelでサーフェスを手に入れて、そのサーフェスに書き込めば、結果はテクスチャに反映される。
だからSet〜は要らない。
転送方法はデバイスに付いている。IDirect3DDevice9::StretchRectとか。
但し、この命令はサーフェスの属性で使えたり使えなかったりする。
テクスチャ→テクスチャと転送するなら、
頂点変換済みの四角形ポリゴンを使ってテクスチャに四角形を描画するとよい。
具体的には、t-potっていうホームページで幾らでも確認できるから調べてみれ。
661 :
655 :2005/10/24(月) 21:14:47
660さんありがとうございました。 StretchRectで無事できました。
662 :
デフォルトの名無しさん :2005/10/25(火) 23:13:47
サウンドをDirectMusicで鳴らしてるんですが周波数を上げたら音が途中できれたり します。原因として何が考えられますか?あと周波数ってピッチと解釈していいんですか?
663 :
617 :2005/10/26(水) 02:08:27
618さんありがとうございます。クォータニンにして突っ込んだら 無事動きました。 すみません、もう一つお聞きしたいことがあります。 Xファイルのデータで、SkinWeightsのmatrixOffsetという データがあり、ボーンのローカル座標系に変換するマトリクス とのことですが、ボーンが階層になっている場合、親の逆行列 を子に積算していけばいいのでしょうか。 へっぽこな質問かもしれませんが、認識違いがありましたら ご指摘願います。
>>663 あれ? そうだったっけ? その辺で逆行列を使った記憶がないなあ。
その行列は、ローカル座標系の頂点に演算したら、親の座標系になるんじゃ?
行列に(1,0,0)をかけて、どういう値が帰ってくるか考えてみ。
665 :
664 :2005/10/26(水) 07:40:41
ごめん嘘いった。 一旦ローカル座標系にしなきゃならんから、説明の通りでいいのか。 プログラムで姿勢行列を再構築して変化を与えて元に戻す、と。 matrixOffset * ローカル座標行列 * World * View * Proj で、ローカル座標行列のアニメーションとか積算を自力でやればいいのかな。
666 :
デフォルトの名無しさん :2005/10/26(水) 22:29:01
DirectMusicでリスナの位置を変更するにはどういう手順をふめばいんですか?
>>666 ヘルプに書いてあることいちいち聞くなよ
ソースコードジェネレーターに期待してんなら厨房王国行け
668 :
デフォルトの名無しさん :2005/10/27(木) 14:15:34
質問です。XP、.NET 2003 です。 2Dのゲームアプリケーションを作ろうと思っているのですが、 Direct3D を学ぶか、DirectDraw を学ぶかで悩んでいます。 描画関係で行うのは、基本的に png などの画像をそのまま描画するだけで、 拡大、回転などといったことはしないため、機能的には DirectDraw で十分だと思います。 ですが、せっかく Direct3D という最新の技術があるにもかかわらず、 古い技術を今から学ぶのもどうかと思います。 今開発されているようなアプリでも、DirectDraw は使われているのでしょうか。 それとも、今はとくに 3D 描画が必要の無いものでも、Direct3D が使われているのでしょうか。 よろしくお願いします。
>>668 もう迷ったらDirect3Dでいいでしょ。
単純に描画機能だけじゃなくて、
周辺環境のことも考えると色々と有利だから。
特に最新の情報はD3Dのほうが圧倒的に多い
670 :
668 :2005/10/27(木) 14:33:43
>>669 なるほど。
まだどこが有利かと言う点は理解できていませんが、学びながら理解して行こうとおもいます。
とりあえず Direct3D を用いることにします。
ありがとうございました。
とりあえずDirectDraw使ってみて 「ああ、やっぱりDirect3Dにしとけばよかったorz」 を体験するのもいいかも
両方やればいいだけ。
画像をそのまま描画するだけならDirectXすら不必要
DirectDrawのコードのままDirect3D使えたらいいな。
2D使いたいだけならスプライトを使えばいいだろう
俺は2Dの場合はレンダラクラスでラップしているよ。 レンダラ差し替えでDirect3DもDirectDrawも使えるようなのを 想定していたけど、結局Direct3Dしか使っていない。
DirectDrawは過去の遺物なので存在をきれいさっぱり忘れていい。
。・゚・DirectDraw・゚・。
DirectX9からDDって使えるの?
GDIにしとけ。簡単。
GDIで少しでも高速にしようと思ったらDirectXなんかよりずっと難しい
.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をビルドする方法教えてー
684 :
682 :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 と入ってるのですが、ここじゃないんですか?
685 :
682 :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 これだったのかー 悔しいです。 ありがとうございました。本当に。 これでういた時間有効に活用させていただきます。
688 :
デフォルトの名無しさん :2005/10/30(日) 01:04:19
DirectMusicで3Dサウンドをできるようにしたんですが複数の音をセグメントに ダウンロードしたときはリスナの設定も複数しなければいけないんですか? リスナは1つを固定で全セグメントに対してみたいなことはできませんか?
XFileに関する質問ですが 3つの行動 (例) ・斬る(上半身) ・走る(下半身) ・走りつつ斬る(下半身+上半身) の再生を行うにあたって 現在、XFileを上半身、下半身といった具合に2つ作って 再生させてますが、この場合、まるで 初期のPSのゲーム状態(間接が分離したモデル) 一つのスキンとして見せたい場合 一つのXFileに3つのアニメーションを作るもんなのでしょうか それとも2つの異なるXFileを 合成するような技でもあるのでしょうか
質問 画面が、ガラスのように散らばっていくエフェクトなどを作りたいんですが なんか、参考になるエフェクト関係の良い本やサイトとかないですかね? 作ってる最中で行き詰ってしまって、先に進めない・・ よろしくお願いします。
>>690 普通は全モーションを作ると思うけどなあ
もしくはモーションブレンド? よくわからないな
>>691 まず、書き込んだ画面をテクスチャに書き込む。
バックバッファからテクスチャのサーフェスへStretchRectでOK。
次に、スクリーンをスクリーン座標でポリゴン分割して、テクスチャ座標を割り当てる。
それをエフェクト用の透視変換行列を元に逆変換して、3D空間へ変換しておく。
各ポリゴンについて、移動方向、移動速度、回転軸、回転速度の4パラメータを決定。
後は普通に時間積分して動かしていく、って感じかな?
3Dを使わないで画面がパリーンと割れるだけなら、
透視変換行列云々のところが要らなくなるはず。
693 :
691 :2005/10/30(日) 17:24:56
ここで謝罪↓
酢マン
もっと心をこめて大胆に!
キッコーマン
698 :
691 :2005/10/30(日) 17:56:35
>>692 回答サンクス
自分も同じように空のテクスチャを作って、それに画面を書き込んで
D3DXVec3Unprojectを使って逆変換〜ポリゴンに貼り付け〜
とやってみたんだが問題がでた。
z軸の回転移動は、z成分の値が変化しないから、ちゃんと機能した。
でも、XとY軸の回転変換をするとポリゴンが表示されない部分が出てきた。
調べてみたんだが、スクリーン座標から逆変換した3D空間のz座標は、
カメラ座標を作るときに指定した、カメラの位置から1離れた位置のz成分になる。
(例えば3d空間のカメラ位置のz成分が-10なら、逆変換後のポリゴンのz成分は-9になる)
つまり、カメラ位置とポリゴンの位置が近すぎるため、回転変換をすると
カメラのレンズよりも後ろに行ってしまい、見えなくなってしまうみたい。
699 :
690 :2005/10/30(日) 18:15:04
>>692 レスどもです
なるほど全モーションですか。
ネットで調べるに
気になったのがt-potさんの
頂点ブレンドだけども
難しそうだ
DirectX9での質問です 正射影でプログラムを組んでいるのですが 3D座標にあるモデルのスクリーン座標を求めたいのですがどうやったらよろしいでしょうか?
計算すればよいだけでは?
702 :
700 :2005/10/30(日) 18:38:49
言葉足らずですいません。 その計算の仕方がわからないのです MSDNのヘルプのD3DXMatrixOrthoLHの項にには行列で それらしいことがかいてるのですが全く理解ができません…
>>702 行列がわからんのなら諦めろ。
諦めたくなかったら勉強しろ。
704 :
700 :2005/10/30(日) 19:08:32
それをいわれるとおしまいなのですが… 数日勉強してもわからないから何かアドバイスを、と質問したわけでして^^;
D3DXVec3Project
706 :
700 :2005/10/30(日) 19:30:17
ありがとうございます 随分と調べたつもりでしたがその関数には気づきませんでした
707 :
デフォルトの名無しさん :2005/10/30(日) 20:06:15
DirectX8.1のSDKを入手したいのですが、 ドコかに無いでしょうか? マイクロソフトには見当たりませんでした。
現在使用しているビデオメモリ量と、最大量を取得する方法はありませんか?
709 :
700 :2005/10/30(日) 22:59:53
D3DXVec3Projectを使ってスクリーン座標を求めようとしたのですが 色々試してもうまくいきません 実行して何も押さない状態だとちゃんとした情報が返って来ます でも物体を動かす(キーボードで)と変な値になってしまいます。 これはどういった原因が考えられるでしょうか? 何かありましたらよろしくお願いします
>>709 (゚Д゚)ハァ?
変な値を与えてるからだろ。
711 :
700 :2005/10/30(日) 23:22:47
完全に変な値でしたら初期状態でマトモな値が返ってこないと思ってきいてるのですが…
>>711 関数に与えた値と、出てきた値を比べればいいじゃないか。
それが違ってるならDirectXのバグでしょ。
713 :
700 :2005/10/30(日) 23:30:16
関数に与えた値と出てきた値とはどういうコトでしょうか?
どうやら釣られたらしい(´・ω・`)ショボーン
ああ、またC言語からやりなおしなやつが1名…
716 :
700 :2005/10/30(日) 23:40:26
スグ釣りとかいうのはやめてください どの辺がつりに見えたのかはわかりませんがこっちは真剣です
717 :
700 :2005/10/30(日) 23:43:03
解決しました。
もういいです。
>>716 勝手に人の番号で発言するのはやめてください
718 :
700 :2005/10/30(日) 23:44:12
>>717 ホントネタじゃないんでやめてください。お願いします
今日一日これについて潰しちゃってかなり困ってるんです
D3DXVec3Projectを知ってから4時間半ちょい
720 :
700 :2005/10/30(日) 23:48:34
>>717 漏れのレス番騙って荒らすのは止めてくれ。
721 :
700 :2005/10/30(日) 23:48:40
最初に質問したスクリーン座標に変換する方法について です
722 :
700 :2005/10/30(日) 23:49:24
723 :
700 :2005/10/30(日) 23:49:52
>700がすっかり玩具な件について
725 :
700 :2005/10/30(日) 23:54:50
いっぱい釣れたーヽ(´▽`)ノ
726 :
700 :2005/10/30(日) 23:56:35
もういいです。 当然質問側ですからある程度なにか言われるとは思っていましたけど 正直ここまでからかわれるとは思いませんでした。 少なくとも俺は本気で解決したくて質問しました。 真剣に聞いてるのにそれすらわかってもらえず残念です。 ただD3DXVec3Projectを教えていただいたのはありがとうございました。 ほんの少しですが前に進めたとは思います
727 :
700 :2005/10/30(日) 23:57:28
俺が一番セクシー
殺伐としたスレにはやっぱ鰻が必要だな。
煽りに切れずにジッと待ちんさい 「物体を動かす」というのは、恐らく物体のワールド(ローカル)座標行列を動かしているのだろうけど、 それがD3DXVec3ProjectのpWorldに相等。恐らくそこをミスっているのだろう。 pWorldに渡した行列をモデル座標に適用すると、しっかりワールド座標になる …ような行列にちゃんとpWorldが該当するか確認。 あまり安易にD3DXVec3Projectに頼ると、シェーダー書くとき困るよん。
730 :
700 :2005/10/31(月) 08:11:24
ども
731 :
700 :2005/10/31(月) 08:26:57
ドム
D3DXCreateMeshFVFで質問ですが NumVertices [in] メッシュの頂点の数。このパラメータは 1 以上でなければならない。 とありますが65534以上の値を渡すとエラーが出るのですが こういう仕様なのでしょうか? NumFaces [in] メッシュの面の数。有効な範囲は、0 より大きい値から、最大 DWARD 値 - 1 (通常は 2^32-1) (最後のインデックスは予約されているため) までである。 とあったのでVerticesも2^32だと思っていたのですが。
>>732 >こういう仕様なのでしょうか?
ハードウェアに依存
>Verticesも2^32だと思っていたのですが。
VertexとFaceがいっしょなわけがない
自殺幇助か
737 :
デフォルトの名無しさん :2005/10/31(月) 23:20:15
今フルスクリーンでゲームを作ってるんですがオープニングムービーをいれたい と思ってます。どういった手順ですればできますか?現在D3D関連の描画をしてい るんですがそれをとめずに行いたいです。できればムービーからテクスチャに 書き込んでそれを描画したいと思ってます。どなたかアドバイス・サンプルなど ありましたらよろしくお願いいたします。
最初から丸投げマンセー!
MAYAを買う
まーやーねー!この子ったら!
743 :
デフォルトの名無しさん :2005/11/01(火) 19:01:06
typedef struct _hoge { LPDIRECT3DVERTEXBUFFER9 pVB; LPDIRECT3DINDEXBUFFER9 pIB; } hoge; と宣言してビルドすると、 '_hoge::LPDIRECT3DVERTEXBUFFER9@pVB' : 識別名を宣言するのに、型が指定されていません。 '_hoge::LPDIRECT3DINDEXBUFFER9@pIB' : 識別名を宣言するのに、型が指定されていません。 と言われてしまうのですがなぜでしょうか? d3d9.hはちゃんとインクルードしているのですが…。
744 :
743 :2005/11/01(火) 19:25:13
スマン。俺がバカだった…。 LPDIRECT3DVERTEXBUFFER9 pVBの間のスペースが全角だった…。 半角にしたらコンパイルちゃんと通りました。 IDEの設定で全角スペースだけ強調できたらいいのに。 お騒がせしてすみませんでした。
んもぉー
質問 class これらを使って描画する{ -いろいろ変数とか略- LPDIRECT3DVERTEXBUFFER9m_pMyVB[8];//頂点バッファの入れ物 D3DXVECTOR3 center_of_gravity[7]; -略- }; こんな感じでクラスの中に定義してプログラムを作っていたら表示がおかしくなりました。 また、 class これらを使って描画する{ -略- LPDIRECT3DVERTEXBUFFER9m_pMyVB[8];//頂点バッファの入れ物 -略- D3DXVECTOR3 center_of_gravity[7]; }; このようにLPDIRECT3DVERTEXBUFFER9型の変数とD3DXVECTOR3の変数をちょっと離したら 正常に表示されました。 どこも弄っていないのにただ単に変数の位置を変えただけで、表示がおかしくなったり直ったりします・・ こんな理不尽なことプログラム組んでてかなり恐ろしいことなんですが、 これって、仕様なんでしょうか? どうか、よろしくお願いします。
仕様を疑うよりも前に自分のミスを疑え。 絶対にお前のプログラムミスだ。
748 :
700 :2005/11/03(木) 20:02:40
どうせ、範囲外アクセス(ry
>>747 ,748
理不尽な野郎は自分でした_| ̄|○
範囲外アクセスでビンゴ
変数center_of_gravityは、頂点バッファの数だけ必要なんだから
center_of_gravity[8]でした
申し訳ございませんでした
んもぉー
どうしてキミはそうかなぁ。もっと確認しなって言ってるじゃん。
DirectX8のD3DXCreateSphereで球を描写した時に色をつけたり 金属質の様な感じを出す事は出来るでしょうか?
はい、出来ます。
質感はシェーダで色々出せるが 普通にそこらにあるスペキュラライティングで十分じゃね
755 :
デフォルトの名無しさん :2005/11/04(金) 19:36:02
PS2などのバイブレーション機能付のゲームパッドをUSB接続し、それをDirectXで振動させることは可能なのでしょうか?
変換アダプタの対応が必要
草加、dd(´・ω・`)
それを股間にあてがうわけだな
変換アダプタを使った場合で電気をUSB経由で供給するタイプの場合は 電圧が足りないので揺れがイマイチになる 専用のフォースフィードバック機器に比べて震えの制御も細かくできない なので股間に利用する場合はMS製(もう売ってないけどな)をはじめとしたしっかりしたタイプを選んだほうがよい 専用のものでないと波形エディタで作りこんでもただ揺れてるだけで揺れの差を区別ができない 変換アダプタでもACアダプタから供給するタイプならPS2で利用するときと同じ程度の強さで揺らすことが出来る
>>755 なんだ
>>758-759 のようなことしたいのなら普通のUSBバイブ買えばいいのに
海外では結構出てるのに国内だと数種類しかないのが難点だけどな
チャットから特定文字([&弱]とか[&リズム])を受け取ると振動するようにできるから
いかにして相手にそういうキーワードを書き込ませるかがポイントだな
>>760 そのキーワードってカスタマイズできるの?
最初のうちは汚いスパゲッティソースでもいいんだよ。 作って動けば。最後まで完成させることが大切なんだ。 ただいつまでのそのスパゲッティソースのやりかたじゃダメなんだ。 だけどどんなに汚いソースでも作品は完成させろ。 たくさんの作品が血となり肉となり骨となる。 趣味のプログラムならばね
>>761 ふたばちゃんねる の えろげ にスクショ載せたよ
5ページぐらい見た
5ページ見て無ければ、6ページ目を見ればいいじゃないか。
そんなにエロ画像みせてどうするつもり?
・全く違うところを見ている ・カスタマイズウィンドウのスクショを探そうとしていない ・何を勘違いしたのかプレイ中のスクショを探している ・ついついエロゲ絵に見とれている ・そもそもDirectXに全く関係ない
ホモとか虹グロばっかりで気持ち悪くなってきた 番号教えれば済む話じゃないのか? 初めての掲示板でなにか見落としてるのかもしれんが 普通に初めから絵をみていく分には見落としようがないぞ それとカスタマイズウィンドウってなんだ?
>>770 少なくともこのスレ見に来る奴は
何かのソフトで設定ダイアログぐらい見たことあるだろ
明らかに場違いなのはこれしかないぞ
orz.2chan.net/5/red/1131110217821.htm
>>771 把握した
これはこれは貴重な画像をありがとう
ヒャッホー!ようやく表示した画像を動かせるようになったぜ。 先は長いが、頑張ろう。
775 :
デフォルトの名無しさん :2005/11/05(土) 01:00:46
フルスクリーン(800*600)で2のべき乗の数でないフルカラーのイメージ800*600を 綺麗に表示させたいのですが方法ありますか?テクスチャの読み込み時とかに 2のべき乗に切り上げられないようにしたり1024*1024のイメージにしてテクスチャ 座標とかで表示させてみたりしてるんですがうまくいきません。フルカラーだから なのか何が原因かわかりません、アドバイスお願いします。
777 :
デフォルトの名無しさん :2005/11/05(土) 01:45:28
ジョイパッドからの入力を取得するクラス、 class MyInputer{ LpDirectInput8 DI; LpDirectInputDevice8 DID; Init() (その他省略) } ってのを作ってて、クラスのメンバ関数Init()を呼び出したら 初期化されるようにしてるんですが、その関数内で DI->EnumDevices(・・・) とする際、第二引数に指定するコールバック関数って、 クラスのメンバ関数として作成できないのですか? できないとしたら、どのように実現すればいいですか?
779 :
デフォルトの名無しさん :2005/11/05(土) 01:49:00
ヒント:static
>>762 頭の悪い俺はスパゲッティ化すると
麺が切れて、拡張や付けたしが不可能になる
>>781 駄目な点を踏まえて作り直すのは有りだと思うが。
時間もそれほどかからないだろうし。
ゼロから作り直すのを繰り返すほうがいい 基本的なところをマスターするっていう程度ならな そういう意味でゲ製作の土日スレいいぞ
てか、最初から完璧なコードを目指すなんて無謀だろ。 何度も作ったり、作り変えたりしてれば、 自然に、わかりやすく、メンテしやすいコードがわかってくる。
すみません。 D3DVIEWPORT9とSetViewPortで画面を4つに分割してそれぞれ個別にレンダリングするようにしたのですが、 一番最後に定義した画面以外Clearすることが出来ずに連続してメッシュを描画してしまいます。 どうしたらいいのでしょうか
ビューポートを設定する毎にClearを呼べば良いんじゃないでございましょうかうんこ。
やってみます。ありがとうございましたちんこ
んもぉー
789 :
デフォルトの名無しさん :2005/11/05(土) 23:55:55
フルカラーのイメージをフルスクリーンできれいに表示させたいのですが どうすればいいですか?
↑ツン ↓デレ
793 :
デフォルトの名無しさん :2005/11/06(日) 05:01:37
789です。DirectXを使って表示させたいのですが
>>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に して読み込んでテクスチャ座標であわせてもきれいには表示されませんでした。 という状況です。
>きれいには表示されてません。 何でこういう表現使うかな・・・
お察し下さい
フィルタ関係だろうか・・・ 元画像と表示した画像をうpしたら? どう綺麗じゃないのか分かりやすいと思う。
透過色決めてるんだろうから1024*1024のなかに800*600の絵をブチこんで(背景は透過色) あとはスケーリングでもしたらどうだろうかな
はじめまして。 現在ゲームプログラム初心者として、シューティングゲームに挑戦しています 今のところ自機を動かして弾を出す、といったところまでできたのですが、ここで問題が起きてしまいました。 これまではキーボードの矢印キーに応答してスムーズに動いていてくれたのですが、2〜3日前から急にカクカクするようになってしまいました。 DirectX診断ツールでは特に異常はなく、WindowsUpdateも最新になっています(D3D9.dllがデバッグ用とはでてます) グラフィックドライバもcataryst5.7から5.10まで試したものの変化はありません プロセス管理を眺めてみてもこれといって処理が持っていかれてるわけでもなく、原因がわからず困っています ECOなど普通のゲームは問題なく動いているのに、自作のものとSTGアルゴリズムについてきたサンプルの動作がもたついてしまいます(以前は滑らかに動いていました) 原因がわからずほとほと困ってしまっています なにか「○○が原因じゃないか」といったことがわからないでしょうか? 環境 XP SP2 + DirectX9.0c( OCT2005 ) + VC++.NET
>>801 根本的にWindowsがおかしい。
または常駐アプリの何かがおかしい。
スレッドを使っていたら優先度が低く設定されている。
…などなど。
>>801 何を変更したことによってカクカクし始めたのかが分からないとなあ。
そのころに変更した処理のところをチェックしてみるしかないよ。
一応、過去経験したものと言えば ・描画方法によるが、bmp の範囲外を表示すると極端に遅くなる 例えば 100*100 の bmp に対して、BitBlt で表示範囲を 200*200 にしたとき。 もしくは、正常に読み込めていない bmp を表示しようとしたとき。 他には ・デバッグモードにすると遅い ・jane その他複数のアプリを起動していたら遅い とか。
後は、フェード処理は何も考えずにやるとものすごく時間がかかる、くらいかな DirectX でどこまで軽減されるかは知らないけど。
808 :
デフォルトの名無しさん :2005/11/06(日) 15:26:39
>>801 今のところWindowsに対して行った作業です
・ウィルスチェック
・回復コンソールからチェックディスク実行
・Windowsの修復(その後アップデート済)
・すっきりデフラグ
・DirectX SDKの再インストール
・Win高速化を利用して不要と思われるサービスの停止(タスクバーの調子がよくなりました^^;
・不要なスタートアップの削除
スレッドは使ってないです
>>803 そうですね
>>804 特に変更した箇所は無いんですよ
いつも通りにシャットダウンを行って、次の日に立ち上げたらこのようになってました・・・
なので、原因の特定がさっぱりできなくて、困ってここで質問させていただきました
さらに原因の特定がわからない点として、ごく稀に普通に動作する、ということがあるんです
この時は、動かないとき同様に立ち上げたにもかかわらず、カクカクすることが無かったりします
何がなんだかもう・・・・
クリーンインストールしたほうが早いような気がしてきました。。。。
809 :
801 :2005/11/06(日) 15:52:49
すみません、808は
>>801 ではなく
>>802 です
間違えてしまいすみません
>>805 描画方法はSpriteを使ってます
切り抜き作業は行っていますが、表示範囲外の指定はおこなっていないです
>>モード
コンパネのDireceXのモードはRetailにしています
>>複数のアプリ
他のアプリケーションは起動してません
>>806 つまりメモリの使い方がおかしいということでしょうか?
見直してみます
>>807 フェード処理というと、ランプを徐々に暗くしていくということでしょうか?
まだ始めたばかりなので、自機と弾と背景の処理でいっぱいいっぱいです^^;
>>808 どうせ配列のオーバーランとか、初期化忘れだ。
811 :
801 :2005/11/06(日) 17:13:37
>>810 一応これまではエラーもカクカクもなく動いてたんですよ
ソースはいじくってないので、間違えてはいないと思うのですが。。。。
とりあえず、ネットのサンプルやDirectX本を参考に場つなぎで作ってたので、これを機にソースを整理してみます
それで、進展というか変な発見をしました
「宮里藍の成績が気になる」ということで、canopusのFEATHERというアプリケーションを立ち上げながら、実行をしたんですね
そしたらなんとそれまでのカクカクがなくなったんです
ためしにSTGアルゴリズムのサンプルも動かしてみたんですが、こちらも普通に動きました
それで、調子がいいのでテレビを見ながらの行動を止めて再実行してみたんです
すると今度は再びカクカクな表示に。
FEATHERはオーバーレイ表示するアプリケーションなので、もしかしたらとWMP10を起動
そしたらまたカクカクがなくなったんです
これはいったい。。。。。
質問です 私はレンダリングターゲットとして使う空のテクスチャを作って、そのテクスチャ に画像を書き込み、テクスチャとしてポリゴンに貼って利用していたのですが、 この空のテクスチャは、第六引数にD3DPOOL_DEFAULTを指定して作っているので デバイスが消失した場合、IDirect3DDevice9::Reset メソッドを呼ぶと この空のテクスチャが使えなくなり、描画されなくなってしまいます。 だから、このデバイスが消失しても対応できるように 引数にD3DPOOL_MANAGEDを指定した空のテクスチャ を別につくり、これに始めに書いたテクスチャをコピーしたいと思っています。 このコピーの方法がわかりません。 良い方法は、ないでしょうか? よろしくお願いします。
>>801 timeGetTimeを使っているのに、timeBeginPeriodを呼んでいないんだろ。
>>812 余計なテクスチャなど作らないで普通にロックしてmemcpyすればいいよ
815 :
812 :2005/11/06(日) 17:48:45
>>814 D3DPOOL_DEFAULTを指定の時は、ロックできないので無理だと思います。
自分はLockRect(&rect,0,0)を使って、rect.Pitchとrect.PBitsを利用して
コピーしようと思いましたが、ロックできないためこの方法は使えませんでした。
そもそもレンダーターゲットってD3DPOOL_DEFAULT じゃないと作れないんじゃなかったっけ。
>>815 UpdateSurfaceかUpdateTexture
818 :
801 :2005/11/06(日) 19:39:18
デバッグ関係がおかしいのかと先走って、再び.NET関係を全部入れ替えてきました
レスが遅くなりました
>>813 ご指摘どおりtimeBeginPeriodは呼んでいませんでした
これをソースに入れたところ、前のときより滑らかになりました
前は1キャラ分飛んだりしていたので、大分よくなりました^^;
初歩的なミスですみません
しかし、やはりなぜか突っ掛かりのようなものは残ってしまってます
サンプルも同様なので、マシンに何かしら問題があるのかもしれないです
とりあえず、FEATHERと一緒に起動させておくと何とかなるので、しばらくこれでやってみます
今日は半日近くお付き合いいただき、ありがとうございました
んもぉー
>>818 >しかし、やはりなぜか突っ掛かりのようなものは残ってしまってます
一定間隔でOSに鞭打つスレッド作るか
または同様な処理をするDirectMusicを初期化しておけば滑らかに動くぞ
822 :
デフォルトの名無しさん :2005/11/06(日) 22:39:54
なんでSDKのサンプル(問題が起きていないソース)みてその通りに書かないんだろう・・・ 早く死ねばいいのに・・・
インスパイア
全てのサンプルがあるわけでもないし
>>824 ここで質問される内容はサンプルみればほとんどOKな内容ばっかりだろw
レアケースなんて気にする必要のあるレベルの人間じゃないじゃんw
>812 俺も8で似たようなことやってるが、9でやるなら、 CreateOffscreenPlainSurface(D3DPOOL_SYSTEMMEM) ロストしないバックアップ用サーフィスを作成 GetRenderTargetData バックアップにコピー UpdateSurface バックアップから復帰 こんな感じか?
827 :
801 :2005/11/07(月) 01:00:33
>>820 なるほど、そういった手もあるのですね
DirectMusicに手を出し始めたら、試してみます
>>821 さすがに数枚のスプライトで処理落ちされるのは.・・・・
カーソル表示にしてるだけで処理落ちする環境があることを忘れないでいてください
知るかそんなもん
ちなみにPentium3世代……
831 :
デフォルトの名無しさん :2005/11/07(月) 12:57:57
質問です。 Dolbyデジタル(サラウンドなども)の規格のDVD or CDを読み込んで 音の出ている場所を調べる方法はありますでしょうか? 例えば、前から音が出ているとか、後ろから出ているとか、そういう 情報をDirectSoundを用いて知ることは可能でしょうか? スピーカの信号をA/D変換して取得するという方法もありますが、 DirectSoundやなにかほかのDLLを用いることで調べることはできますか? よろしくお願いします。
832 :
デフォルトの名無しさん :2005/11/07(月) 13:10:15
トランスフォーム済み頂点の平行移動ってどうやるのでしょうか 今まで未トランスフォームを行列で移動させてきたので いざ変換済みを作ってみると方法が全くわかりません…
833 :
832 :2005/11/07(月) 13:21:41
書き忘れました。 m_pVB->Lock();でなら出来ると思いますが 毎回ロックするのは処理が重くなるんじゃヴォケ!と 3Dの質問したときに言われたもので他の方法がわからない、というコトです
Lockはそんなに重くないよ。 頂点バッファには、できるだけ書き込みアクセスだけで 済むように作るのが吉。 ちなみに、トランスフォーム済みの頂点を移動するのは Lockして書き換えるのが普通。 っていうか、おまいさんはUP系のDrawPrimitiveを使った方が 何も考えなくて済む分幸せになれそうだが。
835 :
832 :2005/11/07(月) 13:50:23
ありがとうございます これで心置きなくロックできます >おまいさんはUP系のDrawPrimitiveを使った方が >何も考えなくて済む分幸せになれそうだが。 確かに…必要以上に考えすぎてる感はあります…
Direct3Dでは、2のn乗のサイズしか扱えませんが、 たとえば、640*480などの画像を扱うとき 皆さん、1024*512のサイズを用意して読み込ませて0-640,0-480の部分 を使用したりしているのですか? それをすると、無駄な部分が出てくるのであまり好ましくは無いのですが なにかいい方法などありませんでしょうか・・・。 ご教授願います。
ありません。 無駄がいやなら、小さいのを複数並べろ。
>>836 べつにDirect3Dには2のn乗なんて制限はないよ。
制限があるのはビデオカード側。
Direct3Dは自由なサイズでテクスチャを作成できる仕様。
使えるかはD3DPTEXTURECAPS_POW2で判定できる。
まず使えないけどな。使えるのはリファレンスラスタライザくらい。
D3DPTEXTURECAPS_NONPOW2CONDITIONALというのもある。
D3DPTEXTURECAPS_POW2がオフでも、こちらがオンなら条件付きで使える。
これは最近のビデオカードならほとんどが対応している。
すいません、質問させて下さい ゲームのスコアを出すために、LPD3DXFONTのDrawTextを使って 数値を表示しようとしているのですが・・・ int型→LPSTR型への変換の方法は何かないでしょうか?
DirectXと何の関係が?
ワロタ
843 :
デフォルトの名無しさん :2005/11/07(月) 21:29:32
DirectXでなんとかしたいんです・・・
シェーダー使って変換?
そこをなんとかっ・・・!
>836 テクスチャとして使わないなら640*480だろうが何だろうが大抵扱える。
ではC++の方逝ってきます・・・スマソ
sprintfとかitoaとか。 まあC++じゃないだろ、Cだな。 DirectXってそんなに何でも出来る万能ライブラリって 思われてんのかねえ?
C++だったら、std::ostringstreamあたりかな。
851 :
836 :2005/11/07(月) 23:22:25
質問に答えてくださいました皆様、ありがとうございました。 潔く2の累乗を読み込むことにします。
>851 2D用途なら、 適当に分割したテクスチャを合わせて一枚に見せるとか、 背景用一枚絵など、アルファも回転も使わない単なるコピーで良いのなら、 オフスクリーン サーフェイスを作ってStretchRectとかあるけどな。 まあ今どきのVRAM容量なら、ちょっとやそっと無駄にしたって問題ないだろ。
ネットワークゲーム用にサーバ/クライアントの通信ポート指定ってできるんですかね?
855 :
デフォルトの名無しさん :2005/11/08(火) 18:53:23
DirectSoundか何かを使用して、 リアルタイムにオーディオレベルを表示させることはできるのでしょうか? IDirectSoundBuffer8にGetVolume()というメソッドはあるようなのですが…
>>840 俺も同じこと考えてたんでちょっとだけ
ltoaとかitoaとか使って変換できたはず。
それをDrawTextで表示できるよ。
そこだけはC++の範囲だからすぐ出来ると思うよ。
858 :
812 :2005/11/08(火) 22:04:27
>>817 >>826 似たような感じで、GetRenderTargetData
を使って、うまく経由してコピーすることができました。
情報を有難うございました。
860 :
デフォルトの名無しさん :2005/11/10(木) 00:59:14
DirectX7の時代、ちょこちょこソフト作ってたんだけど そのときDirectX7.0用のhelp見たいのがただで配られたきがするんだけど どっかにないかな? なんかdirectx7.0用msdnみたいなの
>>860 そういう問題があるからDirectXは最新でやれって言ってるのにアホかお前。
無駄な苦労、死ぬまで続けて生きていけばいいよw
DX9SDKの追加ヘルプの中に、789の3種類のヘルプがあったと思う
864 :
デフォルトの名無しさん :2005/11/10(木) 01:53:32
DirectX関係だと思うんですがStream.hがないってエラーがでるんですがこれは 何を入れたら直りますか?
今ダウンロードできる日本語ヘルプの中にはDirectX7が含まれてなかった 漏れも以前ダウンロードした記憶があるんだがはてさて・・・・ Microsoft DirectX 9.0 Update (October 2004) 日本語ドキュメント DirectX 9.0 (2002) 日本語ドキュメント DirectX 8.0 日本語ドキュメント (C/C++ 開発者用)
DX9SDKのExtraだな。詳しく知らんが Summer2003になら確実に入ってる。 t-potの本でも買ったれ。
>>864 まぢれす。
stream.hという空のファイルを作っちゃえば解決。
C++でDirectShowを用いてカメラからのキャプチャを試みています。 キャプチャ自体は出来たのですが、キャプチャサイズを640*480にする方法が分かりません。 カメラ、キャプチャカード共に640*480に対応しているのですが、 320*240で出てきてしまいます。どうしたらいいでしょう?
870 :
855 :2005/11/10(木) 18:11:39
>>856 ありがとうございました。
教えていただいた内容、ちょっと調べてみたんですが力技ですね。
ようはバッファをロックして生データを見るってことですよねぇ。
872 :
デフォルトの名無しさん :2005/11/11(金) 11:55:33
すいません、DirectXシェーダプログラミングという本を買ったのですが、 構文エラー : 識別子 'LPDIRECTXFILEDATA' と出てしまい、コンパイルが通りません。 コンパイラは、VIsualStudio.net2003で、DirectX・SDKのバージョンはAugust2005です。 他のDirectXプログラムはコンパイル通っています。 よろしければ解決法を教えてください。
まずはC言語から学(中略)かったかボケ。
>>872 なんかのファイルにLPDIRECTXFILEDATAってのが宣言されてんだろ。
dxsdkの入ってるフォルダの\includeの中からその宣言が含まれてるファイルを探して#includeしてみ。
目で追うのは大変だろうから、explorerの検索機能を使うとか。
ヘルプにどれをインクルードすればよいか書いてあるかもしれんが…
>>872 シェーダの前に、まずはC言語からやり直せ。
とりあえずその本は俺がもらっといてやる。
>>872 俺もその本で同じエラーでたけど
付属のDirectXSDKにしたらコンパイル通るようになった。
最新SDKだと DirectX AppWizard も無くなってるしCDのを入れたほうがいいよ。
877 :
872 :2005/11/12(土) 04:08:40
あれ?いつの間にかDX9 SDK がXP用になってる。
2004年12月号を最後にXP専用となりました
ちなみに次の次にリリースされるSDKはXPでも動かないよ VC++.NET2005も見捨てられる
開発環境から囲い込んでく気か、MS。 つか、SDKのFAQに書いてあるXPのメリットほとんどNeeeeee
ファイルの展開だけして.libと.hさえ使えるようにすれば、OSの制約など関係ない。 その程度のことでいちいち騒ぐな。
>>884 バカっていったほうがバカなんだぞバーカバーカ
デバッグ版DLLなんて別にコピーしなくていいわよね。
>>885 それじゃあ天才って言った奴も天才なんじゃね?
呼んだ?
>>887 天才
>>882 どうせインストーラではじいてるだけだろうけど
対応してないってものを入れるのは、なんかヤダ。
本当に動かなかったらヤダし。
DirectXいい加減9から10にいかんのかね。
DirectXXになるんすかね
DirectD(ouble)Xになります
次期OSからWGF(WindowsGraphicsFoundation)という名称になる予定だったけど やっぱり止めてDirectXまま残るそうだな
ダッセーナマエ センスを感じられん
ちなみにDirectSEXは洋物のエロビデオですでに名前使ってるし DirectXXXに関しては登録商標までとってある
WindowsAPIってDevとかSMとかsEXとかなんでそんな関数名ばかりなんだ
もうDirectSEXでいいよ。 ところでCgって使ったこと無いんだけど、どんな感じなんですかね。 今までHLSLでしかシェーダ書いたことないんで感想ききたいっす。
FPS上がらない
>>898 nVidiaのプロファイラ使って原因突き止めろ
グラボがnVidiaじゃないなら買い換えろ
ATiのほうがコストパフォーマンスがいいが
開発者にやさしいのはnVidia
>>899 nVidiaってFloatingPointBufferってサポートできてるの?
>VC++.NET2005も見捨てられる マジで?じゃあMSは何でゲーム開発しろって言ってんの? まさかXNAとか言い出すんじゃないだろうな。
XNA Studioは画像、動画、音、音楽などとの依存関係を見てくれるだけで ただのVSですよ
XNA Studio for PS3 とかでたら笑える
>>901 どうせ 2006じゃなきゃ駄目 とか言い出すんでしょ
次の次って2006年2月だろ?まだVistaは出てない しかも国内じゃやっとVS2005がでたばかり そんなことよりDirectX10はネイティブじゃなさそうだぞ DirectX9Exのネイティブと住み分けだ
d3dx9_27.dllが見つからないとか言われたんだけどどこにあるんだ。
>>906 エクスプローラの検索で探して見つからなければダウンロード汁。
ぐぐれば出てくるからそこからダウンロード汁
君の心の中にあるよ
DirectXの勉強してるんですが、 BeginSceneとEndSceneの間に書いた、ポリゴン描画がうまくいきません。 Beginの前でClearをしてるんですが、フレーム毎に背景色を変えるとそれはちゃんと反映されます。 なんでここまでできててポリゴン描画ができないのかもうわけがわかりません…。 流れとしては、 Clear→BeginScene→各種描画処理→EndScene→Present だと解釈してるんですが。 ポリゴンが表示できない理由は初期化段階で何かミスがあるとかでしょうか? 環境はVC6++、SDKはsummer2003です。
911 :
910 :2005/11/15(火) 22:25:02
自己解決しました
912 :
デフォルトの名無しさん :2005/11/15(火) 22:37:13
すいません。 DXSDKのチュートリアルの虎公を 表示させるプログラムがあるではないですか。 ビルドには成功するのですが、 実行時に d3dx9d.dll がありませんと成ります。 ちなみにXPSP1で MINGW系のものを使ってます。 お願いします。
文字通りです ありがとうございました
914 :
912 :2005/11/15(火) 22:44:00
再インストールしたr直りました ご迷惑おかけしました
>>914 再インストールしても直りませんがどうしたら良いのですか?
916 :
デフォルトの名無しさん :2005/11/15(火) 23:01:21
あげ
917 :
デフォルトの名無しさん :2005/11/15(火) 23:17:05
>>918 すみません。
ちなみにDX9.0Cエンドユーザー向け+DX9SDK2005FEBです。
誰かー!
,-┐ ,ィ─、ri´^-─- 、 .┌f^f^f^f^f^f^f^f^f^┐ く / , ,' ヽ ヽ| ~ ~ ~ ~ ~ ~ ~ ~ ~│ `<' / ,'レイ+tVvヽ!ヽト 知ってるが │ !/ ,' i |' {] , [}|ヽリ お前の態度が | `!_{ iハト、__iフ,ノリ,n 気に入らない | // (^~ ̄ ̄∃_ア____n_____| _r''‐〈 `´ア/トr──!,.--'
>>921 お願いします。
d3dx9d.dllが入っているパッケージなどありましたら
なにとぞ!よろしくお願いします。まじで
まじで
927 :
910 :2005/11/15(火) 23:53:20
お願いするときに倒置法使う人はじめて見た。 >>お願いします。まじで
>>926 他のバージョンも試せということですね。
やってみます。
>>912 d3dx9d.dllが見つからないってこと?
>>930 様
そうです。実行時に見つかりませんというダイアログが出ました。
ちなみに今再インストールしています。
デバッグでビルドしなければいいのに
2005Feb の d3dx9d.lib をリンクした場合、参照されるのは d3dx9d.dll じゃなくて、d3dx9d_24.dll のはずね。 ライブラリファイルの指定が間違ってるんじゃないかしら。
>>934 様
libd3dx9d_24.aが無いのです。
とりあえず、代わりに libd3dx9.a にすれば DLLの問題はなくなるんじゃないかしら。
libd3dx9.aもありませんでした。 MINGW系と言いましたが、詳しくはDEV−CPPです。
ちなみにd3dx9d_24.dllでインポートライブラリ生成して〜 とやればできる物ですか? といいつつやり方がいまいち分らないのですが…。
とりあえず就寝します。
どうせなら永遠に冬眠してくれ。
永遠なら永眠だろ
1) reimp(MinGW Utilities)で d3dx9.lib から libd3dx9_?.a を生成する 2) 2004Dec 以前の SDKから d3dx9d.dll をゲッツ。 3) Visual C++ 2005 Express に乗り換える 好きなの選んで永眠するといいわ。
>>910 3頂点の描画順序がカリングされる順序になっているとか。
sage
sage
>>942 様
どこかのサイトにreimpではD3DX系のあれはできなかったとか書いてありました。
2004OCTをみてみたのですが、d3dx9_27が入ってたけどd3dx9d.dllがありませんでした。
VC++2005EXPRESSはSP2でないと入ってくれないようです。
現在pexportsで吐いた.defをもとにlib〜.aを生成し、パラメータに設定したところ
リンカエラーが起こります。
MINGW系でDIRECTX成功したって人がいらっしゃれば非常に有難いです。
>>946 なんか恣意的なものを感じるけど、自分の蒔いた種かしら。
>どこかのサイトにreimpではD3DX系のあれはできなかったとか書いてありました。
試した?私の環境ではうまくいったわ。(Cygwin環境だけど)
>2004OCTをみてみたのですが、d3dx9_27が入ってたけどd3dx9d.dllがありませんでした。
それは2005Oct。デバッグDLLがあるフォルダは /Developer Runtime
>VC++2005EXPRESSはSP2でないと入ってくれないようです。
(WindowsXP)SP2を入れる。というか 3)が一番おすすめ。
>現在pexportsで吐いた.defをもとにlib〜.aを生成し、パラメータに設定したところ
>リンカエラーが起こります。
私の環境ではpexports自体でエラーが出るんだけど、どういうことかしら。
>>947 様
pexportsでの.defの中身は関数名AまたはWまでのみで
@12などがありませんでした。
俺が馬鹿でした。または馬鹿な俺でした。
reimpを試してみました。あと1歩です。
実行時に
D3DXCreateTextureFromFileA@12がダイナミックリンクライブラリd3dx9_24.dllから見つかりませんでした。
となりました。
あと、他のも試したいのですが、9時頃まで出かける予定があります。
3dが使えるライブラリと お勉強サイトおしえてくれ
世の中にはおもそろそうなのがいっぱい転がってますね
>950 thx
>>951 2004年度の天才プログラマーと称えられていたようですな。
中身ぺろっと見ただけだが、こいつぁ、お勉強になりそうな気配がするね。 日本語コメントでソース公開してるとこって、なかなか無いべ。
>>951 >しかし、キャラクタアニメーションなどの高度な3Dデータは現在Mayaプラグインからしか出力できません
orz
>>956 ワラタw
世の中ほとんどのライブラリが抱える致命的な部分は変わらないのナw
コミケに向けてゲーム作ろうとする奴も、普段会社でゲーム作っててフリーでゲーム作ってみようとしてる人も、
ここが作ってあるライブラリなら手放しでよろこべるのになw
Lampビルドおわんねー
むしろおまいらがMaya以外になに使ってるか気になるぞ
メタセコ
>>959 メタセコ+六角大王
当然だろ・・・つーか、これ以外でスキンメッシュアニメーションつかねーだろ。
つーか、会社にいるときみたいに高額ツール買い放題できるわけじゃねーんだから。
最後はXファイルで出力ねw
963 :
デフォルトの名無しさん :2005/11/16(水) 23:27:35
俺です!!! wx-dev-cppにしたら(フォームエディタつきのナウいやつ) libd3dx9.aがありました!!! さらにDXSDK2004OCTだと思ってたのがじつは 再配布なんたらかんたらバージョンでした。 真の2004OCTにはd3dx9d.dllが入ってました!!! ありがとうございます!!!まじで。 おかげさまで虎・公爵閣下略して虎公を再生することができました。 みなさんのおかげです!!! 愛しています。
MAYA”5.0”限定なのか
てゆうか、mayaっていまいくらだよ・・・ どうせ高いだろうから調べる気にもならないけど・・・
MAYAは学割で103,950円 ちなみにXSIはキャンペーン(誰でも変える)で50,000円
>>966 んで、六角大王1万円だからな。
やっぱり六角大王っきゃねーだろ。
XSIなんてわけわからんフォーマット出されても困るしな。
会社で使ってるのはmayaだしね。
つか、学割で10万って意味ワカンネw
どっちみち金出すの親だろwその値段じゃw
バイトに決まってんだろ甘ったれるな
>>968 ソンナ時間勉強に当てろといいたい。
外食産業なんかで働いた経験があるってだけでもう負け組確定。
そんな気合の入った学生今時居ないだろ
>>968 おめーはスーパーでメンチでも売ってろw
言われてみれば3DCGソフトの層が薄いね gameSpaceのような値段と機能のバランスが取れたソフトがない フリーは皆無だしこれじゃ野良3Dプログラマーが育たないわけだ
そこで専門学校ですよ 大学じゃ高額な3DCGソフトなんて無いだろ? 無駄に原子炉やスーパーコンピュータはあるのにな
なぜかあるよ、パッケージは無いけどソフトだけある
おぼっちゃまが多いんだな バイトしまくってPhotoshop買ったのが懐かしい
メタセコ使ってる人ってボーン入れるとき何つかっとる?
fragmotion
金が無いなら、Photoshop買わなくてもGIMPとか使えばいい。 お世辞にも使い勝手は良いとは言えないが、用は足りる。
>>980 やだよ。
だって、入門書とか対応してないじゃん。
綺麗なテクスチャの上手い作り方とかはじめはマニュアルどおりに作りたいじゃん。
2万出せば足りるんだからだせばいいじゃん。
(´・ω・`)しらんがな
ElementsとCSでもかなり操作方法が違うから 本の通りやりたいなら高いほうを買うことになる
おまいら親にお金出してもらわないと何にもできないんだな
そこでNYですよ
当方C++6.0を使っています。 この場合、DirectX 9.0 SDKを使うには @DirectX 9.0 SDK とは別に”Extras”というファイルを入手する。 Aその中に含まれている d3dx9.libを、 SDKをインストールしたディレクトリの同名のファイルに貼り付ける。 という作業が必要だそうなのですが、 ”Extras”というファイルはどこにあるのですか? MicrosoftのWebページのSDK関連のページを 適当に回ってみましたが見つかりませんでした。
ExtraがあるのはSummerだかOctorberまでだから、その辺にあるんでない
989 :
988 :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だれかーーーーーーーーーーーーーー^。。^
めるぽ
995 :
986 :2005/11/17(木) 16:45:49
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。