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

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

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

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

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

前スレ
【C++】 DirectX初心者質問スレ Part3【C++】
http://pc8.2ch.net/test/read.cgi/tech/1108987183/
2デフォルトの名無しさん:2005/05/08(日) 02:04:56
ところで、「DirectX総合スレ」ってどこ逝っちゃった?
3デフォルトの名無しさん:2005/05/08(日) 02:06:37
おまいが建てる予定だってさ
4デフォルトの名無しさん:2005/05/08(日) 02:32:33
DirectXプログラマのコーヂングスタイルってどんなの?
やっぱMS風のハンガリアン?
俺DirectXでプログラム覚えてライブラリ作ってきたから
100%MS準拠だったんだけど、最近きもくなって
過去のライブラリ書き直ししようか迷ってるマンコ。
5デフォルトの名無しさん:2005/05/08(日) 02:46:03
前スレこぴぺ。
シミュレーションゲームで、敵の行動思考を計算する時、
市販のゲームとか、別スレッドで計算してるのですか?
自分の場合、適当に時間持たせて考えてる「フリ」にするつもり。

ハンガリアン気にしない。割には使ってます。
いちいち書き直すなんて。
6デフォルトの名無しさん:2005/05/08(日) 08:20:20
マジレスすると、ゲームに依る。以上。
7デフォルトの名無しさん:2005/05/08(日) 09:32:11
一人で作るなら俺ルールでいいとおもうけど
ルールがないのはやばいが
8デフォルトの名無しさん:2005/05/08(日) 15:07:23
DirectXの入門書で「これを買え」っていう本、何でしょうか?
CやJAVAなどの本なら書店で立ち読みして良書を見極めて買ってるんですが、
DirectXの本って僕のいきつけの書店に置いてなくて、
通販で買おうと思ったんですがDirectXの本って結構たくさん
あって選ぶのに苦労してます。
値段も結構張りますし。

9デフォルトの名無しさん:2005/05/08(日) 15:27:49
 マジレスすると、DirectX SDKについてくるHelpファイルが最強のチュートリアル。
その名の通りチュートリアルってプロジェクトがあるからそれを頭からみれば大体の
事は解る。
10デフォルトの名無しさん:2005/05/08(日) 15:44:27
>>8
t-potの人のDirectX9 シェーダプログラミング
工学社のDirectX9 実践プログラミング
DirectX SDK ヘルプ
GPU Gems
11デフォルトの名無しさん:2005/05/08(日) 15:55:07
>>9
SDK見れっつーのは確かにそうなんだが
それ言うと初心者質問スレの意味が無くなっちゃう気が。

DirectXゲームグラフィックスプログラミング Ver. 2.0
http://www.amazon.co.jp/exec/obidos/ASIN/4797329807/qid=1115534492/sr=8-1/ref=pd_ka_0/250-6648048-1546651
書籍版 DirectX9実践プログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4875934998/qid=1115534492/sr=8-2/ref=pd_ka_1/250-6648048-1546651
DirectX 9 DirectX Graphics
http://www.amazon.co.jp/exec/obidos/ASIN/477751112X/qid=1115534492/sr=8-8/ref=sr_8_xs_ap_i8_xgl14/250-6648048-1546651

今の所、これくらいしか無いのが現状。
変日本語SDKの代わりに、リファレンスとして見るなら、
下2つのI/O books系が良いかもしれんが・・眠くなる。
「で?何しよう・・」となると、一番上の本が役に立つかもしれん。

ハッキリいって良書と呼べるかどうかは微妙過ぎるが、総数が少ないしな。。
SDKでチュートリアルと、DX用語のイメージを掴んでから書籍を買ってみれば?

