トップページgamedev
987コメント302KB

DirectX総合スレ (Part9)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/02/11(水) 05:00:58ID:viN0kzG2
言語はC++

■過去スレ

DirectX総合スレ
Part 8: http://pc11.2ch.net/test/read.cgi/gamedev/1205306118/
Part 7: http://pc11.2ch.net/test/read.cgi/gamedev/1179516297/
Part 6: http://pc11.2ch.net/test/read.cgi/gamedev/1163691532/
Part 5: http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
0109名前は開発中のものです。2009/02/20(金) 12:22:59ID:MWdNedZj
そもそも引き算でベクトルを作り出すのが先ですよね?
何秒ごとにベクトル作るとかそんな感じですか?
0110名前は開発中のものです。2009/02/20(金) 12:43:13ID:CSnFmAsY
何をやりたいのか1からきちんと説明しろ
お前の頭のなかのイメージなんて誰にも分からん
0111名前は開発中のものです。2009/02/20(金) 12:52:55ID:MWdNedZj
スピードがある速度になったらそれ以上加速しないとか
ある速度以下になったら止まるとかがしたい
そこでスピードの大きさが必要と考えたわけです
0112名前は開発中のものです。2009/02/20(金) 12:57:20ID:UpifdVSu
>>103>>3にお客さんが来てる
0113名前は開発中のものです。2009/02/20(金) 12:57:39ID:4ZlK6cMa
そんなことはサイヤ人にだって出来る
0114名前は開発中のものです。2009/02/20(金) 13:10:41ID:mhW5mlx0
>>111
>>108
0115名前は開発中のものです。2009/02/20(金) 13:19:41ID:MWdNedZj
>>114
これってベクトルがあって長さを測る関数だろ?
今ベクトルがないもん
できないじゃん
0116名前は開発中のものです。2009/02/20(金) 13:36:31ID:mhnpWHYk
>>115
位置情報があって進行方向も分かっているのにベクトルがないとな?
算数からやりなおせ。
0117名前は開発中のものです。2009/02/20(金) 13:55:34ID:MWdNedZj
予想では2点の位置を引いてベクトルを作る
時間で割ってスピードにする
のだろうけどこれは合ってるだろ?
メソッドを作ればいいのか?
例えば0.2秒ごとに位置を記録させる変数を2つ作って引いて0.2で割って変数入れ替えて
みたいな
多分どんなゲームでも使われてるだろうから普通のやり方を知りたい
0118名前は開発中のものです。2009/02/20(金) 14:00:42ID:fULwpfHF
移動速度を現在位置に加算して移動してるんじゃないならその方法しかない
何作ってるか知らないがちゃんと移動速度を現在位置に加算して移動すべき
0119名前は開発中のものです。2009/02/20(金) 14:06:24ID:MWdNedZj
ああ、そういうことかorz
先に移動速度があるべきなのか
実は物理エンジン使ってるから速度の与え方が力なんだよな
だからどういう速度ベクトルがその都度与えられてるかよくわからん
0120名前は開発中のものです。2009/02/20(金) 14:35:34ID:fULwpfHF
物理エンジン使ってるなら速度情報を内部に持ってるはずだから探してみそ
0121名前は開発中のものです。2009/02/20(金) 14:35:53ID:z2/cNDOk
何の物理エンジンつかってるのかしらんけど
普通はGetLinearVelocity的な速度を取得するものがあるだろう
0122名前は開発中のものです。2009/02/20(金) 15:18:01ID:MWdNedZj
bulletです
日本語ヘルプがないからわからないんです
他の使い方ですら一苦労です
0123名前は開発中のものです。2009/02/20(金) 15:27:09ID:MWdNedZj
まさにgetlivervelocityありましたね
使ってみます、ありがとうございました
0124名前は開発中のものです。2009/02/20(金) 15:42:25ID:MWdNedZj
てか無駄な時間過ごしたよな・・・
物理エンジンが速度記録してるなんて思いもしなかった・・・
0125名前は開発中のものです。2009/02/20(金) 15:44:44ID:mhW5mlx0
>>124
よく今まで使って来れたな
とりあえずマニュアルは嫁
0126名前は開発中のものです。2009/02/20(金) 15:54:54ID:z2/cNDOk
そもそも>>107の聞き方が悪い
最初から物理エンジンで動いてる物体の速度が知りたいと聞けばいいのに
「スレ違い」で切られてた可能性もあるが
0127名前は開発中のものです。2009/02/20(金) 16:02:15ID:fULwpfHF
つーか今更だがノルムってなによ^^;
0128名前は開発中のものです。2009/02/20(金) 16:21:16ID:I3Lwzs3D
>>124
速度は力学シミュレーションに必須なパラメータだから無いわけないだろw
0129名前は開発中のものです。2009/02/20(金) 20:45:19ID:evXU+XP5
え、あぁすまん。チェック遅れた。

