【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/
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を超えています。これ以上書き込みはできません。