ま、漏れも最初は良書探しをしたんだが、結局SDKチュートリアルから始めて
なんとなく理解できたわけで。。どうにも楽には行かないべ。
12デフォルトの名無しさん:2005/05/08(日) 15:58:58
SDK!SDK!言ってるがSDKに付いてくる日本語ヘルプの事ね・・('A`)
13デフォルトの名無しさん:2005/05/08(日) 16:35:17
DirectX7のDirect3Dで、
頂点にDIFFUSE色を含ませて、その色のアルファ成分を利用して、
アルファブレンドしたいのだが、これってできる???(できなかったので)

ブレンド方法は、
SetRenderStateを使って、SRCBLENDとDESTBELND を使ってやるやつ。

頂点にカラーがあるから、ライティングは不要にしてる。(無効にする)
一応なぜか、マテリアルを割り当ててるが、マテリアルの要素は全て無効だろう。(ライティングなしだから)
ライティングを有効にしても、頂点のディフューズカラーのアルファ成分を使った、ブレンディングはできなかった。

アルファ成分は、常に1.0だと判断されてるようで、
これは、ピクセルカラーに含まれるアルファ成分を使ってるのではないかと思われるが。
148:2005/05/08(日) 16:47:27
皆さんのおかげで、購入する本を決められます。
皆さん、どうもありがとうございました。
15デフォルトの名無しさん:2005/05/08(日) 17:08:27
テクスチャを2D的に表示する為、
変換済み頂点のバーテックスバッファを作って
トライアングルファンで四角ポリを表示させているのですが、
これを拡大する時はVBの頂点を直接弄るしかないでしょうか?
変換済み頂点なんで、
D3DXMatrixScalingとかかけてSetTransformしても意味ないですよね?
16デフォルトの名無しさん:2005/05/08(日) 17:11:30
↑テクスチャっていうのは、画像ファイルという意味です。
1713:2005/05/08(日) 18:06:09
COLORVERTEX をfalseにしてますた。。。
1813:2005/05/08(日) 18:39:24
COLORVERTEX をTRUEにしたけど、アルファ値が変わらない。。。
1913:2005/05/08(日) 19:42:56
できた。。。(T_T)...
こんなことで半日かかったよ。ヽ(`Д´)ノUWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANNNNNN!!!!!
20デフォルトの名無しさん:2005/05/08(日) 21:18:05
>>19
つまんねー日記でレス消費してんじゃねーよ
21デフォルトの名無しさん:2005/05/09(月) 09:50:45
画像ファイルをスクリーン座標で表示する為、
変換済み頂点のバーテックスバッファを作って
トライアングルファンで四角ポリを表示させているのですが、
これを拡大表示したい時はVBの頂点を直接弄るしかないでしょうか?
変換済み頂点なんで、
D3DXMatrixScalingとかかけてSetTransformしても意味ないですよね?
22デフォルトの名無しさん:2005/05/09(月) 15:31:09
>>21
その通り。
2313:2005/05/09(月) 18:08:45
D3DXMatrixScaling
24デフォルトの名無しさん:2005/05/09(月) 18:45:20
変換済み頂点だって言ってんだろうが
25デフォルトの名無しさん:2005/05/10(火) 08:09:54
ちょとイタイ>>13が居るスレは此処ですか?
26デフォルトの名無しさん:2005/05/10(火) 13:11:11
D3DXCreateTextureFromFileExがDirectXデバイス既に作成したのに
「デバイスの準備ができてません」とHRESULT値を返す。
NULLチェックして確かめてるから間違いない。
しかも、引数に渡したファイル名の文字列が関数実行後「""」になってる。
const のはずなのに、デバッガが間違ってるのか、なんなのか、わけわかめ。
憂さ晴らしに書いた。
2726:2005/05/10(火) 13:13:01
「デバッガが間違い」というのは、深い意味で考えないでください...
2826:2005/05/10(火) 13:37:29
少し前にあるassert関数を省いたらバグ取れた。わけわかめ
29デフォルトの名無しさん:2005/05/10(火) 14:04:31
VCでのプログラミングの経験はあるのですが、DirectXは初めてです。お薦めの本を教えてください。
30デフォルトの名無しさん:2005/05/10(火) 14:22:24
>29
C,C++、win32APIでウインドウぐらい作れるのか?
31デフォルトの名無しさん:2005/05/10(火) 15:40:01
↑何で偉そうなんだろう。
個人的にはDXでお勧めの本はない。
とりあえず工学者とかI/Oのは終わってる。
量産してるけど全部糞。
シェーダーとかグラフィックに特化したのは高いけど比較的まとも。

最初はSDKチュートリアルと個人サイトのチュートリアルをやって、
リファレンスとしてはSDKドキュメントがあれば十分いけると思う。
32デフォルトの名無しさん:2005/05/10(火) 16:18:31
まあ、SDKのヘルプとサンプルが確実に最良の教科書なので、読みまくれってこった。
DirectX Graphicsだけなら、ノート取りながら読んで1日かからんはずだ。
33デフォルトの名無しさん:2005/05/10(火) 16:28:18
つーか俺の経験だと、初心者が一段登る程度の情報だったらどんな本を買っても書いてあるよ。
本屋に行って適当なのを選んで来たら医院ジャマイカ
34デフォルトの名無しさん:2005/05/10(火) 18:05:29
>>28
assertをとったらバグ取れたってのは表面的だな。
メモリリークしてる場合の症状だろ、それ。
3526:2005/05/10(火) 18:50:59
assertは、D3DXCreateTexture..の前にあるから、無関係。
assertで引っかかってるわけではないです。

assert(size);
..
D3DXCreateTextureFromFileEx(...);

で、最後の引数に帰ってくるポインタ(テクスチャ)はNULLではなく、
変な値。
メモリ配置に関するエラーだと思われますが。
36デフォルトの名無しさん:2005/05/10(火) 19:19:52
レンダリングターゲットにアルファ値を書き込む方法ってありますか?
ターゲットのアルファ値は常に0xFFだと思ってるんですが。
(アルファ値の計算で色が決定され、ターゲットにその色が反映されて、
ターゲットにアルファ値は本来不要だと思われるから)
HPゲージのような一部分(矩形のような単純な形ではない)にだけ
塗ろうとして、その一部分のみを透明にして、その他部分は不透明
を表現しようとしてます。
37デフォルトの名無しさん:2005/05/10(火) 20:03:22
>>36
常に0xFFだったらアルファブレンディグできないだろ。
3836:2005/05/10(火) 20:55:29
普通に考えたら、そんな遠回りする必要なく、
その形をかたどったモノをそのまま転送すればいい事に気づいた。
39デフォルトの名無しさん:2005/05/10(火) 21:38:09
>>38
そんなことしないで、転送先ピクセルのアルファ値を使用した、
ブレンディングを学べ
40デフォルトの名無しさん:2005/05/10(火) 22:03:28
メモリリークした箇所をデバッガで知ることが出来ますが、アホなものでその情報を生かせません。

Direct3D9: (ERROR) :Memory Address: 00c64028 lAllocID=1 dwSize=000047f8, ReturnAddr=017134c8 (pid=00000584)

例えば上記のような情報から、どうやってリークした対象を特定するのでしょうか。
デバッガでメモリの状態を見ることが出来ますが、それで確保された瞬間を見るとD3DのDeviceだったりしてお手上げでした。
IDというのが便利そうなのですが…。
41デフォルトの名無しさん:2005/05/11(水) 02:03:59
メモリリークしたら、企画ごとボツが定石
42デフォルトの名無しさん:2005/05/11(水) 02:17:56
サーフェスを画面に表示するにはどうやるの?
43デフォルトの名無しさん:2005/05/11(水) 04:35:09
>>37
アルファブレンディングで、ターゲットのアルファは使わないのでは?普通の式だと。

Result = Src * Src_α + Target * (1 - Src_α)
44デフォルトの名無しさん:2005/05/11(水) 05:15:21
45デフォルトの名無しさん:2005/05/11(水) 13:04:12
>>41
昔初心者の頃マジでそうしてた(;・∀・)
46デフォルトの名無しさん:2005/05/11(水) 15:12:51
ピクチャーコントロールにDXで描画するダイアログベースのツールを作ろうとしているのですが、
ピクチャーコントロールの更新されるタイミングが分からず困ってます。

まずはアプリの起動時にDXで適当な矩形でも表示してみようと、
WM_INITDIALOGで矩形描画関数を呼んでみたのですが、
一瞬描画されたあと、ピクチャーコントロールの色で塗りつぶされてしまうようでした。
なので、WM_PAINT内でも同じように描画関数を呼んで見たのですが相変らず
起動時に矩形を表示してくれません。
(というかピクチャーコントロールの描画で消されているような感じ。)
WM_LBUTTONDOWN内などで描画すればきちんと表示されるのですが、
WM_MOVE内で呼んだ時などは、一度目の移動では表示されず、
二度目以降の移動では表示されるという、よく分からない挙動になっています。
どうしたらいいのでしょうか?
環境はW2k、VC6、DX9.0bです。よろしくお願いします。
47デフォルトの名無しさん:2005/05/11(水) 16:37:29
>>44
この荒らしまだいたのか?

〜陸海空Ponline〜壊滅度6%
http://ex9.2ch.net/test/read.cgi/net/1111323121/l50
48デフォルトの名無しさん:2005/05/11(水) 19:19:52
原因不明のバグをがんばって取れるのがプロ
49デフォルトの名無しさん:2005/05/11(水) 21:54:32
>>45
初心者じゃないところで一つお願いできませんか>>40
50デフォルトの名無しさん:2005/05/11(水) 22:43:51
51デフォルトの名無しさん:2005/05/11(水) 23:13:26
>>50
横からなんだけど、この場合関係なくね?
52デフォルトの名無しさん:2005/05/11(水) 23:51:29
>>50
あぁ、そうか。D3D9 内部でやってるメモリ確保でのリークなのか...。
5352:2005/05/11(水) 23:51:56
×>>50
>>51
アンカーミス...
5446:2005/05/12(木) 01:03:39
APIスレいってきます
55デフォルトの名無しさん:2005/05/12(木) 01:17:52
DirectXのメモリリークは
一兆%の割合でrelease忘れ。
56デフォルトの名無しさん:2005/05/12(木) 17:04:21
すいません、Xファイルを読み込ませてもオブジェクトが真っ黒なのですが。。。
自己照明の設定にすると見えることは見えるのですがどうにも平坦で。。
57デフォルトの名無しさん:2005/05/12(木) 17:24:39
ふーん。だから?
58デフォルトの名無しさん:2005/05/12(木) 20:26:28
はぁ?わざわざ説明しなきゃわかんねーの?読解力ゼロだね
59デフォルトの名無しさん:2005/05/12(木) 21:59:10
糸冬 了
60デフォルトの名無しさん:2005/05/13(金) 08:37:57
再 起 重力
61デフォルトの名無しさん:2005/05/13(金) 14:02:13
走己重力
62デフォルトの名無しさん:2005/05/13(金) 14:04:33
頂点xyzを指定して、プリミティブを見るソフト教えてください。
簡易ソフトでビューア、形状確かめに使おうとしてます。
使ったことあるけどソフト名は覚えていない
63デフォルトの名無しさん:2005/05/13(金) 15:58:38
DierctX9 C++ wizardで立ち上げたプロジェクト内で、
MFCを使うことは可能ですか?

それともMFCで立ち上げたプロジェクトでDirectXを使用したほうが
楽なのでしょうか?
64デフォルトの名無しさん:2005/05/14(土) 10:24:06
ALPHAOPにSELECTARG1
ALPHAARG1 -> DIFFUSE
ALPHAARG2 -> TEXTURE
を指定しているのに、
テクスチャ作成の際、指定したカラーキーによる透過に成功している。
頂点色のアルファ値を使ったアルファブレンドがしたいのに。
頂点のアルファ値はちゃんと半透明になってるのに。
65左利き:2005/05/14(土) 13:29:12
質問させてください。

DXライブラリを改造したライブラリを使って(DirectShow利用)
Webカメラの撮った映像を表示するプログラムを作っているのですが、
キャプチャ出来ません。

その理由に、
ビデオキャプチャするデバイスが
Conexant 2388x Video Captureと
Mic Cam
2つが存在し、
デフォルトのビデオキャプチャのデバイスがConexant 2388x になっているから
だと思うのですが、
(Mic Camしかない別のPCだとキャプチャ出来る)
Mic Camに設定してキャプチャする方法はないでしょうか?

↑はプログラムで設定するのではなく、
コントロールパネルのような所で設定できませんか?

お願いしますm(_ _)m
66デフォルトの名無しさん:2005/05/14(土) 13:51:43
67デフォルトの名無しさん:2005/05/14(土) 15:27:11
DX9.0cでvsyncをオフにしたいのですが…
68デフォルトの名無しさん:2005/05/14(土) 15:39:12
だから何?
69デフォルトの名無しさん:2005/05/14(土) 15:45:10
>>68
すいませんでした。VSYNCをオフにする方法を教えてください。
ググって見てもIDirect3DDevice9::Presentが関係しているということしかわかりませんでした。
70デフォルトの名無しさん:2005/05/14(土) 15:46:13
ageてしまったorz
71デフォルトの名無しさん:2005/05/14(土) 15:50:59
PRESENT_PARAMSが関係していると連想できない?
72デフォルトの名無しさん:2005/05/14(土) 15:54:15
73デフォルトの名無しさん:2005/05/14(土) 16:04:48
>>71
ありがとうございます。
74デフォルトの名無しさん:2005/05/15(日) 16:26:32
何か最近変な奴が沸いてるな
75デフォルトの名無しさん:2005/05/15(日) 17:39:15
「はじめての3Dゲーム開発―「DirectX9」の使い方から「1人称3Dフィールド・ゲーム」の制作まで」という本は
このスレ的にはどんな評価でしょうか?

今読み進めてるのですが、初めは割と解説も多かったのですが当たり判定のことが書いてあるページ位になると
かなり多くの新しい関数が出ているのにもかかわらず殆ど細かい説明はありませんでした・・・
もっといい書籍はありますかね?
76デフォルトの名無しさん:2005/05/16(月) 01:04:36
>>75
はい。
77デフォルトの名無しさん:2005/05/16(月) 01:20:27
DirectX10はいつ出るのでしょうか?
78デフォルトの名無しさん:2005/05/16(月) 02:08:46
WGFです
79デフォルトの名無しさん:2005/05/16(月) 17:05:29
WGF1.0 = DirectX9.1
WGF2.0 = DirectX10

安心してDirectX9やっとけ
ちなみにRMは廃止な、今さら使ってる奴いないだろうけど
80デフォルトの名無しさん:2005/05/16(月) 17:30:30
>>76
書籍名を教えてください
81デフォルトの名無しさん:2005/05/16(月) 17:47:42
いやです。
82デフォルトの名無しさん:2005/05/16(月) 17:50:30
>>81
そうですか。
知らないのですね。
83デフォルトの名無しさん:2005/05/16(月) 20:57:10
知っているがお前の態度が気にいらない。
84デフォルトの名無しさん:2005/05/16(月) 21:04:02
いえいえ、無理していただかなくて結構ですよ。
85デフォルトの名無しさん:2005/05/16(月) 22:16:26
次の方どうぞ
86デフォルトの名無しさん:2005/05/16(月) 22:58:28
次の方は銅像。
87デフォルトの名無しさん:2005/05/17(火) 02:29:11
ここのところ、まともな回答が一つもないなぁ…
特にちょっと難しめの奴には
88デフォルトの名無しさん:2005/05/17(火) 02:46:35
>>87
考察ご苦労。
下がってよいぞ
89デフォルトの名無しさん:2005/05/17(火) 03:33:08
こんにちは、DirectXって何ですか?
俺にもわかるように優しく教えて。
90デフォルトの名無しさん:2005/05/17(火) 03:52:37
フォントオブジェクトを使って文字を表示するとアンチエイリアスがかかって、ぼやけた感じになるのですが、
これを防ぐ方法を教えてください。
91デフォルトの名無しさん:2005/05/17(火) 04:26:36
フォントオブジェクト? ID3DXFontけ?
だったらそれを使うのを止める。
代替案に関してはググれば出てくる。頑張れ。
92デフォルトの名無しさん:2005/05/17(火) 05:18:15
なんじゃそら。もったいぶる意味がわからない。
93デフォルトの名無しさん:2005/05/17(火) 05:24:24
はよ出せやタコ
なんのための質問スレだ
94デフォルトの名無しさん:2005/05/17(火) 05:24:35
すっげえ悪質なイタズラ思いついたwwww
http://ex10.2ch.net/test/read.cgi/news4vip/1116266649/

はい、お疲れさまね
9590:2005/05/17(火) 05:24:58
>>91
早く答えろよ、いい加減にしないと怒るぞ
96デフォルトの名無しさん:2005/05/17(火) 05:25:36
>>90
グロ画像
PC有害
閲覧注意
97デフォルトの名無しさん:2005/05/17(火) 05:26:43
>>94
なるほど納得
VIPPERも平日の朝からご苦労だなw
98デフォルトの名無しさん:2005/05/17(火) 05:26:56
>>94
グロ 踏んだらPCから神山満月ちゃんが出てくる
99デフォルトの名無しさん:2005/05/17(火) 05:26:59
またVIPPERかよ
100デフォルトの名無しさん:2005/05/17(火) 05:28:48
>>96
アンカーミスすんなwwwww
101デフォルトの名無しさん:2005/05/17(火) 05:30:34
wの使い方でVIPって分かる
102デフォルトの名無しさん:2005/05/17(火) 05:30:49
>>90
フォントだけ表示するとこ抜き出して
その不具合を再現してるテストコード書いてうpしてみ。
そしたら見てくれる人がいるかもしれない。
逆に、その作業の途中で自分で原因見つける事も多いよ。
そのくらいの努力はしたまえよ。
103デフォルトの名無しさん:2005/05/17(火) 05:31:20
http://etc3.2ch.net/test/read.cgi/entrance/1116269436/

バーロー、真実はいつも一つなんだ。
全てはVIPを妬んだラウンジの仕業だったよ。
104デフォルトの名無しさん:2005/05/17(火) 05:31:32
>>100
正直スマンカッタ(藁
105デフォルトの名無しさん:2005/05/17(火) 05:32:04
ラウンジいいからでてけ
106デフォルトの名無しさん:2005/05/17(火) 05:33:39
以上ラウンジのイケメンのしわざでした
    m n _∩                   ∩_ n m
  ⊂二⌒ __)    /\___/ヽ       ( _⌒二⊃
     \ \   /''''''   '''''':::::::\     / /
       \ \  |(●),   、(●)、.:|  / /
        \ \|   ,,ノ(、_, )ヽ、,, .::::|/  /
          \ .|   ´トェェェイ` .:::::::|  /    それが、ラウンジ精神
           \\  |,r-r-| .::::://     http://ex7.2ch.net/entrance/
             \`ー`ニニ´‐―´/
             / ・    ・ /
107デフォルトの名無しさん:2005/05/17(火) 05:34:47
160 名前:訴える名無しさん。[sage ラウンジ] 投稿日:2005/05/17(火) 03:46:38 ID:???
以上ラウンジの馬鹿のしわざでした
    m n _∩                   ∩_ n m
  ⊂二⌒ __)    /\___/ヽ       ( _⌒二⊃
     \ \   /''''''   '''''':::::::\     / /
       \ \  |(●),   、(●)、.:|  / /
        \ \|   ,,ノ(、_, )ヽ、,, .::::|/  /
          \ .|   ´トェェェイ` .:::::::|  /    それが、ラウンジ精神
           \\  |,r-r-| .::::://     http://ex7.2ch.net/entrance/
             \`ー`ニニ´‐―´/
             / ・    ・ /


161 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:50:34 ID:???
これはラウンコの連中ですね・・・

162 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:51:38 ID:???
ラウンジの奴らはほんとにたち悪いな・・・

163 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:51:43 ID:???
えぇ、もうラウンコの人にはうんざりですよね

164 名前:465[] 投稿日:2005/05/17(火) 03:56:51 ID:e6MkygGj
ほんとにラウンジには呆れ果てますね

165 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:57:25 ID:???
もうラウンジに失望されっぱなしですよ

これ見ろよ
VIPPERってこんなことするんだぜ
108デフォルトの名無しさん:2005/05/17(火) 05:38:19
     ザッ            ヘ__Λ ヘ__Λ ヘ__Λ ヘ__Λ
                __,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ    ザッ
    /\___/ヽ   /\___ /\___/ヽ _/ヽ  /\___/ヽ
   /''''''   '''''':::::::\/''''''   '''/''''''   '''''':::::::\   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|(●),    |(●),   、(●)、.:|、( |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|   ,,ノ(、_, )|   ,,ノ(、_, )ヽ、,, .::::|_, )|   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|   `-=ニ= |   `-=ニ=- ' .:::::::|ニ=|   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/\  `ニニ \  `ニニ´  .:::::/ニ´ \  `ニニ´  .:::::/
   /`ー‐--‐‐―´\ /`ー‐-  /`ー‐--‐‐―´\-‐‐ /`ー‐--‐‐―´\
「vipから来ますた」「vipから来ますた」「vipから来ますた」「vipから来ますた」


                                    それが、ラウンジ精神
                                    http://ex7.2ch.net/entrance/
109デフォルトの名無しさん:2005/05/17(火) 05:39:05

     ザッ            ヘ__Λ ヘ__Λ ヘ__Λ ヘ__Λ
                __,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ    ザッ
    /\___/ヽ   /\___ /\___/ヽ _/ヽ  /\___/ヽ
   /''''''   '''''':::::::\/''''''   '''/''''''   '''''':::::::\   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|(●),    |(●),   、(●)、.:|、( |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|   ,,ノ(、_, )|   ,,ノ(、_, )ヽ、,, .::::|_, )|   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|   `-=ニ= |   `-=ニ=- ' .:::::::|ニ=|   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/\  `ニニ \  `ニニ´  .:::::/ニ´ \  `ニニ´  .:::::/
   /`ー‐--‐‐―´\ /`ー‐-  /`ー‐--‐‐―´\-‐‐ /`ー‐--‐‐―´\
「vipから来ますた」「vipから来ますた」「vipから来ますた」「vipから来ますた」


                                    それが、ラウンジ精神
                                    http://ex7.2ch.net/entrance/
11091:2005/05/17(火) 05:40:20
…………。

暇だから煽り房と遊ぼうと思ったのに……orz
もういいッ! フテ寝するッ!
111デフォルトの名無しさん:2005/05/17(火) 06:51:11
>>91
どのような言葉でぐぐればよいのでしょうか?
112デフォルトの名無しさん:2005/05/17(火) 09:41:08
それもググれ
113デフォルトの名無しさん:2005/05/17(火) 09:47:01
>>112
どうやって?
114デフォルトの名無しさん:2005/05/17(火) 11:21:11
いいからバカ相手にしてないで再現コードうpしろよ
115デフォルトの名無しさん:2005/05/18(水) 11:36:19
ウィンドウモードと、フル画面モードを実行中に切り替えるには、
どうやればいいんでしょう?
DirectXやウィンドウを作り直す必要がある?
116115:2005/05/18(水) 11:44:25
すみません、解決しました。
117デフォルトの名無しさん:2005/05/18(水) 12:21:55
116は私ではありません
118デフォルトの名無しさん:2005/05/18(水) 12:25:55
117は私ではありません
119デフォルトの名無しさん :2005/05/18(水) 12:28:47
自己解決した時は
どこがおかしくてどうやったら解決したか
を書け。
120デフォルトの名無しさん:2005/05/18(水) 13:56:46
121デフォルトの名無しさん:2005/05/18(水) 16:20:35
>>115
せめてDirectXのバージョンくらい書こうぜ。
8以降ならResetするときにD3DPRESENT_PARAMETERSを変更するだけでOK。
122デフォルトの名無しさん:2005/05/18(水) 18:22:21
私って誰
123デフォルトの名無しさん:2005/05/18(水) 18:54:01
画面の解像度も変えるんならロスト対策とか色々めんどいよ
うまくいかなかったらデバイスもリソースも全部作り直したほうが楽かもね
124デフォルトの名無しさん:2005/05/18(水) 19:57:06
123も私ではありません
125デフォルトの名無しさん:2005/05/18(水) 22:31:44
ボールのXファイルに質量とか弾性とか持たせたいんですが
やっぱクラスにまとめるんですか?
Xファイルにパラメータみたいなものも書き込めるんでしょうか?
126デフォルトの名無しさん:2005/05/19(木) 00:03:58
クラスとかにまとめるというのが意味不明だが、
自分でテンプレートを定義すればいくらでも入る。
XFileはただのコンテナに過ぎない。
127115:2005/05/19(木) 00:44:46
すみません凍結しました。
128デフォルトの名無しさん:2005/05/19(木) 02:37:04
>>125
xファイルにユーザーデータな話でぐぐれ
129デフォルトの名無しさん:2005/05/20(金) 15:54:33
130デフォルトの名無しさん:2005/05/20(金) 17:59:02
(-m-)
131デフォルトの名無しさん:2005/05/20(金) 18:06:04
mか、、、rnかと思った
132デフォルトの名無しさん:2005/05/20(金) 21:08:39
(-rn-)
133デフォルトの名無しさん:2005/05/20(金) 23:24:13
VC++.NET2003でDirectX9.0cAprilでDirectPlay8を利用した
クライアントサーバ型チャットプログラムを作っています
通信相手が接続したらDPN_MSGID_メッセージを
別ソースへ記述してあるメッセージハンドラが受け取って
.NETWindowsフォームアプリケーションのForm1の
リッチテキストボックスコントロールのrichtxtに
"接続しました”系のメッセージを表示するには
どうすればよいでしょうか?
switch(dwMessageType)
{
case DPN_MSGID_CREATE_PLAYER
ここをお願いします
 return DPN_OK;
}
134デフォルトの名無しさん:2005/05/21(土) 05:07:41
それはAPIの質問じゃないの。
DirectPlayがどうとか前半の話は全然関係ないやん。
135デフォルトの名無しさん:2005/05/22(日) 01:43:12
起伏のある地面の上を歩くプログラムを作りたいのですが普通は地面と自キャラの当たり判定をどのように取るのでしょうか?
136デフォルトの名無しさん:2005/05/22(日) 01:47:48
素人はまずランドスケープでも勉強しろ。
137135:2005/05/22(日) 02:13:28
>>136
ランドスケープでぐぐると造園等のまったく関係の無い情報ばかりでてきますのでもう少し絞り込むためのキーワードみたいなものを教えていただけないでしょうか?
138デフォルトの名無しさん:2005/05/22(日) 02:34:42
ハイトマップとかハイトフィールドとか。
一つ先のフレームでの自キャラの位置を想定して、
「自キャラの膝あたりから地面方向に飛ばしたレイ」と「自キャラの真下の地面のポリゴン」
との当たり判定(直線と面との当たり判定は、intersectなんちゃらとかいう関数がDXにあったと思う)をして、
レイと地面の交差位置が自キャラの膝下の長さより長ければ浮いてるって事だからその分だけ下降させ、
短ければ潜ってるってことだからその分上昇させる事で「接地」させられる。

というふうに自分はやってみた。
139デフォルトの名無しさん:2005/05/22(日) 07:10:06
画面上でマウスカーソルの位置をセットする方法を教えてください
140デフォルトの名無しさん:2005/05/22(日) 07:42:07
もうすこし意味が伝わるように一生懸命に質問しろよ。礼儀知らずが。
141デフォルトの名無しさん:2005/05/22(日) 12:55:01
ワールド空間での長さ1を現実世界でのどのくらいの
長さにするか迷ってるのですが、よく使われる設定
とかってあるんですか?
142デフォルトの名無しさん :2005/05/22(日) 13:31:11
わけわかめ。どういう答えを期待してるのだろう。
143デフォルトの名無しさん:2005/05/22(日) 14:26:02
DirectX9.0c を使っています。
デバイスをリセットする際、その直前にいくつかのメモリを明示的に解放しないと
いけないと本に書いてありましたが、CreateVertexBuffer メソッドで取得した
LPDIRECT3DVERTEX9 も解放する必要があるのでしょうか。
もし解放するなら、どのように解放するのでしょう。
LPDIRECT3DVERTEX9 には Release メソッドが無いし、
FreePrivateData メソッドもなにか違う気がするのですが…

実は CreateVertexBuffer で D3DPOOL_MANAGED を指定しておけば
何も問題は無かったりしますか?
144デフォルトの名無しさん:2005/05/22(日) 15:36:34
来年からIT企業にPGとして就職するんだけど、
文学部出身だから、プログラムが全然分からない。
早くSEになりたいので、まずプログラムをマスターしたいんですけど、
まず何を勉強したらいいですか?
145デフォルトの名無しさん:2005/05/22(日) 15:42:11
>>144
SEになりたいならプログラムの知識はいらない。
146デフォルトの名無しさん:2005/05/22(日) 15:43:27
ここは笑う所ですか
147デフォルトの名無しさん:2005/05/22(日) 20:19:56
PGとして就職するのにプログラムの知識がいらないとはこれイカに
148デフォルトの名無しさん:2005/05/22(日) 20:26:13
SEとPGを混同している馬鹿がいるな。
149デフォルトの名無しさん:2005/05/22(日) 21:20:46
>>143
IUnknownから継承してるので、Releaseメソッドはある。
MANAGEDリソースはReset時に復活できるようメモリに
コピーされている。マニュアル嫁。
150デフォルトの名無しさん:2005/05/23(月) 02:37:17
>文学部出身だから、プログラムが全然分からない。

こーゆー人知り合いにもいるけど苦労するよ。
人生失敗したと後悔すると思うから考え直したほうがいい。
しかし何でDirectXのスレに書いてるんだ?
151デフォルトの名無しさん:2005/05/23(月) 04:07:41
バカだから。
152デフォルトの名無しさん:2005/05/23(月) 09:04:19
つーか、文学部かどうかとプログラミングの能力には直接の関連性はないね。
尤も、スレタイも読めないようじゃ、人間としての素養を疑わざるを得ないけど。
153デフォルトの名無しさん:2005/05/23(月) 09:15:52
どうせマルチじゃないの?
154デフォルトの名無しさん:2005/05/23(月) 10:01:33
VCまで理解しました。そんな人のためのDirectXの良書を教えてくだされ。
155デフォルトの名無しさん:2005/05/23(月) 10:08:22
次は VC++ を理解してください。
156デフォルトの名無しさん:2005/05/23(月) 10:20:54
その間の VC+ もよろしく
157143:2005/05/23(月) 11:20:25
>>149
ああ、Release って IUnknown にくっついていたのね。。。。。
解決しました。どうもありがとう
てことは、本とかでよく使われるマクロ
#define RELEASE (x) {if(x)(x)->Release();(x)=NULL;}
も、
inline void RELEASE(IUnknown* x) {
 if( *x) {
  (*x)->Release();
  (*x) = NULL;
 }
}
というふうに型チェックつきにできるのかな?
158デフォルトの名無しさん:2005/05/23(月) 11:32:25
できる。
159857:2005/05/23(月) 11:35:47
DirectX9c をインストールしようとするとエラーがでます
どなたか助力をお願いいたします。

環境:Win XP pro SP1 dirextX9b SDKをインストールしています

http://v.isp.2ch.net/up/acc437db5dfb.jpg
160デフォルトの名無しさん:2005/05/23(月) 12:12:29
漏れは
template <class T>
inline void safe_release(T*& p)
{
    if (p) {
        p->Release();
        p = 0;
    }
}
ってやってた
161デフォルトの名無しさん:2005/05/23(月) 13:52:21
>>159
HDDの空きがない、ファイルが壊れている
162デフォルトの名無しさん:2005/05/23(月) 16:06:39
161さん。返信ありがとうございます。
容量は6G空いております、ファイルは
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9226a611-62fe-4f61-aba1-914185249413
の物を使っています。MD5等が載っていないので
正常だと断定できませんが、ファイルサイズも同じですし正常だと思います。
163デフォルトの名無しさん:2005/05/23(月) 16:22:41
>>162
「エラーが出ます」だけじゃ若ラン。
「どんな」エラーが出ているのかを述べよ。
164159:2005/05/23(月) 16:27:22
すいません。159です
http://v.isp.2ch.net/up/acc437db5dfb.jpg
165159:2005/05/23(月) 16:31:20
159,162,164はすべて僕です。
DirectX9c をインストールすると下のようなエラーがでます。
ttp://v.isp.2ch.net/up/acc437db5dfb.jpg
環境はxp pro sp1 DirectX sdk9bをインストしています
166デフォルトの名無しさん:2005/05/23(月) 16:32:58
そもそもCとは何
167デフォルトの名無しさん:2005/05/23(月) 18:00:46
>>165
WindowsUpdateからDirectXランタイムを入れてみたら?
168デフォルトの名無しさん:2005/05/24(火) 21:55:05
DirectX9の環境で、DirectX7のプログラミングって可能ですか?

ビルドは通るんですが、実行時にIDirectDraw7のインターフェースが取得できなくて終わってしまいます。
169デフォルトの名無しさん:2005/05/24(火) 21:56:47
可能。
170デフォルトの名無しさん:2005/05/24(火) 22:33:48
Direct3DCreate9 関数に失敗した場合に表示するエラーメッセージって、

「Direct3Dの取得に失敗しました。以下の方法で解決できる場合があります。
・DirectX がインストールされていない場合はDirectXをインストールしてから実行してください。
・ほかにソフトが起動している場合は、それらを全て終了させてください。
・Windowsを再起動してから実行してみてください。
・サポートWEBに、このエラーについての情報がないかどうか確認してみてください」

ってしておけばPC初心者にも優しいかな?
171168:2005/05/24(火) 22:49:27
ということは、ソースが悪いのですか。初期化できないス。。。
172デフォルトの名無しさん:2005/05/24(火) 22:55:05
>>171
Direct7 がインストールされてなかったりして。
173デフォルトの名無しさん:2005/05/24(火) 23:21:04
>>171
実はDirector7 だったりして。
174168:2005/05/24(火) 23:28:23
なんとか解決しました。DirectDrawCreateExの第二引数にLPDIRECTDRAW7のポインタを指定、という所を
解決前:
LPDIRECTDRAW7   pDD;
DirectDrawCreateEx( , pDD.....);
解決後:
DirectDrawCreateEx( , &pDD....);

でした。しかし、なぜ&が必要かが未熟者でイマイチ理解してない。
LPDIRECTDRAW7型自体ポインタですよね?それとも構造体なのかな?
175デフォルトの名無しさん:2005/05/24(火) 23:43:04
アホすぎ
176デフォルトの名無しさん:2005/05/24(火) 23:51:06
>>174

void f0( int* a )
{
a = new int;
}

void f1( int** a )
{
*a = new int;
}

int main()
{
int* a0 = NULL;
f0( a0 );

int* a1 = NULL;
f1( &a1 );
}
177168:2005/05/25(水) 00:15:19
>>176
アドレス変数のポインタを指定しろって仕様だったんですね。勘違いしましたTHX。
178デフォルトの名無しさん:2005/05/25(水) 21:16:54
D3DXCreateTextureFromFileExでTexture作成時にD3DPOOL_MANAGEDを指定しても
Resetに失敗する……なんでだろ?
179178:2005/05/25(水) 22:11:22
自己解決……スマソorz
180デフォルトの名無しさん:2005/05/25(水) 22:30:01
DirectInputの機能だけでマウスの現在のクライアント座標を調べる方法はありますでしょうか?
181デフォルトの名無しさん:2005/05/26(木) 09:39:35
>>180
DirectInputのサンプルにマウスの項目がある。
182デフォルトの名無しさん:2005/05/26(木) 10:18:16
Win32APIを使えば一瞬ですむものを、なぜわざわざDirectInputを使おうとするのかさっぱり理解できない。
183デフォルトの名無しさん:2005/05/26(木) 14:33:51
>>181
サンプルのMouseは移動量を調べることができるだけですよね?
クライアントウィンドウ内の座標を調べたいのですが

>>182
今回のプロジェクトのルールでWin32APIを使っちゃいけないんです
184デフォルトの名無しさん:2005/05/26(木) 16:10:46
    _, ._
  ( ゚ Д゚)   ガシャ
  ( つ O. __
  と_)_) (__()、;.o:。
          ゚*・:.。
185デフォルトの名無しさん:2005/05/26(木) 16:30:11
XBOX関連、とか
186デフォルトの名無しさん:2005/05/26(木) 17:09:39
それだとマウス無い
187デフォルトの名無しさん:2005/05/26(木) 18:40:18
> 今回のプロジェクトのルールでWin32APIを使っちゃいけないんです
ウインドウの表示すらしないとは、凄まじいプロジェクトですね。
188デフォルトの名無しさん:2005/05/26(木) 18:49:13
クライアント座標って書いてるからにはウィンドウは表示させるんだろう
何で使っちゃいけないことになったのかは知らんがすさまじいプロジェクトだな
189デフォルトの名無しさん:2005/05/26(木) 20:26:34
気分で決めてんじゃねーよw
190デフォルトの名無しさん:2005/05/26(木) 21:54:54
立方体をたくさん書いてみたんですが、奥の立方体が手前の立方体の上に表示されてしまいます。
一応奥の立方体が小さくは表示されているんですが。
Zバッファも設定してるんですが、それだけじゃダメなんでしょうか?
191190:2005/05/26(木) 22:46:35
出来ました。
Nearクリップ値を0にしていたのがまずかったようです。
192デフォルトの名無しさん:2005/05/27(金) 03:05:11
古いPCでも動作可能なものにするために
i810EのオンボードVGAのPCで動くように作ろうとしたのですが
そのPCで実行するとCreateDevceを呼んだ時に
「問題が発生したため、xx.exeを終了します。〜」
のメッセージが出て終わってしまいます。

DirectX診断ツールのDirect3Dのテストをやってみても問題はありませんでしたし
普段動作確認に使ってるPC(FX5200)ではちゃんと実行できるのでプログラムの問題ではないと思うのですが
何が原因なのでしょうか?
193デフォルトの名無しさん:2005/05/27(金) 06:39:49
プログラムが原因
194デフォルトの名無しさん :2005/05/27(金) 11:35:20
質問ですが、効果的なアンチエイリアシングの方法はやはり、
マルチサンプリングして、その差の平均を取る方法がベターでしょうか。
195T:2005/05/27(金) 21:59:41
//移動ベクトルのリセット
shipFrame->SetVelocity(sceneFrame,D3DVAL(0),D3DVAL(0),D3DVAL(0),FALSE);

//宇宙船を右移動
if(KeyBuffer['6']&0xf0){// 6キーが押されていたら・・・
shipFrame->SetVelocity(sceneFrame,
D3DVAL(0.1),D3DVAL(0.0),D3DVAL(0.0),FALSE);
}

//宇宙船を左移動
if(KeyBuffer['4']&0xf0){// 4キーが押されていたら・・・
shipFrame->SetVelocity(sceneFrame,
D3DVAL(-0.1),D3DVAL(0.0),D3DVAL(0.0),FALSE);
}

//宇宙船を上移動
if(KeyBuffer['8']&0xf0){// 8キーが押されていたら・・・
shipFrame->SetVelocity(sceneFrame,
D3DVAL(0.0),D3DVAL(0.1),D3DVAL(0.0),FALSE);
}

//宇宙船を下移動
if(KeyBuffer['2']&0xf0){// 2キーが押されていたら・・・
shipFrame->SetVelocity(sceneFrame,
D3DVAL(0.0),D3DVAL(-0.1),D3DVAL(0.0),FALSE);
}

のプログラムをSetPositionとSetOrientationを使用したプログラムに変更したいの
ですが、どうしたらいいのか教えてください。
よろしくお願いします。

196デフォルトの名無しさん:2005/05/27(金) 22:12:38
>>195
ここまでわかっててなんでわかんないの?
アドバイスのしようがない。
197デフォルトの名無しさん:2005/05/27(金) 23:10:18
>>195
MSDNでじっくりドキュメントを見れば良いじゃん
198デフォルトの名無しさん:2005/05/27(金) 23:11:03
Windowモードで実行するプログラムでウィンドウをリサイズすると
描画されている内容も一緒に伸縮してしまいます。
描画内容はサイズ固定で、足りない分はスクロールバーで制御するようにしたいのですが、
よくわかりません。

プレゼンテーションパラメーターでWeight、Heightを800,800として、
幅1のポリラインを描画してWindowをリサイズすると、描画される線の太さはどうやらWindow幅/800のようです。
なにかしらのフィルタリングもされているようです。
SetViewport()は関係なさそうでしたが、
リサイズにあわせて何かのパラメーターも変更されてると思うので、
それがわかれば制御できるとは思うのですが…
どなたかご教授くださいませ。

当方DirectX8、VC++6、MFCにて作っております。
199T:2005/05/27(金) 23:31:07
>>196
わからないから教えてほしいのですが。
どこをどう変えればいいのですか?
200192:2005/05/28(土) 03:39:32
>>192
の問題は解決したのですが
CreateDevceを呼ぶとVRAMが足りないと言われます

Zバッファを使わない
バックバッファのサイズとフォーマット以外で
初期化の時点でVRAMを節約するにはどうしたらいいんでしょうか?
201デフォルトの名無しさん:2005/05/28(土) 04:25:25
行列とかクォータニオンのライブラリってD3DXに
頼らずに全部自前で作るのが普通ですか?
D3DXにない関数を作ってると、混ざってごちゃごちゃに
なってしまいそうな感じがするんですが
202デフォルトの名無しさん:2005/05/28(土) 07:43:10
>>201
俺は作り直してる。
203デフォルトの名無しさん:2005/05/28(土) 10:45:02
>>198
ウィンドウのリサイズしたらプレゼンテーションパラメーターも作り直し、
更にその前にリソースを開放して構築しなす必要がある、
なんて聞いたことがあるけどよくしらない。
204デフォルトの名無しさん:2005/05/28(土) 10:57:45
描画するときに自分で拡大するように指定しているだけの話。
サンプル丸写しで各関数が何をやっているか考えずに使うから、
その程度のことすら分からない状態になる。
205デフォルトの名無しさん:2005/05/28(土) 11:13:30
>描画するときに自分で拡大するように指定しているだけの話。

それがどこで、どうなってるから、そうなってるのか、
分からないから聞いてるのに。
206デフォルトの名無しさん:2005/05/28(土) 11:40:50
>>205
SDK見れ
207デフォルトの名無しさん:2005/05/28(土) 11:47:07
>>206

>>1見れ
208デフォルトの名無しさん:2005/05/28(土) 11:53:29
つうか質問スレで意味不明にもったいぶった回答するバカって
何がしたいのかよく分からない。
教える気がないなら邪魔なだけだから書き込むなよ。
209デフォルトの名無しさん:2005/05/28(土) 12:03:50
カッコつけたいんだけど、回答して間違っていたりあらを指摘されるのが
怖いから、具体的には回答しないんだよ。
210デフォルトの名無しさん:2005/05/28(土) 12:55:09
つーかその程度もヘルプ見て理解できんヤツに
ここでちょっと書いただけで理解きでるとは思えないんだが…

自演乙
211デフォルトの名無しさん:2005/05/28(土) 13:03:02
どっちやねん。簡単な問題なら簡単に教えて解決→終了だろう。
教えない・教えられないなら黙ってろ。他の全ての人にとって邪魔だ。
212デフォルトの名無しさん:2005/05/28(土) 13:15:25
>>200
自己解決したならどう自己解決したか書きましょう。
都合良すぎです。
213デフォルトの名無しさん:2005/05/28(土) 13:44:53
普通はそうなんだが、説教だけでろくなレスが返ってこないこのスレじゃ
214200:2005/05/28(土) 13:45:18
>>212
プログラムが原因と言われたので
初期化までの部分を一から書き直したたら
強制終了しなくなっただけで
明確な原因はわかってないのです
215デフォルトの名無しさん:2005/05/28(土) 14:33:17
今DirectXで一番新しいのは何ですか?
216198:2005/05/28(土) 14:33:42
>>203
>>204
どうもありがとうございます
Present関数に2つの矩形を指定したら制御できました
ヘルプ見たらBlit元矩形と先矩形を指定してる関数だって書いてて納得しました。

デバイスの再作成も解決策の一つみたいなんですが
テクスチャが全部なくなっちまうのでちょっと気分悪かったんですが
Presentだけで対処すればそうはならないようですが…
いつまでも画面に映らない範囲のリソースを延々と保持する訳にもいかないので
いつか適当なタイミングで再作成も必要なんでしょうね…
217デフォルトの名無しさん:2005/05/28(土) 14:43:50
9.0c
218デフォルトの名無しさん:2005/05/28(土) 16:09:26
//移動ベクトルのリセット
shipFrame->SetVelocity(sceneFrame,D3DVAL(0),D3DVAL(0),D3DVAL(0),FALSE);

//宇宙船を右移動
if(KeyBuffer['6']&0xf0){// 6キーが押されていたら・・・
shipFrame->SetVelocity(sceneFrame,
D3DVAL(0.1),D3DVAL(0.0),D3DVAL(0.0),FALSE);
}

//宇宙船を左移動
if(KeyBuffer['4']&0xf0){// 4キーが押されていたら・・・
shipFrame->SetVelocity(sceneFrame,
D3DVAL(-0.1),D3DVAL(0.0),D3DVAL(0.0),FALSE);
}

//宇宙船を上移動
if(KeyBuffer['8']&0xf0){// 8キーが押されていたら・・・
shipFrame->SetVelocity(sceneFrame,
D3DVAL(0.0),D3DVAL(0.1),D3DVAL(0.0),FALSE);
}

//宇宙船を下移動
if(KeyBuffer['2']&0xf0){// 2キーが押されていたら・・・
shipFrame->SetVelocity(sceneFrame,
D3DVAL(0.0),D3DVAL(-0.1),D3DVAL(0.0),FALSE);
}

のプログラムをSetPositionとSetOrientationだけを使用したプログラムに変更したいの
ですが、どうしたらいいのか教えてください。 よろしくお願いします。
219デフォルトの名無しさん:2005/05/28(土) 16:43:10
>>218
マルチ乙
220デフォルトの名無しさん:2005/05/28(土) 19:48:32
ここで質問するより、BBX読む方が為になるに100ガベソ。
どうせ説教されて、さらにストレス溜まるだけ。
221デフォルトの名無しさん:2005/05/28(土) 19:57:57
>>218
196 名前: デフォルトの名無しさん 投稿日: 2005/05/27(金) 22:12:38
>>195
ここまでわかっててなんでわかんないの?
アドバイスのしようがない。
222デフォルトの名無しさん:2005/05/28(土) 21:50:11
テクスチャを張ったポリゴンの一部が画面外に出ると
表示がおかしくなるんですが、
どうすればいいでしょうか。

VC.net DirectX9で
DrawPrimitiveUP使ってます
223デフォルトの名無しさん:2005/05/28(土) 22:01:59
>>222
どうおかしくなったかくらい書け。
near設定がおかしいんだよ、どうせ。
224デフォルトの名無しさん:2005/05/28(土) 22:16:35
>>223
画像がゆがんだり消えたりします。

補足します
2Dのシューティングを作ろうとしていて、
背景を3Dで表現したいんです。

調べていくとどうも射影行列の設定がおかしい
っぽいのですが、どうおかしいのかも
本当にそうなのかもわかりません。
225デフォルトの名無しさん:2005/05/28(土) 22:23:07
さらに補足
おかしくなるのは2Dのほうで
(゚д゚)

(°Д°)
こんな感じになります。

何度も補足すみません。
226デフォルトの名無しさん:2005/05/28(土) 22:36:14
アスペクトは?
227デフォルトの名無しさん:2005/05/28(土) 22:40:27
プロジェクション行列は
D3DXMatrixPerspectiveFovLH( &g_Projection, D3DX_PI / 4, 1.33f, 1.0f, 100.0f );
と設定してるので1.33fを指定してます。
228デフォルトの名無しさん:2005/05/28(土) 22:50:06
ビデオカード固有の問題かもしれないので、他の環境で試すべし。
229デフォルトの名無しさん:2005/05/28(土) 23:00:01
そうしてみます。
わざわざ回答してくださってありがとうございました。
230デフォルトの名無しさん:2005/05/29(日) 00:11:15
D3DXQUATERNION の乗算の計算が合わないんだけど、
これって左手座標系にするためにzの符号を反転して
から計算してるってこと?
231デフォルトの名無しさん:2005/05/29(日) 01:06:16
> 合わないんだけど

何と何の結果が合わないのか書かないと
答えようがないことに気づかないか?
232デフォルトの名無しさん:2005/05/29(日) 01:54:21
なんかこのスレに変なのが住み着いてますね
233デフォルトの名無しさん:2005/05/29(日) 02:00:27
符号間違えてるか、積の左右を間違えてるか。
234デフォルトの名無しさん:2005/05/29(日) 06:43:17
DirectX 9.0cをダウンロードしたいんですけど
ページが表示されないと表示され、できません
私だけでしょうか?
235デフォルトの名無しさん:2005/05/29(日) 08:19:47
D3DXのは左手座標系で反時計回りになるように調整してるんじゃない?
236デフォルトの名無しさん:2005/05/29(日) 22:24:03
>>234
ページが表示されないと表示され、
ページが表示されると表示されない。

お前日本語大丈夫か?
237デフォルトの名無しさん:2005/05/29(日) 22:25:31
238デフォルトの名無しさん :2005/05/29(日) 22:28:55
キチガイ常駐フォーーーーーーーーーーーーーーゥ!
239デフォルトの名無しさん:2005/05/29(日) 22:32:06
>>236は「ページを表示できません」のエラーが表示されたことが無いようです
羨ましいですね^^;
240デフォルトの名無しさん:2005/05/29(日) 23:56:00
質問があります。
テクスチャがVRAMに載るのは、D3DXCreateTextureFromFile()でLPDIRECT3DTEXTURE9を
作ったときですか?それともID3DXEffect::SetTexture()を呼んだときでしょうか?

それとテクスチャをVRAMにどんどん載せていって、VRAM容量が超えたときは何が起こるのでしょうか?
241デフォルトの名無しさん:2005/05/30(月) 01:21:17
>>240
VRAMにのりきらなけりゃ、エラーになる。
オマエ、戻り値をチェックしないタイプだろ。
242デフォルトの名無しさん:2005/05/30(月) 02:04:51
>>241
レスありがとうございますた。
確かに戻り値はあんまチェックしないですね・・・。
これからは戻り値に気を付けたいと思います。
243デフォルトの名無しさん:2005/05/30(月) 02:39:45
VRAM足りなかったらメインメモリに載る。
244デフォルトの名無しさん:2005/05/30(月) 10:40:30
SetPositionやSetOrientationを使用して物体を移動させるには、具体的にどのようにすれば良いのか教えてください。
自分が今考えているのは、ある指定されたキーを押した時の位置や姿勢を直接与えればいいと思うのですが、合っているのかわからないので、教えてください。
245デフォルトの名無しさん:2005/05/30(月) 13:26:30
SetPositionってどこのクラスのだよ。IDirectSound3DBuffer8::SetPositionか?
246デフォルトの名無しさん:2005/05/30(月) 18:19:40
RMにそんなのがあったような・・・
247デフォルトの名無しさん:2005/05/31(火) 00:05:51
DirectInputでマウスを使用すると、
デバッグのブレーク時にマウスカーソルの動きがおかしくなります。

Win2000ではデバック時にカーソルの動きがおかしくなるという所までは
分かったのですが、それから上手い解決方法が見つかりません・・・。

DirectInputをデバッグ版で使用する方法が載っていたのですが、この場合、
SetCooperativeLevel(hWnd, DISCL_FOREGROUND | DISCL_EXCLUSIVE)
しか指定できず、カーソルが消えてしまいます。
OS変えるしか無いんですかね・・・。


ちなみに、マウスでDirectInputを利用しているのは、
ホイールの移動量をリアルタイムで調べる為です。
ウィンドウメッセージやDirectInputを使わずに
現在のホイールの座標を直接取得できれば解決するのですが・・・。

Windows2000
VC++2003
DirectX9 oct 2004
248デフォルトの名無しさん:2005/05/31(火) 00:11:13
ホイールに座標など無い。
249デフォルトの名無しさん:2005/05/31(火) 01:32:56
WM_MOUSEWHEELでいいだろ。
250デフォルトの名無しさん:2005/05/31(火) 02:26:45
インターネットの始め立てのころ、僕は掲示板に書き込むときなどは
もちろん敬語・丁寧語で書き込んでいました。
いつからか僕は平気で、偉そうに、だろだろ書き込むようになりました。
251デフォルトの名無しさん:2005/05/31(火) 03:05:21
>>250
すげー不自由な日本語使うね。
読み難いよw
「もちろん」の意味解って使ってる?
252デフォルトの名無しさん:2005/05/31(火) 04:33:28
>>250
お前ひょっとして中国人留学生か?間違え方がそれっぽいぞ。
もう少しまともな日本語を読み書きできるようになってから出直せ。
253250:2005/05/31(火) 08:29:37
在日朝鮮人です
254デフォルトの名無しさん:2005/05/31(火) 09:19:01
>>249
ウィンドウがアクティブじゃなくても、
WM_MOUSEWHEELを受け取れますか?
255デフォルトの名無しさん:2005/05/31(火) 11:00:32
>>254
じゃあグローバルフックすればいいよ。
256デフォルトの名無しさん:2005/05/31(火) 11:07:50
在日朝鮮人なら日本語しっかりしてる筈だぞ。
257デフォルトの名無しさん:2005/05/31(火) 11:14:03
結局、インターネットで情報が簡単に調べられるようになっているから、
パソ通時代と違って質問ベースのBBSって必要ないんだよね。
そういう環境の中質問しに来るのは変なのばかり。
258デフォルトの名無しさん:2005/05/31(火) 11:15:39
常駐キチガイ自演フォーーーーーーーーーーーーーゥ!
259デフォルトの名無しさん:2005/05/31(火) 12:06:42
>>257
自分の国へお帰り下さい^^
260デフォルトの名無しさん:2005/05/31(火) 19:55:42
DX9.0Cから搭載されたCustomUIを日本語で
詳しく紹介してあるサイトがあったら教えてください
ゲーム画面中日本語入力が必要になったのでお願いします
261デフォルトの名無しさん:2005/05/31(火) 23:46:44
詳しく紹介してあるサイトがなかったので教えないフォーーーーーーーーゥ!
262260:2005/06/01(水) 00:32:26
(;´Д`)残念 私も探してみたんですがわざわざ探していただいてありがとうございました
日本語入力を実装するのって難しいんでしょうか?
263デフォルトの名無しさん:2005/06/01(水) 01:10:43
264デフォルトの名無しさん:2005/06/01(水) 01:47:33
日本語サイト知ってるけど教えないフォーーーーーーーーーーーーゥ!
265デフォルトの名無しさん:2005/06/01(水) 09:19:39
実に基本的なことで申し訳ないけど、 DirectX9c SDK は
Update summer 2004 のみでよろしいのでしょうか?
それとも DiectX9 SDK + summer 2004 ?
266デフォルトの名無しさん:2005/06/01(水) 18:15:07
頂点座標(XYZ)
法線ベクトル(XYZ)
頂点カラー(ARGB)

ライト
D3DLIGHT9構造体のデータ

マテリアル色
D3DMATERIAL9構造体のデータ

以上のデータを使ってライティングするコードを教えてください。もしくは公式を。
以前はDirectXのAPIを使ってやっていたのですが、諸事情により、自力で光源計算しないといけなくなりました。
もしスレ違いなら書き込むべきスレを教えてください。
よろしくお願いします。
言い忘れました、ライティングの種類は平行光源です。
267デフォルトの名無しさん:2005/06/01(水) 18:17:01
age
268デフォルトの名無しさん:2005/06/01(水) 18:24:37
頂点法線の方向と、光源の方向の内積を計算。
その値と、頂点カラーと、拡散反射係数を乗算するとディフューズ色はでるけれど。
269デフォルトの名無しさん:2005/06/01(水) 18:44:36
固定機能のワールド行列は
頂点だけでなく、法線も適用されますか?
270デフォルトの名無しさん:2005/06/01(水) 19:24:13
win2000だと DX9.0 SDK Update (December 2004) までで
vc++6.0の場合は DX9.0 SDK Update (October 2004)まで対応してるんですよね?

271デフォルトの名無しさん:2005/06/01(水) 20:51:09
>>266
SDKのヘルプに全部書いてあるじゃん。
Mathematics of Lightingってところ。
272デフォルトの名無しさん:2005/06/02(木) 00:48:28
>>266
頂点へのランバートの余弦則と、フォンのスペキュラでモーマンタイ。
あとは面内補間だから。
273デフォルトの名無しさん:2005/06/02(木) 01:00:13
>>269
されるよ。されるけど、normalizenormal だかなんかのレンダリングステイトを
イネーブルにしないと、ワールドマトリックスのスケーリング成分に合わせて拡大されてしまう。
っていうか、シェイダー使った方が楽。
274デフォルトの名無しさん:2005/06/02(木) 01:02:30
>>273
これ、知らないで拡大して真っ黒になっちゃって、あわてる馬鹿な同僚がいたw
そんときいそがしかったから、正直、氏ねって思った。
275デフォルトの名無しさん:2005/06/02(木) 01:09:58
「モーマンタイ」って何ですか?
276デフォルトの名無しさん:2005/06/02(木) 01:10:44
>>275
胃薬の名前
277デフォルトの名無しさん:2005/06/02(木) 01:11:03
>>274
同僚が悪いんじゃない。MSが悪い。
278デフォルトの名無しさん:2005/06/02(木) 01:23:40
無問題=モーマンタイ
279デフォルトの名無しさん:2005/06/02(木) 01:31:59
>>277
そんなわけない。
余計な計算であることは事実なんだから。
OFFがデフォで正しい。
280デフォルトの名無しさん:2005/06/02(木) 01:32:50
>>274
俺もへぼプログラマですが、日頃から同僚に氏ねって思われてるんでしょうか?orz
281デフォルトの名無しさん:2005/06/02(木) 01:42:05
>>280
当たり前じゃん。
プログラマなんて自分より実力が無いのはみんなクズなんだから。
282デフォルトの名無しさん:2005/06/02(木) 01:50:19
>>279
すべてのモデルをスケーリングを前処理でやれば問題ないが、
固定パイプラインの即席でできる的なコンセプトから言えば、
適当なモデルをスケーリングして回転して移動して即席表示できるべきだ。
なので法線のノーマライズは「余計な計算」でなく、「やらなきゃいけない計算」
なわけだから、ONがデフォが正しい。
最適化したい人がOFFにすりゃいい。
そういう人は、何が問題だかわかっているわけだからそれこそ問題ない。
初学者に「機能をすべて把握してから使え。」なんて強要しているAPIはアふぉでしょ。
こういうのはAPIデザインをする側の問題。同僚は悪くない。
283デフォルトの名無しさん:2005/06/02(木) 01:55:49
>>278
thx
284デフォルトの名無しさん:2005/06/02(木) 02:01:41
>>282
いや、そのまえに法線知らないで3Dいじるなよ。
って時代にできたものだからな>固定パイプライン
さすがにそんなレベルの低い奴はいなかったけどな。
今は違うんだね。
285デフォルトの名無しさん:2005/06/02(木) 02:44:18
>>284
昔のD3D初心者は「固定パイプライン内部の変換で法線ベクトルがノーマライズされない」ことに事前に気づくやつばっかだったか?
んなわけない。
初心者が、レンダリングステートを一通り目を通さなきゃ正常に動作しないってのはおかしいだろ。
OpenGLを見よ。「いじらなくともデフォで《正常》に動く」のがあたりまえのソフトウェアデザイン。
「いじらないとデフォで《異常》な動作をする」のは底辺プログラマの所業。
286デフォルトの名無しさん:2005/06/02(木) 03:44:13
レンダリングステートはとりあえず何があるかチェックしとくもんだと思うが。
287デフォルトの名無しさん:2005/06/02(木) 04:23:18
初歩的な質問ですいません。
Directx本体は英語版ですよね??

みんなそれ使ってるよね?
288285:2005/06/02(木) 04:28:52
>>286
あなたの主張からは、初心者を馬鹿にして「自分の方が上」って思いたいという思いしか伝わってこない。
でないなら、何が言いたいわけ?論旨はなによ?

289287:2005/06/02(木) 04:34:23
どうも、ヘルプだけ日本語で用意されているご様子
290デフォルトの名無しさん:2005/06/02(木) 05:16:09
NORMALIZENORMALSは7からできたものだから
「昔のD3D初心者」には関係なかったけどなw
291270:2005/06/02(木) 07:12:43
自己解決。vc6.0はreadme見たら(Summer 2003)までっぽいですね。
292デフォルトの名無しさん:2005/06/02(木) 07:34:36
シェーダで計算した結果を、メモリに書き戻して取り出すことは出来ますか?
293デフォルトの名無しさん:2005/06/02(木) 22:40:03
>>285
はぁ?馬鹿?
異常な動きじゃないじゃん。
実際に法線・もしくはスケーリングが腐ってるデータの方が異常なんであって
表示はバグってないだろ。

正しい対処方は法線を表示できるようにすることであって
なんでもかんでも法線を正規化して表示することじゃないでしょ?

こういう問題をどうして正しくとらえることができないかな?
対処法間違ってるのわからないの?
レベル低すぎ。って初心者スレかw
294デフォルトの名無しさん:2005/06/03(金) 00:19:06
>>292
できなくはない、というレベル。
レンダリングターゲットを用意して、そこに書き込む。
295デフォルトの名無しさん:2005/06/03(金) 00:47:01
>>292
WGFからは確か出来るようになるんじゃなかったかな。
今はテクスチャにデータを載せてピクセルシェーダーで処理して
テクスチャに書き出してそれを使う。GPGPUで検索しろ。
296デフォルトの名無しさん:2005/06/03(金) 01:04:35
>>293
> 実際に法線・もしくはスケーリングが腐ってるデータの方が異常なんであって
> 正しい対処方は法線を表示できるようにする

超〜ハズカシイやつ。
勉強不足な頓珍漢なバカはおまえだよ。何が問題かすら全くわかってない。
レベルが低すぎるのはおまえだろうがw
297デフォルトの名無しさん:2005/06/03(金) 01:09:05
>>296
はぁ?じゃ、何が問題なのか説明しろよ。
298デフォルトの名無しさん:2005/06/03(金) 01:21:24
>>297
何が問題って、俺が何の話しているかすら判ってない上に、
如何にも付け焼刃の知識(しかも間違っている)で頓珍漢な対処法とやらを開陳して、
人を馬鹿な初心者呼ばわりしているおまえのバカさ加減。
299デフォルトの名無しさん:2005/06/03(金) 01:25:36
ステートが問題じゃなくて
法線にスケーリングが掛かったら、それが
どう言う意味か知らない奴がD3Dを使用するなって感じ。
初心者とかじゃなくて、数学や技術の問題。

そもそも、スケーリング成分が無い行列をセットされるのが有り得る、もしくは大半なのに
いちいち正規化するのが無条件なんてDirectXじゃなくて、非リアルタイムよりのOpenGLを使えって感じ。
(まあ、そう言っちゃてるがw)

言い換えると、int型なりshort型なりの変数に値を代入したら
いちいちその型のオバーフローをチェックするのが当たり前とか抜かしてるレベルと一緒だろw
代入 -> if 型オバーフローチェック -> 変数に代入の度にデフォ
見たいな感じw
300デフォルトの名無しさん:2005/06/03(金) 01:48:13
>>299
だからさぁ、固定パイプラインの話だぜ?
どこのクソ業者が今時シェーダー使わずに固定なんか使っちゃっているわけよ???
キミのところは「OpenGLなんか非リアルタイムだぜ。うちはDirectX固定パイプラインでバリバリリアルタイム」
なんていっちゃっている痛い会社なわけ?
シェーダーが主流である現在、固定ってのは初学者がD3Dに入門するためのモードって言い切っちゃっていいでしょ。
トランスフォーメーションパイプラインで法線を正規化するのかしないのかってのはAPIの実装依存ってのは判るよな?
固定だとトランスフォームしたノーマルをクライアントに返さず、そのままライティングに使うわけだ。
だからこそ、normalizenormalというユーザー設定可能なレンダリングステートが用意されている。
それはよしとして、固定の使用用途から言って、このデフォルト値がOFFである必要は全く無い。
最適化の必要ない所があえてフールプルーフになっていないのはあふぉ。
なぜなら、そもそもプロは固定なんか使わないから。
301デフォルトの名無しさん:2005/06/03(金) 01:49:38
>>300
意味不明。
302デフォルトの名無しさん:2005/06/03(金) 01:58:47
今時のゲームはシェーダーが当たり前なんですか
古いカード使ってるユーザーは無視


なわけねえよね
303デフォルトの名無しさん:2005/06/03(金) 01:59:04
>>301
わかる人は判るからいいです。

> 法線にスケーリングが掛かったら、それがどう言う意味か知らない

だいたいさ、SetTransform()内部で、world matrix をextract して、スケーリング成分等を除去した
純粋な回転行列に変換し、それを法線ベクトルの変換に使う実装だってあり得るわけだ。
どういう実装になっているかは、運よくnormalizenormalのステートを見てそれが何であるかを意識した人だけだろう。

304デフォルトの名無しさん:2005/06/03(金) 02:00:20
> 古いカード使ってるユーザーは無視

日本じゃどうしてんのか知らないけど、うちでは無視です。
305デフォルトの名無しさん:2005/06/03(金) 02:00:51
>>303
大丈夫w
そんなもん運に頼って見つけるの君だけだからw
306デフォルトの名無しさん:2005/06/03(金) 02:02:23
>>304
日本でもラブデスはぶっちぎりで無視でした。
307デフォルトの名無しさん:2005/06/03(金) 02:03:49
語尾wくんはここでも叩かれて支離滅裂なレスを付けてるのか。
悲惨なやっちゃな
308デフォルトの名無しさん:2005/06/03(金) 02:05:20
法線スケーリングされて顔真っ赤な低脳のいるスレはここですか?
309デフォルトの名無しさん:2005/06/03(金) 02:06:19
初心者用と叫んで
初めから単位化された法線を
スケーリングなしの行列でトランスフォームした場合でも
全てデフォで単位化するなんて方がアフォ。

プログラマとしての発想の違いとも言える。
数万頂点の法線がはじめから単位化されていて
セットされる行列もスケーリングなし
しかし、その数万回の単位化をなんとも思わない時点で...

プロなら、シェーダー非対応のボードでも
切り替え指定で動くように作るだろw

弊社のゲームはDirectX9、対応ボード必須(256M以上とか...)、
CPU3GHz以上必須(ここは妄想だが)とか言うのがプロなの?
half life2以上は期待しちゃうよ?
310デフォルトの名無しさん:2005/06/03(金) 02:07:15
>>306
らぶデスも別に古いので動くけどな
311デフォルトの名無しさん:2005/06/03(金) 02:09:31
結局、本も読まない、買わない、OJTでしか技術は身に付けないって姿勢だから
法線スケーリングされてポリゴン真っ黒なのに、顔真っ赤にしちゃうわけだよ。ぷw
312デフォルトの名無しさん:2005/06/03(金) 02:11:18
>>311 オメガワロスw
313デフォルトの名無しさん:2005/06/03(金) 02:12:37
>>309
プロだったら、前処理でスケーリングして、normalizenormal を一回だけOFFにセットすりゃいいんだよ。
初心者は、normalizenormal を知らない可能性が高いっつてんだよ。

314デフォルトの名無しさん:2005/06/03(金) 02:13:44
そもそも固定パイプラインって
固定の処理をハード処理して速度を稼ぐって言う
昔の非力なグラボ時代の話であって

それを
シェーダーが主流だから初心者用だとか
APIの実装依存とか
SetTransform()内部で、world matrix をextract して、スケーリング成分等を除去した
純粋な回転行列に変換し、それを法線ベクトルの変換に使う実装だってあり得るわけだ。
とか言っちゃうんじゃないのw

固定処理以外の部分はプログラマが指定しろって事なのに
お前は、固定処理に法線のノーマライズが必要って言ってるんだぞ?グラボ会社に要求しろ
それ以外ならソフト処理の問題であって固定機能とか言ってるな、ボケ
315デフォルトの名無しさん:2005/06/03(金) 02:14:10
内容のないレスで空回りするのが、ここのデフォ?
316デフォルトの名無しさん:2005/06/03(金) 02:20:04
> 昔の非力なグラボ時代の話であって

日本のWindows向けクソ3Dゲーの事は良く知らない。
日本にはろくなD3Dプログラマがいないということだけは知っている。

> SetTransform()内部で、world matrix をextract して、スケーリング成分等を除去した
純粋な回転行列に変換し、それを法線ベクトルの変換に使う実装だってあり得るわけだ。
とか言っちゃうんじゃないのw

「とか言っちゃう」って何がおかしいんだよ?説明しろ。
317デフォルトの名無しさん:2005/06/03(金) 02:23:16
>>314
> お前は、固定処理に法線のノーマライズが必要って言ってるんだぞ?

>>285 から書いている通り「初心者のためにnormalizenormalはデフォでONにすべき」
っていってんだよ。何回説明したら論旨を理解するんだ?バカ。

318デフォルトの名無しさん:2005/06/03(金) 02:26:20
つか、こっちの語尾wはマトモで、相手が変なのか。まぁ自作自演なら両方ともすごい変な人だがw
319デフォルトの名無しさん:2005/06/03(金) 02:27:17
一見意味のありそうな議論に見えるが、
実際はAだ!Aだ繰り返してるだけの屑議論だな。

つまんね
320デフォルトの名無しさん:2005/06/03(金) 02:28:47
【この議論の関連スレ】

インパルス板倉「学校で浮いている奴が、2chで虚勢を張っている」
http://news19.2ch.net/test/read.cgi/news/1117727344/
321デフォルトの名無しさん:2005/06/03(金) 02:28:55
314は今必死に matrix とextractでぐぐってます。

322デフォルトの名無しさん:2005/06/03(金) 02:29:55
>>316
それをハード固定機能に求めるのか
SetTransform()内部のソフト的な部分に求めるのか混同してる

ソフト的な問題なら、今までの”パイプライン”とかの意味不明な発言の落とし前はどうするの?

>>317
お前は、”固定機能が初心者用だから”って前提を突っ込んでるのは完全無視なのか?
323317:2005/06/03(金) 02:31:02
>>319
こんなの意味なんかあるかよ。わけわかんねーよ食ってかかってきてるやつ。
おれの論旨は「D3D初心者のためにnormalizenormalはデフォでONにすべき」
であって、それ以上なにもない。
324317:2005/06/03(金) 02:34:01
>>322
> それをハード固定機能に求めるのか
あのー、
HALと、Fixed pipelineを絡めて議論する意味ってなに????
訳わかんないんですが。

325デフォルトの名無しさん:2005/06/03(金) 02:36:45
>>323
アフォか
それなら、D3D初心者のために行列は使用しない
座標値と角度のみとか
角度も初心者のためにラジアンは使用しないとか
正しい要求なのか?w
326317:2005/06/03(金) 02:38:55
結局、中途半端な知識(しかも勘違い甚だしい)しかないやつが、おれの話を理解できずに食って掛かってきているってことでよろしいですね?
くだらないので逝きますね。
327デフォルトの名無しさん:2005/06/03(金) 02:40:55
>>マトモな人の方へ

言った言わない議論でスレ伸ばしても無意味。

それとも、スレ延ばすとあんたの収入が増えるビジネスモデルなんかい?
328デフォルトの名無しさん:2005/06/03(金) 02:41:48
すげぇ下らん自作自演だったな
329デフォルトの名無しさん:2005/06/03(金) 02:43:36
HALとはグラボとのやりとりの規格であって
固定パイプラインの中で処理されるH/W T&Lのハード機能とは別ものである

中途半端なのはどっちだw
330デフォルトの名無しさん:2005/06/03(金) 02:46:38
それより、固定機能が初心者用なんて恥ずかしい決め付けだって指摘に
一つも反論してないよ?

無理前提を、突っ込み無視で押し通すつもり?w
331317:2005/06/03(金) 02:49:09
>>325

あのなぁ、論旨となっている使用するAPIのとっつき易さ(優れたデザイン)と、
ユーザーに求められる数学の素養くらい分けて考えろ。
「理学者は全員D3Dのエクスパート」とキミの論理は恥ずかしくバグっている。
バカ丸出し。
まぁ、お前のような奴が、三角形を一つでも表示させることができている
とすれば、D3Dは十分 "fool proof"ということだ。
332デフォルトの名無しさん:2005/06/03(金) 02:52:31
いつまでやるの?

毎日が休みの人はいいな、
API設計の良し悪しなんていう
どうでもいい議論で盛り上がれて
333317:2005/06/03(金) 02:53:38
>>329
> それをハード固定機能に求めるのか
>SetTransform()内部のソフト的な部分に求めるのか

これで何が言いたいんだって聞いてんだよ。


>固定機能が初心者用
だからさ、固定なんか使ってんのは今時日本のクソ3Dゲーか美少女ゲーの特殊効果だけだっつってんの。
ほとんどの初心者が最初に三角形を出すのに固定パイプラインを使うことはほぼ間違いない
334デフォルトの名無しさん:2005/06/03(金) 02:55:30
法線にスケールが掛かると、ベクトルの大きさが変わるかも知れないって数学的な部分を
初心者用、APIデザインとか言ってるのは
その数学的な素養が要らないって意味だろう?

じゃ、C言語を扱うプログラマ初心者の為に
C言語基本的素養は、初心者用、関数デザインとか言って
求めないのと一緒だろw
335317:2005/06/03(金) 02:56:12
>>332
悪いがこっちはまだ19時で休憩中なもんで。
336デフォルトの名無しさん:2005/06/03(金) 02:57:30
>>317

お前さ、次から次に自分の理屈を言ってるだけで
突っ込み無視で、技術有ります見たいな発言繰り返すのみ、言い訳のみ、だなw
337デフォルトの名無しさん:2005/06/03(金) 02:59:16
ヨーロッパかよ。すげぇ不思議なロケーション
338デフォルトの名無しさん:2005/06/03(金) 02:59:20
>>324
の恥ずかしい勘違い?知識無し?の発言で
317と話す必要もなくなったなw
339デフォルトの名無しさん:2005/06/03(金) 03:00:49
================================================================
以上、ほぼ自作自演でした。週末も自作自演の予定です。
ここまで読んでくださった皆様、どうもありがとうございました。
ねぇ、僕って孤独じゃないよな?
================================================================
340317:2005/06/03(金) 03:01:18
>>334
キミさ、なんでもいいけどあたまわるすぎ。自覚ないでしょ?
もう、勝手にお吼えください。
341317:2005/06/03(金) 03:02:50
そう、脳内ヨーロッパの脳内ゲームの脳内ソフトハウスに脳内駐在中です。
342デフォルトの名無しさん:2005/06/03(金) 03:20:55
>ほとんどの初心者が最初に三角形を出すのに固定パイプラインを使うことはほぼ間違いない。
だから、固定パイプラインは初心者用?
ウルトラ頭悪いねw

一応サンプルブラウザーにはビギナーレベル指定でベーシックHLSLなんてサンプルが有るんですが?
チューリアルの初心者以前、これから入門しますってレベルで物を言って
そのレベルでAPIデザインとか抜かしてるんだろうか...
343デフォルトの名無しさん:2005/06/03(金) 03:47:16
>>342
うざいよゲー専門学校生が。お前だろ初心者はw
恥ずかしすぎるぜこいつ。
344デフォルトの名無しさん:2005/06/03(金) 03:56:13
スーパークリエーター>>317
尊敬するぞ
尊敬するぞ
尊敬するぞ
尊敬するぞ
345デフォルトの名無しさん:2005/06/03(金) 04:08:50
固定でも互換にできちゃうような処理しかしてねークソゲー
だったら、はなっからシェーダーなんか使わねーで固定で書いてろ。
346デフォルトの名無しさん:2005/06/03(金) 07:56:55
つまり固定で書かれているFFXIは初心者プログラマが作ってるのか。
ターゲット環境を低くするために、わざとやってるのかと思ってた。
347デフォルトの名無しさん:2005/06/03(金) 08:10:43
馬鹿な糞餓鬼が法線スケーリングされてファビョってるスレはここですか?
348デフォルトの名無しさん:2005/06/03(金) 08:26:37
347みたいなのって、もういい加減はずかしい。
349デフォルトの名無しさん:2005/06/03(金) 09:49:34
質問です。
VC++7.1のReleaseのデバッグ無しで開始のみ面が描画されません。
デバッグ開始だと描画されます。
原因がさっぱりわかりません。
Direct3DのDebugモードとRetailモードで試してみても結果は同じで
やはりデバッグ無しで開始だと面が表示されません。
ReleaseじゃなくてDubugだと問題ありません。
解決方法を知ってる人がいたら教えてください
350デフォルトの名無しさん:2005/06/03(金) 10:33:39
法線をスケーリングするとおかしくなるのはなぜに?
法線で重要なのは絶対値じゃなくて向きでしょ。
法線を単位ベクトル化しても、ベクトルはベクトル。向きは変わらないんじゃないの・・・? ちがうの?
351デフォルトの名無しさん:2005/06/03(金) 10:37:25
>>350

正規化されていない法線A、Bがあります。
この法線どうしの角度を求めよ。(cosθでもよい)
352デフォルトの名無しさん:2005/06/03(金) 10:37:44
こういうバカのためにもnormalizenormalsはデフォルトでオンになってたほうがいいな
353デフォルトの名無しさん:2005/06/03(金) 11:06:35
正規化って平方根の逆数だから結構重いよな。
でもGPUって極端な話レイテンシが1000であっても
スループット1なら別に問題ないんだよな。
つまりガンガン正規化してもOKってこと?
354デフォルトの名無しさん:2005/06/03(金) 11:12:52
>>349
自分のプログラムを先頭から最後まで、100回見直す。
355デフォルトの名無しさん:2005/06/03(金) 12:14:20
おれなんか未だに固定少数でニュートン法で平方根求めてます。
痛いです。
356名前は開発のものです。:2005/06/03(金) 13:04:09
俺の疑問、質問にだれか答えてくれ。

1.DrawPrimitiveUP、DrawPrimitiveの違い。

速度で、DrawPrimitiveUP < DrawPrimitive
な理由は、DrawPrimitiveUPを呼んだあとに、頂点情報をGPUに転送して
描画待ちをしているせいなんでしょうか?

DrawPrimitiveは、頂点バッファのアドレスを指定してあとはDMAで頂点を
転送しているから描画待ちをせずに並列で処理できるから早いってことでしょうか?

2.半透明ポリゴンのソート方法
半透明ポリゴンのソートをポリゴンの頂点座標を透視変換して計算した
Zの値0.0〜1.0で比較してソートしているんだが激しく遅い。
0.0〜1.0を100分割して 0.01刻みでバケツソートしても遅い。
高速化する方法ってどんなのあるでしょうか?

357デフォルトの名無しさん:2005/06/03(金) 13:29:45
>354
4回目で直りました。thx
358デフォルトの名無しさん:2005/06/03(金) 15:10:05
>>349
もう直ったようだが、DebugとReleaseで動作が変わる場合は
まず変数の初期化がらみだと思っていい。
359デフォルトの名無しさん:2005/06/03(金) 15:26:32
>>356
2. ソートのアルゴリズムを代えろ。
360デフォルトの名無しさん:2005/06/03(金) 15:27:03
>358
仰るとおりでコピーコンストラクタの部分でした
361356:2005/06/03(金) 18:27:21
>>359
ソートのアルゴリズムっていっても
バケツが早いとおもうんだが、クイック、バブル、2分どれもだめだとおもう。
他にあるならおしえてくれ
362デフォルトの名無しさん:2005/06/03(金) 18:59:50
例えば50頂点のモデルがあったとして、
途中で53頂点と3頂点追加したい場合はどういう風にすればいいのでしょうか?
全部最初から頂点バッファを作り直さないで、
バッファのサイズを変更して3頂点だけ追加したいのです。
363デフォルトの名無しさん:2005/06/03(金) 19:39:15
⊃DrawPrimitiveUP
364デフォルトの名無しさん:2005/06/03(金) 23:24:01
>>362
頂点インデックスとか法線とかどうすんの?
365362:2005/06/03(金) 23:55:03
DrawPrimitiveUP+std::vectorで出来ました
でも数万ポリゴンのモデルだとOpenGLより明らかに描画速度が遅いです
366デフォルトの名無しさん:2005/06/04(土) 00:01:18
内部で作り直しが行われていようと、
自分が見えないところでやる分には構わないのか。
馬鹿の考えることはさっぱり分からん。
367左利き:2005/06/04(土) 00:09:28
すいません、
DirectXとの質問とは違いますが、

VideoCaptureの列挙子が記述されている
レジストリのある場所を知っている人はいませんか?

DirectXを使ったライブラリを使っているのですが、
そのライブラリは
VideoCaptureが2つあってもデフォルトのほうしか使えないので、
レジストリでデフォルトの設定を変えたいのです。

お願いしますm(_ _)m
368デフォルトの名無しさん:2005/06/04(土) 00:14:16
一つの軸による回転のみの行列から角度を得ることは
容易に出来そうですが、
任意軸による回転行列から角度を得ることは可能でしょうか?
369デフォルトの名無しさん:2005/06/04(土) 00:19:30
角度を得るのは簡単だが、答えが複数あるというだけの話。
370デフォルトの名無しさん:2005/06/04(土) 01:28:59
>>369
thanks
371デフォルトの名無しさん:2005/06/04(土) 01:48:42
>おれなんか未だに固定少数でニュートン法で平方根求めてます。

_mm_sqrt_ps使うか、_mm_rsqrt_psで逆数求めて_mm_rcp_psで逆数にすると
平方根が4ついっぺんに求められる。精度低い代わりに速い。
372デフォルトの名無しさん:2005/06/04(土) 07:58:31
質問のフリ荒らし:書くことはないがスレの流れが気になって仕方なく
          とりあえずスレ違いにはならないとおもわれる範囲で
          質問・同意を得る形式でレスをすること。
          答えがどうあろうとレス稼ぎが問題なので単発で終わることが多い。
373デフォルトの名無しさん:2005/06/04(土) 11:19:30
DirectShowを使って、複数の静止画からaviファイルを作成するにはどうしたらよいのでしょうか?
374デフォルトの名無しさん:2005/06/04(土) 12:08:16
まずプログラムを書く。
375デフォルトの名無しさん:2005/06/04(土) 12:15:15
DirectPlayが廃止されるそうですが次はIndigoですか?
それとも別のなにか?
376デフォルトの名無しさん:2005/06/04(土) 12:35:55
WinSock
377デフォルトの名無しさん:2005/06/04(土) 13:01:27
>>374
そんな意地悪言わずに教えてくだすれ
378デフォルトの名無しさん:2005/06/04(土) 13:30:43
キーボードを叩く。
379デフォルトの名無しさん:2005/06/04(土) 13:38:34
>>377
多分>>374は解からないから誤魔化すようなレスしてるだけ
380デフォルトの名無しさん:2005/06/04(土) 13:41:58
指の筋肉を動かす。
381デフォルトの名無しさん:2005/06/04(土) 14:08:13
マジレスすると、まず検索サイトで調べる。
382デフォルトの名無しさん:2005/06/04(土) 14:20:40
>>373
マルチいくない。
DirectShowスレで回答もらってんだから、こっちはもう終わり。
383デフォルトの名無しさん:2005/06/04(土) 17:01:28
マルチ投稿見つけたら回答しないようにしましょう。
場合によっては少し叩いてやりましょう。
384デフォルトの名無しさん:2005/06/05(日) 14:58:21
Direct3D9: (ERROR) :Memory still allocated! Alloc count = 98
系のエラーってどうやって解決するんですか?

ttp://64.233.187.104/search?q=cache:31PVzUOwFSYJ:fkaine.hp.infoseek.co.jp/cgi-bin/webnews.cgi/yaneSDK%3Fmode%3Dthview%26thtop%3D1648+Memory+still+allocated!++Alloc+count&hl=ja&lr=lang_ja

を読んでみましたが解決策が解らないので質問させていただきました
385デフォルトの名無しさん:2005/06/05(日) 15:28:04
メモリリークしてるから
Release() し忘れてるところを探すといいよ。

あと、Alloc ID ってのが出てるはずだから、
Dxコンパネで Break On AllocID にその値を指定すると
幸せになれるかもしれない。
386デフォルトの名無しさん:2005/06/05(日) 16:36:13
vector a(1,0,0) と vector b(0,0,1)で
外積を求めたら(0,-1,0)になりますが、
外積は右ねじっていいますが、違うんじゃ
387デフォルトの名無しさん:2005/06/05(日) 16:52:12
左手座標系なら左手の法則だよ
388デフォルトの名無しさん:2005/06/05(日) 16:52:49
>>385 dクス いけました
Break On AllocIDに値を入れてブレークしてくれたけど アセンブラわがんねorz
389デフォルトの名無しさん:2005/06/05(日) 16:54:14
ずっと騙されてた。何故、今まで上手くいってたのだろう。
390デフォルトの名無しさん:2005/06/05(日) 16:59:25
>>388
ステップアウトするんだ。
39140:2005/06/05(日) 17:09:48
なにげにおいらも幸せになれたわー
392デフォルトの名無しさん:2005/06/05(日) 22:46:12
質問です。

簡単なゲームを作ってみようと思い、DirectXを始めてみました。
とりあえずwebにあったものを組み合わせてビルドしてみたのですが、
リンクするときに、
「dinput8.lib(dilib2.obj) : fatal error LNK1103: デバッグ情報が壊れています; モジュールを再コンパイルしてください
link.exe の実行エラー」
と出てしまって、ビルドが完了できません。

dinput8.libを作り直せば良いのかと思ったんですが、ソースが見当たりません。
どうすればいいのでしょうか?
また、同じような状況になった方はいらっしゃいませんか?

よろしくお願いします。
393392:2005/06/05(日) 22:50:33
書き忘れましたが、SDKは9.0c(2005April)、開発環境はVisual C++ 6.0です。
394デフォルトの名無しさん:2005/06/05(日) 22:58:03
まずはリリースノートを読みましょう。
そこに全て書かれています。
395デフォルトの名無しさん:2005/06/05(日) 23:26:27
DirectX以前の問題なのにね
396392:2005/06/06(月) 01:06:10
>>394
>>395

お返事ありがとうございます。
解決しました。
デバッグ情報作れないんだったら、作んなきゃいい話なんすね。
DirectXの問題どころか、IDEの扱いかたっつーか日本語が読めていませんでした....orz

で、ちょっと気になったんですが、これってリリースノートに書いてあるんですか?
自分が見た限りでは見つけられなかったんですが....
397デフォルトの名無しさん:2005/06/06(月) 01:20:55
リリースノートを見ろ。
話はそれからだ。
398デフォルトの名無しさん:2005/06/06(月) 01:29:52
ここは日本語が通じないインターネットですね
399デフォルトの名無しさん:2005/06/06(月) 01:50:19
>>398
あんまりくだらない質問ばかりする初心者&人を見下す態度を取る返答者の争いが
絶えないのでとうとうスクリプトになってしまいました。
ちょっと使い難いかもしれませんが我慢してください。
400デフォルトの名無しさん:2005/06/06(月) 03:44:14
>>399
初心者スレで初心者なりの質問がきて、「くだらない質問」などと言ってんじゃない。

>人を見下す態度を取る返答者

まさしくおまえのことだ。
401デフォルトの名無しさん:2005/06/06(月) 05:24:23
>>400
ここは日本語が通じないインターネットですね
402デフォルトの名無しさん:2005/06/06(月) 05:41:05
最近は質問する側の態度もでかいのが気に入らないな。
ホントにこんな質問してる奴が俺等に還元するようになるのかねぇ?
とか本気で思う。
ま、絶対、ならねぇだろうな。
403デフォルトの名無しさん:2005/06/06(月) 06:51:49
嫌なら回答しなきゃいいだけ。君が答えなくてもべつの答えたい人が答えてくれる。
初心者相手に見返り期待してないでどうぞ上級者のあなたにお似合いなレベルの高いところへお行きください。
さいなら。
404デフォルトの名無しさん:2005/06/06(月) 07:50:37
>>403
俺のレスが気に入らないならスルーすればいいだけ。
嫌なら相手にしなくて結構。
懐古ってわけじゃないけど、昔は質問への回答なんてそこまで重要なことではなく
むしろ勉強するにあたっての姿勢を大事にする傾向があった。
どのぐらい頑張れば自分のめざすことができるようになるんだろうとか
そういうのが回答からわかった。
ゲームPGの技術力の高さは掲示板でそういうところまで
面倒を見てくれるところで支えていたと思うんだけどね。

ところがこの質問スレはそういうのがないから、最近の初心者は損をしてると思うんだよね。
俺が先人(主にPS世代の人かな)から受け継いだものなんて、そんなものだけど
お前等がいらないっちゅーなら、それもアリだな。と思う。
初めて何ヶ月目か知らんけど、カワイそうだけどこんなペースじゃ一生かかっても俺にはおいつけないだろうな。
俺等の頃にあって、今無いものの差はかなりでかいぞ。
405デフォルトの名無しさん:2005/06/06(月) 08:19:18
全角英数字使う自称プログラマは、高確率でワナビーの法則

説教好きが2ch全体に増えている
これはこのスレに限った事じゃない
406デフォルトの名無しさん:2005/06/06(月) 08:26:59
純粋にQ&Aだけをしたい人はこちらへどうぞ

2D!!のDirectXをやってみるかもな
http://pc8.2ch.net/test/read.cgi/gamedev/1005133911/
407デフォルトの名無しさん:2005/06/06(月) 08:52:38
お偉い先人から何かを受け継ぐと404みたいにキチガイになってしまうのですね。
受け継がなくて良かったです。というか何を受け継いだのでしょうか。
404の書き込みから何が伝わってくるのでしょうか。
伝わってくるのは間違いなく404はキチガイであるということだけです。
ここは404なんぞいなくても今まで通り粛々と進んでゆきます。
さようなら404。
408デフォルトの名無しさん:2005/06/06(月) 09:54:55
>>404
ここは質問スレだ。質問と回答以外必要ねーんだよ。
なにが「スルーすればいいだけ」だよ。
テメェがスレ違いなどうでもいい昔話をご高説なさってるから邪魔だって言ってんだよアホ。
背中に「↑バカ」って張り紙されてるタイプだよお前w
409デフォルトの名無しさん:2005/06/06(月) 11:00:44
ここは聞く奴も馬鹿なら
答える奴も馬鹿で結構バランスとれてるよ。
410デフォルトの名無しさん:2005/06/06(月) 11:22:29
雑談の時だけ加速するッ

ちょっと気になる流れだったから話戻していい?
Summer2004以降はVC6はサポート外になったけど、
ExtrasのVC6用D3DXファイルに差し替えればとりあえず動くよね。
今はVC6+Oct2004にしてるんだけど、なんか問題あるかしら?
海外サイト見ると一応イケるっぽいんだけど・・・
411デフォルトの名無しさん:2005/06/06(月) 12:14:55
サポート外の物にサポートを期待するな。
412デフォルトの名無しさん:2005/06/06(月) 12:44:07
期待はしてないよ。
ただ、わざわざVC6用のファイルを残しているから
完全に切り捨てたというより互換性を気にしなくなっただけなのかな、と思ってね。
回避できない致命的な問題がなけりゃそれでいいの。
413デフォルトの名無しさん:2005/06/06(月) 17:31:40
VC6を未だに使い続ける理由ってなんだ?
414デフォルトの名無しさん:2005/06/06(月) 18:04:49
>>413
.net無駄に重くね?
415デフォルトの名無しさん:2005/06/06(月) 19:02:06
vc6で何も困ってないんだけど。
逆に.netにしなきゃいけない理由って何。
416デフォルトの名無しさん:2005/06/06(月) 19:21:25
エディタの性能がいい
417デフォルトの名無しさん:2005/06/06(月) 19:41:57
>>415
インテルコンパイラ用の最適化機能と新規格の準拠度
418デフォルトの名無しさん:2005/06/06(月) 19:54:41
VC6 は new が NULL 返すのがなぁ...。
STL 等のライブラリは new が bad_alloc 投げることを前提にしてるから、
NULL チェックされとらんのよな。
bad_alloc を投げるようにハンドラ変えてやればいいんだけど。
あと、static const int メンバが直接初期化できないから
enum を使わないといけなかったり。
419デフォルトの名無しさん:2005/06/06(月) 20:11:45
SSE/SSE2対応。
420デフォルトの名無しさん:2005/06/06(月) 20:23:10
>>415
とりあえずboostでコンパイル通るコンポーネントが飛躍的に増えること。
これだけで導入の価値は充分にある。

あとVC6ではテンプレート周り、とくに特殊化/部分特殊化に関連するバグには
かなり悩まされてきたが、VC7.1ではほとんど修正されてる。
421デフォルトの名無しさん:2005/06/06(月) 20:27:15
まあ、今更.NETを買うよりは2005、もとい8.1を買う方が良いと思うよ
422デフォルトの名無しさん:2005/06/06(月) 20:31:14
今なら只だしな
423デフォルトの名無しさん:2005/06/06(月) 20:34:51
7.1よりさらに重い気が…
ベータ初期しか試してないが、多少は良くなったのかね
424デフォルトの名無しさん:2005/06/06(月) 20:35:56
β1に軽さを要求するってお前は本当にプログラマなのかと(ry
425デフォルトの名無しさん:2005/06/06(月) 21:25:22
alphaならともかくbetaなら仕上がっていて当然だと思うが
426デフォルトの名無しさん:2005/06/06(月) 21:28:26
beta ってのがどこまでできてるかってのは、
国や組織によっても認識が違ってたりするからなぁ。
427デフォルトの名無しさん:2005/06/06(月) 21:32:38
いや普通に評価版だろ
どこでも
428デフォルトの名無しさん:2005/06/06(月) 21:40:54
>>420
7.1でも部分特殊化はイマイチだ
8買っちゃうかも。
429デフォルトの名無しさん:2005/06/06(月) 23:27:39
8も只当然版は出るのかな〜
430デフォルトの名無しさん:2005/06/07(火) 00:59:52
VC++て2万円程度だろ。そのくらい出して当たり前では。。。
431デフォルトの名無しさん:2005/06/07(火) 01:14:22
買うなら VS だよなぁ。
432デフォルトの名無しさん:2005/06/07(火) 03:41:51
「βはリリース目前」が世界の常識。
433デフォルトの名無しさん:2005/06/07(火) 10:22:57
いまさらだが、VC6の全エディションからVS.NET Professional 2003に
3〜4万円くらいで乗り換えれたよ。VBやVJ等でも可。
もう1年前にキャンペーン終わってしまったが。
434デフォルトの名無しさん:2005/06/07(火) 11:45:36
最近ら抜き言葉をよく見るなぁ
435デフォルトの名無しさん:2005/06/07(火) 11:55:56
ら なんか(゚听)イラネ
436デフォルトの名無しさん:2005/06/07(火) 13:08:04
「〜の方が」を「〜のが」とかいうバカのが気に入らない。
「ディテール」を「ディティール」とかいうバカも気に入らない。
437そもそもカナで表記することが(ry:2005/06/07(火) 14:16:50
>>436
「ディテイル」もしくは「ディーテイル」
438デフォルトの名無しさん:2005/06/07(火) 14:50:50
別に発音に正確にという意味じゃねーんだよバカ。
439デフォルトの名無しさん:2005/06/07(火) 15:48:26
あいぐまスカル
440デフォルトの名無しさん:2005/06/07(火) 16:26:16
そこらのゲイどもよりこのハードゲイ様のが素晴らしいんだぜオッケイ
ディティールが違うんだよディティールがフォー
441デフォルトの名無しさん:2005/06/07(火) 16:29:19
フゥ―――――(●∀●)―――――ウ!
442デフォルトの名無しさん:2005/06/07(火) 19:43:14
初心者に毛が生えた荒らしが、
自作自演で質問ゴッコするスレ
443デフォルトの名無しさん:2005/06/09(木) 22:30:56
age
444デフォルトの名無しさん:2005/06/10(金) 14:15:25
頂点配列をSTLのvectorでやる場合の問題とか気をつけることって何かありますか?
445デフォルトの名無しさん:2005/06/10(金) 17:16:58
特に思い浮かばないが。
446デフォルトの名無しさん:2005/06/11(土) 01:30:39
vectorの要素が変化するとメモリの再アロケートが起きるから
パフォーマンスは気にしたほうがいい。
447デフォルトの名無しさん:2005/06/11(土) 01:39:09
俺、vectorの再アロケートではまったことあるなぁ・・・
448デフォルトの名無しさん:2005/06/11(土) 01:43:53
reserve呼べば済むハナシ
449デフォルトの名無しさん:2005/06/11(土) 02:00:36
つか、とりあえずスレ違いじゃね?
450デフォルトの名無しさん:2005/06/11(土) 02:08:36
> vectorの要素が変化するとメモリの再アロケートが起きるから

「vectorの要素数が上限を超えると」だろ。
要素が変化するごとに再アロケートなんかおきてたらスパコンでも使えんわそんなもん。

451デフォルトの名無しさん:2005/06/11(土) 02:22:21
要素の追加、削除をするだけでもリロケート起きたような・・・
毎回起きるわけでもないみたいだけど。
452デフォルトの名無しさん:2005/06/11(土) 02:30:48
キャパが増えるとキャパを一定量増やして再アロケートするだけじゃないかな。
効率気にするなら reserve しときゃええ話やね。
453デフォルトの名無しさん:2005/06/11(土) 04:29:11
他のDirectXアプリのフルスクリーンの手前に
文字やグラフィックを表示することはできますか?
454デフォルトの名無しさん:2005/06/11(土) 07:19:04
できるよ。
455デフォルトの名無しさん:2005/06/11(土) 10:39:28
何気にJune2005からD3DXの単体配布OKになったんだね。
456デフォルトの名無しさん:2005/06/11(土) 12:55:38
処理速度調べようとこういうプログラム作ったのですが
http://gamdev.org/up/img/2757.zip

以下の内容を100万回施行
移動して、徐々に透明になる事を想定してのプログラムです。
1、テクスチャを描画、板ポリを生成、描画
2、板ポリ生成、描画
3、板ポリ描画
4、板ポリ描画(Lock版)

だいたい速度が同じなのですよね。
作り方がおかしいのでしょうか?
それとも、こんなもんなのだろうか・・・
Effective C++見るとみるからに変わってるんですがね
457456:2005/06/11(土) 19:28:58
レスががが。
もしや、クラッシュさせてしまったのかっ!!
458デフォルトの名無しさん:2005/06/11(土) 20:03:11
>>456
VSync待ってたりして。
459デフォルトの名無しさん:2005/06/11(土) 21:14:47
>>456

最適化を有効にして実行してみた。
北森2.8 RADEON9600XT DirectX9 april

VC6
Time1 31074
Time2 30790
Time3 6088
Time4 6853

VC7.1
Time1 30740
Time2 30578
Time3 6297
Time4 6667
460デフォルトの名無しさん:2005/06/11(土) 21:30:30
正直このテストで何を知りたいのかわからない俺がいる
461デフォルトの名無しさん:2005/06/11(土) 22:01:06
Releaseで何も設定をいじらずに実行

AthlonXP2500+ Radeon9600np DirectX9 april

VC7.1
Time1 29627
Time2 30479
Time3 10981
Time4 10163
462デフォルトの名無しさん:2005/06/11(土) 23:18:24
同じくReleaseで何もいじらずに実行

Pen4 1.8GHz Radeon9600 SERIES

VC6
Time1 46553
Time2 46654
Time3 11250
Time4 11690
463456:2005/06/12(日) 02:18:56
おお、実行どもです
結果が大きくちがいますね。なんでだろう。
Athlon1.8GHz Geforce256で 一律4000でした。
プログラムは問題なさそう。なのか?
1,2は
リスト構造の中に予めVertexBufferを入れるか
描画する時にだけVertexBufferを生成するかどうか
(クラスの設計をどうしようかと考えていたので)
3,4は
データを上書きするのと
Lockしてデータを書き換えるのとは
どっちがパフォーマンスがいいのか?というのが目的です。
メモリの問題はとりあえず後回しとして。

実行してくれた方々ありがと〜。
464456:2005/06/12(日) 02:28:46
一律40000だた
465デフォルトの名無しさん:2005/06/12(日) 03:39:07
http://developer.nvidia.com/object/nvperfhud_home.html

NVPerfHUDでパフォーマンスを解析したほうがいい。
ビデオカードは買わないとダメだけど効果は大きい。
使い方のムービーあるから見てみるといい。
466デフォルトの名無しさん:2005/06/12(日) 12:13:10
Athlon2500+とFX5200 128Mで一律50000…
やっぱグラボって重要なんだね…
467デフォルトの名無しさん:2005/06/12(日) 17:29:15
>>456
起動した瞬間固まる。。。
Win2000、RADEON9100、1GB
468デフォルトの名無しさん:2005/06/12(日) 17:31:42
>>467
それ、重すぎて画面に表示できてないよ。
数分経つと正常に終了するから
469デフォルトの名無しさん:2005/06/12(日) 19:55:52
400万回ループしたのちに
終了するようになってます。
470デフォルトの名無しさん:2005/06/12(日) 21:59:19
はじめまして・いきなりですが、DirectXについての質問です。
DirectXのサンプルと、VisualC++.netなどでDirectXのプログラムを起動させると、
「Switching the Direct3D reference rasterizer, a software device that implements the entire Direct3D feature set, but runs very slowly. Do you wish to continue?」
とテキストボックスが出現した後FPS0.1というとても遅い速度でしか動きません。
以前はスムーズに動いたはずなのですが。。。
あるとすれば、キチンと動いたときからパソコンを初期化してメモリ増やしたくらいしか。。。
どなたかご教授おねがいいたします。

スペック
Dellノートパソコン
Pentium2.66GHz
メモリ640
開発環境
VisualC++.net
DirectX SDK 9.0(june 2005)
471デフォルトの名無しさん:2005/06/12(日) 22:02:57
>>470
まずエラー文をちゃんと読もう、な!
472デフォルトの名無しさん:2005/06/12(日) 22:03:02
>>470
そのメッセージをexcite翻訳すると

>Direct3D参照ラスタライザを切り換えて、全体のDirect3Dの特徴を実装するソフトウェアデバイスは、非常にゆっくりセットしますが、動きます。 あなたは続きたいですか?

ノートパソコンの時点でまさかとは思うが、ビデオカードが無いとか言わないよな?
473デフォルトの名無しさん:2005/06/12(日) 22:09:34
あー、ビデオカードは入ってないと思います。
以前はちゃんと動いてたので多分問題は他にもあるかと思います。
474デフォルトの名無しさん:2005/06/12(日) 22:13:29
>>473
コンパネからDirect3Dの設定を変えてみるとか。
475デフォルトの名無しさん:2005/06/12(日) 22:18:56
>>473
DX9の同じサンプルでだよな?
476デフォルトの名無しさん:2005/06/12(日) 22:32:44
ご教授ありがとうございます。
今色々試してはいるんですが、変化が無い感じです。
>>475
そうです。同じサンプルで動作が遅いという現象が出てます。
やっぱり、ビデオカードの問題なんでしょうか(^^;
ところで、DLしたのって、
Microsoft DirectX 9.0 SDK Update (June 2005)
のみなんですけど、これってUpdateのみだから、DirectX 9.0b SDK (2002)
が必要ってわけじゃないですよね?
あと、診断ツールのDirectXファイルで
「いくつかのファイル (d3d9d.dll、Microsoft.DirectX.Direct3DX.dll) はデバッグ版です。製品版より遅く動作します。」
と出ましたが、これって影響ないんでしょうか?
477デフォルトの名無しさん:2005/06/12(日) 22:38:58
>>476
だからコンパネでDirect3Dの設定を変えてみなよ。
Emulate reference rasterizer
とかの項目を切り替えたり、Debug/Rereaseモードを切り替えたり。
478470:2005/06/12(日) 22:52:51
設定色々変えてますが、あまり変化が無いように見えますね。
やっぱり、ノーパソでやること自体が無謀なんでしょうか(^^;
479デフォルトの名無しさん:2005/06/12(日) 23:09:21
最近のノートは凄いと思うがな・・・
480470:2005/06/12(日) 23:15:55
とりあえず以前動いてたから何かすれば動くハズだと思います。
ご教授ありがとうございました。
再度一人でがんばってみます(^^
481デフォルトの名無しさん:2005/06/13(月) 01:36:07
↑のスペックなら必ず動くな・・・(漏れのノートとは比べ物にならない・・・orz)
482デフォルトの名無しさん:2005/06/13(月) 11:46:56
Z軸で奥にある物が、手前にある物の上に描画されてしまいます。
SetRenderState(D3DRS_ZENABLE, TRUE)は書いてるんですけど、
これ以外にも何か必要なものとかあるんでしょうか?
483デフォルトの名無しさん:2005/06/13(月) 11:55:43
SetRenderState(D3DRS_ZWRITEENABLE, TRUE)
484デフォルトの名無しさん:2005/06/13(月) 12:28:42
デフォルトでTRUEじゃなかったか?
単に精度の問題とかじゃ?
485482:2005/06/13(月) 12:39:33
SetRenderState(D3DRS_ZWRITEENABLE, TRUE)
を書いてもだめでした。
486デフォルトの名無しさん:2005/06/13(月) 15:02:04
CodeGuruのサンプルを参考にしつつ勉強中な初心者からありがちな
「画面一杯に1枚絵を表示」する方法の質問です。
クライアント領域640x480のウィンドウに同サイズのテクスチャを
画面ぴったりに表示させようとしています。
で、表示自体は出来たのですが、各ドットが補完されボケて表示されて
しまいます。
SetTextureStageStateでD3DTEXF_NONEやD3DTEXF_POINTを指定すると
ボケた上に端々が汚く、D3DTEXF_LINEARだと綺麗だけどやはりボケます。
(↑これは当たり前ですが)

補完無しでくっきりと表示させる方法を教えて下さい。
orz オナガイシマス
487デフォルトの名無しさん:2005/06/13(月) 15:24:56
なぜ普通に聞けないのですか。
orzとかオナガイシマスとか、いい加減恥かしくないですか。
礼儀というものを知らないのですか。
いつからそういったものを覚えたのですか。
そういうノリだと誰かが教えてくれると思ったのですか。
488デフォルトの名無しさん:2005/06/13(月) 15:29:53
D3DXSprite 使うと良さげ?
489デフォルトの名無しさん:2005/06/13(月) 15:50:44
テクスチャ作成時にD3DXを使っていて、イメージと作成可能なテクスチャサイズが合わない場合に
勝手にイメージが拡大されるのを知らないってオチが大半やねこの場合。

あとは頂点座標を-0.5ピクセル分ずらすとか、UV座標を+0.5テクセル分ずらすとか。
490デフォルトの名無しさん:2005/06/13(月) 15:53:50
>>488
ID3DXSpriteの存在を本気で忘れてました
単純な矩形表示ならこっちの方が相応ですな…
ちょっと調べてみます。マリガトウ

>>487
つ● ウンコドゾー
491デフォルトの名無しさん:2005/06/13(月) 16:21:32
>>482
射影行列のZnをいくつにしてる?

>>490
せっかくいい線まで行ってるんだから、ID3DXSpriteなんて使うな。
原因はたぶん489の言う通り。
描画以前に読み込み時にテクスチャがボケてる。
492486:2005/06/13(月) 16:33:06
>>489
>>491
489氏のレスみてテクスチャ座標を0.5テクセルずらしたらSetTextureStageStateの
D3DTEXF_NONE時の表示がだいぶマシになりました。
後はD3DXCreateTextureFromFileを使ってるのでご指摘の通りかと思われます。

D3DXCreateTextureFromFileはCodeGuruのサンプルをそのまま使ってた
だけなので、これをCreateTextureに置き換えてみます。
回答有難うございました。
ノシ
493デフォルトの名無しさん:2005/06/13(月) 16:50:44
>>486
D3DXCreateTextureFromFileExを使え。
494486:2005/06/13(月) 17:41:01
>>493
今ちょっとやってみたらテクスチャが縦横に妙に縮小されて取りこまれてしまいました…

こう↓書いてたのを
D3DXCreateTextureFromFile( g_pd3dDevice, fname, &g_pTexture[num] );

このように↓変えただけなのですが…
D3DXCreateTextureFromFileEx(g_pd3dDevice, fname, 0, 0, 0, 0,D3DFMT_UNKNOWN,
D3DPOOL_DEFAULT,D3DX_FILTER_NONE,D3DX_FILTER_NONE,
 0,NULL,NULL,&g_pTexture[num]);

読んでるファイルは640x480の24bppのBitmapで、D3DXCreateTextureFromFileExの
引数にサイズを指定したりフォーマットにD3DFMT_R8G8B8を指定しても同じでした。
ちょっと自力で調べてみます
D3Dッテムズカシイ('A`;)
495482:2005/06/13(月) 19:10:38
>>491
D3DXMatrixPerspectiveFovLH()のことですよね?
Znは0.1fです。
496デフォルトの名無しさん:2005/06/13(月) 19:17:18
かまととぶってんじゃねーよ気持ちわりぃな。
497デフォルトの名無しさん:2005/06/13(月) 19:43:58
>>494
テクスチャ座標を1.0にしてない?
たぶんD3DXCreateTextureFromFileExで640*480の画像を読み込むと
1024*512のテクスチャが作成されている。
D3DXCreateTextureFromFileExの後にサーフェスのサイズからテクスチャ
座標を計算する必要がある。
(1024*512と決め打ちするなら、640/1024,480/512をテクスチャ座標に)
498486:2005/06/13(月) 20:15:23
>>497
できました!
座標直したらドット単位くっきりな画像が表示できました。
今しばらく勉強してみます。
皆さん有難う。( ´∀`)ノシ

>たぶんD3DXCreateTextureFromFileExで640*480の画像を読み込むと
>1024*512のテクスチャが作成されている。

この動作知りませんですた。サイズは512Pixel毎?
手持ちのDX9ヘルプにも見当たらないような…
499デフォルトの名無しさん:2005/06/13(月) 20:19:39
氏ねよ上っ面野郎
500デフォルトの名無しさん:2005/06/13(月) 20:32:55
>>499
つ● ウンコドゾー
501デフォルトの名無しさん:2005/06/13(月) 20:34:15
すみません、初めて質問するのですが、directxを使って音を出したいと思っております。
ネットを見てもファイルを再生する方法はよくありますが、そうではなく、その時々で任意の音を出したい
のですがどなたかご存知ではないでしょうか。よろしかったら教えてください。
502デフォルトの名無しさん:2005/06/13(月) 20:37:27
ストリーミング再生のやつを応用して、
WAV データを自前で生成しつつ再生すればいいと思う。
ストリーミング再生の資料は多少はネット上に落ちてる筈。
503デフォルトの名無しさん:2005/06/13(月) 20:40:05
>>502
本当にありがとうございます!!さっそく調べてみます。
504482:2005/06/13(月) 21:12:42
すいません解決しました。
SetViewport()をやるときに、
D3DVIEWPORT8構造体のMinZとMaxZに値を入れてませんでした。
ありがとうございました。
505デフォルトの名無しさん:2005/06/13(月) 21:18:39
>>486
テクスチャは2のN乗サイズになる。3D屋なら常識だが、
ちゃんとヘルプにも書いてある。
Width [in] Width in pixels. If this value is zero or D3DX_DEFAULT,
the dimensions are taken from the file and rounded up to
a power of two. If the device supports non-power of 2 textures
and D3DX_DEFAULT_NONPOW2 is specified, the size will not be rounded.
506デフォルトの名無しさん:2005/06/14(火) 15:33:57
DrawPrimitiveUP と DrawPrimitive の違いがわかりません。
だれかもしえてください。
507デフォルトの名無しさん:2005/06/14(火) 16:14:05
>>506
Helpに書いてあります。残念。
508デフォルトの名無しさん:2005/06/15(水) 14:40:35
DDSCAPS_TEXTUREで作成したDirectDrawサーフェスに対してカラーキーをセットして、
DDBLT_KEYSRCフラグでBltするとMillennium G450では正常に表示されるのに、
NVIDIA GeForce FX 5700だと正常に表示されなくなります。
解像度やカラー深度は一緒です。ちなみにBlt関数ではS_OKが帰ってきます。

また、DDSCAPS_OFFSCREENPLAINでサーフェスを作成したり、
カラーキーを無効にするときちんと表示されます。

このような経験がある方がいたら教えてください。
509デフォルトの名無しさん:2005/06/15(水) 19:04:38
深度は16bit?
510デフォルトの名無しさん:2005/06/15(水) 22:43:45
>>508
そうです。R5G5B6のピクセルフォーマットにしたがって指定しています。
サンプルにあったように取得したサーフェスの左上にカラーキーにしたい色味を描画して、
Lockしてメモリを読み出し、実際に描かれた色味を指定しています。

DDSCAPS_TEXTUREフラグで作成したサーフェスに対して、カラーキーを含むBltのみが
おかしいようです。
ちなみにドライバを更新したときに、拡大Blt(転送先矩形が、転送元矩形より大きいBlt)で
カラーキーが境界部分で表示されてしまうバグが解消されたくらいなので、
テクスチャとして作成したサーフェスが転送元となるBltは想定していないのかもしれません。
戻り値にS_OKは返してほしくないですね・・・。
511デフォルトの名無しさん:2005/06/15(水) 22:44:19
レス番間違えた・・・orz
512デフォルトの名無しさん:2005/06/15(水) 22:46:34
あ、あとDirectX7です。
513デフォルトの名無しさん:2005/06/15(水) 23:35:35
>R5G5B6

?!
R5G5B5とかR5G6B5じゃなくてか?
プライマリサーフェスのCapsを確認してみ
514デフォルトの名無しさん:2005/06/16(木) 00:31:43
すみません!R5G6B5でした。確認しました。
515デフォルトの名無しさん:2005/06/16(木) 02:21:18
// カメラの前後ろどちらに木があるか
if( 0 > ( m_Trees[i].vPos.x - m_vEyePt.x ) * g_vDir.x +
( m_Trees[i].vPos.z - m_vEyePt.z ) * g_vDir.z )
DirectXサンプル、ビルボードの引用なんですが、
カメラ位置から木の位置までのベクトルの正規化なしで、
内積取っても、前後判定できないような気がするのですが。
516デフォルトの名無しさん:2005/06/16(木) 02:41:08
>>515
必要な情報は内積の結果の符号のみだから、
ベクトルの大きさは関係ない。

一度図と式を書いて確認しとくといいよ。
517デフォルトの名無しさん:2005/06/16(木) 03:30:01
正規化の意味分かってないんじゃないの?
そうじゃなきゃ一からベクトル勉強し直せって感じだが
518デフォルトの名無しさん:2005/06/16(木) 03:43:11
>>515
P・Q=|P||Q|cosα をもう一度よくじっくり考えてみよう。
ベクトルの大きさによらず、結果が正か0か負かだけで分かることがあるよな?
519デフォルトの名無しさん:2005/06/17(金) 13:36:44
DirectX8のD3Dのテクスチャで質問です
CreateTextureで空のテクスチャを作った後で、これに画像をBITMAPハンドルから
読ませる方法がわかりません
GetDCは無いし…
これを実現するAPI名を教えて下さい
520デフォルトの名無しさん:2005/06/17(金) 13:47:52
つ[GetDIBits]
つ[LockRect]
521519:2005/06/17(金) 13:59:53
>>520
LockRectを確認しました
有難う御座いました
522デフォルトの名無しさん:2005/06/18(土) 13:42:30
SDKをインストールするとデフォでCドライブの直下に『DXSDK』というフォルダができていたはずなんですが、
どれを入れてもプログラムファイル内に『Microsoft DirectX 9.0 SDK (June 2005』などといったフォルダしか作られません。
これらだとヘッダーファイルの一部が見つからなかったり、コンパイルができても
Direct3D9: (ERROR) :Unsupported min filter.
Direct3D9: (ERROR) :Invalid texture sampler state value. SetSamplerState failed.
のようなエラーが出てしまいます。
落とすファイルを間違えているのでしょうか?
523デフォルトの名無しさん:2005/06/18(土) 13:46:23
> デフォでCドライブの直下に『DXSDK』というフォルダが

いつの時代の人ですか・・・
524522:2005/06/18(土) 14:55:48
何をインストールしたか分かりませんが、9.0bでは『DX90b』や『DX90SDK』だったかな?
今まで9.0bをベースにupdateを加えていったので環境としては9.0cになっていると思うのですが、その大元のファイルがどこにあるのか・・。
525デフォルトの名無しさん:2005/06/18(土) 15:14:48
インストール時に場所を指定できるしもちろん表示されているが、
文字すら読めないのなら諦めた方がいい。
526デフォルトの名無しさん:2005/06/18(土) 15:15:09
>>522
何を言ってるのかよく分からんのだが、SDKをどこのフォルダに
インストールしたのか自分で分からんってこと?
527522:2005/06/18(土) 15:22:10
>これらだとヘッダーファイルの一部が見つからなかったり、コンパイルができても
>Direct3D9: (ERROR) :Unsupported min filter.
>Direct3D9: (ERROR) :Invalid texture sampler state value. SetSamplerState failed.
>のようなエラーが出てしまいます。
です。
バージョン違いでコンパイルができないのならそのエラーが起きている関数を変えることで直すことができますが、今回(上記)のようなのはどうしたらいいのか分からず質問しにきました。
528デフォルトの名無しさん:2005/06/18(土) 15:25:34
Summer2004以降あたりからはデフォルトではProgram Filesに入るはずだ。たぶん。
VS入ってんなら自動的にパスも設定してくれるはずだ。たぶん。
529522:2005/06/18(土) 15:27:49
追記
今まではCドライブ直下にあるSDKのフォルダの中にあるincludeとlibだけを指定するだけで問題なくコンパイル→実行ができました。
June 2005のinclude・libフォルダだけだと一部のヘッダーファイルが見つからない、Summer 2003を加えると上記のエラー。
530デフォルトの名無しさん:2005/06/18(土) 15:28:22
>>522
だからバージョンが変わったから関数の使い方が変わっただけじゃないの?
ヘルプ見て見たら?
別にファイルが無いよとかそんなこといってないんじゃない?
531デフォルトの名無しさん:2005/06/18(土) 15:34:52
>>522
OSを再インスコ、June2005をインスコ。
これで万事解決。SetSamplerStateのエラーはどっかの過去Verで引数の数が変わったんだろう
532522:2005/06/18(土) 15:36:06
すみません、 d3d9.libが見つかりません でした。
533デフォルトの名無しさん:2005/06/18(土) 15:44:00
HDDを検索すれば見つかります。
534デフォルトの名無しさん:2005/06/18(土) 15:44:40
単純にパスの設定し忘れだろう。
9.0cの頃からlibフォルダやincludeフォルダは

C:\Program Files\Microsoft DirectX 9.0 SDK (リリース年月)\Include
C:\Program Files\Microsoft DirectX 9.0 SDK (リリース年月)\Lib

に変わったから
535522:2005/06/18(土) 16:02:37
>>531
それをやった結果が現状・・。
>>534
それを設定してますが今までは問題なかったのに今回は(略
>>533
[Lib]
 └x64
 └x86
この2つのフォルダの中にファイルは確かにあります。
536デフォルトの名無しさん:2005/06/18(土) 16:12:09
>>535
だからVCのパスの設定の仕方がわかんねーんだろ?
↓でも行って来い
すれ立てるまでもない質問はここで 第67刷
ttp://pc8.2ch.net/test/read.cgi/tech/1114329636/l50
537522:2005/06/18(土) 16:43:16
>それを設定してますが今までは問題なかったのに今回は(略
分からないというほうが問題としては簡単なんですがね(´・ω・`)
一体何が原因なんだろ、03夏を入れて出てくるエラーの内容もさっぱりだし。
538デフォルトの名無しさん:2005/06/18(土) 16:57:13
>>537
な ん で 0 3 夏 を 入 れ る ? 
539522:2005/06/18(土) 17:01:28
>>538
そうしないとコンパイルが通らないからですよ(´・ω・`)

後者のエラーについてはSetSampleStateが原因でした。
終了時にreturn (INT)msg.wParam;を実行すると
Direct3D9: (ERROR):  [0] : Address 00000000 ←16進
                [1]
                :
                :
と出力コマンドに表示され続けて終わらなくなりました。
直接実行させると問題なく終わりますが、デバッグだけ・・メモリの開放ミスでしょうか?
540522:2005/06/18(土) 17:03:07
>>539の終了時に以下は別の問題です。見辛くてスマソ
541デフォルトの名無しさん:2005/06/18(土) 18:05:33
> そうしないとコンパイルが通らないからですよ(´・ω・`)
該当部分を修正すればいいだけの話だろ。
何故直さない?
542522:2005/06/18(土) 18:17:09
>>541
>>527
ヘッダーファイルじゃなくて正しくは d3d9.libが見つかりません です。

543デフォルトの名無しさん:2005/06/18(土) 18:18:38
>>542
それはお前が馬鹿だからだろ(´ω`)
544デフォルトの名無しさん:2005/06/18(土) 18:24:07
>>543
つ[【C++】 DirectX初心者質問スレ Part4【C++】]
545デフォルトの名無しさん:2005/06/18(土) 18:33:23
VisualC++初心者スレッドに行った方がいいんじゃ。
546522:2005/06/18(土) 18:59:49
>>543
って言われても(´・ω・`)
>>545
バージョンを前にすると通るからJune2005の問題かなと思っているのですが、VC++の問題なのでしょうか。
547デフォルトの名無しさん:2005/06/18(土) 19:09:30
>>546
だからパスを設定しろ。
VC++ ディレクトリって言葉知ってるか?
548522:2005/06/18(土) 19:17:09
>>547
何度も言うけど設定してるって。
やらなきゃ前のバージョンのコンパイルもできないし。

549デフォルトの名無しさん:2005/06/18(土) 19:36:20
流石にここまで来ると荒らしだぞ
550デフォルトの名無しさん:2005/06/18(土) 19:40:26
もうDirectX以前の話だろ
バカも休み休み言え
551デフォルトの名無しさん:2005/06/18(土) 19:43:40
ライブラリが絶対パスで指定してあるとかいう間抜けなオチでは?
552デフォルトの名無しさん:2005/06/18(土) 19:45:50
VC6だったりして
553デフォルトの名無しさん:2005/06/18(土) 20:04:05
もしかして\Libで止まってないか?
535で気付いてほしいものだが
554522:2005/06/18(土) 20:31:02
>>553
ありがとうございます、原因はそれだったようで○| ̄|_
フォルダを指定したら自動的に判断してくれているものと思ってましたが、自分で決めないといけないとは・・。

>>551
そのまま指定すると絶対パスになりますが今まで不具合が出たことがありません。
相対パスにしないと何か問題が起きるのでしょうか?
555デフォルトの名無しさん:2005/06/18(土) 20:50:18
無能すぎ
556デフォルトの名無しさん:2005/06/18(土) 21:00:47
>>547に逆ギレしたくせにこれだよ…ヤレヤレ
557デフォルトの名無しさん:2005/06/18(土) 21:05:17
リアルじゃ見れない品、こんなアホ
レアなもん見れたと思えばいいじゃん
558デフォルトの名無しさん:2005/06/18(土) 21:10:00
>>556
547と553の意味は別々だろ
混同してたらお前も522と同類
559デフォルトの名無しさん:2005/06/18(土) 21:46:14
DirectXゲームグラフィックスプログラミング Ver. 2.0を参考にしてます
単なる三角形を表示するだけのサンプルを改良して
三角形を二つ表示するプログラムが作りたいと思い
変数を追加して、少し座標をずらして表示させてみたところ
後に追加したほうの三角形しか表示されません

試行錯誤の結果
pD3DDevice->SetStreamSource( 0, m_pMyVB, 0, sizeof(MY_VERTEX) );
pD3DDevice->SetStreamSource( 0, m_pMyVB2, 0, sizeof(MY_VERTEX) );
この関数で後に設定したほうが先に設定したほうを上書き?してるようでした
三角形を複数表示しようと思った場合、普通はどうやるのでしょうか?
560デフォルトの名無しさん:2005/06/18(土) 21:48:11
今回の問題ってVCの問題だろといい続けてた奴らいるけどDirectXのディレクトリ構造が分かってなかったのが問題だよな?
あくまで”DirectXのlibファイルの場所"を勘違いしてたってことでVCの設定の仕方が分からなかったわけじゃないみたいだし

DirectX初心者に優しくないなこのスレ
561559:2005/06/18(土) 21:51:26
1つ目
SetStreamSource(一つ目のデータ
SetFVF
DrawPrimitive
2つ目
SetStreamSource(2つ目のデータ
SetFVF
DrawPrimitive
とすることで解決しました、すみません
562デフォルトの名無しさん:2005/06/18(土) 21:56:45
>>560
わかってなかったわけでもないだろ。
ただの確認不足。
頑なに自分の間違いを疑わず、
こうなるはずだ。等と思い込みで勝手に突き進んでたのが問題。
こういう馬鹿は成長しても結局同じ事を何度も繰り返す。
ここで潰しておいた方がよかった。
563デフォルトの名無しさん:2005/06/18(土) 22:02:54
>>562
確認したら俺の持っている本は全部IncludeフォルダとLibフォルダを指定するとしか書いていないぞ。
564デフォルトの名無しさん:2005/06/18(土) 22:06:04
>>563
なにがいいてぇんだ?
565デフォルトの名無しさん:2005/06/18(土) 22:12:05
そもそもインストール時にパスは自動設定されるはずだが。
566563:2005/06/18(土) 22:17:23
>>564
語弊があったかもしれんが、なぜSDKディレクトリの登録をしなければいけないのかやそれをすることによってどういう働きをするのか書かれていない。
そこから始める人にその時点で覚えさす必要はないが、書かれていない以上IncludeとLib両フォルダを登録しなければならないとだけ覚えていれば十分だと思う。
567デフォルトの名無しさん:2005/06/18(土) 22:18:18
今まで自動設定なんて親切なことしてくれなかったぞ。
568デフォルトの名無しさん:2005/06/18(土) 22:22:23
>>566
いつまで初心者でいるつもりだ?w
569デフォルトの名無しさん:2005/06/18(土) 22:25:18
>>565
同じく自動的にパスの設定をしてたってことはないな。
ちなみに.NET。
570デフォルトの名無しさん:2005/06/18(土) 22:32:11
DirectXになんて手を出す時点で”初心者”ではないとおもうが。
それとも初心者が出を出してしまった結果がアレなのか
571デフォルトの名無しさん:2005/06/18(土) 22:34:06
VS.NET2003で確認した結果、SDKをアンインストールするとパス設定が自動的に消去され、
インストールし直すと再びパスが設定し直されていた。
572デフォルトの名無しさん:2005/06/18(土) 22:45:17
>>570
アプリを作って公開し、叩かれたらやっと脱・初心者( ´ー`)y―┛~~
>>565
2台のPCで確かめたら1台は設定されたがもう一台は変化なし。
>>571をやってみたが設定されなかったほうは再び設定しなおされることがなかった。
573デフォルトの名無しさん:2005/06/18(土) 22:46:27
>>570
PC初心者とDirectX初心者の違いもわからないのか?
574デフォルトの名無しさん:2005/06/18(土) 22:50:47
>>573
PC初心者ならわかるが、DirectXに手を出すってことは当然通常の(?)プログラミングは知っていて
当然インクルードパスやライブラリパスなんて知ってるだろ。
575デフォルトの名無しさん:2005/06/18(土) 22:53:06
>>574
学校である程度プログラムを習ったからゲームを作ってみたいとか考えてる輩は知ってて当然とはいいがたいな
最近は昔と違って随分敷居が低くなってるからその辺の当然を求めるのはどうかと思うぞ
576デフォルトの名無しさん:2005/06/18(土) 22:56:46
Flashでイラストをプログラム制御してたのがきっかけで、その延長でDirectXを始めてたからそのときは知らなかったなぁ。
昔はどういう順序でプログラミングに入っていったんだろ。
577デフォルトの名無しさん:2005/06/19(日) 00:42:12
x86とx64の違いって何なんですか?32bitか64bitかってことですか?
578デフォルトの名無しさん:2005/06/19(日) 00:46:07
age
579デフォルトの名無しさん:2005/06/19(日) 00:47:45
>>577
またすごい釣り師が来たな
580デフォルトの名無しさん:2005/06/19(日) 01:22:43
あとXfree86とX68というのもあるぞ、ヤヤコシイ
581デフォルトの名無しさん:2005/06/19(日) 01:47:32
日曜プログラミングレベルだと、Win32とかすっ飛ばしていきなりDirectX始めたり
Javaすっ飛ばしていきなりiアプリ始めたりするやつはいるわけで、
それ自体は悪いことではなかろう。パラシュート勉強法なんて言葉もあったが。
582デフォルトの名無しさん:2005/06/19(日) 11:30:48
悪い事じゃないにしても、独学をちゃんとして欲しいね。
583デフォルトの名無しさん:2005/06/19(日) 12:26:03
独学なんてチグハグな知識の代名詞みたいなものなのに……
584デフォルトの名無しさん:2005/06/19(日) 13:21:10
IDEでしかプログラム作れない奴らって、
コンパイラの挙動が分かってないよな。
インクルードパスやライブラリパスなんて
コンパイラを直に使ってたら否が応でも
分からないとならないだろ。
585デフォルトの名無しさん:2005/06/19(日) 13:24:29
そうでもない。IDE利用の有無より、本人の素養や環境の問題だ.
586デフォルトの名無しさん:2005/06/19(日) 13:43:50
Linux環境でgccをコマンドから使っていても、
> インクルードパスやライブラリパスなんて
知らなくても何の問題もなく使えるが。
こういうことを言う人間ってリアルの方でも、
ろくに他の環境を知らないで、知ったかで適当をほざくんだろうなあ。
587デフォルトの名無しさん:2005/06/19(日) 14:21:54
アフォか。
gccでインクルードパスやライブラリパスを知らないで、問題が出てこないはずないだろ。
Hello worldでもコンパイルしてろ。
588デフォルトの名無しさん:2005/06/19(日) 14:25:02
それはIDEでも同じこと
589デフォルトの名無しさん:2005/06/19(日) 14:28:33
XファイルのAnimationKeyのアニメーションオプションに
オープン、クローズとあるのですが、何なんでしょうか?
検索しても、全く引っ掛からないし、対して重要で無い項目だったり
しますか?
590デフォルトの名無しさん:2005/06/19(日) 15:35:10
>>589
アニメーションがループするのか止まるのかの違いじゃね?
591デフォルトの名無しさん:2005/06/19(日) 15:37:25
>>587
恥の上塗りみっともない。
592デフォルトの名無しさん:2005/06/19(日) 15:55:35
>>590
Thanks
593デフォルトの名無しさん:2005/06/19(日) 20:53:59
パス知らないでgcc・・・?
おいらびっくりしたよ!
594デフォルトの名無しさん:2005/06/19(日) 21:11:10
その程度でびっくりできるなんて、無知だと毎日が斬新に思えるんだね。
595デフォルトの名無しさん:2005/06/19(日) 21:53:10
ジェネレーションギャップってやつ?
8インチFDを普通に使ってそう
596デフォルトの名無しさん:2005/06/20(月) 21:16:27
VC++.netでD3D9.hやd3dx9.hをインクルードするにはどうすればいいのですか?
597デフォルトの名無しさん:2005/06/20(月) 21:25:41
>>596
#include <d3d9.h>
598デフォルトの名無しさん:2005/06/20(月) 21:25:43
>>596
#include <d3dx9.h>
599デフォルトの名無しさん:2005/06/20(月) 21:37:39
>>596
すいません、言葉が足りませんでした。
ソースコードにそれを書くのはわかっているのですが、それを実行するためにVC++の設定をどうすればいいのか分かりません。
PCの環境は、DirectX9.0cが入っていて、VC++はインストールしたばかりです。
600デフォルトの名無しさん:2005/06/20(月) 21:58:29
適切なパスを設定すればいい。
601デフォルトの名無しさん:2005/06/20(月) 22:28:52
ネタスレにまで堕したか…
602デフォルトの名無しさん:2005/06/21(火) 00:57:52
>>599
先にVC++をインストールして、その後にDirectX SDKを入れる。
9.0cってのはランタイムだろ、どうせ。
603デフォルトの名無しさん:2005/06/21(火) 01:07:29
おまい、親切だな。
604デフォルトの名無しさん:2005/06/21(火) 07:03:11
>>599
そこからわからないなら入門書でも買ってしばらくは手順どおりに進めるほうがはやいじゃん。
それを買う金もおしいならプログラムなんて組むな。以上。
605デフォルトの名無しさん:2005/06/22(水) 15:30:28
どなたか>>508分かりませんか・・・?
606デフォルトの名無しさん:2005/06/22(水) 15:33:40
とりあえずDirectDrawを使わなければ幸せになれるよ。
607デフォルトの名無しさん:2005/06/22(水) 17:15:38
じゃんけんプログラムのmain関数の部分がわかりません。だれか教えてくださいm(_ _)m
608デフォルトの名無しさん:2005/06/22(水) 17:19:16
int main()
{ return Janken().run(); }
609デフォルトの名無しさん:2005/06/22(水) 17:22:16
>>608
void
main()
{
ここにいれるっぽいのですが
}
610デフォルトの名無しさん:2005/06/22(水) 17:23:41
自分の巣に帰れよ池沼
611デフォルトの名無しさん:2005/06/22(水) 17:27:58
#include <stdio.h>
int main()
{
printf("じゃんけんプログラム");
return 0;
}
612デフォルトの名無しさん:2005/06/22(水) 17:34:47
>>611
アザス!
613デフォルトの名無しさん:2005/06/22(水) 18:07:51
#include <stdio.h>
int main()
{
printf("じゃんけんしよう!\n入力してね グー:0 チョキ:1 パー:2\n");
int i;
scanf( "%d", &i);
printf("あなたの負けです\n");
return 0;
}
614デフォルトの名無しさん:2005/06/22(水) 18:37:49
>>613
テラワロスw
615デフォルトの名無しさん:2005/06/22(水) 18:39:14
>>613
Good Job!
616デフォルトの名無しさん:2005/06/22(水) 20:25:08
メタセコで作ったポリゴン(x)に2つ以上のテクスチャを張ってDirectXで表示したい場合、
テクスチャ別にポリゴンを分けてプログラム内でそれぞれ貼り付けていくのでしょうか?
617デフォルトの名無しさん:2005/06/22(水) 23:52:49
>>613
最強のじゃんけんプログラムとは、このことだったのですね!オモシロスw
618デフォルトの名無しさん:2005/06/23(木) 03:15:48
>>616
ループ回してプリミティブ単位で描画するから
毎ループSetTexture呼ぶ
つーかまずXファイルの表示とかやってみた?
619616:2005/06/23(木) 08:03:55
レスありがとうございます。
dwNumMaterialsを把握せず
for( DWORD i=0; i<dwNumMaterials; i++ )
{
 lpD3DDevice->SetMaterial( &pMeshMaterials[i] );
 lpD3DDevice->SetTexture( 0, pMeshTextures[i] );
 pMesh->DrawSubset( i );
}
とやっていましたが、ここがキーなのでしょうか。
夜に色々試してみます。
620デフォルトの名無しさん:2005/06/23(木) 15:18:12
ポリゴンの拡大縮小とか
Lockして内容書き換えないとメモリ増えていくのでしょうか
今、上書きしてる状態で、作ったプログラムが(MCleanで見て)
徐々にメモリが増加してワラエナイッス
621デフォルトの名無しさん:2005/06/23(木) 15:34:45
ロックしなくても、行列でスケーリングをセットすれば済むだけだと思うが。
622620:2005/06/23(木) 15:41:20
>>621
あ、そうでした。拡大は行列を触ればいいすね。

ではちょっと内容を変えて
拡大縮小とか −> 徐々に透明にする場合
ちなみにシェーダー使ってないんですよ。すんません。
623デフォルトの名無しさん:2005/06/23(木) 15:48:09
固定ならマテリアルを変更すればいいだけ。
624620:2005/06/23(木) 17:27:26
なぞが解けた。解放忘れであった。
newしまくり。
で、プログラム見たら数週間前の
自分のプログラムをすっかり忘れてる。
625デフォルトの名無しさん:2005/06/23(木) 17:33:50
固定っていつまで続くんだろ
626デフォルトの名無しさん:2005/06/23(木) 17:33:55
そもそも確保し直す必要も毎回ロックする必要も無いんだって。
627デフォルトの名無しさん:2005/06/23(木) 19:54:25
>>625
固定パイプラインに相当する機能は永遠に必要。
ただし、D3DXの担当に変わる可能性は大きいけどな。
628デフォルトの名無しさん:2005/06/23(木) 20:35:55
WGF2.0あたりで変わりそうな希ガス
しかし消失サーフェスのチェックやらd3dcapsのチェックやら
という腐れ仕事はいつまでしなきゃいけないんだろう…
629デフォルトの名無しさん:2005/06/23(木) 22:10:48
WGF2.0でデバイスロストが無くなるから、それまでの辛抱
630デフォルトの名無しさん:2005/06/23(木) 22:50:40
ハードが行き渡るまで待ってなきゃならない人間にとっては5年は無理。
631デフォルトの名無しさん:2005/06/24(金) 08:05:43
http://www.watch.impress.co.jp/game/docs/20050308/wgf.htm
ここに「必要機能は全て実装されていることが前提」ってあるから、
dedcapsで機能調べたりってのはかなりなくなるんじゃね?
632デフォルトの名無しさん:2005/06/24(金) 14:04:45
DirectX7でアルファ成分を持っている32ビットのテクスチャを用意して、
徐々に緑(G)とアルファの値が0〜255になるようなものを作って
背景が真っ赤の画面に描画したのですが、徐々に黄色(背景と混ざった色)になってしまいます。
原因が思い当たる方いますか?ちなみに背景を黒にするとちゃんと表示されます。
633デフォルトの名無しさん:2005/06/24(金) 14:13:48
>>632
D3DRENDERSTATE_SRCBLEND, D3DRENDERSTATE_DESTBLENDの設定が悪い。
634デフォルトの名無しさん:2005/06/24(金) 14:42:28
>>632
ブレンドファクター121で ググる
635デフォルトの名無しさん:2005/06/24(金) 14:48:29
>>632
> 原因が思い当たる方いますか?ちなみに背景を黒にするとちゃんと表示されます。
                                  ~~~~~~~~~~~~~~~
マズ 赤背景の時に、どのように発色させたいかはっきりしよう。

> 徐々に黄色(背景と混ざった色)になってしまいます。
↑は、有る意味正しく動作しているんだヨ
636デフォルトの名無しさん:2005/06/24(金) 15:05:40
>>632
赤色の画用紙の上に緑色のセロハンテープ重ねて置いてみ。
何色に見える?

それで解からなかったら幼稚園児からやり直すといいよ。
637632:2005/06/24(金) 16:17:33
みなさま、ご返答ありがとうございます。すみません。期待している動作は赤の背景にそのテクスチャを描画すると
赤(R255 G 0 アルファ値0)→暗めの黄色(R128 G128 アルファ値128)→緑(R0 G 255 アルファ値255)となるものです。

>>634さんから教えていただいた「ブレンドファクター121」を読んでみます。
638デフォルトの名無しさん:2005/06/24(金) 17:00:24
できました。ありがとうございました。
639デフォルトの名無しさん:2005/06/26(日) 17:23:29
DirectX9cのApril?では3D使うとDLLを1つ配布しないとダメでしたけど
Juneの奴も同じなのでしょうか?
640デフォルトの名無しさん:2005/06/27(月) 00:01:11
> DirectX9cのApril?では3D使うとDLLを1つ配布しないとダメでしたけど

はぁ?D3DXのDLLのことか?
DLLを単体で配布するほうがダメだ、ってM$が言ってるだろ
641デフォルトの名無しさん:2005/06/27(月) 00:07:29
それって、配布先ターゲットマシンにDirectX9c入って無いだけじゃないのかと。
642デフォルトの名無しさん:2005/06/27(月) 00:38:29
PC初心者かよ
643デフォルトの名無しさん:2005/06/27(月) 03:10:08
ttp://discuss.microsoft.com/SCRIPTS/WA-MSD.EXE?A1=ind0506b&L=directxdev#2
ttp://www.microsoft.com/japan/msdn/directx/dxreadmej.asp

相変わらずファイルの単体配布は駄目だけど、条件付で再配布ファイルのバラ売りが
可能になったっつーことかね。よくわかんねーけど。

もうめんどくせーからOct2004止めしとこーぜぼくたち初心者くんは。
644デフォルトの名無しさん:2005/06/27(月) 03:28:49
9.0b止めしてるぜ
645デフォルトの名無しさん:2005/06/27(月) 13:23:52
VC6.0でDirectX SDK 9.0c の日本語ヘルプをF1で呼び出せるようにする方法はありますでしょうか?
DirectX9Oct04JpnDoc.msi は普通にインストしてもだめぽでした。(.NETにしか対応してないぽ・・。)
.NET買えってことですかね・・(´・ω・`)
646639:2005/06/27(月) 18:48:19
>>640-643
あれ?DirectX9cのどれかのバージョンは
作ったゲーム配布するときDLLも添えないとダメでしたよね?
一般向けのDirectX9cランタイムに含まれていないから
どれかDLLもいっしょに配布しないと動かないと書かれていたはずです

これがJuneでは不要なのか
あいかわらずいっしょに配布しないと動かないのか
647デフォルトの名無しさん:2005/06/27(月) 20:08:37
おっと失礼
最新の一般向けDirectX9cランタイムには
全部のDLLが入ってることがわかりました
無事解決です
648デフォルトの名無しさん:2005/06/27(月) 20:42:20
んとねー。
Dec2004からはD3DXが性的ライブラリからDLLに変わったんだよねー。
これでちょっとD3DXのコード呼び出しただけで数百KBも実行ファイルサイズ増しなんてことが
無くなってみんな幸せになるかと思いきや、エンドユーザー向けの9.0cラインタイムには
Dec2004以降のSDKで開発したプログラムを動かすためのファイルが一部入ってないわけよー?
実際には足りないといってもD3DXのDLLファイル(d3dx_24.dllとかd3dx_25.dll)を
直接実行ファイルの隣に置いておけば動くんだけどー、なんかそれってライセンス的に完全にアウトなわけよー。
じゃどーすんだと言えばー、それぞれのSDKに付いてる再配布用のランタイムのインストーラである
DXSetup様御一行を添付しなきゃならないわけよー。40MB近くあったっけこれー?
マジ勘弁しろよって感じだったんだけどー、June2005ではDXSetupで再配布しなきゃならないのは
相変わらずだけど、インストーラのコアだけ残しておけば必要なファイルだけを添付するのが可能になったわけだー。
D3DXの更新のみ必要な場合は4MB程度の添付で済むわけだー。


そんな文章書いていたんですけど
>>647
マジでー? 去年の8月から日付変わってねーのに。これ(↓)のことじゃないっスよね?
http://www.microsoft.com/downloads/details.aspx?FamilyID=3ad9f0d1-8d81-40c8-9815-924dcd4cd2c5&DisplayLang=en
649デフォルトの名無しさん:2005/06/27(月) 20:44:28
>>648
性的ライブラリのままの方が良かった。
650デフォルトの名無しさん:2005/06/27(月) 20:52:52
卑猥な人たちですね。
651デフォルトの名無しさん:2005/06/28(火) 20:53:43
テクスチャを自分で読み込むにはどうしたらいいですか?
OpenGLだと自分で勝手にフォーマット決めて読み込んでいたのですが…
DXだとD3DXでしかLPDIRECT3DTEXTUREを作れないんですか?
652デフォルトの名無しさん:2005/06/28(火) 21:45:54
CreateTexture
Lock
653デフォルトの名無しさん:2005/06/29(水) 04:47:23
テクスチャフォーマットを無視してtexture::lockで書き込み、意図した結果が得られない悪寒。
とりあえずD3DFMT_A8R8G8B8 にしてLockしたら A<<24|R<<16|G<<8|B で書き込んどけ。
654デフォルトの名無しさん:2005/06/29(水) 04:55:14
とりあえず↓みたいにすれば、好きなARGBビット割り当てでのカラーコードが得られるぞ。
int argb(int a, int r, int g, int b, int abit, int rbit, int gbit, int bbit ) {
return (a>>(8-abit))<<(abit+rbit+gbit) | (r>>(8-rbit))<<(rbit+bbit) | (g>>(8-gbit))<<bbit | (b>>(8-bbit)) ;
}
D3DFMT_R5G6B5の場合は argb(a,r,g,b,0,5,6,5) にしとく。
655デフォルトの名無しさん:2005/06/29(水) 19:04:05
DirectMusicで一時停止の仕方を教えて下さい。
wavファイルを使って途中再生しようと思ったのですが、必ず最初から再生されます。

セグメントは GetObject() で取得しています。
Segment->SetStartPoint(time);
PlaySegmentEx(...,&pss,...);
pss->QueryInterface(IID_IDirectMusicSegmentState8, (LPVOID*) &pss8);
を呼び出した後、値を調べてみると
Segment->GetStartPoint() == time
pss8->GetStartPoint() == 0
となっていたので、PlaySegmentEx() 関数を調べてみたものの
よく分かりませんでした。

SDKヘルプの「セグメントの一時停止」を参考にしたのですが、
特にこれといった注意書きも見当たりませんでした。
656デフォルトの名無しさん:2005/06/29(水) 23:20:56
60fspの親ウィドウの上にTEXTの子ウィンドウを作って文字入力し描画したら
激しくちらつくんですがどうやったら親ウィンドウが毎描画するごとに
子ウィンドウを前面に描画することができるんでしょうか?
657デフォルトの名無しさん:2005/06/29(水) 23:41:54
文字入力そのものを自分で描画すればいい。
658デフォルトの名無しさん:2005/06/30(木) 01:52:56
Xファイルについてなんですけど
フリーのゲームとかみてたらXファイルがフォルダの中にはいっていないのは
他の何かに埋め込んでるからなんですか?
どのように隠しているのかヒントください
659デフォルトの名無しさん:2005/06/30(木) 01:55:27
>>658
拡張子の変更、暗号化、別ファイルに埋め込み、そもそも別のファイル形式
660デフォルトの名無しさん:2005/06/30(木) 04:41:20
逆行列の作り方は、左からベクトルを掛けるタイプと
右からベクトルを掛けるタイプとどちらのタイプの行列でも
同じ作り方でよいですか?
661デフォルトの名無しさん:2005/06/30(木) 11:19:00
Visual C++でMFCを使ってのDirectXプログラミングの解説って少ないですね。
MFC使わないでWin32API使った方がやっぱり楽なんですかね…。
662デフォルトの名無しさん:2005/06/30(木) 11:26:22
初期化の部分がちょっと面倒になるだけだから、解説するほどのことでもない。
663デフォルトの名無しさん:2005/06/30(木) 11:33:28
そうですか。MFCでdirectinput試してるけどなんか上手く行かないんですよね。
まあ、もう少し色々試してみます。
664デフォルトの名無しさん:2005/06/30(木) 21:50:45
すいません、質問よろしいでしょうか?
3D空間にオブジェクト配置してそれをマウスでクリックして反応とれるようにしたいんですが、
D3DXVec3Unprojectが上手く動いてくれません。
http://www.tsg.ne.jp/sept/prg/memo/polypick.asp
↑見るとワールド行列が初期化されてそのまま入っているのでこれを参考にしたのですが、これで動くものなんでしょうか?
あと、よろしければ皆さんがどのようにZ軸の値を決めているのかも聞かせていただければ幸いです
665デフォルトの名無しさん:2005/06/30(木) 22:48:19
レイを伸ばすだけ。
それ以上でもそれ以下でもない。
666デフォルトの名無しさん:2005/06/30(木) 23:12:35
>>664
D3DXVec3Unprojectの第3〜6引数は描画に使ってるのと同じのを渡すだけ。
おまえがワールド行列に単位行列を使ってるなら単位行列を渡せばいい。
667655:2005/07/01(金) 00:42:51
>>655で、DirectMusicのwav再生の事で質問した者です。

BBXという掲示板を拝見した所、DirectMusicについての返答は、
ほとんど期待できない様な事が書かれていました。
これは、ここでの返答も期待出来ないと思った方がいいのでしょうか?

というか、期待出来ないと言う事は不可能な処理なのでしょうかね?
一時停止に成功された方がいましたら、返信して頂けないでしょうか?
668デフォルトの名無しさん:2005/07/01(金) 00:46:39
DirectSoundで自分で好きなように加工して再生すればいいだけ。
ソフトシンセを使う以外でDirectMusicを使う必要性がさっぱり分からない。
669デフォルトの名無しさん:2005/07/01(金) 01:43:37
一時停止に成功・・・そんなに難しいことなのか?
670デフォルトの名無しさん:2005/07/01(金) 06:29:42
DirectMusic誰も使ってないもんな。
671デフォルトの名無しさん:2005/07/01(金) 06:56:02
>>667
>注 サンプル関数の mtLength パラメータは、
>通常、WAV ファイルからロードされたセグメントに対しては 1 である。
>この場合は、SetStartPoint を呼び出す前に、IDirectMusicSegment8::SetLength を使って、
>セグメントの長さを現在のオフセットより少なくとも 1 チックだけ大きい値に設定する必要がある。
>詳細については、IDirectMusicSegment8::SetStartPoint を参照すること。
このへんにやられてるってこともない?
672655:2005/07/02(土) 02:46:30
皆さん、返信ありがとうございます。

試しに DirectSound で実装してみたら……なんか、簡単に実装出来ちゃいました。
確かに DirectMusic 使うんなら、こっちでよさそうですね。

あ、でも一時停止が出来なかった原因は知りたいな、とも思います。
というわけで、>>671さん。
はい、SetLength はちゃんと設定してあります。
GetLenght で設定した値が返ってきましたので、ここは問題ないと思います。
673デフォルトの名無しさん:2005/07/02(土) 15:30:41
DrawIndexedPrimitiveでLINESTRIPを表示すると、白い線しか表示できません。
具体的にどこで色を指定すればいいんでしょうか?
MaterialのDiffuseとAmbientとEmissiveとSpecularは試してみましたが駄目でした。
環境はXP DirectX9.0C GeForce6800です。
674デフォルトの名無しさん:2005/07/02(土) 15:39:06
ラインでも色の付き方、指定の仕方はは通常ポリゴンと変わらない。
よってラインだから発生する色の疑問点などどこにもない。
675デフォルトの名無しさん:2005/07/02(土) 15:56:02
単純にD3DRS_LIGHTINGがTRUEになってないだけだったりして
676673:2005/07/02(土) 16:09:54
>>675
頂点色を付けて、
D3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
の1行を追加したら見事色付きで表示されました!
ありがとうございました。
Materialの設定は特に必要ないみたいでした。
677673:2005/07/02(土) 16:14:19
と思ったら、
D3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
も必要なくて、頂点色だけでOKだったようです。
最初に頂点色で試したときに何かミスってたようです・・・。
ありがとうございました。
678673:2005/07/02(土) 16:20:35
最初にうまくいかなかった原因は、色つき頂点のFVFがD3DFVF_XYZRHW | D3DFVF_TEX1になっていたというくだらない理由でした・・・。
お騒がせしました。
679デフォルトの名無しさん:2005/07/02(土) 22:27:46
昔自分で書いたDx7のラッパーをヘルプを見ながらDx8用に書き換えてます。

Dx7のDirectSoundにはチュートリアルに大きなwavファイルをストリーミングして再生する方法が
載っていたのですが、DX8のチュートリアルにはありません。
もしかして自動的にやってくれるのでしょうか?
680デフォルトの名無しさん:2005/07/02(土) 22:52:28
>>679
なんでDx9にしなかったの?
バカジャネwクルシメw

誰も助けてくれないのは承知の上だよね?w
681デフォルトの名無しさん:2005/07/02(土) 22:55:54
>>680
DirectSoundはDX8もDX9も同じじゃない?
682デフォルトの名無しさん:2005/07/02(土) 23:03:14
>>681
じゃあ、こいつ>>679なんのヘルプみてんの?
683デフォルトの名無しさん:2005/07/02(土) 23:05:21
CStreamingSound Sample Class
684デフォルトの名無しさん:2005/07/02(土) 23:08:58
>>682
シラネ
685デフォルトの名無しさん:2005/07/02(土) 23:09:46
DirectX9対応じゃないビデオカードでも、DirectX9のゲームは動くんだから、
DirectX9使えばいいのに。
686デフォルトの名無しさん:2005/07/02(土) 23:21:49
>>680がバカ丸出しな件について

多分自分でコード書いたこと無い阿呆かと
687679:2005/07/02(土) 23:24:55
>>680
もしかしてそれはギャグで言っているのか?(AA略
688デフォルトの名無しさん:2005/07/02(土) 23:25:43
>>686
いや、DirectSoundなんてとっくの昔にラッパー組み上げて放置状態だけど?
複数同時のストリーミング再生まで出来てる。
お前もできてからグチグチいってみろ。
できてるならよし。
689デフォルトの名無しさん:2005/07/02(土) 23:26:41
それとCStreamingSound Sample Classはみたんだよね?
690デフォルトの名無しさん:2005/07/02(土) 23:28:06
いつからDirectSound9が出来たのか教えてくれwww
691デフォルトの名無しさん:2005/07/02(土) 23:28:39
>>690
追加された項目があるだろ?
692デフォルトの名無しさん:2005/07/02(土) 23:30:22
ここはネタまみれのインターネッツですね
トンチンカンな噛み付き方した>>680の負け
693デフォルトの名無しさん:2005/07/02(土) 23:31:16
>>680がなんで熱くなってるのかわからない
694デフォルトの名無しさん:2005/07/02(土) 23:33:14
>>692
いや、>>679が求めてる内容がまさにDirectX9で追加された
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/htm/cstreamingsoundsampleclass.asp
だからね。
救いようが無いね。
695デフォルトの名無しさん:2005/07/02(土) 23:33:55
>>693
自分の間違いを認められず誤魔化したくて必死なんだよ
そっとしておいてやるのも優しさだぞ?
696679:2005/07/02(土) 23:52:28
質問の意図が勘違いされてるようで
聞きたかったのはストリーミングの仕方ではなくてDx8のヘルプに載ってない
理由だったんだけどな
載ってないならDx8Audioインターフェースなら自動的にやってくれるのか?、と
なおストリーミングなら自前のDx7Soundラッパーで実装済み
取り敢えず簡単に7->8と書き換えれば済むって事が判ったのでいいけどね

Dx9Soundには笑ったけど
697デフォルトの名無しさん:2005/07/03(日) 01:03:30
>>696
>聞きたかったのはストリーミングの仕方ではなくてDx8のヘルプに載ってない理由だったんだけどな
ハイハイ。理由まで書いてあるヘルプなんてみたことないけどね。
698デフォルトの名無しさん:2005/07/03(日) 01:07:00
恐ろしい読解力だ
699デフォルトの名無しさん:2005/07/03(日) 01:08:23
>>697
楽しそうですね。
700デフォルトの名無しさん:2005/07/03(日) 01:12:43
結局、>>694のリンク先を使うんだろ?
701デフォルトの名無しさん:2005/07/03(日) 01:34:16
プログラマーって悲しい生き物ぢゃ
702デフォルトの名無しさん:2005/07/03(日) 01:51:45
>>696
DirectX8にはカスタムロードがあるから。
MSの中の人はDSoundからストリーミングする方法は書かなくても良いと
思ったんじゃないだろうか。

http://www.microsoft.com/japan/msdn/directx/techart/dmloading.asp
703デフォルトの名無しさん:2005/07/03(日) 07:49:11
Xファイルを読み込んで表示させてみたのですが、
前後関係がおかしく表示されてしまいます。
SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE)
してるんですけどダメです。
心当たりのある方、教えてください。
704デフォルトの名無しさん:2005/07/03(日) 08:59:22
データの座標系と描画に使っている座標系が何になっているかをまず答えてくれ。
話はそれからだ。
705679:2005/07/03(日) 09:22:38
>>700
使わない、機能的には俺が書いたラッパーと変わらん
つか自分が書いたラッパーに依存しきったプロジェクトが既にあるんで
今からI/FをMS謹製に合わせたくないのが正直な所

>>702
サンクス、すぐには使えませんがちょっと調べてみます。
自前ラッパーもそろそろ寿命かな…
706703:2005/07/03(日) 10:04:18
>>704
座標系って右手とか左手とか?
SDK のサンプルだから左手だと想うんだけど……
視点も左手。

http://nijibox.ohflip.com/futabafiles/001/src/sa25173.png
↑こんな感じに描画される。
フタと注ぎ口が見えてるけど、底の方が手前。
小さく見えてる方が Z値大きい。
707デフォルトの名無しさん:2005/07/03(日) 11:35:24
射影行列のZnはいくつにしてる?
708デフォルトの名無しさん:2005/07/03(日) 11:39:19
>>703
EnableAutoDepthStencilをTRUEにしてる?
709デフォルトの名無しさん:2005/07/03(日) 11:52:51
>>707
ゼロでした。 1 にしてみたらちゃんと表示できているようです。
まさかこんなところとは……

みなさん(?)ありがとうございました。
710質問:2005/07/03(日) 15:44:54
DirectX9 HLSLでできることというのは、DirectX8までのアセンブラシェーダで同じものを書くことはできないのですか。
それとも単に高級言語で書けるようになっただけ、なのでしょうか。
711デフォルトの名無しさん:2005/07/03(日) 16:00:32
>>710
基本的には後者の認識で正しい。
DX9にはコマンドラインのシェーダコンパイラが付属しているから、
HLSLをコンパイルしてアセンブリコードを吐いてみると面白いよ。
712デフォルトの名無しさん:2005/07/03(日) 16:03:21
今DirectXつかってゲーム製作中なんですけど
やたら動作が遅く感じたので、FPS表示させてみたら30〜40位しかでてないんですけど
タスクマネージャでCPU使用率見たら0〜3くらいしか使ってません(あとはアイドル
CPU使用率ってどういう状況で高くなるんですか??
713デフォルトの名無しさん:2005/07/03(日) 16:06:12
Direct3D9: (INFO) :MemFini!
Direct3D9: (ERROR) :Memory still allocated! Alloc count = 220
Direct3D9: (ERROR) :Current Process (pid) = 00000e10
Direct3D9: (ERROR) :Memory Address: 0037732c lAllocID=1 dwSize=000047f8, ReturnAddr=011534c8 (pid=00000e10)
Direct3D9: (ERROR) :Memory Address: 0037da34 lAllocID=11 dwSize=000013d4, ReturnAddr=0114c2cb (pid=00000e10)

というのはどういうことなんでしょう?・・メモリーリークなのは解りますがMemFini!ってどういうことですか?
714デフォルトの名無しさん:2005/07/03(日) 16:08:56
>>712
GPU側の描画処理がボトルネックになってるんじゃない?
715デフォルトの名無しさん:2005/07/03(日) 16:09:24
>>713
(INFO) だから気にするな
716713:2005/07/03(日) 16:31:46
>>715 d
717デフォルトの名無しさん:2005/07/03(日) 16:47:07
>>711
くぁりがとうございました
718デフォルトの名無しさん:2005/07/03(日) 18:39:33
WGF2あたりからはHLSLだけになるんだっけ?
719デフォルトの名無しさん:2005/07/03(日) 19:39:09
意味ね-----------------------------------------------------------------

また最適化はコンパイラまかせのアホが出る
720デフォルトの名無しさん:2005/07/04(月) 01:11:41
rayの使い方について少しお聞きしたいのですが、
D3DXIntersectを使って3Dオブジェクトを選択しようとしているのですがどうも上手くいきません。
第一引数に対象のメッシュを、第二引数にメッシュのローカル座標?に変換したマウスの座標を、
第三引数には方向ベクトルということで(0,0,1)を入れました(視点はXY平面に平行です)が、
どこをクリックしても第四引数がTRUEになってしまいます。
恐らくこの文だけでも多くの突っ込みどころがあるかとは思いますが、どうかご教授願えないでしょうか?
721デフォルトの名無しさん:2005/07/04(月) 11:37:51
とりあえずレイは「視点の座標」と「マウスのスクリーン座標をワールド座標系に変換した座標」を結ぶ直線
ではないだろうか。
722デフォルトの名無しさん:2005/07/04(月) 11:57:14
平行投影だから視点が無限遠になっちゃうんでしょ
723デフォルトの名無しさん:2005/07/04(月) 12:01:56
どこから並行投影という言葉が出てきたのか。
724デフォルトの名無しさん:2005/07/04(月) 12:03:13
↑×並行○平行
725デフォルトの名無しさん:2005/07/04(月) 12:03:55
>>723
>>720の「視点はXY平面に平行」って平行投影のことじゃないのかな
726デフォルトの名無しさん:2005/07/04(月) 12:13:20
DirectXは知らんのだが、
>視点はXY平面に平行です
って、まさか画面に平行じゃないだろうなぁ。
#いや、念のためだ。
727デフォルトの名無しさん:2005/07/04(月) 12:16:15
雰囲気で察っしたまえよ。
とりあえず簡単にど真ん中向いてやろうとしてるだけじゃねーの。
だから、レイの方向を適当に0,0,1と入れてみた。
その補足として「〜は平行です」と書いた。
でも言いたかったのは正しくは「視線がxy平面に垂直」であると。
そもそも点と面で平行とか垂直って言うのかいな。バカの巣窟だな。
728デフォルトの名無しさん:2005/07/04(月) 12:20:14
XrayNはDQNだよ
729デフォルトの名無しさん:2005/07/04(月) 12:27:37
>>727
巣窟も何も、>722=725が馬鹿なだけだろ?
730デフォルトの名無しさん:2005/07/04(月) 12:36:31
DirectX は知らないんだけど Ray は始点を含まない有向半直線だったりしないのかね?
731デフォルトの名無しさん:2005/07/04(月) 12:46:57
知らないなら黙ってろよウゼェ。>>721でFA出てんだよ。
732デフォルトの名無しさん:2005/07/04(月) 13:32:44
>>730
要は"レイの向き"には、射影後の空間での奥方向(+Z方向)のベクトルを、
モデル空間に逆変換したものを指定すればいいんだけど、
"向き"を透視変換入りの行列で逆変換してもうまくいかないから、
代わりにレイの始点( px, py, 0 )とレイの注視点( px, py, 1 )を逆変換して、
2つの差分を求めればいいわ。
px = (mouseX / screenWidth - 0.5f) * 2.0f;
py = -(mouseY / screenHeight - 0.5f) * 2.0f;
これで透視射影でも正射影でもおkよ。
733デフォルトの名無しさん:2005/07/04(月) 13:33:34
×>>730>>720
734720:2005/07/04(月) 14:50:33
皆さん回答ありがとうございます。レイの方向が変だってことですかね?
それ以前に日本語で変なところがあったようですが。。
奥行きがZ軸の正方向なので単純に{0,0,1}でいいのかと思ってました。
735デフォルトの名無しさん:2005/07/04(月) 15:48:23
>>734
厳密には>>732のやり方は、レイの開始点がニア平面の部分に来るから、
視点からニア平面までの見えないポリゴンは判定できないのよ。
視点に合わせようと思ったら、一旦2点をビュー空間に逆変換して、2点の線分の
z=0平面との交点を新しいレイ始点にして、それからモデル空間に
逆変換って感じになるかしら。(ちょっと面倒くさいわね。)
透視射影で決め打ちだったら、ビュー空間の(0,0,0)を逆変換するだけだから
そっちの方が幸せになれるかもね。
736デフォルトの名無しさん:2005/07/05(火) 16:02:52
最近シェーダーに興味を持って、これから勉強していきたいと思っています。
まだプログラムをせずサンプルプログラムを見ている段階なのですが、
t-potのマルチサンプリングソフトシャドウ等が動きません。
ttp://tpot.jpn.ph/t-pot/program/116_SoftShadoeMulti/index.html

ボタン見たいなのがある(#include "dxstdafx.h"がある?)プログラムのみエラーが出ます。。
(t-pot以外の同じようなボタンのあるプログラムも動きませんでした。)

エラー:Could not find required media. Ensure that the DirectX SDK is correctly installed.
環境:DirectX 9.0 SDK (June 2005) : NVIDIA SDK 9.1 : Visual studio

もし原因が分かる方がいましたら、申し訳ありませんが助力をお願い致します。
737デフォルトの名無しさん:2005/07/05(火) 16:33:09
>>736
DirectXSDKの \Samples\Media\UI フォルダを、*.exeと同じフォルダに
コピーすれば一応動くわよ。
(DXUTは、同じバージョン(この場合2004Summer)のSDKのフォルダしか
探してくれないみたいね。)
738デフォルトの名無しさん:2005/07/06(水) 14:24:03
本日試したところ、無事動作いたしました。
737さんありがとうございます。
739デフォルトの名無しさん:2005/07/06(水) 16:18:03
2Dゲーム作るなら8と9どっちがいいんでしょうか
740デフォルトの名無しさん:2005/07/06(水) 16:34:01
DirectXがいいと思う
741デフォルトの名無しさん:2005/07/06(水) 16:34:34
>>739
8と9ならあんま変わってないから9
742デフォルトの名無しさん:2005/07/06(水) 16:39:11
>>740,741
ありがとうございます
743740:2005/07/06(水) 17:30:00
わざわざ俺なんかにもお礼して頂いて恐縮です
744デフォルトの名無しさん:2005/07/06(水) 21:01:53
Zソートを実装したいと思ったのですが、どのように面をソートして良いのか分かりません。
1フレームごとに、インデックスバッファのデータをソートしなおすとすごく遅くなりそうです。
オブジェクト単位でソートすると、オブジェクトの中の面はソートされませんよね・・・。
皆さんはどのようにして実装されておられますか?
745デフォルトの名無しさん:2005/07/06(水) 21:17:46
普通は割り切って、オブジェクト単位で我慢する。
746デフォルトの名無しさん:2005/07/06(水) 21:25:25
俺は半透明なんか使わないぜ!
747デフォルトの名無しさん:2005/07/06(水) 21:37:37
そろそろGPU側でうまいことやってくれないかな…?
748デフォルトの名無しさん:2005/07/06(水) 21:56:02
レスありがとございました。
では割り切ってオブジェクト単位でがんがります。
749720:2005/07/06(水) 22:40:23
>>732
何度もすみません、( px, py, 1 )をD3DXVec3Unprojectを使って逆変換したのですが
値をみるとめちゃくちゃになっちゃいます、、
( px, py, 0 )だとそれっぽい値がでるのですが。。。
750デフォルトの名無しさん:2005/07/06(水) 22:45:02
>>749
D3DXVec3Unprojectはビューポートの変換もしてくれるから
px,pyじゃなくてmouseX,mouseY(マウスのクライアント座標)を
そのまま渡せばいいわ、多分。
751デフォルトの名無しさん:2005/07/07(木) 00:44:39
>>750
何度も何度もありがとうございます。。
早速学校でやってみたいと思います!
752デフォルトの名無しさん:2005/07/07(木) 01:36:28
Xfileで定義されているモデルの
面が右回りなのか左回りなのか
わかる方法は何かありませんか?
ググってみたら遠くからレイを飛ばして
交差回数を数えるという方法でわかるみたいですが
みなさんこれをやっているんですか?
753デフォルトの名無しさん:2005/07/07(木) 02:10:53
ない。と思います。
分からない場合、別の方法で衝突判定してます。
(衝突判定で困ってるかどうかは分かりませんが)
754デフォルトの名無しさん:2005/07/07(木) 18:06:38
質問です。
申し訳ないのですが、アゲさせてもらいます。
前にDirectX8のDirectAudioでWAVE-RIFF形式のMP3を再生しようとした時、
ごく一部の環境で再生出来ないと報告を受けた事がありました。
原因は、何らかの要因でWindowsに最初から入っているはずのFraunhoferのMP3 Codecがおかしくなってたからなのですが、
DirectShowを代替手段として使えないかと思い、DirectShowで再生を試みました。
MP3 Codecを削除してDirectShowでMP3を再生した所、特に問題なく鳴ったのですが、
鳴ったは鳴ったで、「なんで鳴ったんだろう?」って不安になってしまいました。
これはDirectShow自身がMP3 Codecを内包してるからなのでしょうか?
それとも、ウチの環境が特殊なんでしょうか?
知ってる方がいらっしゃいましたら、ご教授願えればと思います。
DirectAudioとDirectShowで使用しているDirectXのバージョンはDirectX8です。
ちなみに、Codecを削除した状態でWAVE-RIFFのMP3をDirectAudioで再生したらやっぱり鳴らなかったので、
環境としては、以前、トラブル報告を受けたマシンの状態を再現出来ていると思うのですが……。
755デフォルトの名無しさん:2005/07/07(木) 18:14:48
>>754
この板はageたからといって回答もらえるわけじゃないんだよ
756デフォルトの名無しさん:2005/07/07(木) 18:18:17
DirectAudio って何?
DirectX Audio = DirectSound + DirectMusic なら知ってるけど。
757デフォルトの名無しさん:2005/07/07(木) 19:48:41
馬鹿限定の隔離方特殊技術。
758デフォルトの名無しさん:2005/07/08(金) 00:45:00
格ゲーのライフ表示みたいに、常に一番手前に表示されるようにするにはどうしたらいいのでしょう?
ちなみに頂点シェーダを使っています。
カメラのビューと射影変換なんかをオフにしたりできるのでしょうか。
759デフォルトの名無しさん:2005/07/08(金) 01:23:56
ヒント: D3DDECLUSAGE_POSITIONT
760デフォルトの名無しさん:2005/07/08(金) 01:30:24
>>758
ふふふw
最初、こんなもんもできねぇって俺ってアホ?とか思っただろ?
実は結構難しいんだなw

そもそも画面描画までの座標変換ってよ。

オブジェクト空間→モデリング変換→ワールド空間→ビュー変換
→視点空間→射影変換→クリップ空間→遠近除算→正規化デバイス空間→ビューポート・深度範囲変換→ウィンドウ空間
(書籍 The Cg Tutorial日本語版より抜粋)

こうなってて、頂点シェーダには
オブジェクト空間からクリップ空間までの変換が書いてあるわけだよ。
#ここでどの変換でどの空間に移動してるのかしっかり理解してな。

だから2次元データを頂点シェーダを使って描画するには
クリップ空間上での座標を意識しなくちゃいけないんだよ。
#あ、実際にコードくれとかいうのは無しなw面倒だからw

ヒントと参考書籍まで紹介したんだ。後は自分でなんとかしる!
基本を理解する奴は絶対に伸びる。応援してるぞ。
761デフォルトの名無しさん:2005/07/08(金) 01:32:15
稚拙な質問ですみません。
プログラム側から、インストールされているDirectXのバージョンを調べることができますか?
たとえば、ゲーム起動ログにそのPCにインストールされているDirectXのバージョンを吐き出させるような。
762760:2005/07/08(金) 01:34:32
>>759
えーw
また、規格外のものを出す〜w
ぶっちゃけありえな〜いw
正直、パイプラインでなにやっちゃってんの?的な匂いがするぅ〜w
ストリーム0しか使えないしぃ〜w
763デフォルトの名無しさん:2005/07/08(金) 02:08:51
質問です。
クルクル回っている三角錐の物体(Xファイル)があって、0〜3のいずれかの数値を与えると、
それに対応した面がパッとこちらを向く・・・というようなことをしたいのですが、
どうすればいいのかサッパリわかりません。
どなたか考え方だけでも教えてください。お願いします。
764デフォルトの名無しさん:2005/07/08(金) 02:31:35
>>763
そらおめ、まず自分の向いている方向から対象までの角度を測って
対象の方向へ向くように角度を変えていくのが一番だべ。(ちなみに自分ってんは三角錐のことかな?)

方法は

1.姿勢行列から自分の現在の角度取得
2.自分から対象物への角度を取得
3.自分の現在の角度を対象物の方向へ近づけていく

で、できそうだな。
で、わからんのが

・自分の向いている方向をどうやって角度へ直すのか?

ってところだべ。ま、要は角度がわかりゃいいんだな。
アークタンジェントとか調べてみるといいんじゃね?atan2とかいう関数を使う。
765デフォルトの名無しさん:2005/07/08(金) 02:33:31
肝心なとこ間違えた

X・自分の向いている方向をどうやって角度へ直すのか?
○・対象物までの角度をどうやって取得するか?
766763:2005/07/08(金) 03:20:49
>>764-765
なるほど、三角錐側から考えて
カメラの方へ向いていくというのは思いつきませんでした。

XYZ軸すべて回転させているのでちょっとややこしそうですが、
頑張ってみます。
ありがとうございます!!
767758:2005/07/08(金) 03:36:41
>>759
これは、座標変換済み頂点の方法ですね。
>>760氏によると規格外らしいですが、どうにもならなくなったら使わせて頂きます!

>>760
これって結構難しいんですか、なるほど…。
クリップ空間を意識する必要があるわけですか。
つまり、640x480の画像を同じ大きさのウインドウに表示するとすると、
クリップ空間で(-1.0, -1.0, 0.0)〜(1.0, 1.0, 0.0)の大きさのポリゴンにテクスチャを張ればいいんですよね。
えーと、試しに実装してみたのですが、うまくいかないorz  試行錯誤してみます。
768デフォルトの名無しさん:2005/07/08(金) 04:02:53
別にxyを-1〜1、zを0に、wを1にすれば
いいんじゃねーの
769デフォルトの名無しさん:2005/07/08(金) 06:59:03
>>767
760=762がおかしいだけで、何も問題ないよ。
D3DDECLUSAGE_POSITIONTを使った場合は、ビューポート変換まで
飛ばされるので、指定するのはスクリーン座標。
x,yを(0,0)-(640,480)の範囲で指定して、z=0,w=1あたりに設定して描画するだけ。
必要に応じてD3DRS_ZENABLEやD3DRS_ZWRITEENABLEも使うと吉。

D3DDECLUSAGE_POSITIONTがよく分からなければ、FVFでXYZRHWを
指定しても一緒。
770デフォルトの名無しさん:2005/07/08(金) 08:09:07
そもそも同じカメラを使い回すという発想しかできない>>760がアホ。
ライフ表示用のカメラを作ってやれば、余計な計算などまるで必用がない。
771デフォルトの名無しさん:2005/07/08(金) 09:50:57
変換済み頂点ってさー、ハードウェア頂点処理の場合はデバイス能力に
D3DPMISCCAPS_CLIPTLVERTSか、十分なGuardBandがないとまずいんじゃないの?
イヤこれで問題出たってほとんど聞かないけど、dxinfo見る限りじゃ結構対応状況悪いし。

俺はおっかないからスプライトの場合、ワールドとビュー行列に単位行列、
射影行列にはビューポートと同サイズの正射影って感じだべ。
頂点シェーダ使うなら・・・(x,y)をビューポートのサイズで割るだけじゃねーの?
772771:2005/07/08(金) 12:03:36
>(x,y)をビューポートのサイズで割るだけじゃねーの?

('A`)
773デフォルトの名無しさん:2005/07/08(金) 14:12:44
>>771
ライフ表示に頂点クリップや広いガードバンドは必要ないしょ。
Intelの狭いガードバンドでも普通は問題にならないべさ。
774デフォルトの名無しさん:2005/07/08(金) 19:06:27
モデルの拡大縮小をすると明るさが変わってしまいます。
例えば Y軸を拡大 → モデルの上面と底面が暗くなる
縮小すると明るくなります。
(光源は平行)

なんででしょうか。
775デフォルトの名無しさん:2005/07/08(金) 19:21:34
法線の設定が不適切だから。
776デフォルトの名無しさん:2005/07/08(金) 20:07:50
むう。
D3DXComputeNormals(pMesh, NULL)
では不満だというのですか。
777デフォルトの名無しさん:2005/07/08(金) 20:11:55
>>776
SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );
778デフォルトの名無しさん:2005/07/08(金) 20:20:14
【質問】
透視射影変換 Frustum についてお尋ねします。

赤本の付録部分等にも4x4行列について載っていますが、
この行列について、原理を理解したいと思っています。

どなたか、透視(正)射影変換について
解説書、教科書、Web情報など、ご存知でしたら教えてください。
779デフォルトの名無しさん:2005/07/08(金) 20:32:37
>>777
ちゃんとなりますた。
780デフォルトの名無しさん:2005/07/08(金) 20:51:33
CreateWindowExで 
最小化ボタンあり最大化ボタン無効
ウィンドウのサイズを変更させない
このスタイルのウィンドウを作りたいのですが
styleにどう設定すればいいのか分かりません

宜しくお願いします
781デフォルトの名無しさん:2005/07/08(金) 21:02:02
DirectXと関係ないのに厚顔無恥もいいところ。
782デフォルトの名無しさん:2005/07/08(金) 21:26:22
783デフォルトの名無しさん:2005/07/08(金) 21:30:27
>>770
>>760はそんな話はしていないと思うが・・・
784780:2005/07/08(金) 22:22:58
解決しました
WS_DLGFRAMEで行けます
785デフォルトの名無しさん:2005/07/09(土) 11:43:54
DirectShowを使って、USBカメラの映像を加工してビデオチャットで使う、
ということを行うにはどうすれば良いでしょうか?
786デフォルトの名無しさん:2005/07/09(土) 13:39:52
データを受け取って流す。
787デフォルトの名無しさん:2005/07/09(土) 14:55:12
788785:2005/07/09(土) 15:54:57
ビデオチャットを自分で作るのではなく、メッセンジャーの機能を使いたいと考えています。
その場合、加工したものを出力するのに仮想カメラのようなものを作らないといけないのかなぁと思いました。
加工というのは他の画像のはめ込み等を考えています。
現在はサンプルグラバを使って1枚ずつ加工、それを何かしらの方法で動画に直すという方法で進めていますが方向はあってますか?
789デフォルトの名無しさん:2005/07/09(土) 17:55:54
DirectXを使おうと思っているのですがどの程度理解してから手をつけていいのやら・・・
そういうクラス群と認識してコピペしながら作り始めていいですかねぇ
790デフォルトの名無しさん:2005/07/09(土) 19:59:16
>>789
いいですよ。使ってるうちに必要な知識は覚えます。
791デフォルトの名無しさん:2005/07/09(土) 23:55:58
複数のDirectSoundBufferに取り込んだWaveデータを再生する時、確かフォーマットの何かを
プライマリバッファに合わせなければならないという制限があったような気がするのですが
どうにも思い出せません。また文献も見つけられませんでした。
nChannels
nSamplesPerSec
wBitsPerSample
のどれかだったと思うのですがご存知の方は教えて下さい。
サンプリングレートでしたっけ('A`)?
792デフォルトの名無しさん:2005/07/10(日) 09:51:20
>>790
回答ありがとうございます
某所で見つけたサンプルに色々つけたしながら機能を覚える方向でがんばります
793デフォルトの名無しさん:2005/07/10(日) 10:04:35
やった、メイク通った
ありがとう
ここまで来るのに5年かか・・・OTL
794デフォルトの名無しさん:2005/07/10(日) 12:34:03
>>793
>>792の人かな?
プログラムは絵画と同じで本を読むだけじゃ書けるようになりません。
絵の勉強をする人がひたすらデッサンをするのと同じように、
とにかくコードを書いていくことでどんどんセンスが磨かれていく。
何十冊読もうが、おそらく100行程度のソースすら1発でビルド通らないよ。
795デフォルトの名無しさん:2005/07/10(日) 12:44:09
そこでハッカーと画家ですよ。
http://www.shiro.dreamhost.com/scheme/trans/hp-j.html
796デフォルトの名無しさん:2005/07/10(日) 12:53:52
同じ関数を使う限り、洗練されることはない。

1つの関数に一つの機能しかないものであれば、
結局はみんな同じ書き方になっていく。

1つの関数で2つの事が行える関数を使ったときに初めて
異なる書き方になる。


だから、同じ関数を使う限り何百回何千回書き上げようが何も上達しない。
797デフォルトの名無しさん:2005/07/10(日) 12:58:52
●分割の評価
プログラムは、モジユール単位に分割しますが、良いモジュール分割とは、「独立性の高い分割」であり、「モジュール強度」と「モジュール結合度」で評価できます。
「モジュール強度」
モジュールがどれだけの機能を実現しているかを示す尺度で、強いほど独立性が高い。

  種類                   モジュール内の関連性 独立性
機能的強度 1つの機能を実現するためだけのモジュール       高 高
情報的強度 特定のデータ構造を扱うためのモジュール    
連絡的強度 関連ある逐次的機能で要素が連絡しあうモジュール
手順的強度 関連のある逐次的な機能を扱うモジュール
時間的強度 時間的に連続した複数の機能を扱うモジュール
論理的強度 関連のある複数の機能を扱うモジュール     ←お前が言ってるのこれ
暗号的強度 関連のない複数の機能を扱うモジュール        弱 低
798デフォルトの名無しさん :2005/07/10(日) 13:55:49
C言語のみでDirectXを触っているのですが、

SetTexture(
DWORD Stage,
IDirect3DBaseTexture8* pTexture
)
関数がうまくいかないみたいです。
warning C4133: '関数' :
'LPDIRECT3DTEXTURE8' と 'IDirect3DBaseTexture8 *' の間で型に互換性がありません。
が出ています。

C++では IDirect3DBaseTexture8* が IDirect3DTexture8*
でも表示されるのはなぜですか?継承構造だからですか?
799デフォルトの名無しさん:2005/07/10(日) 14:04:24
DirectX 9.0 SDK Update June 2005をインストールしましたが、
プログラムをコンパイルしようとすると、VC++6.0に
「入力ファイル "d3d9.lib" を開けません」といわれます。

[ツール]-[オプション]の[ディレクトリ]タブの中で
C:\PROGRAM FILES\MICROSOFT DIRECTX 9.0 SDK (JUNE 2005)\INCLUDE
C:\PROGRAM FILES\MICROSOFT DIRECTX 9.0 SDK (JUNE 2005)\LIB\X86
を指定しています。

[プロジェクト]-[設定]の[リンク]タブの中でd3d9.libとd3dx9.libを指定しています。

どうすればちゃんとコンパイルできるんでしょうか?
(>>522 関連のも読みましたが分かりませんでした)
800デフォルトの名無しさん:2005/07/10(日) 14:15:19
>>799
ディレクトリタブでちゃんと一番上にくるようにもってきた?
また、指定したディレクトリの中身ってちゃんとある?

このぐらいしか俺にはうかばん・・・。

あと、VC6ってすんなりビルドできるっけ?
そのうちプラットフォームSDK入れろとかあれやれこれやれ嫌になるぐらい警告でると思ったけど。
この機会に諦めてVC.NET買ったら?とか思う・・・。スタンダードで十分だし。
801799:2005/07/10(日) 14:27:21
>>800
一番上に来るようにしてあります。
ディレクトリの中に、libファイルがあることは確認しました。

VC.NETですか・・・、アカデミックで安く買えるかなぁ。
でもできればVC6でできればいいんですが。
802デフォルトの名無しさん:2005/07/10(日) 16:31:18
VC.NET、VC.NET2003ともう二バージョン古いんだから、コンパイルできなくても
文句言わない。
803デフォルトの名無しさん:2005/07/10(日) 16:33:40
2003はまだ二年前なわけだが…
804デフォルトの名無しさん:2005/07/10(日) 16:34:07
読み違えてたわけだが…
805798:2005/07/10(日) 16:35:11
解決しました。
頂点の設定のフラグが間違っていたみたいです。
それと、IDirect3D8Textureは IDirect3D8BaseTextureの継承になっていました
806デフォルトの名無しさん:2005/07/10(日) 17:47:50
>>796
>1つの関数で2つの事が行える関数を使ったときに初めて
そんな関数あぶなくて使えねぇよw 適当なこと言うな
807デフォルトの名無しさん:2005/07/11(月) 01:37:24
>>806
うむ。
1関数1機能を徹底してもらわねば困るな。
808デフォルトの名無しさん:2005/07/11(月) 01:37:46
まあ、ものによるけど。
809デフォルトの名無しさん:2005/07/11(月) 01:54:40
法線を4x4world行列で変換するとき
3x3行列にキャストして変換すると思うんですが
この後正規化するべきだと思いますか?
3x3行列が非直交行列である可能性は低いから省くのが
一般的でしょうか?
それとも法線変換用に別に逆転置行列を用意するのが
一般的でしょうか?
810809:2005/07/11(月) 01:59:21
>>809
2つの質問がごっちゃになってました。

VertexShaderなんですが
法線を4x4world行列で変換するとき
3x3行列にキャストして変換すると思うんですが
この後正規化するべきだと思いますか?
3x3行列がスケーリングを含む可能性は低いから省くのが
一般的でしょうか?
また法線変換用に別に逆転置行列を用意するのは
一般的でしょうか?普通そこまでやらないですか?
811デフォルトの名無しさん:2005/07/11(月) 02:28:41
法線の場合はw成分を0にして拡張してくれないなぁと時々思うよなぁ
漏れは直交行列以外がわたる可能性があるときは逆転置も渡してるよ。
スキニングでやるとレジスタ足りなくなるorz
812デフォルトの名無しさん:2005/07/11(月) 02:30:17
>>810
変換行列の左上3×3部分が:
・回転のみ(直交行列)なら、逆転置は用意せず、正規化もしない。
・回転と一様スケーリングのみ(直交行列の定数倍)なら、逆転置は用意せず、正規化のみ行う。
・非一様スケーリングやせん断変形を含む一般の行列なら、逆転置を用意して、さらに正規化も行う。

スケーリングやせん断変形を含む可能性が「高いか低いか」の問題ではなく、
あなたの扱うシーンにおいてその可能性が「あるかないか」で明確に判断すべきですね。
813デフォルトの名無しさん:2005/07/11(月) 02:36:21
>>799
関係無いとは思う事柄なんだけど、
自分もVC6使ってて、DirectxSDK導入の際に色々面倒臭い事があったよ。
JUNE2005とかSUM2004でもdsound.hでエラーが出るから、
SUM2003を探して導入することをお勧めします。
814デフォルトの名無しさん:2005/07/11(月) 03:06:31
>>811
スキニングで行列倍はきついですね。
つーか無理ですよね。
頂点テクスチャを使えばいけるかもしれませんね。

>>812
ライブラリ的なものを作ってるので
判断は難しい・・
のでworldは回転+移動のみ強制、逆転置無しでいこうと思います。
(Shader内でスケーリングの必要性今のところ感じないし。)
ありがとうございました。
815デフォルトの名無しさん:2005/07/11(月) 04:09:56
DIRECTX9の最新の日本語ヘルプをダウンロードして検索してみたのですが
検索結果が全て無題となって
無題をクリックしても何も反応がありません
使い方を教えてください
816デフォルトの名無しさん:2005/07/11(月) 13:25:26
ビデオボードでDirectX9対応じゃないものは、
DirectX9でデバイス初期化して、
ハードウェアT&Lやシェーダはできない?
817デフォルトの名無しさん:2005/07/11(月) 14:14:41
対応している範囲内で動作する。
818デフォルトの名無しさん:2005/07/11(月) 22:25:37
こらタケシ!あんたまたDirectXでエッチなゲーム作ろうとしてるでしょ!ホントあんたって子は
819デフォルトの名無しさん:2005/07/11(月) 22:29:10
してい
820デフォルトの名無しさん:2005/07/11(月) 22:33:37
エッチなゲームのプログラム     ← タケシ担当
エッチなゲームのモデルファイル  ← スネオ担当
821デフォルトの名無しさん:2005/07/11(月) 22:44:30
エッチなゲームの声          ← シズカ担当
エッチなゲームのテストプレイ    ← ノビタ担当
エッチなゲームの販売         ← ドラ○モン担当
822デフォルトの名無しさん:2005/07/11(月) 22:48:58
>>818-821
夏休みの宿題
823デフォルトの名無しさん:2005/07/11(月) 22:50:12
どう考えてもミスキャストがあるな
824デフォルトの名無しさん:2005/07/12(火) 00:28:11
エッチなゲームのプログラム     ← タケシ担当
エッチなゲームのモデルファイル   ← ノビタ担当
エッチなゲームの声          ← スネオ担当
エッチなゲームのテストプレイ    ← シズカ担当
エッチなゲームの販売         ← ドラ○モン担当
825デフォルトの名無しさん:2005/07/12(火) 00:48:16
【DirectX】
826デフォルトの名無しさん:2005/07/12(火) 21:54:17
DirectShowでMPEGから音声抽出は可能でしょうか?
827デフォルトの名無しさん:2005/07/12(火) 21:59:18
別にDirectXでやるようなことじゃないと思うが。
828799:2005/07/12(火) 23:23:14
>>813
返事が遅くなりましたが、JUNE2005を消してSUM2003を入れてみたら、
上手くコンパイルができました。

.NET 2003とか買ったらまた新しいので試してみます。
ありがとうございました。
829デフォルトの名無しさん:2005/07/12(火) 23:28:27
ポリゴンをたくさん作ったら、FPSが30から20ぐらいになってしまったんですが、
そのほとんどは前面のポリゴンに隠れて見えません。

後ろに回って見えないポリゴンは自分で判定して描画しないといけないの
ですか?
Zバッファとかいうのは関係ないのでしょうか?
830デフォルトの名無しさん:2005/07/12(火) 23:29:17
描画しないといけない
 ↓
描画しないようにしないといけない
831デフォルトの名無しさん:2005/07/12(火) 23:37:53
>>829
GPUが早期Zテストをサポートしていない限り、そうなるわね。
832デフォルトの名無しさん:2005/07/12(火) 23:44:12
>>831
わかりました。
ありがとうございました。
833デフォルトの名無しさん:2005/07/13(水) 01:02:04
>>832 一応補足。
早期Zカリングは手前のオブジェクトから先に描画するようにしないと効果が出ないわ。
最近のGPUではほぼサポートされてるみたい。
834デフォルトの名無しさん:2005/07/13(水) 01:28:57
アルファなんか無ければ良いのに!
835デフォルトの名無しさん:2005/07/13(水) 01:30:46
>>833
早期Zカリングがあっても、頂点処理は全頂点に対して行われるわけだから、
頂点シェーダがボトルネックになっている場合はほとんど効果がないね。
>>829のシェーダ負荷バランスがわからないと何とも言えない。
836デフォルトの名無しさん:2005/07/13(水) 02:13:26
この手の手前のポリゴンで遮蔽されたポリゴンの
頂点変換オーバーヘッドが惜しいなら、一応、
BSPがあるよ。Convexな空間でしかつかえないけど。
837836:2005/07/13(水) 02:22:19
×Convexな空間
○閉じた空間とそれをポータルで接続したもの
閉じた空間のことをConvexな空間というのと勘違いして覚えてた。
すまそん。
838デフォルトの名無しさん:2005/07/13(水) 02:49:09
BSP(二分空間分割)とポータルシステムはまったく別の手法だと思うが
839デフォルトの名無しさん:2005/07/13(水) 03:19:03
DirectXSDKをダウンロードするのは
DirectX 9.0b SDK (2002)

DirectX 9.0 SDK Update (June 2005)
をインストールすればいいのですか

それとも
DirectX 9.0 SDK Update (June 2005)
これだけでいいのでしょうか
840デフォルトの名無しさん:2005/07/13(水) 09:13:11
>>839
いまさら 9.0b 入れる必要はないんじゃないかな。
(ちょっと古い本だと 9.0c に対応してないのもあるけど)

June 2005 でもいいけど、December 2004 あたりにしといたら。
841デフォルトの名無しさん:2005/07/13(水) 10:25:44
質問の趣旨が理解されていない件について

>>839
Updateだけでいい。
842デフォルトの名無しさん:2005/07/13(水) 21:16:59
ぶっちゃけ デバイス ってわかりやすく言って何なんですか?
843デフォルトの名無しさん:2005/07/13(水) 21:26:05
>>842
辞書も引けないの?小学生?
844デフォルトの名無しさん:2005/07/13(水) 22:05:05
Direct3D のレンダリング コンポーネントのこと


ぶっちゃけ コンポーネント ってわかりやすく言って何なんですか?
845デフォルトの名無しさん:2005/07/13(水) 22:11:15
>>844
辞書も引けないの?小学生?
846デフォルトの名無しさん:2005/07/13(水) 22:19:49
他 の こ と も 言 え な い の ? 小 学 生 ?
847デフォルトの名無しさん:2005/07/13(水) 22:22:38
そういうことは聞いちゃダメ、みんなにだって聞かれたくないことたくさんあるんだよ?
まずは調べてから、ね。お姉さんとの約束だよ。>>842
848マイク ◆yrBrqfF1Ew :2005/07/14(木) 00:00:15
構成要素でいい。
849デフォルトの名無しさん:2005/07/14(木) 00:25:11
Davis
850デフォルトの名無しさん:2005/07/15(金) 11:36:42
シェーダってdraw〜ごとに一種類しか設定できないんでしょうか?
そうだとすると、シェーダーが別のビルボードをZソートなんかしたら
すごいことになりそうなんですけど。
851デフォルトの名無しさん:2005/07/15(金) 22:31:09
>>850
お前何言ってんの?
852デフォルトの名無しさん:2005/07/15(金) 22:35:37
osikkositai
853デフォルトの名無しさん:2005/07/15(金) 22:50:59
俺には>>850が言ってることが分かる気がするけど、答えが分からないので誰か任せた。
未だに固定パイプライン使いですよ?
854デフォルトの名無しさん:2005/07/15(金) 23:04:52
>>853
なら、>>850のいってることを翻訳してくれよ。
855マイク ◆yrBrqfF1Ew :2005/07/15(金) 23:32:36
ジオメトリシェーダは知らんがそれ以外ならできるだろ
856デフォルトの名無しさん:2005/07/16(土) 00:01:48
>>855
バカマイクひさしぶり。なんでこんな所に居るの?
857デフォルトの名無しさん:2005/07/16(土) 03:07:14
WMPもどきを作成中です。
で、再生できる物がきたんですけど再生速度の変更で行き詰まりました。
mpegを再生速度 0.5倍速 に設定すると再生できないんです。

- WMP10での話し -
ためしにWMP10で同じmpegを、再生速度 0.5倍速 で再生すると、、
やはり再生できません。
1.0倍速再生→0.5倍速 と、途中から変更した場合は再生できるのですが、
0.5に設定→停止→再生 とすると再生されません。
4、5個のmpegファイルで試してみましたが全て同じでした。
- WMP10での話し 終わり-

IMediaSeeking::SetRate を使用しています。
0.51倍速 だと問題は起きませんでした。
エラーは発生しません。

どうしても0.5倍速で再生したいわけではなく、できないならできないと判定できればいいんです。
何か情報持っている方いますか?
858デフォルトの名無しさん:2005/07/16(土) 04:56:03
はなしし とは?
859デフォルトの名無しさん:2005/07/16(土) 07:44:47
>>858
プゲラ
これだから低学歴は困る
860デフォルトの名無しさん:2005/07/16(土) 08:09:21
名詞では送り仮名を付けないと習いました。
861デフォルトの名無しさん:2005/07/16(土) 08:14:55
ふつー「話」
862デフォルトの名無しさん:2005/07/16(土) 08:26:00
「話し」は動詞「話す」の連用形だな。
863デフォルトの名無しさん:2005/07/16(土) 15:02:36
DirectX9で雨を降らす効果を説明しているサイトは無いでしょうか?
DirectX9 雨
とかで検索してもなかなかそれっぽいサイトが無くて・・・
864デフォルトの名無しさん:2005/07/16(土) 16:25:35
>>863
実際のゲーム買って雨が降ってるシーンを見て研究するのが一番だよ。
こういうことができないといつまでたっても誰かが整備した道だけ
追い続けることしかできなくなっちゃうからたまには研究してみるのもいいんじゃない?
ま、資料があればそれに越したことはないんだけど。無いときはしょーがないっしょ。
865デフォルトの名無しさん:2005/07/16(土) 16:30:41
>>863
でもまあ、ちょっとアドバイスすると
調べるときのキーワードを 雨 DirectX9 なんかにするんじゃなくて
モデリングソフトで雨ってどういう風に表現してるのかって知るだけでも
あとはどうとでもなるでしょ。
それがリアルタイムでできるかどうか?また、リアルタイムで表現できるように簡略化できないかどうか?
を考える能力を身に付けようよ。
だからCGWORLDとか雑誌を毎回立ち読みするだけでも実力はついていくと思うよ。

こういう知恵も解説サイトだけじゃ学べないことだぞ。
866863:2005/07/16(土) 17:02:49
本来はそのほうがいいのでしょうが、
DirectX初心者&時間が無い(納期が近い)なので
出来る限りサンプルがほしいところなのです。
867デフォルトの名無しさん:2005/07/16(土) 17:20:28
>>866
時間がないならなおさらサンプルなんて読むだけ無駄。
適当に主人公のまわりの空間に雨(ポリゴンで雨っぽい線を描画)して降らせて
地面なんかに可能な範囲で飛沫を付けて終わりでいいじゃん。
もちろん飛沫はビルボード&テクスチャアニメーション。
それっぽく見えるように頑張って終わり。
868863:2005/07/16(土) 17:25:51
RPGのようなものではないので、3D空間に雨を降らせる必要は無く、
Z=0のところで降らせてみようと思うのですが、
その場合でもポリゴンの描画で実行速度は大丈夫でしょうか?
869デフォルトの名無しさん:2005/07/16(土) 17:28:32
夏の陣に向けてだとしたら大笑い。いや、大童か。
870863:2005/07/16(土) 17:43:36
そういえばなぜサンプルは読むだけ無駄なのでしょう?
871デフォルトの名無しさん:2005/07/16(土) 17:50:13
ゲィームでよくある、モワモワなんですが、
あれは一枚ポリゴンで表現するものなのですか。
モワモワだから、全部スプライトなりピクソーなりで描画するものだと思って、
いましたが、大概のゲームでのモワモワをよく見てみると、
モワモワの、周りには、四角い透明な領域があります。
とすると、モワモワというのは、そう見えているだけのごまかしなのでしょうか?
全部ピクセルで描画するのが、ベストと思い尾増すが、なんでそうしないのでしょうか?
872デフォルトの名無しさん:2005/07/16(土) 18:18:06
>>871
全部計算で出したピクセル使ったらどうなるか想像つかないの?
873デフォルトの名無しさん:2005/07/16(土) 18:30:38
>>871
テクスチャアニメーションの場合もあるし、
ポリゴンアニメーションの場合もあるし、
その両方の場合もあるしで、
なにも一枚ポリゴン(2枚じゃね?w)とは決まっていない。
板ポリに貼ってそれで終わりってのは中々少なくなってきてはいるな。
まあ、ほとんどデザイナ側の問題なわけだがw
874デフォルトの名無しさん:2005/07/16(土) 18:31:13
スプライトボリュームでいいじゃん
875デフォルトの名無しさん:2005/07/16(土) 18:31:55
「モワモワ」で通じるあたりが凄い。
876850:2005/07/16(土) 19:05:01
>>851>>854
んと、
いちいち頂点バッファぶった切ってシェーダ切り替えなきゃいけないの?ってこと
100枚描画するとき、

for( int i = 0 ; i < 50 ; i++ )
{
SetPixelShader shader A
DrawPrimitive 1prim

SetPixelShader shader B
DrawPrimitive 1prim
}

こうしなきゃいかんの?

本当はこうしたい

SetPixelShader shader A
SetPixelShader shader B
DrawPrimitive 100 prim <-中で切り替えてくれるといいなぁ

引数、覚えてないから適当
877デフォルトの名無しさん:2005/07/16(土) 19:14:29
>>876
そんなことしたらプリミティブ毎にシェーダの種類を持たなければならないじゃないか。

for( int i = 0 ; i < 50 ; i++ )
{
SetPixelShader shader A
DrawPrimitive 1prim

SetPixelShader shader B
DrawPrimitive 1prim
}

こんな記述はライブラリで一度書けば、済む問題だしな
878デフォルトの名無しさん:2005/07/16(土) 19:19:51
最近は動的分岐も可能になったので
>>878のような主張も可能。
879デフォルトの名無しさん:2005/07/16(土) 19:20:33
自演キター!
880デフォルトの名無しさん:2005/07/16(土) 19:27:47
>>871
煙とかをピクセル単位で計算して出してたら
幾らマシンパワーがあっても足りない
881デフォルトの名無しさん:2005/07/16(土) 19:38:03
>>876
そもそも何のために切り替えているのか、その用途について説明せよ。
この手の質問の場合、根本的にそれ以外の解決方法があるのに、
無駄な手法をとっている場合が十中八九。
882850:2005/07/16(土) 20:16:32
>>877
shader A Bはまったく別のシェーダだからそうだけど。
draw〜って一杯呼んじゃって問題ないの?directXって?

>>878
条件分岐で分岐する場合、シェーダを組み合わせ用に書かなくちゃいけない
2種類程度ならいいけどシェーダの種類が10、20と増えてきたら容量や使い勝手が悪過ぎない?

>>881
シェーダA/Bをつかった描画がソートの結果たまたま交互に現れたら、
876のようになちゃうよね?
883デフォルトの名無しさん:2005/07/16(土) 20:37:24
>>869
落下中の雨粒は空気抵抗のために横に扁平な球になっているので、
そういうオブジェクトを作って大量にばらまけばいいと思うよ。(プ
雨粒の大きさによって終端速度が変わるので、そのあたりもちゃんと計算するようにな。

>>881
いろんなシェーダを使って描画するビルボードが画面内に混在すると、
Zソートで奥から描画するときにシェーダ切り替えまくる羽目になるのでどうすんべという話かと。
まあ、テクスチャなんかと同じで、パフォーマンスを気にするなら
まとめるしかないってことになるんでない? 俺は固定パイプライン野郎だから知らんけど。

>>878
無限ループおめ
884デフォルトの名無しさん:2005/07/16(土) 20:49:35
煙をピクセルで表現したいのなら、何も計算する必要ないではないか。
単に置いていけばいいだけだ。
それに近いのが、ポストプロセス

あれだってただ単にアルファマークしたところにピクセルをブチ撒けているだけだ
885デフォルトの名無しさん:2005/07/16(土) 20:58:10
>>884
すまん、なにを言っているのか分からん
886デフォルトの名無しさん:2005/07/16(土) 21:03:32
風吹いたらそのとおりに湾曲させたり分散させたりする必要が別にないわけで

一律に同形状で上がってよし
887デフォルトの名無しさん:2005/07/16(土) 21:08:43
>>883
俺はビルボードが一箇所に固まってるなら物体が中に入ること自体があまりないので
ソートなんかしないでそのまま出しちゃってる。(水飛沫等)
それが広域に及ぶなら一定単位ごとにまとめて数箇所だすだけの話になる。
逆に画面にちりばめられてるようなシーンなら一度に画面に出る数(カメラに映る数)が大したことないはずなので
一つ一つのビルボードにマトリクスを持たせてそれごとにZソートをかけてる。

1メッシュごとにZソートをかけるシーンってのは極めて特殊だと思う。
ビュークリップもできないので実装したらおそらく激重だろう。
メッシュにある大半のビルボードが画面にでる場面(ビュークリップされない)
ってのが想像できないのであんまり使わないんじゃないかな。
と思うがどうだろうか?
888850:2005/07/16(土) 21:24:11
>>883
あーそうそう。
やっぱりシェーダごとにまとめて描画するしかないのかな。
でも、モデルデータ中でシェーダ切り替えってどうやってんだろ?
たとえば布と金属で別シェーダだと布用ストリップと金属用ストリップで2パス描画するのかな
マテリアルごとにシェーダ切り替え自由にしてたら死ぬな。
デザイナーに釘さしておかないと。

>>884
モワモワって陽炎じゃない?
それなら描画取り込みのメッシュをそれっぽく揺らせばいいんじゃない。
ついでにぼかしも入れとけば、よりそれらしくなる。

>>887
たとえばジャングルの中とか、そこら中α抜きテクスチャだらけ。
気にしないで書いちゃうのがいいのかね?PS2とかソートしてないゲームが大半だし。
889デフォルトの名無しさん:2005/07/16(土) 21:29:59
>>888
>たとえばジャングルの中とか、そこら中α抜きテクスチャだらけ。
それだとそういう問題じゃなくてマトリクスごとにメッシュもってる。
つまりZソートかけちゃってる。
一緒のプリミティブにもつってことはしないよ。
モデリングツールでデザイナが設定した通りにでるってそれだけ。

てゆうかさ
>たとえばジャングルの中とか、そこら中α抜きテクスチャだらけ。
こういう物体を一緒のプリミティブに突っ込んだらビュークリップはいつかけるんだ?
言ってる事はDrawPrimitiveに突っ込んだ頂点に複数のシェーダをかけたいってことでいいんだよな?
890デフォルトの名無しさん:2005/07/16(土) 21:40:48


豆知識:ピクセルシェーダの原理


誰に聞いても「やって見てみればいい」というような、原理や作動もまったく知らないような
ド素人がデカい顔してることに対する代名詞的扱い。

せめて「ピクセルを出力するもの」くらいいえないものだろうか
891850:2005/07/16(土) 22:02:03
>>889
突っ込む前にはじいちゃうんじゃない?

>言ってる事はDrawPrimitiveに突っ込んだ頂点に複数のシェーダをかけたいってことでいいんだよな?
俺、directX触るの初めてなんで

突っ込んだ頂点ごとに別のシェーダがかけたい。

シェーダの切り替えってDrawPrimitiveの外でしかできないみたい(できるの?)

場合によってはDrawPrimitiveとシェーダ切り替えの数がものすごい数になってしまう。

パフォーマンスとか大丈夫なの?とおもった。

DrawPrimitive中で切り替えられるの?
892デフォルトの名無しさん:2005/07/16(土) 23:17:23
>>891
ああ、なるほど

>シェーダの切り替えってDrawPrimitiveの外でしかできないみたい(できるの?)
DrawPrimitiveの中でのシェーダの切り替えはできなかったような気がした。
気がしたって程度なのはこの辺複雑になってて本当にできないのかは
しっかり調べてないのでよくわからないというのが本当のところ。

>パフォーマンスとか大丈夫なの?とおもった。
おそらくそういう場面が無いので問題になっていないんだと思う。
893850:2005/07/17(日) 01:50:54
とりあえずDraw単位のソートで組んでみるわ。
回答してくれた人ありがトン。

あと、次のDirectXあたりから固定パイプライン廃止の方向に行きそう。
ソースは言えない。
894デフォルトの名無しさん:2005/07/17(日) 10:24:16
どちらにせよ上位互換は残るので、今作っている人間にとっては、
廃止されようが残留しようが関係ない。
895デフォルトの名無しさん:2005/07/17(日) 12:10:52
ヘタレ絵師とそれ以上にヘタレなプログラマが作る同人ソフトに
シェーダの有無など関係ありませんよ。アヒャ
896デフォルトの名無しさん:2005/07/17(日) 12:18:59
>>895
バンプぐらいは使っても楽かも
基本的に模様みたいなのつけて貼るだけだし。
実装もそう難しくない。
897デフォルトの名無しさん:2005/07/17(日) 12:25:34
もわもわが何か明確じゃないけど
昔(MMX全盛の頃)はそれこそピクセル単位で計算してたじゃないか
何かと併用する余裕は無かったが、不可能でも無かったぜ
898デフォルトの名無しさん:2005/07/17(日) 12:30:41
費用対効果が最大になるのは
普通のライティング、パンプ、反射、屈折ぐらいまでだろうな。

画面効果も演出的なぼかし、グレースケールなんかはうまく使うと
(グレースケールのシーンで赤いマントだけ色がついてるとか)
いいと思うけど、被写界深度までいくとセンス悪いと「これ、ちょっとちがうんじゃない?」って
のが多い。かけないほうがいいよなー的なのが増える。
899デフォルトの名無しさん:2005/07/17(日) 12:34:08
>>897
そんなことした覚えないよ。
たくさんのピクセルに変更がかかる場合はアニメーションの方が
早いのはいまも昔もいっしょだよ。
900デフォルトの名無しさん:2005/07/17(日) 12:42:47
もわもわって、フォグのこと?
901デフォルトの名無しさん:2005/07/17(日) 12:51:52
>>891
>突っ込む前にはじいちゃうんじゃない?
この発言で気になったんだが、毎フレーム頂点バッファを書きなおしてるの?

>>900
レスを順に読む限りではビルボードをたくさん密集させた形のエフェクトのこと。
902デフォルトの名無しさん:2005/07/17(日) 13:34:05
>>899
おまいさんがしたことないのは知らんし、
ここでアニメーションが速いと言い出されても、そりゃそうだとしか言えん

アニメーションとエフェクトは、それぞれに利点と欠点があるだろ
903デフォルトの名無しさん:2005/07/17(日) 13:42:57
>>902
>アニメーションとエフェクト
なにいってんの?
これ比べるもんじゃないし。
>>902←これちゃんと書きなおしてよ。
904デフォルトの名無しさん:2005/07/17(日) 14:36:10
いや先にアニメーションとか言い出したのはおまいだっての
比べるもんじゃないってのは自分に言ってくれ

もしくはエフェクトの意味を取り違えているかだな
シェーダのそれじゃないぞ
905デフォルトの名無しさん:2005/07/17(日) 14:46:24
DirectX8辺りから入った人には分からないのかもよ
906デフォルトの名無しさん:2005/07/17(日) 15:16:37
>>904
俺がいってたのはピクセル単位の処理なんてやってなくて
スプライトのアニメーションでやってたって話だよ。
エフェクトなんていってない。
907デフォルトの名無しさん:2005/07/17(日) 15:37:15
エフェクトが>>897を指すと、類推すら出来ない時点で終わっとる。
最近MegaDemoとか聞かないし、しょうがないのかもね。
908デフォルトの名無しさん:2005/07/17(日) 15:47:25
>>906
なんかもう疲れたな…
画面全体にピクセル単位の処理(画像エフェクト)をかけることは別に不可能じゃないよ
というか3Dカード必須じゃない頃は、皆が普通にやってたろ

そこへなんで、俺はスプライトのアニメーションだぜー
俺の方が速いぜー…って見当違いの話が出てくるんだ
909デフォルトの名無しさん:2005/07/17(日) 18:32:20
>>908
画面全体の処理の話なんてしてないじゃん。
あくまで小さいエフェクトの話だっただろ。
ビルボードでたくさん出すって話からどうして画面全体の話になるんだ。
自分の発言をころころ軌道修正してるみたいだけど
こういう奴だいっきらい。馬鹿みたい。
910デフォルトの名無しさん:2005/07/17(日) 18:32:59
>>908
もう馬鹿なんだから3Dゲームなんて作るのやめろよ。
911デフォルトの名無しさん:2005/07/17(日) 19:00:22
とうとう感情むき出しか
912デフォルトの名無しさん:2005/07/17(日) 19:04:44
>>909
画面の一部ならなおさら楽だろw
913デフォルトの名無しさん:2005/07/17(日) 19:08:14
彼は頑張って突っ込み所を見つけたんだよ。見当違いだったけど。
914デフォルトの名無しさん:2005/07/17(日) 19:21:14
いやたぶん話が通じてないだけだ
恐らく描画バッファを直接叩くという概念すら分からないニュータイプ
915デフォルトの名無しさん:2005/07/17(日) 19:29:51
反論できないと人格叩きに転向でつか(^^)
916デフォルトの名無しさん:2005/07/17(日) 19:53:45
今北産業
917デフォルトの名無しさん:2005/07/17(日) 19:58:31
なんかワナビーが暴れてるみたいね。句点がついてないのは全部同一人物か?
ポストプロセスの2D処理でモワモワをまともに表現できるわけがないだろ、バカめ。
918デフォルトの名無しさん:2005/07/17(日) 20:14:02
全部同一人物にされてしまったw
919デフォルトの名無しさん:2005/07/17(日) 20:20:42
正直好きなようにやれよと。
過程が重要なんじゃない、必用なのは結果だ。
920デフォルトの名無しさん:2005/07/17(日) 20:27:53
いや、皆899の「そんなことした覚えないよ」に、「それはお前だけ」と突っ込みたいだけだろ。
句点付けておくか。
921デフォルトの名無しさん:2005/07/17(日) 20:50:06
いつから平気でだろだろ言うようになったのですか?
たががはずれたのはいつどんな瞬間だったのですか?
皆もやってるから自分もいいだろうと思ったのですか?
そんな当たり前の節度も守れない人間が他人にお説教ですか?
恥かしいですね。
922デフォルトの名無しさん:2005/07/17(日) 20:55:33
もはや中傷合戦になっとるな
923デフォルトの名無しさん:2005/07/17(日) 20:58:24
だろ?(^ω^)
924デフォルトの名無しさん:2005/07/17(日) 20:58:38
>>921
極度に厨むき出しの文章について。
925デフォルトの名無しさん:2005/07/17(日) 20:59:08
897 902 904 908が同一人物ね
>>899は、もうどうでも良いですわ…

>>914
同意

>>917
>>871はスプライトと言っている以上2Dゲームっぽいし、十分以上に可能だと思うんだがどうだい
というか>>871自身、画像エフェクトで(全部ピクセルで)やりたがっているみたいなので、
>>880に対し、>>897で助け船を出しただけよ

そもそも俺は、ゲームでよくある、ってとこから画面切り替え効果みたいのを想像してた
917氏はモワモワが何か分かっている様だが…
926デフォルトの名無しさん:2005/07/17(日) 21:04:13

   〃∩ ∧_∧
   ⊂⌒(  ・ω・)  はいはい、わろすわろす
     `ヽ_っ⌒/⌒c     
        ⌒ ⌒

927デフォルトの名無しさん:2005/07/17(日) 21:05:46
もやもや病
928デフォルトの名無しさん:2005/07/17(日) 21:14:48
ところで、モワモワとは何だったのか、871はちゃんと説明してくれよw
929デフォルトの名無しさん:2005/07/17(日) 21:52:42
ピクセル処理



ポストプロセスとして使うもの
顕著にわかる代表例:Hitman Contracts

エフェクトとして使うもの
・煙を表す、ボリュームレンダリング

930デフォルトの名無しさん:2005/07/17(日) 21:54:56
見解がズレたままケンカしてるんやでw
931デフォルトの名無しさん:2005/07/17(日) 22:00:32
自分以外が全て自演に見えたら末期
そんなあなたに

そろそろム板もID付けないか?
http://pc8.2ch.net/test/read.cgi/tech/1105878545/
932デフォルトの名無しさん:2005/07/17(日) 22:15:07
そういうZソート前提の話題より
Zソートをいかにして無くすかの方が
まだやる価値があるような気がするが。
重なる数に2枚までとか4枚までとか制限をつけたら
何とかなりそうとかさ。
マルチインスタンスに動的分岐にそれを組み合わせれば
1パスで全てのスプライトが表示出来てウマーとかさ。
考えてみてくれよ、俺の為に。
933デフォルトの名無しさん:2005/07/17(日) 23:02:26
>>932
>マルチインスタンスに動的分岐にそれを組み合わせれば
>1パスで全てのスプライトが表示出来てウマーとかさ。
よくわかんねぇよ。
この場合ってビュークリップっていついれればいいの?
毎フレーム頂点バッファを構築しなおしてるってこと?
934デフォルトの名無しさん:2005/07/19(火) 01:23:45
Xファイルを表示するサンプルソースを見たのですが、
複数のXファイルを表示する方法がわかりません。
プレイヤと敵を同時に表示する時とか、どのようにすれば
よろしいのでしょうか?
935デフォルトの名無しさん:2005/07/19(火) 01:53:13
ナンカ急にレベルが下がったが、D3DXLoadMeshFromX()を自分の好きなだけ呼べばよかろう。
936デフォルトの名無しさん:2005/07/19(火) 03:43:58
>>934
それは複数表示できてるソースをあげてくれと言ってるのか?
サンプルのここが理解できないからわからん
とかならまだしも
937デフォルトの名無しさん:2005/07/19(火) 08:21:27
>>934
Xファイル……と言うかメッシュの表示ね。
複数じゃなくてひとつの Xファイルを読み込んで
それを複数描画するにはどうすればいいかわかりますか?
938デフォルトの名無しさん:2005/07/19(火) 08:26:08
「ひとつのXファイルを読み込んでそれを複数回描画する」
としか・・・
939デフォルトの名無しさん:2005/07/19(火) 08:53:49
printf関数で"hello world!"を複数表示するにはどうs (略
みたいな質問されてもなぁ
940デフォルトの名無しさん:2005/07/19(火) 12:37:25
初歩的な質問だと思うけど聞かせてください。

VC6++でDirectX9AppWizard使ってスケルトン作って勉強し始めたんですが、
class CMyD3DApplication : public CD3DApplication
になってるからCMyD3DApplicationをいじくればいいんだと思って、
色々いじって反応を見てたんですが。
ウィンドウサイズ変更するときが不思議だったんでおしえてください。

m_dwCreationWidthの値を変更すればいいと思って。
CMy〜の方のコンストラクタの値を弄ってもなぜか500x375からどうしてもかわらず、
「へんだなぁ」と思いつつ
m_dwCreationWidthがDWORDってなってるから整数だっけなと思いつつ、
SetRect( &rc, 0, 0, m_dwCreationWidth, m_dwCreationHeight );→
SetRect( &rc, 0, 0, 640, 480 );

に変えたら変更できたんで。
やっぱm_dwCreationWidthだなぁと思って。
CD3D〜のm_dwCreationWidthを変更してみたら
ウィンドウサイズが変更できました。
コンストラクタはCD3D〜→CMyD〜の順に通るんですよね?

変更できない時は以下の状態だったんですが、
CD3D〜のコンストラクタでは
m_dwCreationWidth = 400;
m_dwCreationHeight = 300;
CMyD〜のコンストラクタ
m_dwCreationWidth = 640;
m_dwCreationHeight = 480;
スケルトン作った直後の表示では (500x375)となってました。
自分の頭の中で解決できないんで助けてください
941デフォルトの名無しさん:2005/07/19(火) 12:45:13
他人の規則に従うのが無理なら、ウインドウの表示ぐらい自前で書けば解決。
942940:2005/07/19(火) 12:48:49
今やってみたら
CD3DとCMy3Dのm_dwCreationWidth両方いじっても変更できませんでした。。。
どうなってるんでしょう・・・。

>>941
まだウィンドウの表示とか自前で作れないから、
スケルトンプログラム読んで勉強しようと思ってるんですが…。
943デフォルトの名無しさん:2005/07/19(火) 12:52:31
>>942
ならウィンドウの表示から学べば良い。
スケルトンは飽くまでそういった基礎が解かっている人が作成の手間を省くために
使うものであって、決して勉強用ではない。
どっちにしても結局は覚えなきゃならないよ。
944940:2005/07/19(火) 13:05:31
>>943
本来はそうなんでしょうね・・・。
良い参考書が見当たらないんで(あんまり探してないけど…。)、
スケルトンからやってみようと思ってます。

自己解決できました。
スケルトンがレジストリにウィンドウ枠の大きさを保存していて、
コンストラクタの最後でそれを読み込んでいる為でした…。
945デフォルトの名無しさん:2005/07/19(火) 16:20:09
ウィンドウの表示のためだけに本買うの?
お金持ちだねぇ
946デフォルトの名無しさん:2005/07/19(火) 16:27:45
>945はそんなに貧しいの?
947デフォルトの名無しさん:2005/07/19(火) 16:32:39
>>946
だって無職だもの。
948デフォルトの名無しさん:2005/07/19(火) 16:35:50
>>945
じゃあなんとなくAdvancedWindowsを買った俺はなんなんだ!
949デフォルトの名無しさん:2005/07/19(火) 17:14:26
しかもウィンドウの表示なら買うのはプログラミングWindowsなのにッ!
950デフォルトの名無しさん:2005/07/19(火) 22:23:24
>>940
適当にブレークポイントしかけて、
ウォッチウィンドウで値確認してけばいいんじゃね?
951デフォルトの名無しさん:2005/07/20(水) 08:40:48
http://developer.nvidia.com/object/nvperfhud_home.html#Downloads

Japaneseがダウンロードできないけど手に入れる方法ない?
952デフォルトの名無しさん:2005/07/20(水) 08:45:28
ちょっと考えれば簡単に手にはいるぞ。
953デフォルトの名無しさん:2005/07/20(水) 10:27:38
入手できました
ありがとうございました
954デフォルトの名無しさん:2005/07/20(水) 16:21:26
3Dとか触ってみようと思ったんですが、
どっかのページのサンプルをコンパイルしたら
D3DXMatrixTransformation2D
がネーヨって言われて、d3dx9math.hを見たら、たしかにありませんでした。
ヘルプにはあるっぽく書いてあるのに...

ひょっとしてOSのせい(Windows 2000 sp4)?
955デフォルトの名無しさん:2005/07/20(水) 16:24:42
(´-`).。oO(なんでこんな池沼がD3Dなぞ触ってるのだろう)
956デフォルトの名無しさん:2005/07/20(水) 16:50:46
>955
それくらい教えてやれよ
俺のDirectX知識は7.0で止まってんだよ。

質問の内容で、こいつ古いバージョンのDirectX使ってるくらい分かるだろアホ
957デフォルトの名無しさん:2005/07/20(水) 17:03:03
>>954
ヒント:WindowsUpdate
958デフォルトの名無しさん:2005/07/20(水) 17:46:33
>>957
全然おもしろくない。
959デフォルトの名無しさん:2005/07/20(水) 19:03:53
>>954
どこのサンプル?
960デフォルトの名無しさん:2005/07/20(水) 20:49:06
>>954
SDKのバージョン
961デフォルトの名無しさん:2005/07/21(木) 00:04:45
Win2K+VC6+DX8で開発してます。

ウィンドウの最小化ボタンをつけていた(ウィンドウスタイルにWS_MINIMIZEBOXを指定)場合、
最小化ボタンやWindowsキー+Dで最小化するとエラーが起きて終了しちゃうんです、
(恐らくReleaseし忘れとかだと思います)

んで、エラー箇所がよくわからないのでとりあえず置いといて、
今度は最小化ボタンを表示しないでウィンドウを作ったですが(閉じるボタンのみ)、
この場合にWindowsキー+Dで最小化してもエラーが起きなかったんです。

Windowsキー+Dの最小化、というのは普通(?)の最小化と違うのでしょうか?
また、エラーが発生しなかったので、最小化ボタンを表示しないのであれば
このまま何かエラー対策処理などを加えなくても大丈夫なんでしょうか?
962デフォルトの名無しさん:2005/07/21(木) 00:57:41
スレ違いではないでもない気もするのですが、質問です
多角形のポリゴンを3角形に分割する方法に悩んでいます。
ある配列Aがあり、その中には多角形を構成するn個の頂点のデータが時計回りで連続して入っています。
この配列のデータを3角形を構成するデータに変換するにはどうしたらいいでしょうか。
963デフォルトの名無しさん:2005/07/21(木) 01:04:50
>>962
triangulationとかでぐぐるといいそうだ
964デフォルトの名無しさん:2005/07/21(木) 01:27:19
>>962
…間違ってたらスマンが
配列に時計回りで連続で入ってるなら
0番目の頂点と、後は配列で連続する2頂点をずらして
三角形を形成して行くだけなんでは?
012
023
034
045
…こんな感じ…
965デフォルトの名無しさん:2005/07/21(木) 01:32:09
>>963
ありがとうございます。ドロネー法という難しそうなのがヒットしました。これを考えて見ます。

>>964
FANで構成すると、ひねったような位置に2頂点がくるとまずいことになります。。。
966デフォルトの名無しさん:2005/07/21(木) 01:34:49
>>964
凹型ポリゴンで氏ぬ

>>965
Blue Impulse SDKっていうオープンソースなライブラリのなかに
凸型ポリゴンに分割する関数がある。
そこまでやれば964の方法も使える。
少々癖のあるソースだがこいつを研究してみるのもありだ。
967デフォルトの名無しさん:2005/07/21(木) 02:37:50
>>965
Delaunay法は点群→三角形群の変換なので、凹多角形→三角形群の変換には使えない。
"polygon" や "polygons" あたりを加えて絞り込んで検索したほうがいいと思うよ。

SGI OpenGLサンプル実装のGLUのTessellation関連のソースを見てみるのもいいかもね。
http://oss.sgi.com/projects/ogl-sample/
↓によれば、GLUのソースを抜き出して利用するのは "It was very easy" らしい。
http://www.vterrain.org/Implementation/Libs/triangulate.html
俺はソース読むのが面倒だからDirectXでもGLUをそのままブラックボックスとして使っちゃったりするけど。
968965:2005/07/21(木) 22:36:08
>>967
ありがとうございます。教えていただいたGLUで検索すると
http://graphicsbb.itgo.com/solutions/extrude.html
というところが見つかりました。これでなんとかできそうです。
ありがとうございました。
969デフォルトの名無しさん:2005/07/21(木) 23:48:48
再現性が低いバグが出た場合
おまいさんがた、どう対処してますか?

d3dxmath.hこんなファイル名だったか
 inline
 D3DXVECTOR3 operator - 忘れた
 {
⇒     return D3DXVECTOR3( x - v.x, y - v.y, z - v.z );
 }
こんな汎用的に使う場所で・・・
970デフォルトの名無しさん:2005/07/21(木) 23:50:48
何がおかしいの?
971デフォルトの名無しさん:2005/07/21(木) 23:53:35
あ しまった。

初回の例外は〜〜〜〜〜とでて止まった。
972デフォルトの名無しさん:2005/07/22(金) 00:00:05
>>969の存在そのものがバグ。
修正するのなら死ぬしかない。
973デフォルトの名無しさん:2005/07/22(金) 00:04:50
>>972
そいつは困った。

ブレークポイントも効果ない上に
なかなか症状がでないなぁ。
974デフォルトの名無しさん:2005/07/22(金) 00:09:17
C MAGAZINEのプログラムの禁じ手にある
・自動変数をポイントして,それを関数の戻り値にする
・解放したものを使う

ここらへんを やらかしたんだろうか?w
975デフォルトの名無しさん:2005/07/22(金) 00:38:26
>>969は自動変数のコピーを返してるだけじゃないの?
976デフォルトの名無しさん:2005/07/22(金) 00:47:42
vが怪しいかも
977デフォルトの名無しさん:2005/07/22(金) 00:52:54
d3dx9math.inl(385)

D3DXINLINE D3DXVECTOR3
D3DXVECTOR3::operator - ( CONST D3DXVECTOR3& v ) const
{
    return D3DXVECTOR3(x - v.x, y - v.y, z - v.z);
}

これか。
…構文的には間違ってないように思えるけど。
978969:2005/07/22(金) 00:59:31
971,973,974は自分です
名前欄いれるの忘れてた。

D3DXVECTOR3をnewしてもいないのに
ポインタとかありえんしなぁ

void hoge( D3DXVECTOR3* pV )
こんな関数は沢山作っちゃったけど
pVの参照元が何もありません
とかも考えきれんしなぁ

979デフォルトの名無しさん:2005/07/22(金) 01:01:00
少なくとも、D3DXVECTOR3::operator - には何の問題もない。
980デフォルトの名無しさん:2005/07/22(金) 01:02:41
あるあるww
俺の場合は呼び出し元が壊れたオブジェクトだったり、無効なポインタdeleteした後だったってことが多いw
関数は問題ないんだよなww
981969:2005/07/22(金) 01:04:27
>>977
おお まさにソレです

とりあえずあやしぃ場所に
assert( pV )
仕掛けまくってみますた
そもそもデバッガ機能を
使いこなせてない俺ガイル

それでは、おやすみ
982969:2005/07/22(金) 01:07:50
壊れたオブジェクトか
STLのvectorでの消し方がまずかったかな

参考にしてみます。ありがとう!!
983デフォルトの名無しさん:2005/07/22(金) 01:20:52
遅レスだが、エフェクトというMS用語にはマジでむかついた。
nVidiaのCg以上にむかついた。
混乱するだけだろっての。
984デフォルトの名無しさん:2005/07/22(金) 02:04:25
>>969
そろそろデバッガの使い方を覚えた方がいいと思うぞ。
例えば「初回の例外」って何のことだか分かってるか?
985デフォルトの名無しさん:2005/07/22(金) 09:24:10
>>983
DX7あたりのエフェクトはクソだったが
今はだいぶ使えるようになったぞ。
頑張って慣れろ、絶対エフェクトマンセーになるから。
986デフォルトの名無しさん:2005/07/22(金) 09:26:14
>>985
そういう話じゃないだろ
987985:2005/07/22(金) 09:26:45
ああ>>983は、エフェクトの名前そのものに文句いってるのね。
それは同意、つーかコンピュータの技術って一般的な名前つけるの
多すぎ。アトラスとかベロシティとか、検索めんどくせーんだよ。
988デフォルトの名無しさん:2005/07/22(金) 09:30:58
日本語なら、まだカタカナ語として専門用語っぽく区別できるけど、
英語の中に紛れると非常に不便だよね。
989デフォルトの名無しさん:2005/07/22(金) 09:34:17
だからといって、英語の医学用語みたいにラテン語バリバリとかも嫌だけどw
990デフォルトの名無しさん:2005/07/22(金) 09:46:26
まともな名前を考えるとしてRenderingSolution?
991デフォルトの名無しさん:2005/07/22(金) 10:03:45
せめて2単語なら検索しやすくなるのに、1単語だもんな。
検索しにくいったらありゃしない。非常にむかつく。
992デフォルトの名無しさん:2005/07/22(金) 10:11:33
史上最強のクソ名前ってやっぱCgか?
993969:2005/07/22(金) 12:38:02
>>984
漠然とでしか解ってなす。
大概、リリースとかデリートしたものにアクセスすると
そういうのに引っかかるかな。
994デフォルトの名無しさん:2005/07/22(金) 13:38:38
BBX荒らしてるjj = スレ主
995デフォルトの名無しさん:2005/07/22(金) 13:51:26
むしろ荒らしは休暇中。
何であんなに得意気なんだ?
996デフォルトの名無しさん:2005/07/22(金) 18:17:09
おまいら次スレって概念は無いのか
またリンク無しか、テンプレ議論も無しか

ここの>>1自体は良いテンプレだけどな(誰も守らんが)
他、初質系の割に、いつまでたっても参考リンクが出来ないとことかどうよ
997デフォルトの名無しさん:2005/07/22(金) 18:26:19
>>996
じゃあ次スレよろしく
998デフォルトの名無しさん:2005/07/22(金) 20:21:15
【C++】 DirectX初心者質問スレ Part5 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1122031254/
999デフォルトの名無しさん:2005/07/22(金) 20:52:32
ume
1000デフォルトの名無しさん:2005/07/22(金) 20:53:04
hara
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。