つ スレ違い。
0130名前は開発中のものです。2009/02/21(土) 01:14:25ID:hYGg7HaI
気にすんな
0131名前は開発中のものです。2009/02/21(土) 07:20:56ID:YiSpzU9j
Utilities/PIX for Windowsなんですが、
パスの選択とA single-frame capture of Direct3D whenever F12 is pressedを押して
Start Experimentでスタートさせたあとに出てくるダイアログでOKを押すとメッシュが表示されるんですが
この画面でF12を押してもなにも反応がなく、Windowを閉じても何も起こらないんですが、どうすれば詳細が表示されるようになるんでしょうか
0132名前は開発中のものです。2009/02/21(土) 07:25:35ID:YiSpzU9j
すいません違うサンプルファイルを指定したらできました
0133名前は開発中のものです。2009/02/21(土) 08:42:41ID:cmfJQn55
聴いた瞬間違う事を思いつくのはよく有る話
0134名前は開発中のものです。2009/02/22(日) 15:09:16ID:gPxrFHG0
DirectX11ってwindow7を買ったら絶対ついてくるの?
0135名前は開発中のものです。2009/02/22(日) 16:54:23ID:VVEJu0pp
ついてくるの意味がわからん。
windows updateでvista以降ならインスコ可能だろ。
0136名前は開発中のものです。2009/02/22(日) 16:58:50ID:gPxrFHG0
OSによって使えるのと使えないのが決まるのか、ふ〜ん
0137名前は開発中のものです。2009/02/22(日) 20:44:33ID:8L1BVi2k
人間が見てるみたいに画面が丸あるく見えるようにするにはどうすればいいですか?
0138名前は開発中のものです。2009/02/22(日) 20:58:00ID:wWca5jI7
丸あるくってどんな吸血鬼だよ
0139名前は開発中のものです。2009/02/22(日) 21:37:02ID:u/qINL6k
いっている意味がわからん。
俺の視界は長方形ハイビジョンぬだけど?
0140名前は開発中のものです。2009/02/22(日) 22:04:40ID:VVEJu0pp
魚眼レンズがやりたいんだろう
0141名前は開発中のものです。2009/02/22(日) 22:12:35ID:qqTXixEn
陸上生物に魚眼レンズはないだろ。

最後に瞼の裏を描画すれば?
0142名前は開発中のものです。2009/02/23(月) 00:04:52ID:qkOvLQpZ
天球のこととか
0143名前は開発中のものです。2009/02/23(月) 00:45:59ID:KPcL68Nm
>>142
おまえよー
天球やりたい奴が、
>人間が見てるみたいに画面が丸あるく見えるようにするにはどうすればいいですか?
こう書くか?

天球じゃねーからみんな困ってんだろ
0144名前は開発中のものです。2009/02/23(月) 00:55:50ID:gP6+2+EK
画面の周囲を曇らせたいとか?
0145名前は開発中のものです。2009/02/23(月) 03:20:53ID:ppDKG7w5
「人間が見てるみたいに」ってあるから、
FPSの死に際にあるような、周りが暗くなるやつじゃね?
0146名前は開発中のものです。2009/02/23(月) 09:01:18ID:kzZ78EMZ
>>143
天球に決まってるだろ低学歴
0147名前は開発中のものです。2009/02/23(月) 09:16:22ID:9JlXbsvU
>>141
ワロタwww
0148名前は開発中のものです。2009/02/23(月) 13:30:17ID:9JlXbsvU
ああよく見たら笑う所じゃないな
0149名前は開発中のものです。2009/02/23(月) 21:20:15ID:kzZ78EMZ
頭悪いな
0150名前は開発中のものです。2009/02/24(火) 00:19:29ID:YOUOb7/U
vistaを使ってる場合はDirectX10の本で勉強したほうがいいんですか?
0151名前は開発中のものです。2009/02/24(火) 00:19:49ID:Yn91R5qN
あれだろ
背景モデル等を超巨大な球場に配置して
リアル地球にすればいいんじゃね

ようは水平線が丸く見える感じでいいんでしょ
若しくはシェーダーで歪ませるとか


