【C++】 DirectX初心者質問スレ Part4【C++】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2005/05/08(日) 01:53:41これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
前スレ
【C++】 DirectX初心者質問スレ Part3【C++】
http://pc8.2ch.net/test/read.cgi/tech/1108987183/
0002デフォルトの名無しさん
2005/05/08(日) 02:04:560003デフォルトの名無しさん
2005/05/08(日) 02:06:370004デフォルトの名無しさん
2005/05/08(日) 02:32:33やっぱMS風のハンガリアン?
俺DirectXでプログラム覚えてライブラリ作ってきたから
100%MS準拠だったんだけど、最近きもくなって
過去のライブラリ書き直ししようか迷ってるマンコ。
0005デフォルトの名無しさん
2005/05/08(日) 02:46:03シミュレーションゲームで、敵の行動思考を計算する時、
市販のゲームとか、別スレッドで計算してるのですか?
自分の場合、適当に時間持たせて考えてる「フリ」にするつもり。
ハンガリアン気にしない。割には使ってます。
いちいち書き直すなんて。
0006デフォルトの名無しさん
2005/05/08(日) 08:20:200007デフォルトの名無しさん
2005/05/08(日) 09:32:11ルールがないのはやばいが
0008デフォルトの名無しさん
2005/05/08(日) 15:07:23CやJAVAなどの本なら書店で立ち読みして良書を見極めて買ってるんですが、
DirectXの本って僕のいきつけの書店に置いてなくて、
通販で買おうと思ったんですがDirectXの本って結構たくさん
あって選ぶのに苦労してます。
値段も結構張りますし。
0009デフォルトの名無しさん
2005/05/08(日) 15:27:49その名の通りチュートリアルってプロジェクトがあるからそれを頭からみれば大体の
事は解る。
0010デフォルトの名無しさん
2005/05/08(日) 15:44:27t-potの人のDirectX9 シェーダプログラミング
工学社のDirectX9 実践プログラミング
DirectX SDK ヘルプ
GPU Gems
0011デフォルトの名無しさん
2005/05/08(日) 15:55:07SDK見れっつーのは確かにそうなんだが
それ言うと初心者質問スレの意味が無くなっちゃう気が。
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チュートリアルから始めて
なんとなく理解できたわけで。。どうにも楽には行かないべ。
0012デフォルトの名無しさん
2005/05/08(日) 15:58:580013デフォルトの名無しさん
2005/05/08(日) 16:35:17頂点にDIFFUSE色を含ませて、その色のアルファ成分を利用して、
アルファブレンドしたいのだが、これってできる???(できなかったので)
ブレンド方法は、
SetRenderStateを使って、SRCBLENDとDESTBELND を使ってやるやつ。
頂点にカラーがあるから、ライティングは不要にしてる。(無効にする)
一応なぜか、マテリアルを割り当ててるが、マテリアルの要素は全て無効だろう。(ライティングなしだから)
ライティングを有効にしても、頂点のディフューズカラーのアルファ成分を使った、ブレンディングはできなかった。
アルファ成分は、常に1.0だと判断されてるようで、
これは、ピクセルカラーに含まれるアルファ成分を使ってるのではないかと思われるが。
00148
2005/05/08(日) 16:47:27皆さん、どうもありがとうございました。
0015デフォルトの名無しさん
2005/05/08(日) 17:08:27変換済み頂点のバーテックスバッファを作って
トライアングルファンで四角ポリを表示させているのですが、
これを拡大する時はVBの頂点を直接弄るしかないでしょうか?
変換済み頂点なんで、
D3DXMatrixScalingとかかけてSetTransformしても意味ないですよね?
0016デフォルトの名無しさん
2005/05/08(日) 17:11:30001713
2005/05/08(日) 18:06:09001813
2005/05/08(日) 18:39:24001913
2005/05/08(日) 19:42:56こんなことで半日かかったよ。ヽ(`Д´)ノUWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANNNNNN!!!!!
0020デフォルトの名無しさん
2005/05/08(日) 21:18:05つまんねー日記でレス消費してんじゃねーよ
0021デフォルトの名無しさん
2005/05/09(月) 09:50:45変換済み頂点のバーテックスバッファを作って
トライアングルファンで四角ポリを表示させているのですが、
これを拡大表示したい時はVBの頂点を直接弄るしかないでしょうか?
変換済み頂点なんで、
D3DXMatrixScalingとかかけてSetTransformしても意味ないですよね?
0022デフォルトの名無しさん
2005/05/09(月) 15:31:09その通り。
002313
2005/05/09(月) 18:08:450024デフォルトの名無しさん
2005/05/09(月) 18:45:200025デフォルトの名無しさん
2005/05/10(火) 08:09:540026デフォルトの名無しさん
2005/05/10(火) 13:11:11「デバイスの準備ができてません」とHRESULT値を返す。
NULLチェックして確かめてるから間違いない。
しかも、引数に渡したファイル名の文字列が関数実行後「""」になってる。
const のはずなのに、デバッガが間違ってるのか、なんなのか、わけわかめ。
憂さ晴らしに書いた。
002726
2005/05/10(火) 13:13:01002826
2005/05/10(火) 13:37:290029デフォルトの名無しさん
2005/05/10(火) 14:04:310030デフォルトの名無しさん
2005/05/10(火) 14:22:24C,C++、win32APIでウインドウぐらい作れるのか?
0031デフォルトの名無しさん
2005/05/10(火) 15:40:01個人的にはDXでお勧めの本はない。
とりあえず工学者とかI/Oのは終わってる。
量産してるけど全部糞。
シェーダーとかグラフィックに特化したのは高いけど比較的まとも。
最初はSDKチュートリアルと個人サイトのチュートリアルをやって、
リファレンスとしてはSDKドキュメントがあれば十分いけると思う。
0032デフォルトの名無しさん
2005/05/10(火) 16:18:31DirectX Graphicsだけなら、ノート取りながら読んで1日かからんはずだ。
0033デフォルトの名無しさん
2005/05/10(火) 16:28:18本屋に行って適当なのを選んで来たら医院ジャマイカ
0034デフォルトの名無しさん
2005/05/10(火) 18:05:29assertをとったらバグ取れたってのは表面的だな。
メモリリークしてる場合の症状だろ、それ。
003526
2005/05/10(火) 18:50:59assertで引っかかってるわけではないです。
assert(size);
..
D3DXCreateTextureFromFileEx(...);
で、最後の引数に帰ってくるポインタ(テクスチャ)はNULLではなく、
変な値。
メモリ配置に関するエラーだと思われますが。
0036デフォルトの名無しさん
2005/05/10(火) 19:19:52ターゲットのアルファ値は常に0xFFだと思ってるんですが。
(アルファ値の計算で色が決定され、ターゲットにその色が反映されて、
ターゲットにアルファ値は本来不要だと思われるから)
HPゲージのような一部分(矩形のような単純な形ではない)にだけ
塗ろうとして、その一部分のみを透明にして、その他部分は不透明
を表現しようとしてます。
0037デフォルトの名無しさん
2005/05/10(火) 20:03:22常に0xFFだったらアルファブレンディグできないだろ。
003836
2005/05/10(火) 20:55:29その形をかたどったモノをそのまま転送すればいい事に気づいた。
0039デフォルトの名無しさん
2005/05/10(火) 21:38:09そんなことしないで、転送先ピクセルのアルファ値を使用した、
ブレンディングを学べ
0040デフォルトの名無しさん
2005/05/10(火) 22:03:28Direct3D9: (ERROR) :Memory Address: 00c64028 lAllocID=1 dwSize=000047f8, ReturnAddr=017134c8 (pid=00000584)
例えば上記のような情報から、どうやってリークした対象を特定するのでしょうか。
デバッガでメモリの状態を見ることが出来ますが、それで確保された瞬間を見るとD3DのDeviceだったりしてお手上げでした。
IDというのが便利そうなのですが…。
0041デフォルトの名無しさん
2005/05/11(水) 02:03:590042デフォルトの名無しさん
2005/05/11(水) 02:17:560043デフォルトの名無しさん
2005/05/11(水) 04:35:09アルファブレンディングで、ターゲットのアルファは使わないのでは?普通の式だと。
Result = Src * Src_α + Target * (1 - Src_α)
0044デフォルトの名無しさん
2005/05/11(水) 05:15:210045デフォルトの名無しさん
2005/05/11(水) 13:04:12昔初心者の頃マジでそうしてた(;・∀・)
0046デフォルトの名無しさん
2005/05/11(水) 15:12:51ピクチャーコントロールの更新されるタイミングが分からず困ってます。
まずはアプリの起動時にDXで適当な矩形でも表示してみようと、
WM_INITDIALOGで矩形描画関数を呼んでみたのですが、
一瞬描画されたあと、ピクチャーコントロールの色で塗りつぶされてしまうようでした。
なので、WM_PAINT内でも同じように描画関数を呼んで見たのですが相変らず
起動時に矩形を表示してくれません。
(というかピクチャーコントロールの描画で消されているような感じ。)
WM_LBUTTONDOWN内などで描画すればきちんと表示されるのですが、
WM_MOVE内で呼んだ時などは、一度目の移動では表示されず、
二度目以降の移動では表示されるという、よく分からない挙動になっています。
どうしたらいいのでしょうか?
環境はW2k、VC6、DX9.0bです。よろしくお願いします。
0047デフォルトの名無しさん
2005/05/11(水) 16:37:29この荒らしまだいたのか?
〜陸海空Ponline〜壊滅度6%
http://ex9.2ch.net/test/read.cgi/net/1111323121/l50
0048デフォルトの名無しさん
2005/05/11(水) 19:19:520049デフォルトの名無しさん
2005/05/11(水) 21:54:32初心者じゃないところで一つお願いできませんか>>40
0050デフォルトの名無しさん
2005/05/11(水) 22:43:51ttp://www1.kcn.ne.jp/~robe/pf/pf008.html
0051デフォルトの名無しさん
2005/05/11(水) 23:13:26横からなんだけど、この場合関係なくね?
0052デフォルトの名無しさん
2005/05/11(水) 23:51:29あぁ、そうか。D3D9 内部でやってるメモリ確保でのリークなのか...。
005446
2005/05/12(木) 01:03:390055デフォルトの名無しさん
2005/05/12(木) 01:17:52一兆%の割合でrelease忘れ。
0056デフォルトの名無しさん
2005/05/12(木) 17:04:21自己照明の設定にすると見えることは見えるのですがどうにも平坦で。。
0057デフォルトの名無しさん
2005/05/12(木) 17:24:390058デフォルトの名無しさん
2005/05/12(木) 20:26:280059デフォルトの名無しさん
2005/05/12(木) 21:59:100060デフォルトの名無しさん
2005/05/13(金) 08:37:570061デフォルトの名無しさん
2005/05/13(金) 14:02:130062デフォルトの名無しさん
2005/05/13(金) 14:04:33簡易ソフトでビューア、形状確かめに使おうとしてます。
使ったことあるけどソフト名は覚えていない
0063デフォルトの名無しさん
2005/05/13(金) 15:58:38MFCを使うことは可能ですか?
それともMFCで立ち上げたプロジェクトでDirectXを使用したほうが
楽なのでしょうか?
0064デフォルトの名無しさん
2005/05/14(土) 10:24:06ALPHAARG1 -> DIFFUSE
ALPHAARG2 -> TEXTURE
を指定しているのに、
テクスチャ作成の際、指定したカラーキーによる透過に成功している。
頂点色のアルファ値を使ったアルファブレンドがしたいのに。
頂点のアルファ値はちゃんと半透明になってるのに。
0065左利き
2005/05/14(土) 13:29:12DXライブラリを改造したライブラリを使って(DirectShow利用)
Webカメラの撮った映像を表示するプログラムを作っているのですが、
キャプチャ出来ません。
その理由に、
ビデオキャプチャするデバイスが
Conexant 2388x Video Captureと
Mic Cam
2つが存在し、
デフォルトのビデオキャプチャのデバイスがConexant 2388x になっているから
だと思うのですが、
(Mic Camしかない別のPCだとキャプチャ出来る)
Mic Camに設定してキャプチャする方法はないでしょうか?
↑はプログラムで設定するのではなく、
コントロールパネルのような所で設定できませんか?
お願いしますm(_ _)m
0066デフォルトの名無しさん
2005/05/14(土) 13:51:43http://www.google.co.jp/search?hl=ja&q=PPPax980.kanagawa-ip.dti.ne.jp:80
0067デフォルトの名無しさん
2005/05/14(土) 15:27:110068デフォルトの名無しさん
2005/05/14(土) 15:39:120069デフォルトの名無しさん
2005/05/14(土) 15:45:10すいませんでした。VSYNCをオフにする方法を教えてください。
ググって見てもIDirect3DDevice9::Presentが関係しているということしかわかりませんでした。
0070デフォルトの名無しさん
2005/05/14(土) 15:46:130071デフォルトの名無しさん
2005/05/14(土) 15:50:590072デフォルトの名無しさん
2005/05/14(土) 15:54:15http://www.google.co.jp/search?hl=ja&q=ppxe014.enta.cli.wbs.ne.jp:80
0073デフォルトの名無しさん
2005/05/14(土) 16:04:48ありがとうございます。
0074デフォルトの名無しさん
2005/05/15(日) 16:26:320075デフォルトの名無しさん
2005/05/15(日) 17:39:15このスレ的にはどんな評価でしょうか?
今読み進めてるのですが、初めは割と解説も多かったのですが当たり判定のことが書いてあるページ位になると
かなり多くの新しい関数が出ているのにもかかわらず殆ど細かい説明はありませんでした・・・
もっといい書籍はありますかね?
0076デフォルトの名無しさん
2005/05/16(月) 01:04:36はい。
0077デフォルトの名無しさん
2005/05/16(月) 01:20:270078デフォルトの名無しさん
2005/05/16(月) 02:08:460079デフォルトの名無しさん
2005/05/16(月) 17:05:29WGF2.0 = DirectX10
安心してDirectX9やっとけ
ちなみにRMは廃止な、今さら使ってる奴いないだろうけど
0080デフォルトの名無しさん
2005/05/16(月) 17:30:30書籍名を教えてください
0081デフォルトの名無しさん
2005/05/16(月) 17:47:420082デフォルトの名無しさん
2005/05/16(月) 17:50:30そうですか。
知らないのですね。
0083デフォルトの名無しさん
2005/05/16(月) 20:57:100084デフォルトの名無しさん
2005/05/16(月) 21:04:020085デフォルトの名無しさん
2005/05/16(月) 22:16:260086デフォルトの名無しさん
2005/05/16(月) 22:58:280087デフォルトの名無しさん
2005/05/17(火) 02:29:11特にちょっと難しめの奴には
0088デフォルトの名無しさん
2005/05/17(火) 02:46:35考察ご苦労。
下がってよいぞ
0089デフォルトの名無しさん
2005/05/17(火) 03:33:08俺にもわかるように優しく教えて。
0090デフォルトの名無しさん
2005/05/17(火) 03:52:37これを防ぐ方法を教えてください。
0091デフォルトの名無しさん
2005/05/17(火) 04:26:36だったらそれを使うのを止める。
代替案に関してはググれば出てくる。頑張れ。
0092デフォルトの名無しさん
2005/05/17(火) 05:18:150093デフォルトの名無しさん
2005/05/17(火) 05:24:24なんのための質問スレだ
0094デフォルトの名無しさん
2005/05/17(火) 05:24:35http://ex10.2ch.net/test/read.cgi/news4vip/1116266649/
はい、お疲れさまね
009590
2005/05/17(火) 05:24:58早く答えろよ、いい加減にしないと怒るぞ
0096デフォルトの名無しさん
2005/05/17(火) 05:25:36グロ画像
PC有害
閲覧注意
0097デフォルトの名無しさん
2005/05/17(火) 05:26:43なるほど納得
VIPPERも平日の朝からご苦労だなw
0098デフォルトの名無しさん
2005/05/17(火) 05:26:56グロ 踏んだらPCから神山満月ちゃんが出てくる
0099デフォルトの名無しさん
2005/05/17(火) 05:26:590100デフォルトの名無しさん
2005/05/17(火) 05:28:48アンカーミスすんなwwwww
0101デフォルトの名無しさん
2005/05/17(火) 05:30:340102デフォルトの名無しさん
2005/05/17(火) 05:30:49フォントだけ表示するとこ抜き出して
その不具合を再現してるテストコード書いてうpしてみ。
そしたら見てくれる人がいるかもしれない。
逆に、その作業の途中で自分で原因見つける事も多いよ。
そのくらいの努力はしたまえよ。
0103デフォルトの名無しさん
2005/05/17(火) 05:31:20バーロー、真実はいつも一つなんだ。
全てはVIPを妬んだラウンジの仕業だったよ。
0104デフォルトの名無しさん
2005/05/17(火) 05:31:32正直スマンカッタ(藁
0105デフォルトの名無しさん
2005/05/17(火) 05:32:040106デフォルトの名無しさん
2005/05/17(火) 05:33:39m n _∩ ∩_ n m
⊂二⌒ __) /\___/ヽ ( _⌒二⊃
\ \ /'''''' '''''':::::::\ / /
\ \ |(●), 、(●)、.:| / /
\ \| ,,ノ(、_, )ヽ、,, .::::|/ /
\ .| ´トェェェイ` .:::::::| / それが、ラウンジ精神
\\ |,r-r-| .:::::// http://ex7.2ch.net/entrance/
\`ー`ニニ´‐―´/
/ ・ ・ /
0107デフォルトの名無しさん
2005/05/17(火) 05:34:47以上ラウンジの馬鹿のしわざでした
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ってこんなことするんだぜ
0108デフォルトの名無しさん
2005/05/17(火) 05:38:19__,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ ザッ
/\___/ヽ /\___ /\___/ヽ _/ヽ /\___/ヽ
/'''''' '''''':::::::\/'''''' '''/'''''' '''''':::::::\ /'''''' '''''':::::::\
. |(●), 、(●)、.:|(●), |(●), 、(●)、.:|、( |(●), 、(●)、.:|
| ,,ノ(、_, )ヽ、,, .::::| ,,ノ(、_, )| ,,ノ(、_, )ヽ、,, .::::|_, )| ,,ノ(、_, )ヽ、,, .::::|
. | `-=ニ=- ' .:::::::| `-=ニ= | `-=ニ=- ' .:::::::|ニ=| `-=ニ=- ' .:::::::|
\ `ニニ´ .:::::/\ `ニニ \ `ニニ´ .:::::/ニ´ \ `ニニ´ .:::::/
/`ー‐--‐‐―´\ /`ー‐- /`ー‐--‐‐―´\-‐‐ /`ー‐--‐‐―´\
「vipから来ますた」「vipから来ますた」「vipから来ますた」「vipから来ますた」
それが、ラウンジ精神
http://ex7.2ch.net/entrance/
0109デフォルトの名無しさん
2005/05/17(火) 05:39:05ザッ ヘ__Λ ヘ__Λ ヘ__Λ ヘ__Λ
__,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ ザッ
/\___/ヽ /\___ /\___/ヽ _/ヽ /\___/ヽ
/'''''' '''''':::::::\/'''''' '''/'''''' '''''':::::::\ /'''''' '''''':::::::\
. |(●), 、(●)、.:|(●), |(●), 、(●)、.:|、( |(●), 、(●)、.:|
| ,,ノ(、_, )ヽ、,, .::::| ,,ノ(、_, )| ,,ノ(、_, )ヽ、,, .::::|_, )| ,,ノ(、_, )ヽ、,, .::::|
. | `-=ニ=- ' .:::::::| `-=ニ= | `-=ニ=- ' .:::::::|ニ=| `-=ニ=- ' .:::::::|
\ `ニニ´ .:::::/\ `ニニ \ `ニニ´ .:::::/ニ´ \ `ニニ´ .:::::/
/`ー‐--‐‐―´\ /`ー‐- /`ー‐--‐‐―´\-‐‐ /`ー‐--‐‐―´\
「vipから来ますた」「vipから来ますた」「vipから来ますた」「vipから来ますた」
それが、ラウンジ精神
http://ex7.2ch.net/entrance/
011091
2005/05/17(火) 05:40:20暇だから煽り房と遊ぼうと思ったのに……orz
もういいッ! フテ寝するッ!
0111デフォルトの名無しさん
2005/05/17(火) 06:51:11どのような言葉でぐぐればよいのでしょうか?
0112デフォルトの名無しさん
2005/05/17(火) 09:41:080113デフォルトの名無しさん
2005/05/17(火) 09:47:01どうやって?
0114デフォルトの名無しさん
2005/05/17(火) 11:21:110115デフォルトの名無しさん
2005/05/18(水) 11:36:19どうやればいいんでしょう?
DirectXやウィンドウを作り直す必要がある?
0116115
2005/05/18(水) 11:44:250117デフォルトの名無しさん
2005/05/18(水) 12:21:550118デフォルトの名無しさん
2005/05/18(水) 12:25:550119デフォルトの名無しさん
2005/05/18(水) 12:28:47どこがおかしくてどうやったら解決したか
を書け。
0120デフォルトの名無しさん
2005/05/18(水) 13:56:46>>103
0121デフォルトの名無しさん
2005/05/18(水) 16:20:35せめてDirectXのバージョンくらい書こうぜ。
8以降ならResetするときにD3DPRESENT_PARAMETERSを変更するだけでOK。
0122デフォルトの名無しさん
2005/05/18(水) 18:22:210123デフォルトの名無しさん
2005/05/18(水) 18:54:01うまくいかなかったらデバイスもリソースも全部作り直したほうが楽かもね
0124デフォルトの名無しさん
2005/05/18(水) 19:57:060125デフォルトの名無しさん
2005/05/18(水) 22:31:44やっぱクラスにまとめるんですか?
Xファイルにパラメータみたいなものも書き込めるんでしょうか?
0126デフォルトの名無しさん
2005/05/19(木) 00:03:58自分でテンプレートを定義すればいくらでも入る。
XFileはただのコンテナに過ぎない。
0127115
2005/05/19(木) 00:44:460128デフォルトの名無しさん
2005/05/19(木) 02:37:04xファイルにユーザーデータな話でぐぐれ
0129デフォルトの名無しさん
2005/05/20(金) 15:54:330130デフォルトの名無しさん
2005/05/20(金) 17:59:020131デフォルトの名無しさん
2005/05/20(金) 18:06:040132デフォルトの名無しさん
2005/05/20(金) 21:08:390133デフォルトの名無しさん
2005/05/20(金) 23:24:13クライアントサーバ型チャットプログラムを作っています
通信相手が接続したらDPN_MSGID_メッセージを
別ソースへ記述してあるメッセージハンドラが受け取って
.NETWindowsフォームアプリケーションのForm1の
リッチテキストボックスコントロールのrichtxtに
"接続しました”系のメッセージを表示するには
どうすればよいでしょうか?
switch(dwMessageType)
{
case DPN_MSGID_CREATE_PLAYER
ここをお願いします
return DPN_OK;
}
0134デフォルトの名無しさん
2005/05/21(土) 05:07:41DirectPlayがどうとか前半の話は全然関係ないやん。
0135デフォルトの名無しさん
2005/05/22(日) 01:43:120136デフォルトの名無しさん
2005/05/22(日) 01:47:480137135
2005/05/22(日) 02:13:28ランドスケープでぐぐると造園等のまったく関係の無い情報ばかりでてきますのでもう少し絞り込むためのキーワードみたいなものを教えていただけないでしょうか?
0138デフォルトの名無しさん
2005/05/22(日) 02:34:42一つ先のフレームでの自キャラの位置を想定して、
「自キャラの膝あたりから地面方向に飛ばしたレイ」と「自キャラの真下の地面のポリゴン」
との当たり判定(直線と面との当たり判定は、intersectなんちゃらとかいう関数がDXにあったと思う)をして、
レイと地面の交差位置が自キャラの膝下の長さより長ければ浮いてるって事だからその分だけ下降させ、
短ければ潜ってるってことだからその分上昇させる事で「接地」させられる。
というふうに自分はやってみた。
0139デフォルトの名無しさん
2005/05/22(日) 07:10:060140デフォルトの名無しさん
2005/05/22(日) 07:42:070141デフォルトの名無しさん
2005/05/22(日) 12:55:01長さにするか迷ってるのですが、よく使われる設定
とかってあるんですか?
0142デフォルトの名無しさん
2005/05/22(日) 13:31:110143デフォルトの名無しさん
2005/05/22(日) 14:26:02デバイスをリセットする際、その直前にいくつかのメモリを明示的に解放しないと
いけないと本に書いてありましたが、CreateVertexBuffer メソッドで取得した
LPDIRECT3DVERTEX9 も解放する必要があるのでしょうか。
もし解放するなら、どのように解放するのでしょう。
LPDIRECT3DVERTEX9 には Release メソッドが無いし、
FreePrivateData メソッドもなにか違う気がするのですが…
実は CreateVertexBuffer で D3DPOOL_MANAGED を指定しておけば
何も問題は無かったりしますか?
0144デフォルトの名無しさん
2005/05/22(日) 15:36:34文学部出身だから、プログラムが全然分からない。
早くSEになりたいので、まずプログラムをマスターしたいんですけど、
まず何を勉強したらいいですか?
0145デフォルトの名無しさん
2005/05/22(日) 15:42:11SEになりたいならプログラムの知識はいらない。
0146デフォルトの名無しさん
2005/05/22(日) 15:43:270147デフォルトの名無しさん
2005/05/22(日) 20:19:560148デフォルトの名無しさん
2005/05/22(日) 20:26:130149デフォルトの名無しさん
2005/05/22(日) 21:20:46IUnknownから継承してるので、Releaseメソッドはある。
MANAGEDリソースはReset時に復活できるようメモリに
コピーされている。マニュアル嫁。
0150デフォルトの名無しさん
2005/05/23(月) 02:37:17こーゆー人知り合いにもいるけど苦労するよ。
人生失敗したと後悔すると思うから考え直したほうがいい。
しかし何でDirectXのスレに書いてるんだ?
0151デフォルトの名無しさん
2005/05/23(月) 04:07:410152デフォルトの名無しさん
2005/05/23(月) 09:04:19尤も、スレタイも読めないようじゃ、人間としての素養を疑わざるを得ないけど。
0153デフォルトの名無しさん
2005/05/23(月) 09:15:520154デフォルトの名無しさん
2005/05/23(月) 10:01:330155デフォルトの名無しさん
2005/05/23(月) 10:08:220156デフォルトの名無しさん
2005/05/23(月) 10:20:540157143
2005/05/23(月) 11:20:25ああ、Release って IUnknown にくっついていたのね。。。。。
解決しました。どうもありがとう
てことは、本とかでよく使われるマクロ
#define RELEASE (x) {if(x)(x)->Release();(x)=NULL;}
も、
inline void RELEASE(IUnknown* x) {
if( *x) {
(*x)->Release();
(*x) = NULL;
}
}
というふうに型チェックつきにできるのかな?
0158デフォルトの名無しさん
2005/05/23(月) 11:32:250159857
2005/05/23(月) 11:35:47どなたか助力をお願いいたします。
環境:Win XP pro SP1 dirextX9b SDKをインストールしています
http://v.isp.2ch.net/up/acc437db5dfb.jpg
0160デフォルトの名無しさん
2005/05/23(月) 12:12:29template <class T>
inline void safe_release(T*& p)
{
if (p) {
p->Release();
p = 0;
}
}
ってやってた
0161デフォルトの名無しさん
2005/05/23(月) 13:52:21HDDの空きがない、ファイルが壊れている
0162デフォルトの名無しさん
2005/05/23(月) 16:06:39容量は6G空いております、ファイルは
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9226a611-62fe-4f61-aba1-914185249413
の物を使っています。MD5等が載っていないので
正常だと断定できませんが、ファイルサイズも同じですし正常だと思います。
0163デフォルトの名無しさん
2005/05/23(月) 16:22:41「エラーが出ます」だけじゃ若ラン。
「どんな」エラーが出ているのかを述べよ。
0164159
2005/05/23(月) 16:27:22http://v.isp.2ch.net/up/acc437db5dfb.jpg
0165159
2005/05/23(月) 16:31:20DirectX9c をインストールすると下のようなエラーがでます。
ttp://v.isp.2ch.net/up/acc437db5dfb.jpg
環境はxp pro sp1 DirectX sdk9bをインストしています
0166デフォルトの名無しさん
2005/05/23(月) 16:32:580167デフォルトの名無しさん
2005/05/23(月) 18:00:46WindowsUpdateからDirectXランタイムを入れてみたら?
0168デフォルトの名無しさん
2005/05/24(火) 21:55:05ビルドは通るんですが、実行時にIDirectDraw7のインターフェースが取得できなくて終わってしまいます。
0169デフォルトの名無しさん
2005/05/24(火) 21:56:470170デフォルトの名無しさん
2005/05/24(火) 22:33:48「Direct3Dの取得に失敗しました。以下の方法で解決できる場合があります。
・DirectX がインストールされていない場合はDirectXをインストールしてから実行してください。
・ほかにソフトが起動している場合は、それらを全て終了させてください。
・Windowsを再起動してから実行してみてください。
・サポートWEBに、このエラーについての情報がないかどうか確認してみてください」
ってしておけばPC初心者にも優しいかな?
0171168
2005/05/24(火) 22:49:270172デフォルトの名無しさん
2005/05/24(火) 22:55:05Direct7 がインストールされてなかったりして。
0173デフォルトの名無しさん
2005/05/24(火) 23:21:04実はDirector7 だったりして。
0174168
2005/05/24(火) 23:28:23解決前:
LPDIRECTDRAW7 pDD;
DirectDrawCreateEx( , pDD.....);
解決後:
DirectDrawCreateEx( , &pDD....);
でした。しかし、なぜ&が必要かが未熟者でイマイチ理解してない。
LPDIRECTDRAW7型自体ポインタですよね?それとも構造体なのかな?
0175デフォルトの名無しさん
2005/05/24(火) 23:43:040176デフォルトの名無しさん
2005/05/24(火) 23:51:06void 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 );
}
0178デフォルトの名無しさん
2005/05/25(水) 21:16:54Resetに失敗する……なんでだろ?
0179178
2005/05/25(水) 22:11:220180デフォルトの名無しさん
2005/05/25(水) 22:30:010181デフォルトの名無しさん
2005/05/26(木) 09:39:35DirectInputのサンプルにマウスの項目がある。
0182デフォルトの名無しさん
2005/05/26(木) 10:18:160183デフォルトの名無しさん
2005/05/26(木) 14:33:51サンプルのMouseは移動量を調べることができるだけですよね?
クライアントウィンドウ内の座標を調べたいのですが
>>182
今回のプロジェクトのルールでWin32APIを使っちゃいけないんです
0184デフォルトの名無しさん
2005/05/26(木) 16:10:46( ゚ Д゚) ガシャ
( つ O. __
と_)_) (__()、;.o:。
゚*・:.。
0185デフォルトの名無しさん
2005/05/26(木) 16:30:110186デフォルトの名無しさん
2005/05/26(木) 17:09:390187デフォルトの名無しさん
2005/05/26(木) 18:40:18ウインドウの表示すらしないとは、凄まじいプロジェクトですね。
0188デフォルトの名無しさん
2005/05/26(木) 18:49:13何で使っちゃいけないことになったのかは知らんがすさまじいプロジェクトだな
0189デフォルトの名無しさん
2005/05/26(木) 20:26:340190デフォルトの名無しさん
2005/05/26(木) 21:54:54一応奥の立方体が小さくは表示されているんですが。
Zバッファも設定してるんですが、それだけじゃダメなんでしょうか?
0191190
2005/05/26(木) 22:46:35Nearクリップ値を0にしていたのがまずかったようです。
0192デフォルトの名無しさん
2005/05/27(金) 03:05:11i810EのオンボードVGAのPCで動くように作ろうとしたのですが
そのPCで実行するとCreateDevceを呼んだ時に
「問題が発生したため、xx.exeを終了します。〜」
のメッセージが出て終わってしまいます。
DirectX診断ツールのDirect3Dのテストをやってみても問題はありませんでしたし
普段動作確認に使ってるPC(FX5200)ではちゃんと実行できるのでプログラムの問題ではないと思うのですが
何が原因なのでしょうか?
0193デフォルトの名無しさん
2005/05/27(金) 06:39:490194デフォルトの名無しさん
2005/05/27(金) 11:35:20マルチサンプリングして、その差の平均を取る方法がベターでしょうか。
0195T
2005/05/27(金) 21:59:41shipFrame->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を使用したプログラムに変更したいの
ですが、どうしたらいいのか教えてください。
よろしくお願いします。
0196デフォルトの名無しさん
2005/05/27(金) 22:12:38ここまでわかっててなんでわかんないの?
アドバイスのしようがない。
0197デフォルトの名無しさん
2005/05/27(金) 23:10:18MSDNでじっくりドキュメントを見れば良いじゃん
0198デフォルトの名無しさん
2005/05/27(金) 23:11:03描画されている内容も一緒に伸縮してしまいます。
描画内容はサイズ固定で、足りない分はスクロールバーで制御するようにしたいのですが、
よくわかりません。
プレゼンテーションパラメーターでWeight、Heightを800,800として、
幅1のポリラインを描画してWindowをリサイズすると、描画される線の太さはどうやらWindow幅/800のようです。
なにかしらのフィルタリングもされているようです。
SetViewport()は関係なさそうでしたが、
リサイズにあわせて何かのパラメーターも変更されてると思うので、
それがわかれば制御できるとは思うのですが…
どなたかご教授くださいませ。
当方DirectX8、VC++6、MFCにて作っております。
0199T
2005/05/27(金) 23:31:07わからないから教えてほしいのですが。
どこをどう変えればいいのですか?
0200192
2005/05/28(土) 03:39:32の問題は解決したのですが
CreateDevceを呼ぶとVRAMが足りないと言われます
Zバッファを使わない
バックバッファのサイズとフォーマット以外で
初期化の時点でVRAMを節約するにはどうしたらいいんでしょうか?
0201デフォルトの名無しさん
2005/05/28(土) 04:25:25頼らずに全部自前で作るのが普通ですか?
D3DXにない関数を作ってると、混ざってごちゃごちゃに
なってしまいそうな感じがするんですが
0202デフォルトの名無しさん
2005/05/28(土) 07:43:10俺は作り直してる。
0203デフォルトの名無しさん
2005/05/28(土) 10:45:02ウィンドウのリサイズしたらプレゼンテーションパラメーターも作り直し、
更にその前にリソースを開放して構築しなす必要がある、
なんて聞いたことがあるけどよくしらない。
0204デフォルトの名無しさん
2005/05/28(土) 10:57:45サンプル丸写しで各関数が何をやっているか考えずに使うから、
その程度のことすら分からない状態になる。
0205デフォルトの名無しさん
2005/05/28(土) 11:13:30それがどこで、どうなってるから、そうなってるのか、
分からないから聞いてるのに。
0206デフォルトの名無しさん
2005/05/28(土) 11:40:50SDK見れ
0207デフォルトの名無しさん
2005/05/28(土) 11:47:07>>1見れ
0208デフォルトの名無しさん
2005/05/28(土) 11:53:29何がしたいのかよく分からない。
教える気がないなら邪魔なだけだから書き込むなよ。
0209デフォルトの名無しさん
2005/05/28(土) 12:03:50怖いから、具体的には回答しないんだよ。
0210デフォルトの名無しさん
2005/05/28(土) 12:55:09ここでちょっと書いただけで理解きでるとは思えないんだが…
自演乙
0211デフォルトの名無しさん
2005/05/28(土) 13:03:02教えない・教えられないなら黙ってろ。他の全ての人にとって邪魔だ。
0212デフォルトの名無しさん
2005/05/28(土) 13:15:25自己解決したならどう自己解決したか書きましょう。
都合良すぎです。
0213デフォルトの名無しさん
2005/05/28(土) 13:44:530214200
2005/05/28(土) 13:45:18プログラムが原因と言われたので
初期化までの部分を一から書き直したたら
強制終了しなくなっただけで
明確な原因はわかってないのです
0215デフォルトの名無しさん
2005/05/28(土) 14:33:170216198
2005/05/28(土) 14:33:42>>204
どうもありがとうございます
Present関数に2つの矩形を指定したら制御できました
ヘルプ見たらBlit元矩形と先矩形を指定してる関数だって書いてて納得しました。
デバイスの再作成も解決策の一つみたいなんですが
テクスチャが全部なくなっちまうのでちょっと気分悪かったんですが
Presentだけで対処すればそうはならないようですが…
いつまでも画面に映らない範囲のリソースを延々と保持する訳にもいかないので
いつか適当なタイミングで再作成も必要なんでしょうね…
0217デフォルトの名無しさん
2005/05/28(土) 14:43:500218デフォルトの名無しさん
2005/05/28(土) 16:09:26shipFrame->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だけを使用したプログラムに変更したいの
ですが、どうしたらいいのか教えてください。 よろしくお願いします。
0219デフォルトの名無しさん
2005/05/28(土) 16:43:10マルチ乙
0220デフォルトの名無しさん
2005/05/28(土) 19:48:32どうせ説教されて、さらにストレス溜まるだけ。
0221デフォルトの名無しさん
2005/05/28(土) 19:57:57196 名前: デフォルトの名無しさん 投稿日: 2005/05/27(金) 22:12:38
>>195
ここまでわかっててなんでわかんないの?
アドバイスのしようがない。
0222デフォルトの名無しさん
2005/05/28(土) 21:50:11表示がおかしくなるんですが、
どうすればいいでしょうか。
VC.net DirectX9で
DrawPrimitiveUP使ってます
0223デフォルトの名無しさん
2005/05/28(土) 22:01:59どうおかしくなったかくらい書け。
near設定がおかしいんだよ、どうせ。
0224デフォルトの名無しさん
2005/05/28(土) 22:16:35画像がゆがんだり消えたりします。
補足します
2Dのシューティングを作ろうとしていて、
背景を3Dで表現したいんです。
調べていくとどうも射影行列の設定がおかしい
っぽいのですが、どうおかしいのかも
本当にそうなのかもわかりません。
0225デフォルトの名無しさん
2005/05/28(土) 22:23:07おかしくなるのは2Dのほうで
(゚д゚)
↓
(°Д°)
こんな感じになります。
何度も補足すみません。
0226デフォルトの名無しさん
2005/05/28(土) 22:36:140227デフォルトの名無しさん
2005/05/28(土) 22:40:27D3DXMatrixPerspectiveFovLH( &g_Projection, D3DX_PI / 4, 1.33f, 1.0f, 100.0f );
と設定してるので1.33fを指定してます。
0228デフォルトの名無しさん
2005/05/28(土) 22:50:060229デフォルトの名無しさん
2005/05/28(土) 23:00:01わざわざ回答してくださってありがとうございました。
0230デフォルトの名無しさん
2005/05/29(日) 00:11:15これって左手座標系にするためにzの符号を反転して
から計算してるってこと?
0231デフォルトの名無しさん
2005/05/29(日) 01:06:16何と何の結果が合わないのか書かないと
答えようがないことに気づかないか?
0232デフォルトの名無しさん
2005/05/29(日) 01:54:210233デフォルトの名無しさん
2005/05/29(日) 02:00:270234デフォルトの名無しさん
2005/05/29(日) 06:43:17ページが表示されないと表示され、できません
私だけでしょうか?
0235デフォルトの名無しさん
2005/05/29(日) 08:19:470236デフォルトの名無しさん
2005/05/29(日) 22:24:03ページが表示されないと表示され、
ページが表示されると表示されない。
お前日本語大丈夫か?
0238デフォルトの名無しさん
2005/05/29(日) 22:28:550239デフォルトの名無しさん
2005/05/29(日) 22:32:06羨ましいですね^^;
0240デフォルトの名無しさん
2005/05/29(日) 23:56:00テクスチャがVRAMに載るのは、D3DXCreateTextureFromFile()でLPDIRECT3DTEXTURE9を
作ったときですか?それともID3DXEffect::SetTexture()を呼んだときでしょうか?
それとテクスチャをVRAMにどんどん載せていって、VRAM容量が超えたときは何が起こるのでしょうか?
0241デフォルトの名無しさん
2005/05/30(月) 01:21:17VRAMにのりきらなけりゃ、エラーになる。
オマエ、戻り値をチェックしないタイプだろ。
0242デフォルトの名無しさん
2005/05/30(月) 02:04:51レスありがとうございますた。
確かに戻り値はあんまチェックしないですね・・・。
これからは戻り値に気を付けたいと思います。
0243デフォルトの名無しさん
2005/05/30(月) 02:39:450244デフォルトの名無しさん
2005/05/30(月) 10:40:30自分が今考えているのは、ある指定されたキーを押した時の位置や姿勢を直接与えればいいと思うのですが、合っているのかわからないので、教えてください。
0245デフォルトの名無しさん
2005/05/30(月) 13:26:300246デフォルトの名無しさん
2005/05/30(月) 18:19:400247デフォルトの名無しさん
2005/05/31(火) 00:05:51デバッグのブレーク時にマウスカーソルの動きがおかしくなります。
Win2000ではデバック時にカーソルの動きがおかしくなるという所までは
分かったのですが、それから上手い解決方法が見つかりません・・・。
DirectInputをデバッグ版で使用する方法が載っていたのですが、この場合、
SetCooperativeLevel(hWnd, DISCL_FOREGROUND | DISCL_EXCLUSIVE)
しか指定できず、カーソルが消えてしまいます。
OS変えるしか無いんですかね・・・。
ちなみに、マウスでDirectInputを利用しているのは、
ホイールの移動量をリアルタイムで調べる為です。
ウィンドウメッセージやDirectInputを使わずに
現在のホイールの座標を直接取得できれば解決するのですが・・・。
Windows2000
VC++2003
DirectX9 oct 2004
0248デフォルトの名無しさん
2005/05/31(火) 00:11:130249デフォルトの名無しさん
2005/05/31(火) 01:32:560250デフォルトの名無しさん
2005/05/31(火) 02:26:45もちろん敬語・丁寧語で書き込んでいました。
いつからか僕は平気で、偉そうに、だろだろ書き込むようになりました。
0251デフォルトの名無しさん
2005/05/31(火) 03:05:21すげー不自由な日本語使うね。
読み難いよw
「もちろん」の意味解って使ってる?
0252デフォルトの名無しさん
2005/05/31(火) 04:33:28お前ひょっとして中国人留学生か?間違え方がそれっぽいぞ。
もう少しまともな日本語を読み書きできるようになってから出直せ。
0253250
2005/05/31(火) 08:29:370254デフォルトの名無しさん
2005/05/31(火) 09:19:01ウィンドウがアクティブじゃなくても、
WM_MOUSEWHEELを受け取れますか?
0255デフォルトの名無しさん
2005/05/31(火) 11:00:32じゃあグローバルフックすればいいよ。
0256デフォルトの名無しさん
2005/05/31(火) 11:07:500257デフォルトの名無しさん
2005/05/31(火) 11:14:03パソ通時代と違って質問ベースのBBSって必要ないんだよね。
そういう環境の中質問しに来るのは変なのばかり。
0258デフォルトの名無しさん
2005/05/31(火) 11:15:390259デフォルトの名無しさん
2005/05/31(火) 12:06:42自分の国へお帰り下さい^^
0260デフォルトの名無しさん
2005/05/31(火) 19:55:42詳しく紹介してあるサイトがあったら教えてください
ゲーム画面中日本語入力が必要になったのでお願いします
0261デフォルトの名無しさん
2005/05/31(火) 23:46:440262260
2005/06/01(水) 00:32:26日本語入力を実装するのって難しいんでしょうか?
0263デフォルトの名無しさん
2005/06/01(水) 01:10:430264デフォルトの名無しさん
2005/06/01(水) 01:47:330265デフォルトの名無しさん
2005/06/01(水) 09:19:39Update summer 2004 のみでよろしいのでしょうか?
それとも DiectX9 SDK + summer 2004 ?
0266デフォルトの名無しさん
2005/06/01(水) 18:15:07法線ベクトル(XYZ)
頂点カラー(ARGB)
ライト
D3DLIGHT9構造体のデータ
マテリアル色
D3DMATERIAL9構造体のデータ
以上のデータを使ってライティングするコードを教えてください。もしくは公式を。
以前はDirectXのAPIを使ってやっていたのですが、諸事情により、自力で光源計算しないといけなくなりました。
もしスレ違いなら書き込むべきスレを教えてください。
よろしくお願いします。
言い忘れました、ライティングの種類は平行光源です。
0267デフォルトの名無しさん
2005/06/01(水) 18:17:010268デフォルトの名無しさん
2005/06/01(水) 18:24:37その値と、頂点カラーと、拡散反射係数を乗算するとディフューズ色はでるけれど。
0269デフォルトの名無しさん
2005/06/01(水) 18:44:36頂点だけでなく、法線も適用されますか?
0270デフォルトの名無しさん
2005/06/01(水) 19:24:13vc++6.0の場合は DX9.0 SDK Update (October 2004)まで対応してるんですよね?
0271デフォルトの名無しさん
2005/06/01(水) 20:51:09SDKのヘルプに全部書いてあるじゃん。
Mathematics of Lightingってところ。
0272デフォルトの名無しさん
2005/06/02(木) 00:48:28頂点へのランバートの余弦則と、フォンのスペキュラでモーマンタイ。
あとは面内補間だから。
0273デフォルトの名無しさん
2005/06/02(木) 01:00:13されるよ。されるけど、normalizenormal だかなんかのレンダリングステイトを
イネーブルにしないと、ワールドマトリックスのスケーリング成分に合わせて拡大されてしまう。
っていうか、シェイダー使った方が楽。
0274デフォルトの名無しさん
2005/06/02(木) 01:02:30これ、知らないで拡大して真っ黒になっちゃって、あわてる馬鹿な同僚がいたw
そんときいそがしかったから、正直、氏ねって思った。
0275デフォルトの名無しさん
2005/06/02(木) 01:09:580276デフォルトの名無しさん
2005/06/02(木) 01:10:44胃薬の名前
0277デフォルトの名無しさん
2005/06/02(木) 01:11:03同僚が悪いんじゃない。MSが悪い。
0278デフォルトの名無しさん
2005/06/02(木) 01:23:400279デフォルトの名無しさん
2005/06/02(木) 01:31:59そんなわけない。
余計な計算であることは事実なんだから。
OFFがデフォで正しい。
0280デフォルトの名無しさん
2005/06/02(木) 01:32:50俺もへぼプログラマですが、日頃から同僚に氏ねって思われてるんでしょうか?orz
0281デフォルトの名無しさん
2005/06/02(木) 01:42:05当たり前じゃん。
プログラマなんて自分より実力が無いのはみんなクズなんだから。
0282デフォルトの名無しさん
2005/06/02(木) 01:50:19すべてのモデルをスケーリングを前処理でやれば問題ないが、
固定パイプラインの即席でできる的なコンセプトから言えば、
適当なモデルをスケーリングして回転して移動して即席表示できるべきだ。
なので法線のノーマライズは「余計な計算」でなく、「やらなきゃいけない計算」
なわけだから、ONがデフォが正しい。
最適化したい人がOFFにすりゃいい。
そういう人は、何が問題だかわかっているわけだからそれこそ問題ない。
初学者に「機能をすべて把握してから使え。」なんて強要しているAPIはアふぉでしょ。
こういうのはAPIデザインをする側の問題。同僚は悪くない。
0283デフォルトの名無しさん
2005/06/02(木) 01:55:49thx
0284デフォルトの名無しさん
2005/06/02(木) 02:01:41いや、そのまえに法線知らないで3Dいじるなよ。
って時代にできたものだからな>固定パイプライン
さすがにそんなレベルの低い奴はいなかったけどな。
今は違うんだね。
0285デフォルトの名無しさん
2005/06/02(木) 02:44:18昔のD3D初心者は「固定パイプライン内部の変換で法線ベクトルがノーマライズされない」ことに事前に気づくやつばっかだったか?
んなわけない。
初心者が、レンダリングステートを一通り目を通さなきゃ正常に動作しないってのはおかしいだろ。
OpenGLを見よ。「いじらなくともデフォで《正常》に動く」のがあたりまえのソフトウェアデザイン。
「いじらないとデフォで《異常》な動作をする」のは底辺プログラマの所業。
0286デフォルトの名無しさん
2005/06/02(木) 03:44:130287デフォルトの名無しさん
2005/06/02(木) 04:23:18Directx本体は英語版ですよね??
みんなそれ使ってるよね?
0288285
2005/06/02(木) 04:28:52あなたの主張からは、初心者を馬鹿にして「自分の方が上」って思いたいという思いしか伝わってこない。
でないなら、何が言いたいわけ?論旨はなによ?
0289287
2005/06/02(木) 04:34:230290デフォルトの名無しさん
2005/06/02(木) 05:16:09「昔のD3D初心者」には関係なかったけどなw
0291270
2005/06/02(木) 07:12:430292デフォルトの名無しさん
2005/06/02(木) 07:34:360293デフォルトの名無しさん
2005/06/02(木) 22:40:03はぁ?馬鹿?
異常な動きじゃないじゃん。
実際に法線・もしくはスケーリングが腐ってるデータの方が異常なんであって
表示はバグってないだろ。
正しい対処方は法線を表示できるようにすることであって
なんでもかんでも法線を正規化して表示することじゃないでしょ?
こういう問題をどうして正しくとらえることができないかな?
対処法間違ってるのわからないの?
レベル低すぎ。って初心者スレかw
0294デフォルトの名無しさん
2005/06/03(金) 00:19:06できなくはない、というレベル。
レンダリングターゲットを用意して、そこに書き込む。
0295デフォルトの名無しさん
2005/06/03(金) 00:47:01WGFからは確か出来るようになるんじゃなかったかな。
今はテクスチャにデータを載せてピクセルシェーダーで処理して
テクスチャに書き出してそれを使う。GPGPUで検索しろ。
0296デフォルトの名無しさん
2005/06/03(金) 01:04:35> 実際に法線・もしくはスケーリングが腐ってるデータの方が異常なんであって
> 正しい対処方は法線を表示できるようにする
超〜ハズカシイやつ。
勉強不足な頓珍漢なバカはおまえだよ。何が問題かすら全くわかってない。
レベルが低すぎるのはおまえだろうがw
0297デフォルトの名無しさん
2005/06/03(金) 01:09:05はぁ?じゃ、何が問題なのか説明しろよ。
0298デフォルトの名無しさん
2005/06/03(金) 01:21:24何が問題って、俺が何の話しているかすら判ってない上に、
如何にも付け焼刃の知識(しかも間違っている)で頓珍漢な対処法とやらを開陳して、
人を馬鹿な初心者呼ばわりしているおまえのバカさ加減。
0299デフォルトの名無しさん
2005/06/03(金) 01:25:36法線にスケーリングが掛かったら、それが
どう言う意味か知らない奴がD3Dを使用するなって感じ。
初心者とかじゃなくて、数学や技術の問題。
そもそも、スケーリング成分が無い行列をセットされるのが有り得る、もしくは大半なのに
いちいち正規化するのが無条件なんてDirectXじゃなくて、非リアルタイムよりのOpenGLを使えって感じ。
(まあ、そう言っちゃてるがw)
言い換えると、int型なりshort型なりの変数に値を代入したら
いちいちその型のオバーフローをチェックするのが当たり前とか抜かしてるレベルと一緒だろw
代入 -> if 型オバーフローチェック -> 変数に代入の度にデフォ
見たいな感じw
0300デフォルトの名無しさん
2005/06/03(金) 01:48:13だからさぁ、固定パイプラインの話だぜ?
どこのクソ業者が今時シェーダー使わずに固定なんか使っちゃっているわけよ???
キミのところは「OpenGLなんか非リアルタイムだぜ。うちはDirectX固定パイプラインでバリバリリアルタイム」
なんていっちゃっている痛い会社なわけ?
シェーダーが主流である現在、固定ってのは初学者がD3Dに入門するためのモードって言い切っちゃっていいでしょ。
トランスフォーメーションパイプラインで法線を正規化するのかしないのかってのはAPIの実装依存ってのは判るよな?
固定だとトランスフォームしたノーマルをクライアントに返さず、そのままライティングに使うわけだ。
だからこそ、normalizenormalというユーザー設定可能なレンダリングステートが用意されている。
それはよしとして、固定の使用用途から言って、このデフォルト値がOFFである必要は全く無い。
最適化の必要ない所があえてフールプルーフになっていないのはあふぉ。
なぜなら、そもそもプロは固定なんか使わないから。
0301デフォルトの名無しさん
2005/06/03(金) 01:49:38意味不明。
0302デフォルトの名無しさん
2005/06/03(金) 01:58:47古いカード使ってるユーザーは無視
なわけねえよね
0303デフォルトの名無しさん
2005/06/03(金) 01:59:04わかる人は判るからいいです。
> 法線にスケーリングが掛かったら、それがどう言う意味か知らない
だいたいさ、SetTransform()内部で、world matrix をextract して、スケーリング成分等を除去した
純粋な回転行列に変換し、それを法線ベクトルの変換に使う実装だってあり得るわけだ。
どういう実装になっているかは、運よくnormalizenormalのステートを見てそれが何であるかを意識した人だけだろう。
0304デフォルトの名無しさん
2005/06/03(金) 02:00:20日本じゃどうしてんのか知らないけど、うちでは無視です。
0305デフォルトの名無しさん
2005/06/03(金) 02:00:51大丈夫w
そんなもん運に頼って見つけるの君だけだからw
0306デフォルトの名無しさん
2005/06/03(金) 02:02:23日本でもラブデスはぶっちぎりで無視でした。
0307デフォルトの名無しさん
2005/06/03(金) 02:03:49悲惨なやっちゃな
0308デフォルトの名無しさん
2005/06/03(金) 02:05:200309デフォルトの名無しさん
2005/06/03(金) 02:06:19初めから単位化された法線を
スケーリングなしの行列でトランスフォームした場合でも
全てデフォで単位化するなんて方がアフォ。
プログラマとしての発想の違いとも言える。
数万頂点の法線がはじめから単位化されていて
セットされる行列もスケーリングなし
しかし、その数万回の単位化をなんとも思わない時点で...
プロなら、シェーダー非対応のボードでも
切り替え指定で動くように作るだろw
弊社のゲームはDirectX9、対応ボード必須(256M以上とか...)、
CPU3GHz以上必須(ここは妄想だが)とか言うのがプロなの?
half life2以上は期待しちゃうよ?
0310デフォルトの名無しさん
2005/06/03(金) 02:07:15らぶデスも別に古いので動くけどな
0311デフォルトの名無しさん
2005/06/03(金) 02:09:31法線スケーリングされてポリゴン真っ黒なのに、顔真っ赤にしちゃうわけだよ。ぷw
0312デフォルトの名無しさん
2005/06/03(金) 02:11:180313デフォルトの名無しさん
2005/06/03(金) 02:12:37プロだったら、前処理でスケーリングして、normalizenormal を一回だけOFFにセットすりゃいいんだよ。
初心者は、normalizenormal を知らない可能性が高いっつてんだよ。
0314デフォルトの名無しさん
2005/06/03(金) 02:13:44固定の処理をハード処理して速度を稼ぐって言う
昔の非力なグラボ時代の話であって
それを
シェーダーが主流だから初心者用だとか
APIの実装依存とか
SetTransform()内部で、world matrix をextract して、スケーリング成分等を除去した
純粋な回転行列に変換し、それを法線ベクトルの変換に使う実装だってあり得るわけだ。
とか言っちゃうんじゃないのw
固定処理以外の部分はプログラマが指定しろって事なのに
お前は、固定処理に法線のノーマライズが必要って言ってるんだぞ?グラボ会社に要求しろ
それ以外ならソフト処理の問題であって固定機能とか言ってるな、ボケ
0315デフォルトの名無しさん
2005/06/03(金) 02:14:100316デフォルトの名無しさん
2005/06/03(金) 02:20:04日本のWindows向けクソ3Dゲーの事は良く知らない。
日本にはろくなD3Dプログラマがいないということだけは知っている。
> SetTransform()内部で、world matrix をextract して、スケーリング成分等を除去した
純粋な回転行列に変換し、それを法線ベクトルの変換に使う実装だってあり得るわけだ。
とか言っちゃうんじゃないのw
「とか言っちゃう」って何がおかしいんだよ?説明しろ。
0317デフォルトの名無しさん
2005/06/03(金) 02:23:16> お前は、固定処理に法線のノーマライズが必要って言ってるんだぞ?
>>285 から書いている通り「初心者のためにnormalizenormalはデフォでONにすべき」
っていってんだよ。何回説明したら論旨を理解するんだ?バカ。
0318デフォルトの名無しさん
2005/06/03(金) 02:26:200319デフォルトの名無しさん
2005/06/03(金) 02:27:17実際はAだ!Aだ繰り返してるだけの屑議論だな。
つまんね
0320デフォルトの名無しさん
2005/06/03(金) 02:28:47インパルス板倉「学校で浮いている奴が、2chで虚勢を張っている」
http://news19.2ch.net/test/read.cgi/news/1117727344/
0321デフォルトの名無しさん
2005/06/03(金) 02:28:550322デフォルトの名無しさん
2005/06/03(金) 02:29:55それをハード固定機能に求めるのか
SetTransform()内部のソフト的な部分に求めるのか混同してる
ソフト的な問題なら、今までの”パイプライン”とかの意味不明な発言の落とし前はどうするの?
>>317
お前は、”固定機能が初心者用だから”って前提を突っ込んでるのは完全無視なのか?
0323317
2005/06/03(金) 02:31:02こんなの意味なんかあるかよ。わけわかんねーよ食ってかかってきてるやつ。
おれの論旨は「D3D初心者のためにnormalizenormalはデフォでONにすべき」
であって、それ以上なにもない。
0324317
2005/06/03(金) 02:34:01> それをハード固定機能に求めるのか
あのー、
HALと、Fixed pipelineを絡めて議論する意味ってなに????
訳わかんないんですが。
0325デフォルトの名無しさん
2005/06/03(金) 02:36:45アフォか
それなら、D3D初心者のために行列は使用しない
座標値と角度のみとか
角度も初心者のためにラジアンは使用しないとか
正しい要求なのか?w
0326317
2005/06/03(金) 02:38:55くだらないので逝きますね。
0327デフォルトの名無しさん
2005/06/03(金) 02:40:55言った言わない議論でスレ伸ばしても無意味。
それとも、スレ延ばすとあんたの収入が増えるビジネスモデルなんかい?
0328デフォルトの名無しさん
2005/06/03(金) 02:41:480329デフォルトの名無しさん
2005/06/03(金) 02:43:36固定パイプラインの中で処理されるH/W T&Lのハード機能とは別ものである
中途半端なのはどっちだw
0330デフォルトの名無しさん
2005/06/03(金) 02:46:38一つも反論してないよ?
無理前提を、突っ込み無視で押し通すつもり?w
0331317
2005/06/03(金) 02:49:09あのなぁ、論旨となっている使用するAPIのとっつき易さ(優れたデザイン)と、
ユーザーに求められる数学の素養くらい分けて考えろ。
「理学者は全員D3Dのエクスパート」とキミの論理は恥ずかしくバグっている。
バカ丸出し。
まぁ、お前のような奴が、三角形を一つでも表示させることができている
とすれば、D3Dは十分 "fool proof"ということだ。
0332デフォルトの名無しさん
2005/06/03(金) 02:52:31毎日が休みの人はいいな、
API設計の良し悪しなんていう
どうでもいい議論で盛り上がれて
0333317
2005/06/03(金) 02:53:38> それをハード固定機能に求めるのか
>SetTransform()内部のソフト的な部分に求めるのか
これで何が言いたいんだって聞いてんだよ。
>固定機能が初心者用
だからさ、固定なんか使ってんのは今時日本のクソ3Dゲーか美少女ゲーの特殊効果だけだっつってんの。
ほとんどの初心者が最初に三角形を出すのに固定パイプラインを使うことはほぼ間違いない
。
0334デフォルトの名無しさん
2005/06/03(金) 02:55:30初心者用、APIデザインとか言ってるのは
その数学的な素養が要らないって意味だろう?
じゃ、C言語を扱うプログラマ初心者の為に
C言語基本的素養は、初心者用、関数デザインとか言って
求めないのと一緒だろw
0335317
2005/06/03(金) 02:56:12悪いがこっちはまだ19時で休憩中なもんで。
0336デフォルトの名無しさん
2005/06/03(金) 02:57:30お前さ、次から次に自分の理屈を言ってるだけで
突っ込み無視で、技術有ります見たいな発言繰り返すのみ、言い訳のみ、だなw
0337デフォルトの名無しさん
2005/06/03(金) 02:59:160338デフォルトの名無しさん
2005/06/03(金) 02:59:20の恥ずかしい勘違い?知識無し?の発言で
317と話す必要もなくなったなw
0339デフォルトの名無しさん
2005/06/03(金) 03:00:49以上、ほぼ自作自演でした。週末も自作自演の予定です。
ここまで読んでくださった皆様、どうもありがとうございました。
ねぇ、僕って孤独じゃないよな?
================================================================
0340317
2005/06/03(金) 03:01:18キミさ、なんでもいいけどあたまわるすぎ。自覚ないでしょ?
もう、勝手にお吼えください。
0341317
2005/06/03(金) 03:02:500342デフォルトの名無しさん
2005/06/03(金) 03:20:55だから、固定パイプラインは初心者用?
ウルトラ頭悪いねw
一応サンプルブラウザーにはビギナーレベル指定でベーシックHLSLなんてサンプルが有るんですが?
チューリアルの初心者以前、これから入門しますってレベルで物を言って
そのレベルでAPIデザインとか抜かしてるんだろうか...
0343デフォルトの名無しさん
2005/06/03(金) 03:47:16うざいよゲー専門学校生が。お前だろ初心者はw
恥ずかしすぎるぜこいつ。
0344デフォルトの名無しさん
2005/06/03(金) 03:56:13尊敬するぞ
尊敬するぞ
尊敬するぞ
尊敬するぞ
0345デフォルトの名無しさん
2005/06/03(金) 04:08:50だったら、はなっからシェーダーなんか使わねーで固定で書いてろ。
0346デフォルトの名無しさん
2005/06/03(金) 07:56:55ターゲット環境を低くするために、わざとやってるのかと思ってた。
0347デフォルトの名無しさん
2005/06/03(金) 08:10:430348デフォルトの名無しさん
2005/06/03(金) 08:26:370349デフォルトの名無しさん
2005/06/03(金) 09:49:34VC++7.1のReleaseのデバッグ無しで開始のみ面が描画されません。
デバッグ開始だと描画されます。
原因がさっぱりわかりません。
Direct3DのDebugモードとRetailモードで試してみても結果は同じで
やはりデバッグ無しで開始だと面が表示されません。
ReleaseじゃなくてDubugだと問題ありません。
解決方法を知ってる人がいたら教えてください
0350デフォルトの名無しさん
2005/06/03(金) 10:33:39法線で重要なのは絶対値じゃなくて向きでしょ。
法線を単位ベクトル化しても、ベクトルはベクトル。向きは変わらないんじゃないの・・・? ちがうの?
0351デフォルトの名無しさん
2005/06/03(金) 10:37:25問
正規化されていない法線A、Bがあります。
この法線どうしの角度を求めよ。(cosθでもよい)
0352デフォルトの名無しさん
2005/06/03(金) 10:37:440353デフォルトの名無しさん
2005/06/03(金) 11:06:35でもGPUって極端な話レイテンシが1000であっても
スループット1なら別に問題ないんだよな。
つまりガンガン正規化してもOKってこと?
0354デフォルトの名無しさん
2005/06/03(金) 11:12:52自分のプログラムを先頭から最後まで、100回見直す。
0355デフォルトの名無しさん
2005/06/03(金) 12:14:20痛いです。
0356名前は開発のものです。
2005/06/03(金) 13:04:091.DrawPrimitiveUP、DrawPrimitiveの違い。
速度で、DrawPrimitiveUP < DrawPrimitive
な理由は、DrawPrimitiveUPを呼んだあとに、頂点情報をGPUに転送して
描画待ちをしているせいなんでしょうか?
DrawPrimitiveは、頂点バッファのアドレスを指定してあとはDMAで頂点を
転送しているから描画待ちをせずに並列で処理できるから早いってことでしょうか?
2.半透明ポリゴンのソート方法
半透明ポリゴンのソートをポリゴンの頂点座標を透視変換して計算した
Zの値0.0〜1.0で比較してソートしているんだが激しく遅い。
0.0〜1.0を100分割して 0.01刻みでバケツソートしても遅い。
高速化する方法ってどんなのあるでしょうか?
0357デフォルトの名無しさん
2005/06/03(金) 13:29:454回目で直りました。thx
0358デフォルトの名無しさん
2005/06/03(金) 15:10:05もう直ったようだが、DebugとReleaseで動作が変わる場合は
まず変数の初期化がらみだと思っていい。
0359デフォルトの名無しさん
2005/06/03(金) 15:26:322. ソートのアルゴリズムを代えろ。
0360デフォルトの名無しさん
2005/06/03(金) 15:27:03仰るとおりでコピーコンストラクタの部分でした
0361356
2005/06/03(金) 18:27:21ソートのアルゴリズムっていっても
バケツが早いとおもうんだが、クイック、バブル、2分どれもだめだとおもう。
他にあるならおしえてくれ
0362デフォルトの名無しさん
2005/06/03(金) 18:59:50途中で53頂点と3頂点追加したい場合はどういう風にすればいいのでしょうか?
全部最初から頂点バッファを作り直さないで、
バッファのサイズを変更して3頂点だけ追加したいのです。
0363デフォルトの名無しさん
2005/06/03(金) 19:39:150364デフォルトの名無しさん
2005/06/03(金) 23:24:01頂点インデックスとか法線とかどうすんの?
0365362
2005/06/03(金) 23:55:03でも数万ポリゴンのモデルだとOpenGLより明らかに描画速度が遅いです
0366デフォルトの名無しさん
2005/06/04(土) 00:01:18自分が見えないところでやる分には構わないのか。
馬鹿の考えることはさっぱり分からん。
0367左利き
2005/06/04(土) 00:09:28DirectXとの質問とは違いますが、
VideoCaptureの列挙子が記述されている
レジストリのある場所を知っている人はいませんか?
DirectXを使ったライブラリを使っているのですが、
そのライブラリは
VideoCaptureが2つあってもデフォルトのほうしか使えないので、
レジストリでデフォルトの設定を変えたいのです。
お願いしますm(_ _)m
0368デフォルトの名無しさん
2005/06/04(土) 00:14:16容易に出来そうですが、
任意軸による回転行列から角度を得ることは可能でしょうか?
0369デフォルトの名無しさん
2005/06/04(土) 00:19:300370デフォルトの名無しさん
2005/06/04(土) 01:28:59thanks
0371デフォルトの名無しさん
2005/06/04(土) 01:48:42_mm_sqrt_ps使うか、_mm_rsqrt_psで逆数求めて_mm_rcp_psで逆数にすると
平方根が4ついっぺんに求められる。精度低い代わりに速い。
0372デフォルトの名無しさん
2005/06/04(土) 07:58:31とりあえずスレ違いにはならないとおもわれる範囲で
質問・同意を得る形式でレスをすること。
答えがどうあろうとレス稼ぎが問題なので単発で終わることが多い。
0373デフォルトの名無しさん
2005/06/04(土) 11:19:300374デフォルトの名無しさん
2005/06/04(土) 12:08:160375デフォルトの名無しさん
2005/06/04(土) 12:15:15それとも別のなにか?
0376デフォルトの名無しさん
2005/06/04(土) 12:35:550377デフォルトの名無しさん
2005/06/04(土) 13:01:27そんな意地悪言わずに教えてくだすれ
0378デフォルトの名無しさん
2005/06/04(土) 13:30:430379デフォルトの名無しさん
2005/06/04(土) 13:38:34多分>>374は解からないから誤魔化すようなレスしてるだけ
0380デフォルトの名無しさん
2005/06/04(土) 13:41:580381デフォルトの名無しさん
2005/06/04(土) 14:08:130382デフォルトの名無しさん
2005/06/04(土) 14:20:40マルチいくない。
DirectShowスレで回答もらってんだから、こっちはもう終わり。
0383デフォルトの名無しさん
2005/06/04(土) 17:01:28場合によっては少し叩いてやりましょう。
0384デフォルトの名無しさん
2005/06/05(日) 14:58:21系のエラーってどうやって解決するんですか?
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
を読んでみましたが解決策が解らないので質問させていただきました
0385デフォルトの名無しさん
2005/06/05(日) 15:28:04Release() し忘れてるところを探すといいよ。
あと、Alloc ID ってのが出てるはずだから、
Dxコンパネで Break On AllocID にその値を指定すると
幸せになれるかもしれない。
0386デフォルトの名無しさん
2005/06/05(日) 16:36:13外積を求めたら(0,-1,0)になりますが、
外積は右ねじっていいますが、違うんじゃ
0387デフォルトの名無しさん
2005/06/05(日) 16:52:120388デフォルトの名無しさん
2005/06/05(日) 16:52:49Break On AllocIDに値を入れてブレークしてくれたけど アセンブラわがんねorz
0389デフォルトの名無しさん
2005/06/05(日) 16:54:140390デフォルトの名無しさん
2005/06/05(日) 16:59:25ステップアウトするんだ。
039140
2005/06/05(日) 17:09:480392デフォルトの名無しさん
2005/06/05(日) 22:46:12簡単なゲームを作ってみようと思い、DirectXを始めてみました。
とりあえずwebにあったものを組み合わせてビルドしてみたのですが、
リンクするときに、
「dinput8.lib(dilib2.obj) : fatal error LNK1103: デバッグ情報が壊れています; モジュールを再コンパイルしてください
link.exe の実行エラー」
と出てしまって、ビルドが完了できません。
dinput8.libを作り直せば良いのかと思ったんですが、ソースが見当たりません。
どうすればいいのでしょうか?
また、同じような状況になった方はいらっしゃいませんか?
よろしくお願いします。
0393392
2005/06/05(日) 22:50:330394デフォルトの名無しさん
2005/06/05(日) 22:58:03そこに全て書かれています。
0395デフォルトの名無しさん
2005/06/05(日) 23:26:270396392
2005/06/06(月) 01:06:10>>395
お返事ありがとうございます。
解決しました。
デバッグ情報作れないんだったら、作んなきゃいい話なんすね。
DirectXの問題どころか、IDEの扱いかたっつーか日本語が読めていませんでした....orz
で、ちょっと気になったんですが、これってリリースノートに書いてあるんですか?
自分が見た限りでは見つけられなかったんですが....
0397デフォルトの名無しさん
2005/06/06(月) 01:20:55話はそれからだ。
0398デフォルトの名無しさん
2005/06/06(月) 01:29:520399デフォルトの名無しさん
2005/06/06(月) 01:50:19あんまりくだらない質問ばかりする初心者&人を見下す態度を取る返答者の争いが
絶えないのでとうとうスクリプトになってしまいました。
ちょっと使い難いかもしれませんが我慢してください。
0400デフォルトの名無しさん
2005/06/06(月) 03:44:14初心者スレで初心者なりの質問がきて、「くだらない質問」などと言ってんじゃない。
>人を見下す態度を取る返答者
まさしくおまえのことだ。
0401デフォルトの名無しさん
2005/06/06(月) 05:24:23ここは日本語が通じないインターネットですね
0402デフォルトの名無しさん
2005/06/06(月) 05:41:05ホントにこんな質問してる奴が俺等に還元するようになるのかねぇ?
とか本気で思う。
ま、絶対、ならねぇだろうな。
0403デフォルトの名無しさん
2005/06/06(月) 06:51:49初心者相手に見返り期待してないでどうぞ上級者のあなたにお似合いなレベルの高いところへお行きください。
さいなら。
0404デフォルトの名無しさん
2005/06/06(月) 07:50:37俺のレスが気に入らないならスルーすればいいだけ。
嫌なら相手にしなくて結構。
懐古ってわけじゃないけど、昔は質問への回答なんてそこまで重要なことではなく
むしろ勉強するにあたっての姿勢を大事にする傾向があった。
どのぐらい頑張れば自分のめざすことができるようになるんだろうとか
そういうのが回答からわかった。
ゲームPGの技術力の高さは掲示板でそういうところまで
面倒を見てくれるところで支えていたと思うんだけどね。
ところがこの質問スレはそういうのがないから、最近の初心者は損をしてると思うんだよね。
俺が先人(主にPS世代の人かな)から受け継いだものなんて、そんなものだけど
お前等がいらないっちゅーなら、それもアリだな。と思う。
初めて何ヶ月目か知らんけど、カワイそうだけどこんなペースじゃ一生かかっても俺にはおいつけないだろうな。
俺等の頃にあって、今無いものの差はかなりでかいぞ。
0405デフォルトの名無しさん
2005/06/06(月) 08:19:18説教好きが2ch全体に増えている
これはこのスレに限った事じゃない
0406デフォルトの名無しさん
2005/06/06(月) 08:26:592D!!のDirectXをやってみるかもな
http://pc8.2ch.net/test/read.cgi/gamedev/1005133911/
0407デフォルトの名無しさん
2005/06/06(月) 08:52:38受け継がなくて良かったです。というか何を受け継いだのでしょうか。
404の書き込みから何が伝わってくるのでしょうか。
伝わってくるのは間違いなく404はキチガイであるということだけです。
ここは404なんぞいなくても今まで通り粛々と進んでゆきます。
さようなら404。
0408デフォルトの名無しさん
2005/06/06(月) 09:54:55ここは質問スレだ。質問と回答以外必要ねーんだよ。
なにが「スルーすればいいだけ」だよ。
テメェがスレ違いなどうでもいい昔話をご高説なさってるから邪魔だって言ってんだよアホ。
背中に「↑バカ」って張り紙されてるタイプだよお前w
0409デフォルトの名無しさん
2005/06/06(月) 11:00:44答える奴も馬鹿で結構バランスとれてるよ。
0410デフォルトの名無しさん
2005/06/06(月) 11:22:29ちょっと気になる流れだったから話戻していい?
Summer2004以降はVC6はサポート外になったけど、
ExtrasのVC6用D3DXファイルに差し替えればとりあえず動くよね。
今はVC6+Oct2004にしてるんだけど、なんか問題あるかしら?
海外サイト見ると一応イケるっぽいんだけど・・・
0411デフォルトの名無しさん
2005/06/06(月) 12:14:550412デフォルトの名無しさん
2005/06/06(月) 12:44:07ただ、わざわざVC6用のファイルを残しているから
完全に切り捨てたというより互換性を気にしなくなっただけなのかな、と思ってね。
回避できない致命的な問題がなけりゃそれでいいの。
0413デフォルトの名無しさん
2005/06/06(月) 17:31:400414デフォルトの名無しさん
2005/06/06(月) 18:04:49.net無駄に重くね?
0415デフォルトの名無しさん
2005/06/06(月) 19:02:06逆に.netにしなきゃいけない理由って何。
0416デフォルトの名無しさん
2005/06/06(月) 19:21:250417デフォルトの名無しさん
2005/06/06(月) 19:41:57インテルコンパイラ用の最適化機能と新規格の準拠度
0418デフォルトの名無しさん
2005/06/06(月) 19:54:41STL 等のライブラリは new が bad_alloc 投げることを前提にしてるから、
NULL チェックされとらんのよな。
bad_alloc を投げるようにハンドラ変えてやればいいんだけど。
あと、static const int メンバが直接初期化できないから
enum を使わないといけなかったり。
0419デフォルトの名無しさん
2005/06/06(月) 20:11:450420デフォルトの名無しさん
2005/06/06(月) 20:23:10とりあえずboostでコンパイル通るコンポーネントが飛躍的に増えること。
これだけで導入の価値は充分にある。
あとVC6ではテンプレート周り、とくに特殊化/部分特殊化に関連するバグには
かなり悩まされてきたが、VC7.1ではほとんど修正されてる。
0421デフォルトの名無しさん
2005/06/06(月) 20:27:150422デフォルトの名無しさん
2005/06/06(月) 20:31:140423デフォルトの名無しさん
2005/06/06(月) 20:34:51ベータ初期しか試してないが、多少は良くなったのかね
0424デフォルトの名無しさん
2005/06/06(月) 20:35:560425デフォルトの名無しさん
2005/06/06(月) 21:25:220426デフォルトの名無しさん
2005/06/06(月) 21:28:26国や組織によっても認識が違ってたりするからなぁ。
0427デフォルトの名無しさん
2005/06/06(月) 21:32:38どこでも
0428デフォルトの名無しさん
2005/06/06(月) 21:40:547.1でも部分特殊化はイマイチだ
8買っちゃうかも。
0429デフォルトの名無しさん
2005/06/06(月) 23:27:390430デフォルトの名無しさん
2005/06/07(火) 00:59:520431デフォルトの名無しさん
2005/06/07(火) 01:14:220432デフォルトの名無しさん
2005/06/07(火) 03:41:510433デフォルトの名無しさん
2005/06/07(火) 10:22:573〜4万円くらいで乗り換えれたよ。VBやVJ等でも可。
もう1年前にキャンペーン終わってしまったが。
0434デフォルトの名無しさん
2005/06/07(火) 11:45:360435デフォルトの名無しさん
2005/06/07(火) 11:55:560436デフォルトの名無しさん
2005/06/07(火) 13:08:04「ディテール」を「ディティール」とかいうバカも気に入らない。
0437そもそもカナで表記することが(ry
2005/06/07(火) 14:16:50「ディテイル」もしくは「ディーテイル」
0438デフォルトの名無しさん
2005/06/07(火) 14:50:500439デフォルトの名無しさん
2005/06/07(火) 15:48:260440デフォルトの名無しさん
2005/06/07(火) 16:26:16ディティールが違うんだよディティールがフォー
0441デフォルトの名無しさん
2005/06/07(火) 16:29:190442デフォルトの名無しさん
2005/06/07(火) 19:43:14自作自演で質問ゴッコするスレ
0443デフォルトの名無しさん
2005/06/09(木) 22:30:560444デフォルトの名無しさん
2005/06/10(金) 14:15:250445デフォルトの名無しさん
2005/06/10(金) 17:16:580446デフォルトの名無しさん
2005/06/11(土) 01:30:39パフォーマンスは気にしたほうがいい。
0447デフォルトの名無しさん
2005/06/11(土) 01:39:090448デフォルトの名無しさん
2005/06/11(土) 01:43:530449デフォルトの名無しさん
2005/06/11(土) 02:00:360450デフォルトの名無しさん
2005/06/11(土) 02:08:36「vectorの要素数が上限を超えると」だろ。
要素が変化するごとに再アロケートなんかおきてたらスパコンでも使えんわそんなもん。
0451デフォルトの名無しさん
2005/06/11(土) 02:22:21毎回起きるわけでもないみたいだけど。
0452デフォルトの名無しさん
2005/06/11(土) 02:30:48効率気にするなら reserve しときゃええ話やね。
0453デフォルトの名無しさん
2005/06/11(土) 04:29:11文字やグラフィックを表示することはできますか?
0454デフォルトの名無しさん
2005/06/11(土) 07:19:040455デフォルトの名無しさん
2005/06/11(土) 10:39:280456デフォルトの名無しさん
2005/06/11(土) 12:55:38http://gamdev.org/up/img/2757.zip
以下の内容を100万回施行
移動して、徐々に透明になる事を想定してのプログラムです。
1、テクスチャを描画、板ポリを生成、描画
2、板ポリ生成、描画
3、板ポリ描画
4、板ポリ描画(Lock版)
だいたい速度が同じなのですよね。
作り方がおかしいのでしょうか?
それとも、こんなもんなのだろうか・・・
Effective C++見るとみるからに変わってるんですがね
0457456
2005/06/11(土) 19:28:58もしや、クラッシュさせてしまったのかっ!!
0458デフォルトの名無しさん
2005/06/11(土) 20:03:11VSync待ってたりして。
0459デフォルトの名無しさん
2005/06/11(土) 21:14:47最適化を有効にして実行してみた。
北森2.8 RADEON9600XT DirectX9 april
VC6
Time1 31074
Time2 30790
Time3 6088
Time4 6853
VC7.1
Time1 30740
Time2 30578
Time3 6297
Time4 6667
0460デフォルトの名無しさん
2005/06/11(土) 21:30:300461デフォルトの名無しさん
2005/06/11(土) 22:01:06AthlonXP2500+ Radeon9600np DirectX9 april
VC7.1
Time1 29627
Time2 30479
Time3 10981
Time4 10163
0462デフォルトの名無しさん
2005/06/11(土) 23:18:24Pen4 1.8GHz Radeon9600 SERIES
VC6
Time1 46553
Time2 46654
Time3 11250
Time4 11690
0463456
2005/06/12(日) 02:18:56結果が大きくちがいますね。なんでだろう。
Athlon1.8GHz Geforce256で 一律4000でした。
プログラムは問題なさそう。なのか?
1,2は
リスト構造の中に予めVertexBufferを入れるか
描画する時にだけVertexBufferを生成するかどうか
(クラスの設計をどうしようかと考えていたので)
3,4は
データを上書きするのと
Lockしてデータを書き換えるのとは
どっちがパフォーマンスがいいのか?というのが目的です。
メモリの問題はとりあえず後回しとして。
実行してくれた方々ありがと〜。
0464456
2005/06/12(日) 02:28:460465デフォルトの名無しさん
2005/06/12(日) 03:39:07NVPerfHUDでパフォーマンスを解析したほうがいい。
ビデオカードは買わないとダメだけど効果は大きい。
使い方のムービーあるから見てみるといい。
0466デフォルトの名無しさん
2005/06/12(日) 12:13:10やっぱグラボって重要なんだね…
0467デフォルトの名無しさん
2005/06/12(日) 17:29:15起動した瞬間固まる。。。
Win2000、RADEON9100、1GB
0468デフォルトの名無しさん
2005/06/12(日) 17:31:42それ、重すぎて画面に表示できてないよ。
数分経つと正常に終了するから
0469デフォルトの名無しさん
2005/06/12(日) 19:55:52終了するようになってます。
0470デフォルトの名無しさん
2005/06/12(日) 21:59:19DirectXのサンプルと、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)
0471デフォルトの名無しさん
2005/06/12(日) 22:02:57まずエラー文をちゃんと読もう、な!
0472デフォルトの名無しさん
2005/06/12(日) 22:03:02そのメッセージをexcite翻訳すると
>Direct3D参照ラスタライザを切り換えて、全体のDirect3Dの特徴を実装するソフトウェアデバイスは、非常にゆっくりセットしますが、動きます。 あなたは続きたいですか?
ノートパソコンの時点でまさかとは思うが、ビデオカードが無いとか言わないよな?
0473デフォルトの名無しさん
2005/06/12(日) 22:09:34以前はちゃんと動いてたので多分問題は他にもあるかと思います。
0474デフォルトの名無しさん
2005/06/12(日) 22:13:29コンパネからDirect3Dの設定を変えてみるとか。
0475デフォルトの名無しさん
2005/06/12(日) 22:18:56DX9の同じサンプルでだよな?
0476デフォルトの名無しさん
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) はデバッグ版です。製品版より遅く動作します。」
と出ましたが、これって影響ないんでしょうか?
0477デフォルトの名無しさん
2005/06/12(日) 22:38:58だからコンパネでDirect3Dの設定を変えてみなよ。
Emulate reference rasterizer
とかの項目を切り替えたり、Debug/Rereaseモードを切り替えたり。
0478470
2005/06/12(日) 22:52:51やっぱり、ノーパソでやること自体が無謀なんでしょうか(^^;
0479デフォルトの名無しさん
2005/06/12(日) 23:09:210480470
2005/06/12(日) 23:15:55ご教授ありがとうございました。
再度一人でがんばってみます(^^
0481デフォルトの名無しさん
2005/06/13(月) 01:36:070482デフォルトの名無しさん
2005/06/13(月) 11:46:56SetRenderState(D3DRS_ZENABLE, TRUE)は書いてるんですけど、
これ以外にも何か必要なものとかあるんでしょうか?
0483デフォルトの名無しさん
2005/06/13(月) 11:55:430484デフォルトの名無しさん
2005/06/13(月) 12:28:42単に精度の問題とかじゃ?
0485482
2005/06/13(月) 12:39:33を書いてもだめでした。
0486デフォルトの名無しさん
2005/06/13(月) 15:02:04「画面一杯に1枚絵を表示」する方法の質問です。
クライアント領域640x480のウィンドウに同サイズのテクスチャを
画面ぴったりに表示させようとしています。
で、表示自体は出来たのですが、各ドットが補完されボケて表示されて
しまいます。
SetTextureStageStateでD3DTEXF_NONEやD3DTEXF_POINTを指定すると
ボケた上に端々が汚く、D3DTEXF_LINEARだと綺麗だけどやはりボケます。
(↑これは当たり前ですが)
補完無しでくっきりと表示させる方法を教えて下さい。
orz オナガイシマス
0487デフォルトの名無しさん
2005/06/13(月) 15:24:56orzとかオナガイシマスとか、いい加減恥かしくないですか。
礼儀というものを知らないのですか。
いつからそういったものを覚えたのですか。
そういうノリだと誰かが教えてくれると思ったのですか。
0488デフォルトの名無しさん
2005/06/13(月) 15:29:530489デフォルトの名無しさん
2005/06/13(月) 15:50:44勝手にイメージが拡大されるのを知らないってオチが大半やねこの場合。
あとは頂点座標を-0.5ピクセル分ずらすとか、UV座標を+0.5テクセル分ずらすとか。
0490デフォルトの名無しさん
2005/06/13(月) 15:53:50ID3DXSpriteの存在を本気で忘れてました
単純な矩形表示ならこっちの方が相応ですな…
ちょっと調べてみます。マリガトウ
>>487
つ● ウンコドゾー
0491デフォルトの名無しさん
2005/06/13(月) 16:21:32射影行列のZnをいくつにしてる?
>>490
せっかくいい線まで行ってるんだから、ID3DXSpriteなんて使うな。
原因はたぶん489の言う通り。
描画以前に読み込み時にテクスチャがボケてる。
0492486
2005/06/13(月) 16:33:06>>491
489氏のレスみてテクスチャ座標を0.5テクセルずらしたらSetTextureStageStateの
D3DTEXF_NONE時の表示がだいぶマシになりました。
後はD3DXCreateTextureFromFileを使ってるのでご指摘の通りかと思われます。
D3DXCreateTextureFromFileはCodeGuruのサンプルをそのまま使ってた
だけなので、これをCreateTextureに置き換えてみます。
回答有難うございました。
ノシ
0493デフォルトの名無しさん
2005/06/13(月) 16:50:44D3DXCreateTextureFromFileExを使え。
0494486
2005/06/13(月) 17:41:01今ちょっとやってみたらテクスチャが縦横に妙に縮小されて取りこまれてしまいました…
こう↓書いてたのを
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`;)
0496デフォルトの名無しさん
2005/06/13(月) 19:17:180497デフォルトの名無しさん
2005/06/13(月) 19:43:58テクスチャ座標を1.0にしてない?
たぶんD3DXCreateTextureFromFileExで640*480の画像を読み込むと
1024*512のテクスチャが作成されている。
D3DXCreateTextureFromFileExの後にサーフェスのサイズからテクスチャ
座標を計算する必要がある。
(1024*512と決め打ちするなら、640/1024,480/512をテクスチャ座標に)
0498486
2005/06/13(月) 20:15:23できました!
座標直したらドット単位くっきりな画像が表示できました。
今しばらく勉強してみます。
皆さん有難う。( ´∀`)ノシ
>たぶんD3DXCreateTextureFromFileExで640*480の画像を読み込むと
>1024*512のテクスチャが作成されている。
この動作知りませんですた。サイズは512Pixel毎?
手持ちのDX9ヘルプにも見当たらないような…
0499デフォルトの名無しさん
2005/06/13(月) 20:19:390500デフォルトの名無しさん
2005/06/13(月) 20:32:55つ● ウンコドゾー
0501デフォルトの名無しさん
2005/06/13(月) 20:34:15ネットを見てもファイルを再生する方法はよくありますが、そうではなく、その時々で任意の音を出したい
のですがどなたかご存知ではないでしょうか。よろしかったら教えてください。
0502デフォルトの名無しさん
2005/06/13(月) 20:37:27WAV データを自前で生成しつつ再生すればいいと思う。
ストリーミング再生の資料は多少はネット上に落ちてる筈。
0503デフォルトの名無しさん
2005/06/13(月) 20:40:05本当にありがとうございます!!さっそく調べてみます。
0504482
2005/06/13(月) 21:12:42SetViewport()をやるときに、
D3DVIEWPORT8構造体のMinZとMaxZに値を入れてませんでした。
ありがとうございました。
0505デフォルトの名無しさん
2005/06/13(月) 21:18:39テクスチャは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.
0506デフォルトの名無しさん
2005/06/14(火) 15:33:57だれかもしえてください。
0507デフォルトの名無しさん
2005/06/14(火) 16:14:05Helpに書いてあります。残念。
0508デフォルトの名無しさん
2005/06/15(水) 14:40:35DDBLT_KEYSRCフラグでBltするとMillennium G450では正常に表示されるのに、
NVIDIA GeForce FX 5700だと正常に表示されなくなります。
解像度やカラー深度は一緒です。ちなみにBlt関数ではS_OKが帰ってきます。
また、DDSCAPS_OFFSCREENPLAINでサーフェスを作成したり、
カラーキーを無効にするときちんと表示されます。
このような経験がある方がいたら教えてください。
0509デフォルトの名無しさん
2005/06/15(水) 19:04:380510デフォルトの名無しさん
2005/06/15(水) 22:43:45そうです。R5G5B6のピクセルフォーマットにしたがって指定しています。
サンプルにあったように取得したサーフェスの左上にカラーキーにしたい色味を描画して、
Lockしてメモリを読み出し、実際に描かれた色味を指定しています。
DDSCAPS_TEXTUREフラグで作成したサーフェスに対して、カラーキーを含むBltのみが
おかしいようです。
ちなみにドライバを更新したときに、拡大Blt(転送先矩形が、転送元矩形より大きいBlt)で
カラーキーが境界部分で表示されてしまうバグが解消されたくらいなので、
テクスチャとして作成したサーフェスが転送元となるBltは想定していないのかもしれません。
戻り値にS_OKは返してほしくないですね・・・。
0511デフォルトの名無しさん
2005/06/15(水) 22:44:190512デフォルトの名無しさん
2005/06/15(水) 22:46:340513デフォルトの名無しさん
2005/06/15(水) 23:35:35?!
R5G5B5とかR5G6B5じゃなくてか?
プライマリサーフェスのCapsを確認してみ
0514デフォルトの名無しさん
2005/06/16(木) 00:31:430515デフォルトの名無しさん
2005/06/16(木) 02:21:18if( 0 > ( m_Trees[i].vPos.x - m_vEyePt.x ) * g_vDir.x +
( m_Trees[i].vPos.z - m_vEyePt.z ) * g_vDir.z )
DirectXサンプル、ビルボードの引用なんですが、
カメラ位置から木の位置までのベクトルの正規化なしで、
内積取っても、前後判定できないような気がするのですが。
0516デフォルトの名無しさん
2005/06/16(木) 02:41:08必要な情報は内積の結果の符号のみだから、
ベクトルの大きさは関係ない。
一度図と式を書いて確認しとくといいよ。
0517デフォルトの名無しさん
2005/06/16(木) 03:30:01そうじゃなきゃ一からベクトル勉強し直せって感じだが
0518デフォルトの名無しさん
2005/06/16(木) 03:43:11P・Q=|P||Q|cosα をもう一度よくじっくり考えてみよう。
ベクトルの大きさによらず、結果が正か0か負かだけで分かることがあるよな?
0519デフォルトの名無しさん
2005/06/17(金) 13:36:44CreateTextureで空のテクスチャを作った後で、これに画像をBITMAPハンドルから
読ませる方法がわかりません
GetDCは無いし…
これを実現するAPI名を教えて下さい
0520デフォルトの名無しさん
2005/06/17(金) 13:47:52つ[LockRect]
0522デフォルトの名無しさん
2005/06/18(土) 13:42:30どれを入れてもプログラムファイル内に『Microsoft DirectX 9.0 SDK (June 2005』などといったフォルダしか作られません。
これらだとヘッダーファイルの一部が見つからなかったり、コンパイルができても
Direct3D9: (ERROR) :Unsupported min filter.
Direct3D9: (ERROR) :Invalid texture sampler state value. SetSamplerState failed.
のようなエラーが出てしまいます。
落とすファイルを間違えているのでしょうか?
0523デフォルトの名無しさん
2005/06/18(土) 13:46:23いつの時代の人ですか・・・
0524522
2005/06/18(土) 14:55:48今まで9.0bをベースにupdateを加えていったので環境としては9.0cになっていると思うのですが、その大元のファイルがどこにあるのか・・。
0525デフォルトの名無しさん
2005/06/18(土) 15:14:48文字すら読めないのなら諦めた方がいい。
0526デフォルトの名無しさん
2005/06/18(土) 15:15:09何を言ってるのかよく分からんのだが、SDKをどこのフォルダに
インストールしたのか自分で分からんってこと?
0527522
2005/06/18(土) 15:22:10>Direct3D9: (ERROR) :Unsupported min filter.
>Direct3D9: (ERROR) :Invalid texture sampler state value. SetSamplerState failed.
>のようなエラーが出てしまいます。
です。
バージョン違いでコンパイルができないのならそのエラーが起きている関数を変えることで直すことができますが、今回(上記)のようなのはどうしたらいいのか分からず質問しにきました。
0528デフォルトの名無しさん
2005/06/18(土) 15:25:34VS入ってんなら自動的にパスも設定してくれるはずだ。たぶん。
0529522
2005/06/18(土) 15:27:49今まではCドライブ直下にあるSDKのフォルダの中にあるincludeとlibだけを指定するだけで問題なくコンパイル→実行ができました。
June 2005のinclude・libフォルダだけだと一部のヘッダーファイルが見つからない、Summer 2003を加えると上記のエラー。
0530デフォルトの名無しさん
2005/06/18(土) 15:28:22だからバージョンが変わったから関数の使い方が変わっただけじゃないの?
ヘルプ見て見たら?
別にファイルが無いよとかそんなこといってないんじゃない?
0531デフォルトの名無しさん
2005/06/18(土) 15:34:52OSを再インスコ、June2005をインスコ。
これで万事解決。SetSamplerStateのエラーはどっかの過去Verで引数の数が変わったんだろう
0532522
2005/06/18(土) 15:36:060533デフォルトの名無しさん
2005/06/18(土) 15:44:000534デフォルトの名無しさん
2005/06/18(土) 15:44:409.0cの頃からlibフォルダやincludeフォルダは
C:\Program Files\Microsoft DirectX 9.0 SDK (リリース年月)\Include
C:\Program Files\Microsoft DirectX 9.0 SDK (リリース年月)\Lib
に変わったから
0535522
2005/06/18(土) 16:02:37それをやった結果が現状・・。
>>534
それを設定してますが今までは問題なかったのに今回は(略
>>533
[Lib]
└x64
└x86
この2つのフォルダの中にファイルは確かにあります。
0536デフォルトの名無しさん
2005/06/18(土) 16:12:09だからVCのパスの設定の仕方がわかんねーんだろ?
↓でも行って来い
すれ立てるまでもない質問はここで 第67刷
ttp://pc8.2ch.net/test/read.cgi/tech/1114329636/l50
0537522
2005/06/18(土) 16:43:16分からないというほうが問題としては簡単なんですがね(´・ω・`)
一体何が原因なんだろ、03夏を入れて出てくるエラーの内容もさっぱりだし。
0538デフォルトの名無しさん
2005/06/18(土) 16:57:13な ん で 0 3 夏 を 入 れ る ?
0539522
2005/06/18(土) 17:01:28そうしないとコンパイルが通らないからですよ(´・ω・`)
後者のエラーについてはSetSampleStateが原因でした。
終了時にreturn (INT)msg.wParam;を実行すると
Direct3D9: (ERROR): [0] : Address 00000000 ←16進
[1]
:
:
と出力コマンドに表示され続けて終わらなくなりました。
直接実行させると問題なく終わりますが、デバッグだけ・・メモリの開放ミスでしょうか?
0541デフォルトの名無しさん
2005/06/18(土) 18:05:33該当部分を修正すればいいだけの話だろ。
何故直さない?
0543デフォルトの名無しさん
2005/06/18(土) 18:18:38それはお前が馬鹿だからだろ(´ω`)
0544デフォルトの名無しさん
2005/06/18(土) 18:24:07つ[【C++】 DirectX初心者質問スレ Part4【C++】]
0545デフォルトの名無しさん
2005/06/18(土) 18:33:230546522
2005/06/18(土) 18:59:49って言われても(´・ω・`)
>>545
バージョンを前にすると通るからJune2005の問題かなと思っているのですが、VC++の問題なのでしょうか。
0547デフォルトの名無しさん
2005/06/18(土) 19:09:30だからパスを設定しろ。
VC++ ディレクトリって言葉知ってるか?
0549デフォルトの名無しさん
2005/06/18(土) 19:36:200550デフォルトの名無しさん
2005/06/18(土) 19:40:26バカも休み休み言え
0551デフォルトの名無しさん
2005/06/18(土) 19:43:400552デフォルトの名無しさん
2005/06/18(土) 19:45:500553デフォルトの名無しさん
2005/06/18(土) 20:04:05535で気付いてほしいものだが
0554522
2005/06/18(土) 20:31:02ありがとうございます、原因はそれだったようで○| ̄|_
フォルダを指定したら自動的に判断してくれているものと思ってましたが、自分で決めないといけないとは・・。
>>551
そのまま指定すると絶対パスになりますが今まで不具合が出たことがありません。
相対パスにしないと何か問題が起きるのでしょうか?
0555デフォルトの名無しさん
2005/06/18(土) 20:50:180556デフォルトの名無しさん
2005/06/18(土) 21:00:470557デフォルトの名無しさん
2005/06/18(土) 21:05:17レアなもん見れたと思えばいいじゃん
0558デフォルトの名無しさん
2005/06/18(土) 21:10:00547と553の意味は別々だろ
混同してたらお前も522と同類
0559デフォルトの名無しさん
2005/06/18(土) 21:46:14単なる三角形を表示するだけのサンプルを改良して
三角形を二つ表示するプログラムが作りたいと思い
変数を追加して、少し座標をずらして表示させてみたところ
後に追加したほうの三角形しか表示されません
試行錯誤の結果
pD3DDevice->SetStreamSource( 0, m_pMyVB, 0, sizeof(MY_VERTEX) );
pD3DDevice->SetStreamSource( 0, m_pMyVB2, 0, sizeof(MY_VERTEX) );
この関数で後に設定したほうが先に設定したほうを上書き?してるようでした
三角形を複数表示しようと思った場合、普通はどうやるのでしょうか?
0560デフォルトの名無しさん
2005/06/18(土) 21:48:11あくまで”DirectXのlibファイルの場所"を勘違いしてたってことでVCの設定の仕方が分からなかったわけじゃないみたいだし
DirectX初心者に優しくないなこのスレ
0561559
2005/06/18(土) 21:51:26SetStreamSource(一つ目のデータ
SetFVF
DrawPrimitive
2つ目
SetStreamSource(2つ目のデータ
SetFVF
DrawPrimitive
とすることで解決しました、すみません
0562デフォルトの名無しさん
2005/06/18(土) 21:56:45わかってなかったわけでもないだろ。
ただの確認不足。
頑なに自分の間違いを疑わず、
こうなるはずだ。等と思い込みで勝手に突き進んでたのが問題。
こういう馬鹿は成長しても結局同じ事を何度も繰り返す。
ここで潰しておいた方がよかった。
0563デフォルトの名無しさん
2005/06/18(土) 22:02:54確認したら俺の持っている本は全部IncludeフォルダとLibフォルダを指定するとしか書いていないぞ。
0564デフォルトの名無しさん
2005/06/18(土) 22:06:04なにがいいてぇんだ?
0565デフォルトの名無しさん
2005/06/18(土) 22:12:050566563
2005/06/18(土) 22:17:23語弊があったかもしれんが、なぜSDKディレクトリの登録をしなければいけないのかやそれをすることによってどういう働きをするのか書かれていない。
そこから始める人にその時点で覚えさす必要はないが、書かれていない以上IncludeとLib両フォルダを登録しなければならないとだけ覚えていれば十分だと思う。
0567デフォルトの名無しさん
2005/06/18(土) 22:18:180568デフォルトの名無しさん
2005/06/18(土) 22:22:23いつまで初心者でいるつもりだ?w
0569デフォルトの名無しさん
2005/06/18(土) 22:25:18同じく自動的にパスの設定をしてたってことはないな。
ちなみに.NET。
0570デフォルトの名無しさん
2005/06/18(土) 22:32:11それとも初心者が出を出してしまった結果がアレなのか
0571デフォルトの名無しさん
2005/06/18(土) 22:34:06インストールし直すと再びパスが設定し直されていた。
0572デフォルトの名無しさん
2005/06/18(土) 22:45:17アプリを作って公開し、叩かれたらやっと脱・初心者( ´ー`)y―┛~~
>>565
2台のPCで確かめたら1台は設定されたがもう一台は変化なし。
>>571をやってみたが設定されなかったほうは再び設定しなおされることがなかった。
0573デフォルトの名無しさん
2005/06/18(土) 22:46:27PC初心者とDirectX初心者の違いもわからないのか?
0574デフォルトの名無しさん
2005/06/18(土) 22:50:47PC初心者ならわかるが、DirectXに手を出すってことは当然通常の(?)プログラミングは知っていて
当然インクルードパスやライブラリパスなんて知ってるだろ。
0575デフォルトの名無しさん
2005/06/18(土) 22:53:06学校である程度プログラムを習ったからゲームを作ってみたいとか考えてる輩は知ってて当然とはいいがたいな
最近は昔と違って随分敷居が低くなってるからその辺の当然を求めるのはどうかと思うぞ
0576デフォルトの名無しさん
2005/06/18(土) 22:56:46昔はどういう順序でプログラミングに入っていったんだろ。
0577デフォルトの名無しさん
2005/06/19(日) 00:42:120578デフォルトの名無しさん
2005/06/19(日) 00:46:070579デフォルトの名無しさん
2005/06/19(日) 00:47:45またすごい釣り師が来たな
0580デフォルトの名無しさん
2005/06/19(日) 01:22:430581デフォルトの名無しさん
2005/06/19(日) 01:47:32Javaすっ飛ばしていきなりiアプリ始めたりするやつはいるわけで、
それ自体は悪いことではなかろう。パラシュート勉強法なんて言葉もあったが。
0582デフォルトの名無しさん
2005/06/19(日) 11:30:480583デフォルトの名無しさん
2005/06/19(日) 12:26:030584デフォルトの名無しさん
2005/06/19(日) 13:21:10コンパイラの挙動が分かってないよな。
インクルードパスやライブラリパスなんて
コンパイラを直に使ってたら否が応でも
分からないとならないだろ。
0585デフォルトの名無しさん
2005/06/19(日) 13:24:290586デフォルトの名無しさん
2005/06/19(日) 13:43:50> インクルードパスやライブラリパスなんて
知らなくても何の問題もなく使えるが。
こういうことを言う人間ってリアルの方でも、
ろくに他の環境を知らないで、知ったかで適当をほざくんだろうなあ。
0587デフォルトの名無しさん
2005/06/19(日) 14:21:54gccでインクルードパスやライブラリパスを知らないで、問題が出てこないはずないだろ。
Hello worldでもコンパイルしてろ。
0588デフォルトの名無しさん
2005/06/19(日) 14:25:020589デフォルトの名無しさん
2005/06/19(日) 14:28:33オープン、クローズとあるのですが、何なんでしょうか?
検索しても、全く引っ掛からないし、対して重要で無い項目だったり
しますか?
0590デフォルトの名無しさん
2005/06/19(日) 15:35:10アニメーションがループするのか止まるのかの違いじゃね?
0591デフォルトの名無しさん
2005/06/19(日) 15:37:25恥の上塗りみっともない。
0592デフォルトの名無しさん
2005/06/19(日) 15:55:35Thanks
0593デフォルトの名無しさん
2005/06/19(日) 20:53:59おいらびっくりしたよ!
0594デフォルトの名無しさん
2005/06/19(日) 21:11:100595デフォルトの名無しさん
2005/06/19(日) 21:53:108インチFDを普通に使ってそう
0596デフォルトの名無しさん
2005/06/20(月) 21:16:270597デフォルトの名無しさん
2005/06/20(月) 21:25:41#include <d3d9.h>
0598デフォルトの名無しさん
2005/06/20(月) 21:25:43#include <d3dx9.h>
0599デフォルトの名無しさん
2005/06/20(月) 21:37:39すいません、言葉が足りませんでした。
ソースコードにそれを書くのはわかっているのですが、それを実行するためにVC++の設定をどうすればいいのか分かりません。
PCの環境は、DirectX9.0cが入っていて、VC++はインストールしたばかりです。
0600デフォルトの名無しさん
2005/06/20(月) 21:58:290601デフォルトの名無しさん
2005/06/20(月) 22:28:520602デフォルトの名無しさん
2005/06/21(火) 00:57:52先にVC++をインストールして、その後にDirectX SDKを入れる。
9.0cってのはランタイムだろ、どうせ。
0603デフォルトの名無しさん
2005/06/21(火) 01:07:290604デフォルトの名無しさん
2005/06/21(火) 07:03:11そこからわからないなら入門書でも買ってしばらくは手順どおりに進めるほうがはやいじゃん。
それを買う金もおしいならプログラムなんて組むな。以上。
0605デフォルトの名無しさん
2005/06/22(水) 15:30:280606デフォルトの名無しさん
2005/06/22(水) 15:33:400607デフォルトの名無しさん
2005/06/22(水) 17:15:380608デフォルトの名無しさん
2005/06/22(水) 17:19:16{ return Janken().run(); }
0609デフォルトの名無しさん
2005/06/22(水) 17:22:16void
main()
{
ここにいれるっぽいのですが
}
0610デフォルトの名無しさん
2005/06/22(水) 17:23:410611デフォルトの名無しさん
2005/06/22(水) 17:27:58int main()
{
printf("じゃんけんプログラム");
return 0;
}
0612デフォルトの名無しさん
2005/06/22(水) 17:34:47アザス!
0613デフォルトの名無しさん
2005/06/22(水) 18:07:51int main()
{
printf("じゃんけんしよう!\n入力してね グー:0 チョキ:1 パー:2\n");
int i;
scanf( "%d", &i);
printf("あなたの負けです\n");
return 0;
}
0614デフォルトの名無しさん
2005/06/22(水) 18:37:49テラワロスw
0615デフォルトの名無しさん
2005/06/22(水) 18:39:14Good Job!
0616デフォルトの名無しさん
2005/06/22(水) 20:25:08テクスチャ別にポリゴンを分けてプログラム内でそれぞれ貼り付けていくのでしょうか?
0617デフォルトの名無しさん
2005/06/22(水) 23:52:49最強のじゃんけんプログラムとは、このことだったのですね!オモシロスw
0618デフォルトの名無しさん
2005/06/23(木) 03:15:48ループ回してプリミティブ単位で描画するから
毎ループSetTexture呼ぶ
つーかまずXファイルの表示とかやってみた?
0619616
2005/06/23(木) 08:03:55dwNumMaterialsを把握せず
for( DWORD i=0; i<dwNumMaterials; i++ )
{
lpD3DDevice->SetMaterial( &pMeshMaterials[i] );
lpD3DDevice->SetTexture( 0, pMeshTextures[i] );
pMesh->DrawSubset( i );
}
とやっていましたが、ここがキーなのでしょうか。
夜に色々試してみます。
0620デフォルトの名無しさん
2005/06/23(木) 15:18:12Lockして内容書き換えないとメモリ増えていくのでしょうか
今、上書きしてる状態で、作ったプログラムが(MCleanで見て)
徐々にメモリが増加してワラエナイッス
0621デフォルトの名無しさん
2005/06/23(木) 15:34:450622620
2005/06/23(木) 15:41:20あ、そうでした。拡大は行列を触ればいいすね。
ではちょっと内容を変えて
拡大縮小とか −> 徐々に透明にする場合
ちなみにシェーダー使ってないんですよ。すんません。
0623デフォルトの名無しさん
2005/06/23(木) 15:48:090624620
2005/06/23(木) 17:27:26newしまくり。
で、プログラム見たら数週間前の
自分のプログラムをすっかり忘れてる。
0625デフォルトの名無しさん
2005/06/23(木) 17:33:500626デフォルトの名無しさん
2005/06/23(木) 17:33:550627デフォルトの名無しさん
2005/06/23(木) 19:54:25固定パイプラインに相当する機能は永遠に必要。
ただし、D3DXの担当に変わる可能性は大きいけどな。
0628デフォルトの名無しさん
2005/06/23(木) 20:35:55しかし消失サーフェスのチェックやらd3dcapsのチェックやら
という腐れ仕事はいつまでしなきゃいけないんだろう…
0629デフォルトの名無しさん
2005/06/23(木) 22:10:480630デフォルトの名無しさん
2005/06/23(木) 22:50:400631デフォルトの名無しさん
2005/06/24(金) 08:05:43ここに「必要機能は全て実装されていることが前提」ってあるから、
dedcapsで機能調べたりってのはかなりなくなるんじゃね?
0632デフォルトの名無しさん
2005/06/24(金) 14:04:45徐々に緑(G)とアルファの値が0〜255になるようなものを作って
背景が真っ赤の画面に描画したのですが、徐々に黄色(背景と混ざった色)になってしまいます。
原因が思い当たる方いますか?ちなみに背景を黒にするとちゃんと表示されます。
0633デフォルトの名無しさん
2005/06/24(金) 14:13:48D3DRENDERSTATE_SRCBLEND, D3DRENDERSTATE_DESTBLENDの設定が悪い。
0634デフォルトの名無しさん
2005/06/24(金) 14:42:28ブレンドファクター121で ググる
0635デフォルトの名無しさん
2005/06/24(金) 14:48:29> 原因が思い当たる方いますか?ちなみに背景を黒にするとちゃんと表示されます。
~~~~~~~~~~~~~~~
マズ 赤背景の時に、どのように発色させたいかはっきりしよう。
> 徐々に黄色(背景と混ざった色)になってしまいます。
↑は、有る意味正しく動作しているんだヨ
0636デフォルトの名無しさん
2005/06/24(金) 15:05:40赤色の画用紙の上に緑色のセロハンテープ重ねて置いてみ。
何色に見える?
それで解からなかったら幼稚園児からやり直すといいよ。
0637632
2005/06/24(金) 16:17:33赤(R255 G 0 アルファ値0)→暗めの黄色(R128 G128 アルファ値128)→緑(R0 G 255 アルファ値255)となるものです。
>>634さんから教えていただいた「ブレンドファクター121」を読んでみます。
0638デフォルトの名無しさん
2005/06/24(金) 17:00:240639デフォルトの名無しさん
2005/06/26(日) 17:23:29Juneの奴も同じなのでしょうか?
0640デフォルトの名無しさん
2005/06/27(月) 00:01:11はぁ?D3DXのDLLのことか?
DLLを単体で配布するほうがダメだ、ってM$が言ってるだろ
0641デフォルトの名無しさん
2005/06/27(月) 00:07:290642デフォルトの名無しさん
2005/06/27(月) 00:38:290643デフォルトの名無しさん
2005/06/27(月) 03:10:08ttp://www.microsoft.com/japan/msdn/directx/dxreadmej.asp
相変わらずファイルの単体配布は駄目だけど、条件付で再配布ファイルのバラ売りが
可能になったっつーことかね。よくわかんねーけど。
もうめんどくせーからOct2004止めしとこーぜぼくたち初心者くんは。
0644デフォルトの名無しさん
2005/06/27(月) 03:28:490645デフォルトの名無しさん
2005/06/27(月) 13:23:52DirectX9Oct04JpnDoc.msi は普通にインストしてもだめぽでした。(.NETにしか対応してないぽ・・。)
.NET買えってことですかね・・(´・ω・`)
0646639
2005/06/27(月) 18:48:19あれ?DirectX9cのどれかのバージョンは
作ったゲーム配布するときDLLも添えないとダメでしたよね?
一般向けのDirectX9cランタイムに含まれていないから
どれかDLLもいっしょに配布しないと動かないと書かれていたはずです
これがJuneでは不要なのか
あいかわらずいっしょに配布しないと動かないのか
0647デフォルトの名無しさん
2005/06/27(月) 20:08:37最新の一般向けDirectX9cランタイムには
全部のDLLが入ってることがわかりました
無事解決です
0648デフォルトの名無しさん
2005/06/27(月) 20:42:20Dec2004からは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
0649デフォルトの名無しさん
2005/06/27(月) 20:44:28性的ライブラリのままの方が良かった。
0650デフォルトの名無しさん
2005/06/27(月) 20:52:520651デフォルトの名無しさん
2005/06/28(火) 20:53:43OpenGLだと自分で勝手にフォーマット決めて読み込んでいたのですが…
DXだとD3DXでしかLPDIRECT3DTEXTUREを作れないんですか?
0652デフォルトの名無しさん
2005/06/28(火) 21:45:54Lock
0653デフォルトの名無しさん
2005/06/29(水) 04:47:23とりあえずD3DFMT_A8R8G8B8 にしてLockしたら A<<24|R<<16|G<<8|B で書き込んどけ。
0654デフォルトの名無しさん
2005/06/29(水) 04:55:14int 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) にしとく。
0655デフォルトの名無しさん
2005/06/29(水) 19:04:05wavファイルを使って途中再生しようと思ったのですが、必ず最初から再生されます。
セグメントは GetObject() で取得しています。
Segment->SetStartPoint(time);
PlaySegmentEx(...,&pss,...);
pss->QueryInterface(IID_IDirectMusicSegmentState8, (LPVOID*) &pss8);
を呼び出した後、値を調べてみると
Segment->GetStartPoint() == time
pss8->GetStartPoint() == 0
となっていたので、PlaySegmentEx() 関数を調べてみたものの
よく分かりませんでした。
SDKヘルプの「セグメントの一時停止」を参考にしたのですが、
特にこれといった注意書きも見当たりませんでした。
0656デフォルトの名無しさん
2005/06/29(水) 23:20:56激しくちらつくんですがどうやったら親ウィンドウが毎描画するごとに
子ウィンドウを前面に描画することができるんでしょうか?
0657デフォルトの名無しさん
2005/06/29(水) 23:41:540658デフォルトの名無しさん
2005/06/30(木) 01:52:56フリーのゲームとかみてたらXファイルがフォルダの中にはいっていないのは
他の何かに埋め込んでるからなんですか?
どのように隠しているのかヒントください
0659デフォルトの名無しさん
2005/06/30(木) 01:55:27拡張子の変更、暗号化、別ファイルに埋め込み、そもそも別のファイル形式
0660デフォルトの名無しさん
2005/06/30(木) 04:41:20右からベクトルを掛けるタイプとどちらのタイプの行列でも
同じ作り方でよいですか?
0661デフォルトの名無しさん
2005/06/30(木) 11:19:00MFC使わないでWin32API使った方がやっぱり楽なんですかね…。
0662デフォルトの名無しさん
2005/06/30(木) 11:26:220663デフォルトの名無しさん
2005/06/30(木) 11:33:28まあ、もう少し色々試してみます。
0664デフォルトの名無しさん
2005/06/30(木) 21:50:453D空間にオブジェクト配置してそれをマウスでクリックして反応とれるようにしたいんですが、
D3DXVec3Unprojectが上手く動いてくれません。
http://www.tsg.ne.jp/sept/prg/memo/polypick.asp
↑見るとワールド行列が初期化されてそのまま入っているのでこれを参考にしたのですが、これで動くものなんでしょうか?
あと、よろしければ皆さんがどのようにZ軸の値を決めているのかも聞かせていただければ幸いです
0665デフォルトの名無しさん
2005/06/30(木) 22:48:19それ以上でもそれ以下でもない。
0666デフォルトの名無しさん
2005/06/30(木) 23:12:35D3DXVec3Unprojectの第3〜6引数は描画に使ってるのと同じのを渡すだけ。
おまえがワールド行列に単位行列を使ってるなら単位行列を渡せばいい。
0667655
2005/07/01(金) 00:42:51BBXという掲示板を拝見した所、DirectMusicについての返答は、
ほとんど期待できない様な事が書かれていました。
これは、ここでの返答も期待出来ないと思った方がいいのでしょうか?
というか、期待出来ないと言う事は不可能な処理なのでしょうかね?
一時停止に成功された方がいましたら、返信して頂けないでしょうか?
0668デフォルトの名無しさん
2005/07/01(金) 00:46:39ソフトシンセを使う以外でDirectMusicを使う必要性がさっぱり分からない。
0669デフォルトの名無しさん
2005/07/01(金) 01:43:370670デフォルトの名無しさん
2005/07/01(金) 06:29:420671デフォルトの名無しさん
2005/07/01(金) 06:56:02>注 サンプル関数の mtLength パラメータは、
>通常、WAV ファイルからロードされたセグメントに対しては 1 である。
>この場合は、SetStartPoint を呼び出す前に、IDirectMusicSegment8::SetLength を使って、
>セグメントの長さを現在のオフセットより少なくとも 1 チックだけ大きい値に設定する必要がある。
>詳細については、IDirectMusicSegment8::SetStartPoint を参照すること。
このへんにやられてるってこともない?
0672655
2005/07/02(土) 02:46:30試しに DirectSound で実装してみたら……なんか、簡単に実装出来ちゃいました。
確かに DirectMusic 使うんなら、こっちでよさそうですね。
あ、でも一時停止が出来なかった原因は知りたいな、とも思います。
というわけで、>>671さん。
はい、SetLength はちゃんと設定してあります。
GetLenght で設定した値が返ってきましたので、ここは問題ないと思います。
0673デフォルトの名無しさん
2005/07/02(土) 15:30:41具体的にどこで色を指定すればいいんでしょうか?
MaterialのDiffuseとAmbientとEmissiveとSpecularは試してみましたが駄目でした。
環境はXP DirectX9.0C GeForce6800です。
0674デフォルトの名無しさん
2005/07/02(土) 15:39:06よってラインだから発生する色の疑問点などどこにもない。
0675デフォルトの名無しさん
2005/07/02(土) 15:56:020676673
2005/07/02(土) 16:09:54頂点色を付けて、
D3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
の1行を追加したら見事色付きで表示されました!
ありがとうございました。
Materialの設定は特に必要ないみたいでした。
0677673
2005/07/02(土) 16:14:19D3DDevice->SetRenderState(D3DRS_LIGHTING, TRUE);
も必要なくて、頂点色だけでOKだったようです。
最初に頂点色で試したときに何かミスってたようです・・・。
ありがとうございました。
0678673
2005/07/02(土) 16:20:35お騒がせしました。
0679デフォルトの名無しさん
2005/07/02(土) 22:27:46Dx7のDirectSoundにはチュートリアルに大きなwavファイルをストリーミングして再生する方法が
載っていたのですが、DX8のチュートリアルにはありません。
もしかして自動的にやってくれるのでしょうか?
0680デフォルトの名無しさん
2005/07/02(土) 22:52:28なんでDx9にしなかったの?
バカジャネwクルシメw
誰も助けてくれないのは承知の上だよね?w
0681デフォルトの名無しさん
2005/07/02(土) 22:55:54DirectSoundはDX8もDX9も同じじゃない?
0682デフォルトの名無しさん
2005/07/02(土) 23:03:14じゃあ、こいつ>>679なんのヘルプみてんの?
0683デフォルトの名無しさん
2005/07/02(土) 23:05:210684デフォルトの名無しさん
2005/07/02(土) 23:08:58シラネ
0685デフォルトの名無しさん
2005/07/02(土) 23:09:46DirectX9使えばいいのに。
0686デフォルトの名無しさん
2005/07/02(土) 23:21:49多分自分でコード書いたこと無い阿呆かと
0688デフォルトの名無しさん
2005/07/02(土) 23:25:43いや、DirectSoundなんてとっくの昔にラッパー組み上げて放置状態だけど?
複数同時のストリーミング再生まで出来てる。
お前もできてからグチグチいってみろ。
できてるならよし。
0689デフォルトの名無しさん
2005/07/02(土) 23:26:410690デフォルトの名無しさん
2005/07/02(土) 23:28:060691デフォルトの名無しさん
2005/07/02(土) 23:28:39追加された項目があるだろ?
0692デフォルトの名無しさん
2005/07/02(土) 23:30:22トンチンカンな噛み付き方した>>680の負け
0693デフォルトの名無しさん
2005/07/02(土) 23:31:160694デフォルトの名無しさん
2005/07/02(土) 23:33:14いや、>>679が求めてる内容がまさにDirectX9で追加された
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/htm/cstreamingsoundsampleclass.asp
だからね。
救いようが無いね。
0695デフォルトの名無しさん
2005/07/02(土) 23:33:55自分の間違いを認められず誤魔化したくて必死なんだよ
そっとしておいてやるのも優しさだぞ?
0696679
2005/07/02(土) 23:52:28聞きたかったのはストリーミングの仕方ではなくてDx8のヘルプに載ってない
理由だったんだけどな
載ってないならDx8Audioインターフェースなら自動的にやってくれるのか?、と
なおストリーミングなら自前のDx7Soundラッパーで実装済み
取り敢えず簡単に7->8と書き換えれば済むって事が判ったのでいいけどね
Dx9Soundには笑ったけど
0697デフォルトの名無しさん
2005/07/03(日) 01:03:30>聞きたかったのはストリーミングの仕方ではなくてDx8のヘルプに載ってない理由だったんだけどな
ハイハイ。理由まで書いてあるヘルプなんてみたことないけどね。
0698デフォルトの名無しさん
2005/07/03(日) 01:07:000699デフォルトの名無しさん
2005/07/03(日) 01:08:23楽しそうですね。
0700デフォルトの名無しさん
2005/07/03(日) 01:12:430701デフォルトの名無しさん
2005/07/03(日) 01:34:160702デフォルトの名無しさん
2005/07/03(日) 01:51:45DirectX8にはカスタムロードがあるから。
MSの中の人はDSoundからストリーミングする方法は書かなくても良いと
思ったんじゃないだろうか。
http://www.microsoft.com/japan/msdn/directx/techart/dmloading.asp
0703デフォルトの名無しさん
2005/07/03(日) 07:49:11前後関係がおかしく表示されてしまいます。
SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE)
してるんですけどダメです。
心当たりのある方、教えてください。
0704デフォルトの名無しさん
2005/07/03(日) 08:59:22話はそれからだ。
0705679
2005/07/03(日) 09:22:38使わない、機能的には俺が書いたラッパーと変わらん
つか自分が書いたラッパーに依存しきったプロジェクトが既にあるんで
今からI/FをMS謹製に合わせたくないのが正直な所
>>702
サンクス、すぐには使えませんがちょっと調べてみます。
自前ラッパーもそろそろ寿命かな…
0706703
2005/07/03(日) 10:04:18座標系って右手とか左手とか?
SDK のサンプルだから左手だと想うんだけど……
視点も左手。
http://nijibox.ohflip.com/futabafiles/001/src/sa25173.png
↑こんな感じに描画される。
フタと注ぎ口が見えてるけど、底の方が手前。
小さく見えてる方が Z値大きい。
0707デフォルトの名無しさん
2005/07/03(日) 11:35:240708デフォルトの名無しさん
2005/07/03(日) 11:39:19EnableAutoDepthStencilをTRUEにしてる?
0709デフォルトの名無しさん
2005/07/03(日) 11:52:51ゼロでした。 1 にしてみたらちゃんと表示できているようです。
まさかこんなところとは……
みなさん(?)ありがとうございました。
0710質問
2005/07/03(日) 15:44:54それとも単に高級言語で書けるようになっただけ、なのでしょうか。
0711デフォルトの名無しさん
2005/07/03(日) 16:00:32基本的には後者の認識で正しい。
DX9にはコマンドラインのシェーダコンパイラが付属しているから、
HLSLをコンパイルしてアセンブリコードを吐いてみると面白いよ。
0712デフォルトの名無しさん
2005/07/03(日) 16:03:21やたら動作が遅く感じたので、FPS表示させてみたら30〜40位しかでてないんですけど
タスクマネージャでCPU使用率見たら0〜3くらいしか使ってません(あとはアイドル
CPU使用率ってどういう状況で高くなるんですか??
0713デフォルトの名無しさん
2005/07/03(日) 16:06:12Direct3D9: (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!ってどういうことですか?
0714デフォルトの名無しさん
2005/07/03(日) 16:08:56GPU側の描画処理がボトルネックになってるんじゃない?
0715デフォルトの名無しさん
2005/07/03(日) 16:09:24(INFO) だから気にするな
0717デフォルトの名無しさん
2005/07/03(日) 16:47:07くぁりがとうございました
0718デフォルトの名無しさん
2005/07/03(日) 18:39:330719デフォルトの名無しさん
2005/07/03(日) 19:39:09また最適化はコンパイラまかせのアホが出る
0720デフォルトの名無しさん
2005/07/04(月) 01:11:41D3DXIntersectを使って3Dオブジェクトを選択しようとしているのですがどうも上手くいきません。
第一引数に対象のメッシュを、第二引数にメッシュのローカル座標?に変換したマウスの座標を、
第三引数には方向ベクトルということで(0,0,1)を入れました(視点はXY平面に平行です)が、
どこをクリックしても第四引数がTRUEになってしまいます。
恐らくこの文だけでも多くの突っ込みどころがあるかとは思いますが、どうかご教授願えないでしょうか?
0721デフォルトの名無しさん
2005/07/04(月) 11:37:51ではないだろうか。
0722デフォルトの名無しさん
2005/07/04(月) 11:57:140723デフォルトの名無しさん
2005/07/04(月) 12:01:560724デフォルトの名無しさん
2005/07/04(月) 12:03:130725デフォルトの名無しさん
2005/07/04(月) 12:03:55>>720の「視点はXY平面に平行」って平行投影のことじゃないのかな
0726デフォルトの名無しさん
2005/07/04(月) 12:13:20>視点はXY平面に平行です
って、まさか画面に平行じゃないだろうなぁ。
#いや、念のためだ。
0727デフォルトの名無しさん
2005/07/04(月) 12:16:15とりあえず簡単にど真ん中向いてやろうとしてるだけじゃねーの。
だから、レイの方向を適当に0,0,1と入れてみた。
その補足として「〜は平行です」と書いた。
でも言いたかったのは正しくは「視線がxy平面に垂直」であると。
そもそも点と面で平行とか垂直って言うのかいな。バカの巣窟だな。
0728デフォルトの名無しさん
2005/07/04(月) 12:20:140729デフォルトの名無しさん
2005/07/04(月) 12:27:37巣窟も何も、>722=725が馬鹿なだけだろ?
0730デフォルトの名無しさん
2005/07/04(月) 12:36:310731デフォルトの名無しさん
2005/07/04(月) 12:46:570732デフォルトの名無しさん
2005/07/04(月) 13:32:44要は"レイの向き"には、射影後の空間での奥方向(+Z方向)のベクトルを、
モデル空間に逆変換したものを指定すればいいんだけど、
"向き"を透視変換入りの行列で逆変換してもうまくいかないから、
代わりにレイの始点( px, py, 0 )とレイの注視点( px, py, 1 )を逆変換して、
2つの差分を求めればいいわ。
px = (mouseX / screenWidth - 0.5f) * 2.0f;
py = -(mouseY / screenHeight - 0.5f) * 2.0f;
これで透視射影でも正射影でもおkよ。
0733デフォルトの名無しさん
2005/07/04(月) 13:33:340734720
2005/07/04(月) 14:50:33それ以前に日本語で変なところがあったようですが。。
奥行きがZ軸の正方向なので単純に{0,0,1}でいいのかと思ってました。
0735デフォルトの名無しさん
2005/07/04(月) 15:48:23厳密には>>732のやり方は、レイの開始点がニア平面の部分に来るから、
視点からニア平面までの見えないポリゴンは判定できないのよ。
視点に合わせようと思ったら、一旦2点をビュー空間に逆変換して、2点の線分の
z=0平面との交点を新しいレイ始点にして、それからモデル空間に
逆変換って感じになるかしら。(ちょっと面倒くさいわね。)
透視射影で決め打ちだったら、ビュー空間の(0,0,0)を逆変換するだけだから
そっちの方が幸せになれるかもね。
0736デフォルトの名無しさん
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
もし原因が分かる方がいましたら、申し訳ありませんが助力をお願い致します。
0737デフォルトの名無しさん
2005/07/05(火) 16:33:09DirectXSDKの \Samples\Media\UI フォルダを、*.exeと同じフォルダに
コピーすれば一応動くわよ。
(DXUTは、同じバージョン(この場合2004Summer)のSDKのフォルダしか
探してくれないみたいね。)
0738デフォルトの名無しさん
2005/07/06(水) 14:24:03737さんありがとうございます。
0739デフォルトの名無しさん
2005/07/06(水) 16:18:030740デフォルトの名無しさん
2005/07/06(水) 16:34:010741デフォルトの名無しさん
2005/07/06(水) 16:34:348と9ならあんま変わってないから9
0742デフォルトの名無しさん
2005/07/06(水) 16:39:11ありがとうございます
0743740
2005/07/06(水) 17:30:000744デフォルトの名無しさん
2005/07/06(水) 21:01:531フレームごとに、インデックスバッファのデータをソートしなおすとすごく遅くなりそうです。
オブジェクト単位でソートすると、オブジェクトの中の面はソートされませんよね・・・。
皆さんはどのようにして実装されておられますか?
0745デフォルトの名無しさん
2005/07/06(水) 21:17:460746デフォルトの名無しさん
2005/07/06(水) 21:25:250747デフォルトの名無しさん
2005/07/06(水) 21:37:370748デフォルトの名無しさん
2005/07/06(水) 21:56:02では割り切ってオブジェクト単位でがんがります。
0749720
2005/07/06(水) 22:40:23何度もすみません、( px, py, 1 )をD3DXVec3Unprojectを使って逆変換したのですが
値をみるとめちゃくちゃになっちゃいます、、
( px, py, 0 )だとそれっぽい値がでるのですが。。。
0750デフォルトの名無しさん
2005/07/06(水) 22:45:02D3DXVec3Unprojectはビューポートの変換もしてくれるから
px,pyじゃなくてmouseX,mouseY(マウスのクライアント座標)を
そのまま渡せばいいわ、多分。
0751デフォルトの名無しさん
2005/07/07(木) 00:44:39何度も何度もありがとうございます。。
早速学校でやってみたいと思います!
0752デフォルトの名無しさん
2005/07/07(木) 01:36:28面が右回りなのか左回りなのか
わかる方法は何かありませんか?
ググってみたら遠くからレイを飛ばして
交差回数を数えるという方法でわかるみたいですが
みなさんこれをやっているんですか?
0753デフォルトの名無しさん
2005/07/07(木) 02:10:53分からない場合、別の方法で衝突判定してます。
(衝突判定で困ってるかどうかは分かりませんが)
0754デフォルトの名無しさん
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で再生したらやっぱり鳴らなかったので、
環境としては、以前、トラブル報告を受けたマシンの状態を再現出来ていると思うのですが……。
0755デフォルトの名無しさん
2005/07/07(木) 18:14:48この板はageたからといって回答もらえるわけじゃないんだよ
0756デフォルトの名無しさん
2005/07/07(木) 18:18:17DirectX Audio = DirectSound + DirectMusic なら知ってるけど。
0757デフォルトの名無しさん
2005/07/07(木) 19:48:410758デフォルトの名無しさん
2005/07/08(金) 00:45:00ちなみに頂点シェーダを使っています。
カメラのビューと射影変換なんかをオフにしたりできるのでしょうか。
0759デフォルトの名無しさん
2005/07/08(金) 01:23:560760デフォルトの名無しさん
2005/07/08(金) 01:30:24ふふふw
最初、こんなもんもできねぇって俺ってアホ?とか思っただろ?
実は結構難しいんだなw
そもそも画面描画までの座標変換ってよ。
オブジェクト空間→モデリング変換→ワールド空間→ビュー変換
→視点空間→射影変換→クリップ空間→遠近除算→正規化デバイス空間→ビューポート・深度範囲変換→ウィンドウ空間
(書籍 The Cg Tutorial日本語版より抜粋)
こうなってて、頂点シェーダには
オブジェクト空間からクリップ空間までの変換が書いてあるわけだよ。
#ここでどの変換でどの空間に移動してるのかしっかり理解してな。
だから2次元データを頂点シェーダを使って描画するには
クリップ空間上での座標を意識しなくちゃいけないんだよ。
#あ、実際にコードくれとかいうのは無しなw面倒だからw
ヒントと参考書籍まで紹介したんだ。後は自分でなんとかしる!
基本を理解する奴は絶対に伸びる。応援してるぞ。
0761デフォルトの名無しさん
2005/07/08(金) 01:32:15プログラム側から、インストールされているDirectXのバージョンを調べることができますか?
たとえば、ゲーム起動ログにそのPCにインストールされているDirectXのバージョンを吐き出させるような。
0762760
2005/07/08(金) 01:34:32えーw
また、規格外のものを出す〜w
ぶっちゃけありえな〜いw
正直、パイプラインでなにやっちゃってんの?的な匂いがするぅ〜w
ストリーム0しか使えないしぃ〜w
0763デフォルトの名無しさん
2005/07/08(金) 02:08:51クルクル回っている三角錐の物体(Xファイル)があって、0〜3のいずれかの数値を与えると、
それに対応した面がパッとこちらを向く・・・というようなことをしたいのですが、
どうすればいいのかサッパリわかりません。
どなたか考え方だけでも教えてください。お願いします。
0764デフォルトの名無しさん
2005/07/08(金) 02:31:35そらおめ、まず自分の向いている方向から対象までの角度を測って
対象の方向へ向くように角度を変えていくのが一番だべ。(ちなみに自分ってんは三角錐のことかな?)
方法は
1.姿勢行列から自分の現在の角度取得
2.自分から対象物への角度を取得
3.自分の現在の角度を対象物の方向へ近づけていく
で、できそうだな。
で、わからんのが
・自分の向いている方向をどうやって角度へ直すのか?
ってところだべ。ま、要は角度がわかりゃいいんだな。
アークタンジェントとか調べてみるといいんじゃね?atan2とかいう関数を使う。
0765デフォルトの名無しさん
2005/07/08(金) 02:33:31X・自分の向いている方向をどうやって角度へ直すのか?
○・対象物までの角度をどうやって取得するか?
0766763
2005/07/08(金) 03:20:49なるほど、三角錐側から考えて
カメラの方へ向いていくというのは思いつきませんでした。
XYZ軸すべて回転させているのでちょっとややこしそうですが、
頑張ってみます。
ありがとうございます!!
0767758
2005/07/08(金) 03:36:41これは、座標変換済み頂点の方法ですね。
>>760氏によると規格外らしいですが、どうにもならなくなったら使わせて頂きます!
>>760
これって結構難しいんですか、なるほど…。
クリップ空間を意識する必要があるわけですか。
つまり、640x480の画像を同じ大きさのウインドウに表示するとすると、
クリップ空間で(-1.0, -1.0, 0.0)〜(1.0, 1.0, 0.0)の大きさのポリゴンにテクスチャを張ればいいんですよね。
えーと、試しに実装してみたのですが、うまくいかないorz 試行錯誤してみます。
0768デフォルトの名無しさん
2005/07/08(金) 04:02:53いいんじゃねーの
0769デフォルトの名無しさん
2005/07/08(金) 06:59:03760=762がおかしいだけで、何も問題ないよ。
D3DDECLUSAGE_POSITIONTを使った場合は、ビューポート変換まで
飛ばされるので、指定するのはスクリーン座標。
x,yを(0,0)-(640,480)の範囲で指定して、z=0,w=1あたりに設定して描画するだけ。
必要に応じてD3DRS_ZENABLEやD3DRS_ZWRITEENABLEも使うと吉。
D3DDECLUSAGE_POSITIONTがよく分からなければ、FVFでXYZRHWを
指定しても一緒。
0770デフォルトの名無しさん
2005/07/08(金) 08:09:07ライフ表示用のカメラを作ってやれば、余計な計算などまるで必用がない。
0771デフォルトの名無しさん
2005/07/08(金) 09:50:57D3DPMISCCAPS_CLIPTLVERTSか、十分なGuardBandがないとまずいんじゃないの?
イヤこれで問題出たってほとんど聞かないけど、dxinfo見る限りじゃ結構対応状況悪いし。
俺はおっかないからスプライトの場合、ワールドとビュー行列に単位行列、
射影行列にはビューポートと同サイズの正射影って感じだべ。
頂点シェーダ使うなら・・・(x,y)をビューポートのサイズで割るだけじゃねーの?
0772771
2005/07/08(金) 12:03:36('A`)
0773デフォルトの名無しさん
2005/07/08(金) 14:12:44ライフ表示に頂点クリップや広いガードバンドは必要ないしょ。
Intelの狭いガードバンドでも普通は問題にならないべさ。
0774デフォルトの名無しさん
2005/07/08(金) 19:06:27例えば Y軸を拡大 → モデルの上面と底面が暗くなる
縮小すると明るくなります。
(光源は平行)
なんででしょうか。
0775デフォルトの名無しさん
2005/07/08(金) 19:21:340776デフォルトの名無しさん
2005/07/08(金) 20:07:50D3DXComputeNormals(pMesh, NULL)
では不満だというのですか。
0777デフォルトの名無しさん
2005/07/08(金) 20:11:55SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );
0778デフォルトの名無しさん
2005/07/08(金) 20:20:14透視射影変換 Frustum についてお尋ねします。
赤本の付録部分等にも4x4行列について載っていますが、
この行列について、原理を理解したいと思っています。
どなたか、透視(正)射影変換について
解説書、教科書、Web情報など、ご存知でしたら教えてください。
0779デフォルトの名無しさん
2005/07/08(金) 20:32:37ちゃんとなりますた。
0780デフォルトの名無しさん
2005/07/08(金) 20:51:33最小化ボタンあり最大化ボタン無効
ウィンドウのサイズを変更させない
このスタイルのウィンドウを作りたいのですが
styleにどう設定すればいいのか分かりません
宜しくお願いします
0781デフォルトの名無しさん
2005/07/08(金) 21:02:020782デフォルトの名無しさん
2005/07/08(金) 21:26:22http://pc8.2ch.net/test/read.cgi/tech/1120153520/
0783デフォルトの名無しさん
2005/07/08(金) 21:30:27>>760はそんな話はしていないと思うが・・・
0784780
2005/07/08(金) 22:22:58WS_DLGFRAMEで行けます
0785デフォルトの名無しさん
2005/07/09(土) 11:43:54ということを行うにはどうすれば良いでしょうか?
0786デフォルトの名無しさん
2005/07/09(土) 13:39:520787デフォルトの名無しさん
2005/07/09(土) 14:55:12http://www.shader.jp/xoops/html/masafumi/directx9/DShow/dshow002.htm
0788785
2005/07/09(土) 15:54:57その場合、加工したものを出力するのに仮想カメラのようなものを作らないといけないのかなぁと思いました。
加工というのは他の画像のはめ込み等を考えています。
現在はサンプルグラバを使って1枚ずつ加工、それを何かしらの方法で動画に直すという方法で進めていますが方向はあってますか?
0789デフォルトの名無しさん
2005/07/09(土) 17:55:54そういうクラス群と認識してコピペしながら作り始めていいですかねぇ
0790デフォルトの名無しさん
2005/07/09(土) 19:59:16いいですよ。使ってるうちに必要な知識は覚えます。
0791デフォルトの名無しさん
2005/07/09(土) 23:55:58プライマリバッファに合わせなければならないという制限があったような気がするのですが
どうにも思い出せません。また文献も見つけられませんでした。
nChannels
nSamplesPerSec
wBitsPerSample
のどれかだったと思うのですがご存知の方は教えて下さい。
サンプリングレートでしたっけ('A`)?
0792デフォルトの名無しさん
2005/07/10(日) 09:51:20回答ありがとうございます
某所で見つけたサンプルに色々つけたしながら機能を覚える方向でがんばります
0793デフォルトの名無しさん
2005/07/10(日) 10:04:35ありがとう
ここまで来るのに5年かか・・・OTL
0794デフォルトの名無しさん
2005/07/10(日) 12:34:03>>792の人かな?
プログラムは絵画と同じで本を読むだけじゃ書けるようになりません。
絵の勉強をする人がひたすらデッサンをするのと同じように、
とにかくコードを書いていくことでどんどんセンスが磨かれていく。
何十冊読もうが、おそらく100行程度のソースすら1発でビルド通らないよ。
0795デフォルトの名無しさん
2005/07/10(日) 12:44:09http://www.shiro.dreamhost.com/scheme/trans/hp-j.html
0796デフォルトの名無しさん
2005/07/10(日) 12:53:521つの関数に一つの機能しかないものであれば、
結局はみんな同じ書き方になっていく。
1つの関数で2つの事が行える関数を使ったときに初めて
異なる書き方になる。
だから、同じ関数を使う限り何百回何千回書き上げようが何も上達しない。
0797デフォルトの名無しさん
2005/07/10(日) 12:58:52プログラムは、モジユール単位に分割しますが、良いモジュール分割とは、「独立性の高い分割」であり、「モジュール強度」と「モジュール結合度」で評価できます。
「モジュール強度」
モジュールがどれだけの機能を実現しているかを示す尺度で、強いほど独立性が高い。
種類 モジュール内の関連性 独立性
機能的強度 1つの機能を実現するためだけのモジュール 高 高
情報的強度 特定のデータ構造を扱うためのモジュール
連絡的強度 関連ある逐次的機能で要素が連絡しあうモジュール
手順的強度 関連のある逐次的な機能を扱うモジュール
時間的強度 時間的に連続した複数の機能を扱うモジュール
論理的強度 関連のある複数の機能を扱うモジュール ←お前が言ってるのこれ
暗号的強度 関連のない複数の機能を扱うモジュール 弱 低
0798デフォルトの名無しさん
2005/07/10(日) 13:55:49SetTexture(
DWORD Stage,
IDirect3DBaseTexture8* pTexture
)
関数がうまくいかないみたいです。
warning C4133: '関数' :
'LPDIRECT3DTEXTURE8' と 'IDirect3DBaseTexture8 *' の間で型に互換性がありません。
が出ています。
C++では IDirect3DBaseTexture8* が IDirect3DTexture8*
でも表示されるのはなぜですか?継承構造だからですか?
0799デフォルトの名無しさん
2005/07/10(日) 14:04:24プログラムをコンパイルしようとすると、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 関連のも読みましたが分かりませんでした)
0800デフォルトの名無しさん
2005/07/10(日) 14:15:19ディレクトリタブでちゃんと一番上にくるようにもってきた?
また、指定したディレクトリの中身ってちゃんとある?
このぐらいしか俺にはうかばん・・・。
あと、VC6ってすんなりビルドできるっけ?
そのうちプラットフォームSDK入れろとかあれやれこれやれ嫌になるぐらい警告でると思ったけど。
この機会に諦めてVC.NET買ったら?とか思う・・・。スタンダードで十分だし。
0801799
2005/07/10(日) 14:27:21一番上に来るようにしてあります。
ディレクトリの中に、libファイルがあることは確認しました。
VC.NETですか・・・、アカデミックで安く買えるかなぁ。
でもできればVC6でできればいいんですが。
0802デフォルトの名無しさん
2005/07/10(日) 16:31:18文句言わない。
0803デフォルトの名無しさん
2005/07/10(日) 16:33:400804デフォルトの名無しさん
2005/07/10(日) 16:34:070805798
2005/07/10(日) 16:35:11頂点の設定のフラグが間違っていたみたいです。
それと、IDirect3D8Textureは IDirect3D8BaseTextureの継承になっていました
0806デフォルトの名無しさん
2005/07/10(日) 17:47:50>1つの関数で2つの事が行える関数を使ったときに初めて
そんな関数あぶなくて使えねぇよw 適当なこと言うな
0807デフォルトの名無しさん
2005/07/11(月) 01:37:24うむ。
1関数1機能を徹底してもらわねば困るな。
0808デフォルトの名無しさん
2005/07/11(月) 01:37:460809デフォルトの名無しさん
2005/07/11(月) 01:54:403x3行列にキャストして変換すると思うんですが
この後正規化するべきだと思いますか?
3x3行列が非直交行列である可能性は低いから省くのが
一般的でしょうか?
それとも法線変換用に別に逆転置行列を用意するのが
一般的でしょうか?
0810809
2005/07/11(月) 01:59:212つの質問がごっちゃになってました。
VertexShaderなんですが
法線を4x4world行列で変換するとき
3x3行列にキャストして変換すると思うんですが
この後正規化するべきだと思いますか?
3x3行列がスケーリングを含む可能性は低いから省くのが
一般的でしょうか?
また法線変換用に別に逆転置行列を用意するのは
一般的でしょうか?普通そこまでやらないですか?
0811デフォルトの名無しさん
2005/07/11(月) 02:28:41漏れは直交行列以外がわたる可能性があるときは逆転置も渡してるよ。
スキニングでやるとレジスタ足りなくなるorz
0812デフォルトの名無しさん
2005/07/11(月) 02:30:17変換行列の左上3×3部分が:
・回転のみ(直交行列)なら、逆転置は用意せず、正規化もしない。
・回転と一様スケーリングのみ(直交行列の定数倍)なら、逆転置は用意せず、正規化のみ行う。
・非一様スケーリングやせん断変形を含む一般の行列なら、逆転置を用意して、さらに正規化も行う。
スケーリングやせん断変形を含む可能性が「高いか低いか」の問題ではなく、
あなたの扱うシーンにおいてその可能性が「あるかないか」で明確に判断すべきですね。
0813デフォルトの名無しさん
2005/07/11(月) 02:36:21関係無いとは思う事柄なんだけど、
自分もVC6使ってて、DirectxSDK導入の際に色々面倒臭い事があったよ。
JUNE2005とかSUM2004でもdsound.hでエラーが出るから、
SUM2003を探して導入することをお勧めします。
0814デフォルトの名無しさん
2005/07/11(月) 03:06:31スキニングで行列倍はきついですね。
つーか無理ですよね。
頂点テクスチャを使えばいけるかもしれませんね。
>>812
ライブラリ的なものを作ってるので
判断は難しい・・
のでworldは回転+移動のみ強制、逆転置無しでいこうと思います。
(Shader内でスケーリングの必要性今のところ感じないし。)
ありがとうございました。
0815デフォルトの名無しさん
2005/07/11(月) 04:09:56検索結果が全て無題となって
無題をクリックしても何も反応がありません
使い方を教えてください
0816デフォルトの名無しさん
2005/07/11(月) 13:25:26DirectX9でデバイス初期化して、
ハードウェアT&Lやシェーダはできない?
0817デフォルトの名無しさん
2005/07/11(月) 14:14:410818デフォルトの名無しさん
2005/07/11(月) 22:25:370819デフォルトの名無しさん
2005/07/11(月) 22:29:100820デフォルトの名無しさん
2005/07/11(月) 22:33:37エッチなゲームのモデルファイル ← スネオ担当
0821デフォルトの名無しさん
2005/07/11(月) 22:44:30エッチなゲームのテストプレイ ← ノビタ担当
エッチなゲームの販売 ← ドラ○モン担当
0822デフォルトの名無しさん
2005/07/11(月) 22:48:58夏休みの宿題
0823デフォルトの名無しさん
2005/07/11(月) 22:50:120824デフォルトの名無しさん
2005/07/12(火) 00:28:11エッチなゲームのモデルファイル ← ノビタ担当
エッチなゲームの声 ← スネオ担当
エッチなゲームのテストプレイ ← シズカ担当
エッチなゲームの販売 ← ドラ○モン担当
0825デフォルトの名無しさん
2005/07/12(火) 00:48:160826デフォルトの名無しさん
2005/07/12(火) 21:54:170827デフォルトの名無しさん
2005/07/12(火) 21:59:180828799
2005/07/12(火) 23:23:14返事が遅くなりましたが、JUNE2005を消してSUM2003を入れてみたら、
上手くコンパイルができました。
.NET 2003とか買ったらまた新しいので試してみます。
ありがとうございました。
0829デフォルトの名無しさん
2005/07/12(火) 23:28:27そのほとんどは前面のポリゴンに隠れて見えません。
後ろに回って見えないポリゴンは自分で判定して描画しないといけないの
ですか?
Zバッファとかいうのは関係ないのでしょうか?
0830デフォルトの名無しさん
2005/07/12(火) 23:29:17↓
描画しないようにしないといけない
0831デフォルトの名無しさん
2005/07/12(火) 23:37:53GPUが早期Zテストをサポートしていない限り、そうなるわね。
0832デフォルトの名無しさん
2005/07/12(火) 23:44:12わかりました。
ありがとうございました。
0833デフォルトの名無しさん
2005/07/13(水) 01:02:04早期Zカリングは手前のオブジェクトから先に描画するようにしないと効果が出ないわ。
最近のGPUではほぼサポートされてるみたい。
0834デフォルトの名無しさん
2005/07/13(水) 01:28:570835デフォルトの名無しさん
2005/07/13(水) 01:30:46早期Zカリングがあっても、頂点処理は全頂点に対して行われるわけだから、
頂点シェーダがボトルネックになっている場合はほとんど効果がないね。
>>829のシェーダ負荷バランスがわからないと何とも言えない。
0836デフォルトの名無しさん
2005/07/13(水) 02:13:26頂点変換オーバーヘッドが惜しいなら、一応、
BSPがあるよ。Convexな空間でしかつかえないけど。
0837836
2005/07/13(水) 02:22:19○閉じた空間とそれをポータルで接続したもの
閉じた空間のことをConvexな空間というのと勘違いして覚えてた。
すまそん。
0838デフォルトの名無しさん
2005/07/13(水) 02:49:090839デフォルトの名無しさん
2005/07/13(水) 03:19:03DirectX 9.0b SDK (2002)
と
DirectX 9.0 SDK Update (June 2005)
をインストールすればいいのですか
それとも
DirectX 9.0 SDK Update (June 2005)
これだけでいいのでしょうか
0840デフォルトの名無しさん
2005/07/13(水) 09:13:11いまさら 9.0b 入れる必要はないんじゃないかな。
(ちょっと古い本だと 9.0c に対応してないのもあるけど)
June 2005 でもいいけど、December 2004 あたりにしといたら。
0841デフォルトの名無しさん
2005/07/13(水) 10:25:44>>839
Updateだけでいい。
0842デフォルトの名無しさん
2005/07/13(水) 21:16:590843デフォルトの名無しさん
2005/07/13(水) 21:26:05辞書も引けないの?小学生?
0844デフォルトの名無しさん
2005/07/13(水) 22:05:05で
ぶっちゃけ コンポーネント ってわかりやすく言って何なんですか?
0845デフォルトの名無しさん
2005/07/13(水) 22:11:15辞書も引けないの?小学生?
0846デフォルトの名無しさん
2005/07/13(水) 22:19:490847デフォルトの名無しさん
2005/07/13(水) 22:22:38まずは調べてから、ね。お姉さんとの約束だよ。>>842
0848マイク ◆yrBrqfF1Ew
2005/07/14(木) 00:00:150849デフォルトの名無しさん
2005/07/14(木) 00:25:110850デフォルトの名無しさん
2005/07/15(金) 11:36:42そうだとすると、シェーダーが別のビルボードをZソートなんかしたら
すごいことになりそうなんですけど。
0851デフォルトの名無しさん
2005/07/15(金) 22:31:09お前何言ってんの?
0852デフォルトの名無しさん
2005/07/15(金) 22:35:370853デフォルトの名無しさん
2005/07/15(金) 22:50:59未だに固定パイプライン使いですよ?
0855マイク ◆yrBrqfF1Ew
2005/07/15(金) 23:32:360856デフォルトの名無しさん
2005/07/16(土) 00:01:48バカマイクひさしぶり。なんでこんな所に居るの?
0857デフォルトの名無しさん
2005/07/16(土) 03:07:14で、再生できる物がきたんですけど再生速度の変更で行き詰まりました。
mpegを再生速度 0.5倍速 に設定すると再生できないんです。
- WMP10での話し -
ためしにWMP10で同じmpegを、再生速度 0.5倍速 で再生すると、、
やはり再生できません。
1.0倍速再生→0.5倍速 と、途中から変更した場合は再生できるのですが、
0.5に設定→停止→再生 とすると再生されません。
4、5個のmpegファイルで試してみましたが全て同じでした。
- WMP10での話し 終わり-
IMediaSeeking::SetRate を使用しています。
0.51倍速 だと問題は起きませんでした。
エラーは発生しません。
どうしても0.5倍速で再生したいわけではなく、できないならできないと判定できればいいんです。
何か情報持っている方いますか?
0858デフォルトの名無しさん
2005/07/16(土) 04:56:030859デフォルトの名無しさん
2005/07/16(土) 07:44:47プゲラ
これだから低学歴は困る
0860デフォルトの名無しさん
2005/07/16(土) 08:09:210861デフォルトの名無しさん
2005/07/16(土) 08:14:550862デフォルトの名無しさん
2005/07/16(土) 08:26:000863デフォルトの名無しさん
2005/07/16(土) 15:02:36DirectX9 雨
とかで検索してもなかなかそれっぽいサイトが無くて・・・
0864デフォルトの名無しさん
2005/07/16(土) 16:25:35実際のゲーム買って雨が降ってるシーンを見て研究するのが一番だよ。
こういうことができないといつまでたっても誰かが整備した道だけ
追い続けることしかできなくなっちゃうからたまには研究してみるのもいいんじゃない?
ま、資料があればそれに越したことはないんだけど。無いときはしょーがないっしょ。
0865デフォルトの名無しさん
2005/07/16(土) 16:30:41でもまあ、ちょっとアドバイスすると
調べるときのキーワードを 雨 DirectX9 なんかにするんじゃなくて
モデリングソフトで雨ってどういう風に表現してるのかって知るだけでも
あとはどうとでもなるでしょ。
それがリアルタイムでできるかどうか?また、リアルタイムで表現できるように簡略化できないかどうか?
を考える能力を身に付けようよ。
だからCGWORLDとか雑誌を毎回立ち読みするだけでも実力はついていくと思うよ。
こういう知恵も解説サイトだけじゃ学べないことだぞ。
0866863
2005/07/16(土) 17:02:49DirectX初心者&時間が無い(納期が近い)なので
出来る限りサンプルがほしいところなのです。
0867デフォルトの名無しさん
2005/07/16(土) 17:20:28時間がないならなおさらサンプルなんて読むだけ無駄。
適当に主人公のまわりの空間に雨(ポリゴンで雨っぽい線を描画)して降らせて
地面なんかに可能な範囲で飛沫を付けて終わりでいいじゃん。
もちろん飛沫はビルボード&テクスチャアニメーション。
それっぽく見えるように頑張って終わり。
0868863
2005/07/16(土) 17:25:51Z=0のところで降らせてみようと思うのですが、
その場合でもポリゴンの描画で実行速度は大丈夫でしょうか?
0869デフォルトの名無しさん
2005/07/16(土) 17:28:320870863
2005/07/16(土) 17:43:360871デフォルトの名無しさん
2005/07/16(土) 17:50:13あれは一枚ポリゴンで表現するものなのですか。
モワモワだから、全部スプライトなりピクソーなりで描画するものだと思って、
いましたが、大概のゲームでのモワモワをよく見てみると、
モワモワの、周りには、四角い透明な領域があります。
とすると、モワモワというのは、そう見えているだけのごまかしなのでしょうか?
全部ピクセルで描画するのが、ベストと思い尾増すが、なんでそうしないのでしょうか?
0872デフォルトの名無しさん
2005/07/16(土) 18:18:06全部計算で出したピクセル使ったらどうなるか想像つかないの?
0873デフォルトの名無しさん
2005/07/16(土) 18:30:38テクスチャアニメーションの場合もあるし、
ポリゴンアニメーションの場合もあるし、
その両方の場合もあるしで、
なにも一枚ポリゴン(2枚じゃね?w)とは決まっていない。
板ポリに貼ってそれで終わりってのは中々少なくなってきてはいるな。
まあ、ほとんどデザイナ側の問題なわけだがw
0874デフォルトの名無しさん
2005/07/16(土) 18:31:130875デフォルトの名無しさん
2005/07/16(土) 18:31:550876850
2005/07/16(土) 19:05:01んと、
いちいち頂点バッファぶった切ってシェーダ切り替えなきゃいけないの?ってこと
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 <-中で切り替えてくれるといいなぁ
引数、覚えてないから適当
0877デフォルトの名無しさん
2005/07/16(土) 19:14:29そんなことしたらプリミティブ毎にシェーダの種類を持たなければならないじゃないか。
for( int i = 0 ; i < 50 ; i++ )
{
SetPixelShader shader A
DrawPrimitive 1prim
SetPixelShader shader B
DrawPrimitive 1prim
}
こんな記述はライブラリで一度書けば、済む問題だしな
0878デフォルトの名無しさん
2005/07/16(土) 19:19:51>>878のような主張も可能。
0879デフォルトの名無しさん
2005/07/16(土) 19:20:330880デフォルトの名無しさん
2005/07/16(土) 19:27:47煙とかをピクセル単位で計算して出してたら
幾らマシンパワーがあっても足りない
0881デフォルトの名無しさん
2005/07/16(土) 19:38:03そもそも何のために切り替えているのか、その用途について説明せよ。
この手の質問の場合、根本的にそれ以外の解決方法があるのに、
無駄な手法をとっている場合が十中八九。
0882850
2005/07/16(土) 20:16:32shader A Bはまったく別のシェーダだからそうだけど。
draw〜って一杯呼んじゃって問題ないの?directXって?
>>878
条件分岐で分岐する場合、シェーダを組み合わせ用に書かなくちゃいけない
2種類程度ならいいけどシェーダの種類が10、20と増えてきたら容量や使い勝手が悪過ぎない?
>>881
シェーダA/Bをつかった描画がソートの結果たまたま交互に現れたら、
876のようになちゃうよね?
0883デフォルトの名無しさん
2005/07/16(土) 20:37:24落下中の雨粒は空気抵抗のために横に扁平な球になっているので、
そういうオブジェクトを作って大量にばらまけばいいと思うよ。(プ
雨粒の大きさによって終端速度が変わるので、そのあたりもちゃんと計算するようにな。
>>881
いろんなシェーダを使って描画するビルボードが画面内に混在すると、
Zソートで奥から描画するときにシェーダ切り替えまくる羽目になるのでどうすんべという話かと。
まあ、テクスチャなんかと同じで、パフォーマンスを気にするなら
まとめるしかないってことになるんでない? 俺は固定パイプライン野郎だから知らんけど。
>>878
無限ループおめ
0884デフォルトの名無しさん
2005/07/16(土) 20:49:35単に置いていけばいいだけだ。
それに近いのが、ポストプロセス
あれだってただ単にアルファマークしたところにピクセルをブチ撒けているだけだ
0885デフォルトの名無しさん
2005/07/16(土) 20:58:10すまん、なにを言っているのか分からん
0886デフォルトの名無しさん
2005/07/16(土) 21:03:32一律に同形状で上がってよし
0887デフォルトの名無しさん
2005/07/16(土) 21:08:43俺はビルボードが一箇所に固まってるなら物体が中に入ること自体があまりないので
ソートなんかしないでそのまま出しちゃってる。(水飛沫等)
それが広域に及ぶなら一定単位ごとにまとめて数箇所だすだけの話になる。
逆に画面にちりばめられてるようなシーンなら一度に画面に出る数(カメラに映る数)が大したことないはずなので
一つ一つのビルボードにマトリクスを持たせてそれごとにZソートをかけてる。
1メッシュごとにZソートをかけるシーンってのは極めて特殊だと思う。
ビュークリップもできないので実装したらおそらく激重だろう。
メッシュにある大半のビルボードが画面にでる場面(ビュークリップされない)
ってのが想像できないのであんまり使わないんじゃないかな。
と思うがどうだろうか?
0888850
2005/07/16(土) 21:24:11あーそうそう。
やっぱりシェーダごとにまとめて描画するしかないのかな。
でも、モデルデータ中でシェーダ切り替えってどうやってんだろ?
たとえば布と金属で別シェーダだと布用ストリップと金属用ストリップで2パス描画するのかな
マテリアルごとにシェーダ切り替え自由にしてたら死ぬな。
デザイナーに釘さしておかないと。
>>884
モワモワって陽炎じゃない?
それなら描画取り込みのメッシュをそれっぽく揺らせばいいんじゃない。
ついでにぼかしも入れとけば、よりそれらしくなる。
>>887
たとえばジャングルの中とか、そこら中α抜きテクスチャだらけ。
気にしないで書いちゃうのがいいのかね?PS2とかソートしてないゲームが大半だし。
0889デフォルトの名無しさん
2005/07/16(土) 21:29:59>たとえばジャングルの中とか、そこら中α抜きテクスチャだらけ。
それだとそういう問題じゃなくてマトリクスごとにメッシュもってる。
つまりZソートかけちゃってる。
一緒のプリミティブにもつってことはしないよ。
モデリングツールでデザイナが設定した通りにでるってそれだけ。
てゆうかさ
>たとえばジャングルの中とか、そこら中α抜きテクスチャだらけ。
こういう物体を一緒のプリミティブに突っ込んだらビュークリップはいつかけるんだ?
言ってる事はDrawPrimitiveに突っ込んだ頂点に複数のシェーダをかけたいってことでいいんだよな?
0890デフォルトの名無しさん
2005/07/16(土) 21:40:48豆知識:ピクセルシェーダの原理
誰に聞いても「やって見てみればいい」というような、原理や作動もまったく知らないような
ド素人がデカい顔してることに対する代名詞的扱い。
せめて「ピクセルを出力するもの」くらいいえないものだろうか
0891850
2005/07/16(土) 22:02:03突っ込む前にはじいちゃうんじゃない?
>言ってる事はDrawPrimitiveに突っ込んだ頂点に複数のシェーダをかけたいってことでいいんだよな?
俺、directX触るの初めてなんで
突っ込んだ頂点ごとに別のシェーダがかけたい。
↓
シェーダの切り替えってDrawPrimitiveの外でしかできないみたい(できるの?)
↓
場合によってはDrawPrimitiveとシェーダ切り替えの数がものすごい数になってしまう。
↓
パフォーマンスとか大丈夫なの?とおもった。
DrawPrimitive中で切り替えられるの?
0892デフォルトの名無しさん
2005/07/16(土) 23:17:23ああ、なるほど
>シェーダの切り替えってDrawPrimitiveの外でしかできないみたい(できるの?)
DrawPrimitiveの中でのシェーダの切り替えはできなかったような気がした。
気がしたって程度なのはこの辺複雑になってて本当にできないのかは
しっかり調べてないのでよくわからないというのが本当のところ。
>パフォーマンスとか大丈夫なの?とおもった。
おそらくそういう場面が無いので問題になっていないんだと思う。
0893850
2005/07/17(日) 01:50:54回答してくれた人ありがトン。
あと、次のDirectXあたりから固定パイプライン廃止の方向に行きそう。
ソースは言えない。
0894デフォルトの名無しさん
2005/07/17(日) 10:24:16廃止されようが残留しようが関係ない。
0895デフォルトの名無しさん
2005/07/17(日) 12:10:52シェーダの有無など関係ありませんよ。アヒャ
0896デフォルトの名無しさん
2005/07/17(日) 12:18:59バンプぐらいは使っても楽かも
基本的に模様みたいなのつけて貼るだけだし。
実装もそう難しくない。
0897デフォルトの名無しさん
2005/07/17(日) 12:25:34昔(MMX全盛の頃)はそれこそピクセル単位で計算してたじゃないか
何かと併用する余裕は無かったが、不可能でも無かったぜ
0898デフォルトの名無しさん
2005/07/17(日) 12:30:41普通のライティング、パンプ、反射、屈折ぐらいまでだろうな。
画面効果も演出的なぼかし、グレースケールなんかはうまく使うと
(グレースケールのシーンで赤いマントだけ色がついてるとか)
いいと思うけど、被写界深度までいくとセンス悪いと「これ、ちょっとちがうんじゃない?」って
のが多い。かけないほうがいいよなー的なのが増える。
0899デフォルトの名無しさん
2005/07/17(日) 12:34:08そんなことした覚えないよ。
たくさんのピクセルに変更がかかる場合はアニメーションの方が
早いのはいまも昔もいっしょだよ。
0900デフォルトの名無しさん
2005/07/17(日) 12:42:470901デフォルトの名無しさん
2005/07/17(日) 12:51:52>突っ込む前にはじいちゃうんじゃない?
この発言で気になったんだが、毎フレーム頂点バッファを書きなおしてるの?
>>900
レスを順に読む限りではビルボードをたくさん密集させた形のエフェクトのこと。
0902デフォルトの名無しさん
2005/07/17(日) 13:34:05おまいさんがしたことないのは知らんし、
ここでアニメーションが速いと言い出されても、そりゃそうだとしか言えん
アニメーションとエフェクトは、それぞれに利点と欠点があるだろ
0903デフォルトの名無しさん
2005/07/17(日) 13:42:57>アニメーションとエフェクト
なにいってんの?
これ比べるもんじゃないし。
>>902←これちゃんと書きなおしてよ。
0904デフォルトの名無しさん
2005/07/17(日) 14:36:10比べるもんじゃないってのは自分に言ってくれ
もしくはエフェクトの意味を取り違えているかだな
シェーダのそれじゃないぞ
0905デフォルトの名無しさん
2005/07/17(日) 14:46:240906デフォルトの名無しさん
2005/07/17(日) 15:16:37俺がいってたのはピクセル単位の処理なんてやってなくて
スプライトのアニメーションでやってたって話だよ。
エフェクトなんていってない。
0907デフォルトの名無しさん
2005/07/17(日) 15:37:15最近MegaDemoとか聞かないし、しょうがないのかもね。
0908デフォルトの名無しさん
2005/07/17(日) 15:47:25なんかもう疲れたな…
画面全体にピクセル単位の処理(画像エフェクト)をかけることは別に不可能じゃないよ
というか3Dカード必須じゃない頃は、皆が普通にやってたろ
そこへなんで、俺はスプライトのアニメーションだぜー
俺の方が速いぜー…って見当違いの話が出てくるんだ
0909デフォルトの名無しさん
2005/07/17(日) 18:32:20画面全体の処理の話なんてしてないじゃん。
あくまで小さいエフェクトの話だっただろ。
ビルボードでたくさん出すって話からどうして画面全体の話になるんだ。
自分の発言をころころ軌道修正してるみたいだけど
こういう奴だいっきらい。馬鹿みたい。
0910デフォルトの名無しさん
2005/07/17(日) 18:32:59もう馬鹿なんだから3Dゲームなんて作るのやめろよ。
0911デフォルトの名無しさん
2005/07/17(日) 19:00:220912デフォルトの名無しさん
2005/07/17(日) 19:04:44画面の一部ならなおさら楽だろw
0913デフォルトの名無しさん
2005/07/17(日) 19:08:140914デフォルトの名無しさん
2005/07/17(日) 19:21:14恐らく描画バッファを直接叩くという概念すら分からないニュータイプ
0915デフォルトの名無しさん
2005/07/17(日) 19:29:510916デフォルトの名無しさん
2005/07/17(日) 19:53:450917デフォルトの名無しさん
2005/07/17(日) 19:58:31ポストプロセスの2D処理でモワモワをまともに表現できるわけがないだろ、バカめ。
0918デフォルトの名無しさん
2005/07/17(日) 20:14:020919デフォルトの名無しさん
2005/07/17(日) 20:20:42過程が重要なんじゃない、必用なのは結果だ。
0920デフォルトの名無しさん
2005/07/17(日) 20:27:53句点付けておくか。
0921デフォルトの名無しさん
2005/07/17(日) 20:50:06たががはずれたのはいつどんな瞬間だったのですか?
皆もやってるから自分もいいだろうと思ったのですか?
そんな当たり前の節度も守れない人間が他人にお説教ですか?
恥かしいですね。
0922デフォルトの名無しさん
2005/07/17(日) 20:55:330923デフォルトの名無しさん
2005/07/17(日) 20:58:240924デフォルトの名無しさん
2005/07/17(日) 20:58:38極度に厨むき出しの文章について。
0925デフォルトの名無しさん
2005/07/17(日) 20:59:08>>899は、もうどうでも良いですわ…
>>914
同意
>>917
>>871はスプライトと言っている以上2Dゲームっぽいし、十分以上に可能だと思うんだがどうだい
というか>>871自身、画像エフェクトで(全部ピクセルで)やりたがっているみたいなので、
>>880に対し、>>897で助け船を出しただけよ
そもそも俺は、ゲームでよくある、ってとこから画面切り替え効果みたいのを想像してた
917氏はモワモワが何か分かっている様だが…
0926デフォルトの名無しさん
2005/07/17(日) 21:04:13〃∩ ∧_∧
⊂⌒( ・ω・) はいはい、わろすわろす
`ヽ_っ⌒/⌒c
⌒ ⌒
0927デフォルトの名無しさん
2005/07/17(日) 21:05:460928デフォルトの名無しさん
2005/07/17(日) 21:14:480929デフォルトの名無しさん
2005/07/17(日) 21:52:42ポストプロセスとして使うもの
顕著にわかる代表例:Hitman Contracts
エフェクトとして使うもの
・煙を表す、ボリュームレンダリング
0930デフォルトの名無しさん
2005/07/17(日) 21:54:560931デフォルトの名無しさん
2005/07/17(日) 22:00:32そんなあなたに
そろそろム板もID付けないか?
http://pc8.2ch.net/test/read.cgi/tech/1105878545/
0932デフォルトの名無しさん
2005/07/17(日) 22:15:07Zソートをいかにして無くすかの方が
まだやる価値があるような気がするが。
重なる数に2枚までとか4枚までとか制限をつけたら
何とかなりそうとかさ。
マルチインスタンスに動的分岐にそれを組み合わせれば
1パスで全てのスプライトが表示出来てウマーとかさ。
考えてみてくれよ、俺の為に。
0933デフォルトの名無しさん
2005/07/17(日) 23:02:26>マルチインスタンスに動的分岐にそれを組み合わせれば
>1パスで全てのスプライトが表示出来てウマーとかさ。
よくわかんねぇよ。
この場合ってビュークリップっていついれればいいの?
毎フレーム頂点バッファを構築しなおしてるってこと?
0934デフォルトの名無しさん
2005/07/19(火) 01:23:45複数のXファイルを表示する方法がわかりません。
プレイヤと敵を同時に表示する時とか、どのようにすれば
よろしいのでしょうか?
0935デフォルトの名無しさん
2005/07/19(火) 01:53:130936デフォルトの名無しさん
2005/07/19(火) 03:43:58それは複数表示できてるソースをあげてくれと言ってるのか?
サンプルのここが理解できないからわからん
とかならまだしも
0937デフォルトの名無しさん
2005/07/19(火) 08:21:27Xファイル……と言うかメッシュの表示ね。
複数じゃなくてひとつの Xファイルを読み込んで
それを複数描画するにはどうすればいいかわかりますか?
0938デフォルトの名無しさん
2005/07/19(火) 08:26:08としか・・・
0939デフォルトの名無しさん
2005/07/19(火) 08:53:49みたいな質問されてもなぁ
0940デフォルトの名無しさん
2005/07/19(火) 12:37:25VC6++で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)となってました。
自分の頭の中で解決できないんで助けてください
0941デフォルトの名無しさん
2005/07/19(火) 12:45:130942940
2005/07/19(火) 12:48:49CD3DとCMy3Dのm_dwCreationWidth両方いじっても変更できませんでした。。。
どうなってるんでしょう・・・。
>>941
まだウィンドウの表示とか自前で作れないから、
スケルトンプログラム読んで勉強しようと思ってるんですが…。
0943デフォルトの名無しさん
2005/07/19(火) 12:52:31ならウィンドウの表示から学べば良い。
スケルトンは飽くまでそういった基礎が解かっている人が作成の手間を省くために
使うものであって、決して勉強用ではない。
どっちにしても結局は覚えなきゃならないよ。
0944940
2005/07/19(火) 13:05:31本来はそうなんでしょうね・・・。
良い参考書が見当たらないんで(あんまり探してないけど…。)、
スケルトンからやってみようと思ってます。
自己解決できました。
スケルトンがレジストリにウィンドウ枠の大きさを保存していて、
コンストラクタの最後でそれを読み込んでいる為でした…。
0945デフォルトの名無しさん
2005/07/19(火) 16:20:09お金持ちだねぇ
0946デフォルトの名無しさん
2005/07/19(火) 16:27:450947デフォルトの名無しさん
2005/07/19(火) 16:32:39だって無職だもの。
0948デフォルトの名無しさん
2005/07/19(火) 16:35:50じゃあなんとなくAdvancedWindowsを買った俺はなんなんだ!
0949デフォルトの名無しさん
2005/07/19(火) 17:14:260950デフォルトの名無しさん
2005/07/19(火) 22:23:24適当にブレークポイントしかけて、
ウォッチウィンドウで値確認してけばいいんじゃね?
0951デフォルトの名無しさん
2005/07/20(水) 08:40:48Japaneseがダウンロードできないけど手に入れる方法ない?
0952デフォルトの名無しさん
2005/07/20(水) 08:45:280953デフォルトの名無しさん
2005/07/20(水) 10:27:38ありがとうございました
0954デフォルトの名無しさん
2005/07/20(水) 16:21:26どっかのページのサンプルをコンパイルしたら
D3DXMatrixTransformation2D
がネーヨって言われて、d3dx9math.hを見たら、たしかにありませんでした。
ヘルプにはあるっぽく書いてあるのに...
ひょっとしてOSのせい(Windows 2000 sp4)?
0955デフォルトの名無しさん
2005/07/20(水) 16:24:420956デフォルトの名無しさん
2005/07/20(水) 16:50:46それくらい教えてやれよ
俺のDirectX知識は7.0で止まってんだよ。
質問の内容で、こいつ古いバージョンのDirectX使ってるくらい分かるだろアホ
0957デフォルトの名無しさん
2005/07/20(水) 17:03:03ヒント:WindowsUpdate
0958デフォルトの名無しさん
2005/07/20(水) 17:46:33全然おもしろくない。
0959デフォルトの名無しさん
2005/07/20(水) 19:03:53どこのサンプル?
0960デフォルトの名無しさん
2005/07/20(水) 20:49:06SDKのバージョン
0961デフォルトの名無しさん
2005/07/21(木) 00:04:45ウィンドウの最小化ボタンをつけていた(ウィンドウスタイルにWS_MINIMIZEBOXを指定)場合、
最小化ボタンやWindowsキー+Dで最小化するとエラーが起きて終了しちゃうんです、
(恐らくReleaseし忘れとかだと思います)
んで、エラー箇所がよくわからないのでとりあえず置いといて、
今度は最小化ボタンを表示しないでウィンドウを作ったですが(閉じるボタンのみ)、
この場合にWindowsキー+Dで最小化してもエラーが起きなかったんです。
Windowsキー+Dの最小化、というのは普通(?)の最小化と違うのでしょうか?
また、エラーが発生しなかったので、最小化ボタンを表示しないのであれば
このまま何かエラー対策処理などを加えなくても大丈夫なんでしょうか?
0962デフォルトの名無しさん
2005/07/21(木) 00:57:41多角形のポリゴンを3角形に分割する方法に悩んでいます。
ある配列Aがあり、その中には多角形を構成するn個の頂点のデータが時計回りで連続して入っています。
この配列のデータを3角形を構成するデータに変換するにはどうしたらいいでしょうか。
0963デフォルトの名無しさん
2005/07/21(木) 01:04:50triangulationとかでぐぐるといいそうだ
0964デフォルトの名無しさん
2005/07/21(木) 01:27:19…間違ってたらスマンが
配列に時計回りで連続で入ってるなら
0番目の頂点と、後は配列で連続する2頂点をずらして
三角形を形成して行くだけなんでは?
012
023
034
045
…こんな感じ…
0965デフォルトの名無しさん
2005/07/21(木) 01:32:09ありがとうございます。ドロネー法という難しそうなのがヒットしました。これを考えて見ます。
>>964
FANで構成すると、ひねったような位置に2頂点がくるとまずいことになります。。。
0966デフォルトの名無しさん
2005/07/21(木) 01:34:49凹型ポリゴンで氏ぬ
>>965
Blue Impulse SDKっていうオープンソースなライブラリのなかに
凸型ポリゴンに分割する関数がある。
そこまでやれば964の方法も使える。
少々癖のあるソースだがこいつを研究してみるのもありだ。
0967デフォルトの名無しさん
2005/07/21(木) 02:37:50Delaunay法は点群→三角形群の変換なので、凹多角形→三角形群の変換には使えない。
"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をそのままブラックボックスとして使っちゃったりするけど。
0968965
2005/07/21(木) 22:36:08ありがとうございます。教えていただいたGLUで検索すると
http://graphicsbb.itgo.com/solutions/extrude.html
というところが見つかりました。これでなんとかできそうです。
ありがとうございました。
0969デフォルトの名無しさん
2005/07/21(木) 23:48:48おまいさんがた、どう対処してますか?
d3dxmath.hこんなファイル名だったか
inline
D3DXVECTOR3 operator - 忘れた
{
⇒ return D3DXVECTOR3( x - v.x, y - v.y, z - v.z );
}
こんな汎用的に使う場所で・・・
0970デフォルトの名無しさん
2005/07/21(木) 23:50:480971デフォルトの名無しさん
2005/07/21(木) 23:53:35初回の例外は〜〜〜〜〜とでて止まった。
0972デフォルトの名無しさん
2005/07/22(金) 00:00:05修正するのなら死ぬしかない。
0973デフォルトの名無しさん
2005/07/22(金) 00:04:50そいつは困った。
ブレークポイントも効果ない上に
なかなか症状がでないなぁ。
0974デフォルトの名無しさん
2005/07/22(金) 00:09:17・自動変数をポイントして,それを関数の戻り値にする
・解放したものを使う
ここらへんを やらかしたんだろうか?w
0975デフォルトの名無しさん
2005/07/22(金) 00:38:260976デフォルトの名無しさん
2005/07/22(金) 00:47:420977デフォルトの名無しさん
2005/07/22(金) 00:52:54D3DXINLINE D3DXVECTOR3
D3DXVECTOR3::operator - ( CONST D3DXVECTOR3& v ) const
{
return D3DXVECTOR3(x - v.x, y - v.y, z - v.z);
}
これか。
…構文的には間違ってないように思えるけど。
0978969
2005/07/22(金) 00:59:31名前欄いれるの忘れてた。
D3DXVECTOR3をnewしてもいないのに
ポインタとかありえんしなぁ
void hoge( D3DXVECTOR3* pV )
こんな関数は沢山作っちゃったけど
pVの参照元が何もありません
とかも考えきれんしなぁ
0979デフォルトの名無しさん
2005/07/22(金) 01:01:000980デフォルトの名無しさん
2005/07/22(金) 01:02:41俺の場合は呼び出し元が壊れたオブジェクトだったり、無効なポインタdeleteした後だったってことが多いw
関数は問題ないんだよなww
0981969
2005/07/22(金) 01:04:27おお まさにソレです
とりあえずあやしぃ場所に
assert( pV )
仕掛けまくってみますた
そもそもデバッガ機能を
使いこなせてない俺ガイル
それでは、おやすみ
0982969
2005/07/22(金) 01:07:50STLのvectorでの消し方がまずかったかな
参考にしてみます。ありがとう!!
0983デフォルトの名無しさん
2005/07/22(金) 01:20:52nVidiaのCg以上にむかついた。
混乱するだけだろっての。
0984デフォルトの名無しさん
2005/07/22(金) 02:04:25そろそろデバッガの使い方を覚えた方がいいと思うぞ。
例えば「初回の例外」って何のことだか分かってるか?
0985デフォルトの名無しさん
2005/07/22(金) 09:24:10DX7あたりのエフェクトはクソだったが
今はだいぶ使えるようになったぞ。
頑張って慣れろ、絶対エフェクトマンセーになるから。
0986デフォルトの名無しさん
2005/07/22(金) 09:26:14そういう話じゃないだろ
0987985
2005/07/22(金) 09:26:45それは同意、つーかコンピュータの技術って一般的な名前つけるの
多すぎ。アトラスとかベロシティとか、検索めんどくせーんだよ。
0988デフォルトの名無しさん
2005/07/22(金) 09:30:58英語の中に紛れると非常に不便だよね。
0989デフォルトの名無しさん
2005/07/22(金) 09:34:170990デフォルトの名無しさん
2005/07/22(金) 09:46:260991デフォルトの名無しさん
2005/07/22(金) 10:03:45検索しにくいったらありゃしない。非常にむかつく。
0992デフォルトの名無しさん
2005/07/22(金) 10:11:330994デフォルトの名無しさん
2005/07/22(金) 13:38:380995デフォルトの名無しさん
2005/07/22(金) 13:51:26何であんなに得意気なんだ?
0996デフォルトの名無しさん
2005/07/22(金) 18:17:09またリンク無しか、テンプレ議論も無しか
ここの>>1自体は良いテンプレだけどな(誰も守らんが)
他、初質系の割に、いつまでたっても参考リンクが出来ないとことかどうよ
0997デフォルトの名無しさん
2005/07/22(金) 18:26:19じゃあ次スレよろしく
0998デフォルトの名無しさん
2005/07/22(金) 20:21:15http://pc8.2ch.net/test/read.cgi/tech/1122031254/
0999デフォルトの名無しさん
2005/07/22(金) 20:52:321000デフォルトの名無しさん
2005/07/22(金) 20:53:0410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。