天球ってww
0152名前は開発中のものです。2009/02/24(火) 01:25:21ID:XG02E1ib
なにが気に入らないんだ
0153名前は開発中のものです。2009/02/24(火) 04:23:08ID:0BC3GxV3
>>150
自分の趣味の範囲でやるなら10
作った作品を誰かに見せたい(同人や就職活動作品)なら9
0154名前は開発中のものです。2009/02/24(火) 10:38:07ID:7ZNJKJuB
一枚のメッシュを両面から見えるようにするにはどうすればいいですか?
0155名前は開発中のものです。2009/02/24(火) 11:17:58ID:qHf+L1P0
かりんグー
0156名前は開発中のものです。2009/02/24(火) 11:32:04ID:7ZNJKJuB
ありがとうございますた
0157名前は開発中のものです。2009/02/24(火) 11:37:31ID:MRr1PTpM
ノーマルの問題はいいんですか?^^;
0158名前は開発中のものです。2009/02/24(火) 13:11:44ID:7ZNJKJuB
ノーマルって何?垂線?
0159名前は開発中のものです。2009/02/24(火) 13:20:01ID:MRr1PTpM
法線
0160名前は開発中のものです。2009/02/24(火) 13:48:27ID:7ZNJKJuB
それともう一つ
板にjpgを貼るだけなのですが、色が混ざって絵が表示されないのですが、何が問題かわかりますか?
0161名前は開発中のものです。2009/02/24(火) 14:30:03ID:KBv8n3t2
頂点カラー(どきつい色)有効にしているとか
0162名前は開発中のものです。2009/02/24(火) 15:24:37ID:hHRqd+4O
>>160
http://pc11.2ch.net/test/read.cgi/tech/1229078397/619-625
0163名前は開発中のものです。2009/02/24(火) 15:54:23ID:7ZNJKJuB
できました、ありがとうございました
0164名前は開発中のものです。2009/02/25(水) 01:30:13ID:Sq02wWRN
質問があります。
どなたかお答えいただきたく、お願いします。

現在描画中の画面をキャプチャして、
LPLLD3DTEXTUREなどで扱うテクスチャにすることはできますか?

IDirect3DDevice9::GetFrontBufferData
を使えばサーフェスにはできるのですが、
それをテクスチャとして利用する方法がわかりません。
よろしくお願いします。
0165名前は開発中のものです。2009/02/25(水) 01:47:50ID:Gz5E1RME
1.CreateTextureでフレームバッファと同じサイズ&フォーマットのテクスチャを作る
 Usageには D3DUSAGE_RENDERTARGET 、Poolには D3DPOOL_DEFAULT を指定する。

2.テクスチャからGetSurfaceLevelを呼んでLPDIRECT3DSURFACE9を取得

3.SetRenderTargetでさっき取得したテクスチャのサーフェスを指定して普通に描画
01661642009/02/26(木) 00:22:59ID:b3xdFz5J
>>165
回答ありがとうございます。
しかし、できれば描画処理を再実行することなく、
現在のBackBafferの内容をコピーする方法を教えていただきたく。
よろしくお願いいたします。
0167名前は開発中のものです。2009/02/26(木) 00:31:42ID:2wth0trK
いらんこと考えないで最初っからテクスチャにかいとけよ
01681642009/02/26(木) 00:37:53ID:b3xdFz5J
解決しました!
ありがとうございました

LPDIRECT3DSURFACE9 pSurface;
LPDIRECT3DSURFACE9 backSurface;
RECT rct;
LPLLD3DTEXTURE tex;
pd3ddev->CreateTexture(w,h, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &tex, NULL );
tex->GetSurfaceLevel( 0, &pSurface );
SetRect(&rct,0,0,w,h);
pd3ddev->GetBackBuffer( 0, 0, D3DBACKBUFFER_TYPE_MONO, &backSurface );
pd3ddev->StretchRect( backSurface, &rct, pSurface, &rct, D3DTEXF_NONE );
RELEASE( pSurface );
RELEASE( backSurface );
0169名前は開発中のものです。2009/02/27(金) 01:39:33ID:nJ1vIB6C
今、長さと格平面への角度がわかっているのですが、ここからサインコサインを使わずにdirectXの行列の関数や計算で各成分を出すにはどうすればよいでしょうか?
0170名前は開発中のものです。2009/02/27(金) 02:08:38ID:j0zcAsl+
>格平面への角度
ここをもっと詳しく
0171名前は開発中のものです。2009/02/27(金) 10:02:05ID:nJ1vIB6C
それぞれの平面への角度です
0172名前は開発中のものです。2009/02/27(金) 14:00:15ID:FYlz4hO3
>>169
よく読み直せ
主語が一つもはいってないぞ
0173名前は開発中のものです。2009/02/27(金) 14:17:46ID:nJ1vIB6C
長さや角度がわかっているベクトルのxyz成分を出したいのですが、どういう方法でやればいいのでしょうか?ってことです
サインコサインは使うべきでないと聞いたので、できれば違う方法でお願します
0174名前は開発中のものです。2009/02/27(金) 14:25:22ID:f0tpUgnz
そもそも、なぜサインコサインを使うべきではないのかを考えたうえで、
それでも使いたくない理由を聞きたい。
0175名前は開発中のものです。2009/02/27(金) 14:37:57ID:FYlz4hO3
平面じゃなくて
各軸ベクトルとの角度ってこと?
ベクトルの成分がわからないのに
角度が分かってるってどういう状況がよくわからないんだけど
0176名前は開発中のものです。2009/02/27(金) 14:38:42ID:nJ1vIB6C
C言語ではサインコサインは通常使えないって聞いた
そういうシステムを使うと重くなるとも聞いたので計算でできないかと思った
0177名前は開発中のものです。2009/02/27(金) 14:40:56ID:bT3Vr193
誰に聞いたの?
0178名前は開発中のものです。2009/02/27(金) 14:41:57ID:nJ1vIB6C
ネット
0179名前は開発中のものです。2009/02/27(金) 14:43:53ID:nJ1vIB6C
Cの初心者板とかの掲示板だったと思う
使って問題ないなら使うけど
成分を計算で出すそもそも数学的なことがわからなかったのも含め聞いた
0180名前は開発中のものです。2009/02/27(金) 14:45:34ID:ze4xHf90
安心して使っていいと思うよ^^
他の手段でやる方が重いと思うよ^^

特定のベクトルを求めるにはxyzと同等の3つの要素が必要なので
「長さ」と「角度」だけでは求まらない。この場合は「角度2」みたいなものが無いと
0181名前は開発中のものです。2009/02/27(金) 14:58:21ID:HHEANRok
オイラー角をベクトルにしたいに300ウォン
0182名前は開発中のものです。2009/02/27(金) 15:01:24ID:nJ1vIB6C
じゃあ普通にサインコサイン使います
ありがとうございました
0183名前は開発中のものです。2009/02/27(金) 15:02:42ID:FYlz4hO3
オイラー角だったら、回転前のベクトルがあるんじゃ?
0184名前は開発中のものです。2009/02/27(金) 15:22:47ID:f0tpUgnz
そもそもC言語でsin cosが使えないと思ってる段階では
DirectXは早すぎる希ガス
一般的な、Cのライブラリは覚えとかんときびしいぞ
0185名前は開発中のものです。2009/02/27(金) 19:40:34ID:AIzfhI3H
sin con が名前しかわからないんですが
なんとかなりますか?ゲーム用の数学勉強したほうがいいですか?
それとも数学からやらないと厳しいですか?
0186名前は開発中のものです。2009/02/27(金) 20:49:18ID:xmgpHz+a
>>185
コンピュータグラフィックスの基礎を抑えようと思うなら高校数学(数II/B以上)は必要だよ。
2次元/3次元空間における物体を円を描くように移動させたり、
物体をくるくると回転させたりするのにsin/cosを使うことになる(かもしれない)。
0187名前は開発中のものです。2009/02/27(金) 20:55:38ID:HElReRzd
3D空間のカメラ位置を制御するのに三角関数使ってるb
ベクトルが分かるようにはなっといた方がいいかと・・
0188名前は開発中のものです。2009/02/27(金) 21:01:57ID:72hC8Fkf
一週間もやればだいたいOKな内容なのでさっさとやれといいたい
0189名前は開発中のものです。2009/02/27(金) 21:06:37ID:AIzfhI3H
まじですか
こう動かしたい時はこの式とかで組み合わせてなんとかなるような代物じゃないですか?
自分中学高校とずっとクラスでビリか、ほとんど学校来ないやつにたまに勝ってブービーのレベルなんですが
ほんとに必要だとすると高校数学の為に中学数学が必要なんじゃないんですか?
今までソフトはC++でいろいろ作ってきたんですが、DSPの処理とか補間とか部分的な公式を埋め込んで作れて来たんですが
DirectXは中身を理解できないと絶対無理な世界なんでしょうか?
とりあえず今やってる飛行機を円運動で移動させるのに詰まって、どうも無理な気がしてきたんです
数学とか言ってちょっと半端ないので本を買いまくる前にもうひと押しください
0190名前は開発中のものです。2009/02/27(金) 21:11:00ID:72hC8Fkf
>>189
数学は積み重ねだからできないもどのレベルでできないかで違うな
四則演算と分数ぐらいは理解しとけ
あとは気合でどうにかなる
まず、高校の教科書の超絶簡単な本をさらっと読んで理解するぐらいでいいんじゃね?
正直、あんまり難しいこといらないよ
0191名前は開発中のものです。2009/02/27(金) 21:24:03ID:AIzfhI3H
数学はじめます。ありがとう
まさか物理はいらないですよね?
0192名前は開発中のものです。2009/02/27(金) 21:32:16ID:72hC8Fkf
>>191
数学終わってからほざけよ
0193名前は開発中のものです。2009/02/27(金) 21:41:50ID:AIzfhI3H
すいません総合的に計画したくて・・・
0194名前は開発中のものです。2009/02/27(金) 21:45:44ID:f0tpUgnz
>>189
いきなりクオーターユニオンからやるなってw
最低限やらんとあかんのは代数幾何。
ベクトル、行列演算、ほとんどこればかりだからこれだけはやっておけ
0195名前は開発中のものです。2009/02/27(金) 21:46:31ID:HElReRzd
やりたい内容による
必要になったら覚えるで間に合うと思う。
0196名前は開発中のものです。2009/02/27(金) 21:57:38ID:rfvknwN/
けど基本を知らないと、これの名称が分からなくてググレ無いって事になつよ。
0197名前は開発中のものです。2009/02/27(金) 21:58:27ID:xmgpHz+a
>>191
物体が落ちたり跳ねたりする現象を正確に再現したいと思ってるなら物理も必要。
でも普通はそれっぽいので妥協する。
0198名前は開発中のものです。2009/02/27(金) 23:00:54ID:y5d4vapu
> C言語ではサインコサインは通常使えないって聞いた
厳密に言うと三角関数はC言語の仕様に含まれないが、
数学ライブラリを使えば使えるようになる。

> DSPの処理とか補間とか部分的な公式を埋め込んで作れて来た
基本的なスキルはあると思うけど、
三角関数だけならそんなに敷居は高くないと思うよ。
引数が度数法かラジアン法かで実装時に戸惑うかと思うけどw

> 飛行機を円運動で移動させる
本来飛行機は円運動しない。
円運動しているように見える事があったとしても、
それは全ての舵やスロットルを絶妙に制御しているからで、
サインコサインで直に円運動させるのは、
物理法則を無視する事になると思うよ。
もちろんそれは貴方のゲームデザインの話だし、
それで問題ないと思うけど、だったら物理はスルーでおkだw
0199名前は開発中のものです。2009/02/27(金) 23:11:59ID:nJ1vIB6C
重さは気にするほども無いようですね
いろいろありがとうございます
0200名前は開発中のものです。2009/02/27(金) 23:15:20ID:bT3Vr193
標準ライブラリも含めてC言語の仕様なんだが、何が厳密なんだ?
適当かますのも大概にしろよ。
0201名前は開発中のものです。2009/02/27(金) 23:19:27ID:j0zcAsl+
まぁ、昔は算術関数の計算量を嫌って
テーブルからsincos値読み出してたりもしたけど
いまのPCだったら気にするほどじゃないのかもね
0202名前は開発中のものです。2009/02/27(金) 23:25:36ID:xmgpHz+a
>>201
いや、テーブル参照は逆に遅くなる場合があるよ。てか俺はテーブル参照で遅くなった。

0203名前は開発中のものです。2009/02/27(金) 23:32:37ID:zWNsEEuA
テーブルは昔携帯アプリ作る時に使ったな
0204名前は開発中のものです。2009/02/27(金) 23:57:28ID:bGEIlXs8
テーブルなんて最近は飯食うときにしか使ってないな。
0205名前は開発中のものです。2009/02/28(土) 00:01:15ID:1Il8Aqpr
今どきのPCはsincosも組み込み関数だしな・・・
テーブルはキャッシュミスのデメリットしかねえ。
0206名前は開発中のものです。2009/02/28(土) 00:27:03ID:0VDZsgXt
2007JuneのUtilityにはBinとSourceがあって、DxViewerのソースが読めるんだが、
2003sumeerのmview.exeのソースってある?
0207名前は開発中のものです。2009/02/28(土) 00:28:42ID:DND6cZ3D
またDirectX以外の話になってるなw

でも新たに3Dスレ建ててもしょうがないし、
いい隔離方法ないかね?w
0208名前は開発中のものです。2009/02/28(土) 00:33:14ID:QOItwbhs
過疎板じゃなくなったらな
■ このスレッドは過去ログ倉庫に格納されています