トップページ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/
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
過疎板じゃなくなったらな
0209名前は開発中のものです。2009/02/28(土) 00:48:09ID:2m4uNI9k
テクスチャってピクセル数などが決まっているのですか?
0210名前は開発中のものです。2009/02/28(土) 00:49:13ID:06Bz2zAV
>>206
december2004には入ってるわよ。
0211名前は開発中のものです。2009/02/28(土) 01:03:53ID:2m4uNI9k
”最大の”です
写真のようにきれいなテクスチャをあまり見たことがないような気がするので・・・
0212名前は開発中のものです。2009/02/28(土) 01:11:09ID:DND6cZ3D
>>211
GetDeviceCapsで調べる。
0213名前は開発中のものです。2009/02/28(土) 01:16:58ID:2m4uNI9k
d 字が多すぎて挫折しました
そういえばきれいなタイピングゲームとかあったので大丈夫そうですね
0214名前は開発中のものです。2009/02/28(土) 01:29:19ID:0VDZsgXt
>>210
さんくすb
0215名前は開発中のものです。2009/03/02(月) 03:06:12ID:hIPGPAIG
dinput.dllが読み込まれるたびにバスターが警告を出すのですが
バスターの監視を切るしか無いんでしょうか
0216名前は開発中のものです。2009/03/02(月) 08:41:49ID:fGDkkusO
バスターに許可させればいい
0217名前は開発中のものです。2009/03/02(月) 20:59:49ID:VFMR7zWX
描画の処理って全部forループでやるべきですか?
0218名前は開発中のものです。2009/03/02(月) 21:59:53ID:bQtY/Gbi
ループ内で只管呼び出してる
0219名前は開発中のものです。2009/03/02(月) 22:03:22ID:VFMR7zWX
そういうやリ方載ってる本とかサイト有ります?
0220名前は開発中のものです。2009/03/02(月) 22:56:54ID:/gChl0Mw
> そういうやリ方載ってる本とかサイト有ります?
あるよ。「2ちゃんねる」ってサイトに載ってる。

main()
{
 for(;;)
 {
  draw();
 }
}

あとスレタイ読め。つか板名読め >アフォ
0221名前は開発中のものです。2009/03/02(月) 23:35:39ID:VFMR7zWX
>>220
ありがとうございます
0222名前は開発中のものです。2009/03/03(火) 02:37:12ID:mwe6RaJt
春か。
0223名前は開発中のものです。2009/03/03(火) 03:32:36ID:u2VcXB6L
正直普段からそんなにレベルの高い話は出てないけどな
0224名前は開発中のものです。2009/03/03(火) 09:48:16ID:dB0nT5TX
directmusicでBGM
directsoundで効果音
を再生と分けたいのですが
一度に2つ使っても大丈夫ですか?
0225名前は開発中のものです。2009/03/03(火) 09:57:17ID:tafcvigW
確かDirectMusic内部でDirectSound作ってる。DirectSoundは複数作っちゃダメ
しかしDirectMusic作成時に自前で作ったDirectSoundを渡せる

うろ覚えだから違ったらごめんね
0226名前は開発中のものです。2009/03/03(火) 21:34:26ID:c7bu0rMk
定数バッファを作成するときに、サイズを16バイトの倍数にしないとだめだと思うのですが、
これって自分でサイズを計算してダミー用の変数とかを入れて倍数にするしかないのでしょうか?
何か、適当に少し大きめの16の倍数にしてくれるようなマクロとかってないですか?
0227名前は開発中のものです。2009/03/03(火) 22:11:10ID:AybnbhgS
#define D3DX_ALIGN16 __declspec(align(16))
VC6 SP5+プロセッサパック以降
0228名前は開発中のものです。2009/03/03(火) 23:08:40ID:c7bu0rMk
>>227
ありがとうございます!
0229名前は開発中のものです。2009/03/03(火) 23:34:01ID:AybnbhgS
16バイト境界が気になりだしたらSIMD命令使ってるソースを探すのがおすすめ
そういう特殊用途でないなら_aligned_mallocで充分かも
0230名前は開発中のものです。2009/03/06(金) 06:18:09ID:d/e+dnQY
Vistaでスペックも悪くないはずなのですが、DirctX10のサンプルを見ると動作が遅くなりますみたいなのが出て、実際遅いです
みなさんもそうですか?DirectX10は軽いと聞いたのですが
0231名前は開発中のものです。2009/03/06(金) 08:51:03ID:krw72DM5
グラフィックカードがDirectX10に対応してないんじゃね
0232名前は開発中のものです。2009/03/06(金) 09:19:46ID:d/e+dnQY
デルの基本のやつなんですけどね
0233名前は開発中のものです。2009/03/06(金) 09:28:52ID:eBAs0Fhx
この1文で疎さが伝わってきた
0234名前は開発中のものです。2009/03/06(金) 09:35:32ID:krw72DM5
DirectX11対応グラボまだぁ
0235名前は開発中のものです。2009/03/06(金) 10:02:13ID:ln0lUA11
まだDirectX11が完成していないっしょ
0236名前は開発中のものです。2009/03/06(金) 10:38:07ID:krw72DM5
まあそうなんだけど^^;
何言いWindows7まだぁ
0237名前は開発中のものです。2009/03/10(火) 10:04:52ID:a0EcUZ9a
Direct3D9のボリュームテクスチャに、GPUでレンダリングする方法が分かりません
Direct3D10は分かるのですが、もしかしてDirect3D9では出来ないのでしょうか?
0238名前は開発中のものです。2009/03/10(火) 10:57:40ID:SuWs6RHj
ヘルプに書いてある通りだろ。
0239名前は開発中のものです。2009/03/10(火) 11:31:42ID:tBIwgoCU
ヘルプになんて書いてあるか言えよクズ
0240名前は開発中のものです。2009/03/10(火) 16:57:09ID:WgQ3qH5Q
ここでセガ本紹介されて軽く立ち読みしたがあんまり良い事書いてなかったように思うんだが・・・
しかも半分は2次元の話しだし
0241名前は開発中のものです。2009/03/10(火) 17:38:20ID:MoDMNBLG
あれはC++とかの言語の入門書の次に読む本みたいな感じだから
0242名前は開発中のものです。2009/03/10(火) 22:08:04ID:flEm5tfz
>>237
キューブマップのレンダリングするときどうするか考えろハゲ
02432372009/03/11(水) 09:07:39ID:ZCYiepsq
キューブテクスチャはGetCubeMapSurfaceでサーフェイスを取得できます
しかしボリュームテクスチャはGetVolumeLevelでボリュームを取得しますよね

ボリュームから特定の軸で分割したサーフェイスが取得できると思っていたのですが
マニュアルを見てもサーフェイスを取得する方法が分かりません

>>238
ヘルプのどこになんと書いてあるか教えていただけませんか?

>>242
なぜそのような言い方をするんでしょうか
>>239 は私ではありません
どうしたらキューブテクスチャのようにレンダリング出来るのか教えていただけませんか?
0244名前は開発中のものです。2009/03/11(水) 09:36:29ID:8eGg6pAP
つまりヘルプを読めば解決
0245名前は開発中のものです。2009/03/11(水) 09:59:47ID:hc3vLRx5
分かりもしないやつらが偉そうにマニュアル嫁とかwww
0246名前は開発中のものです。2009/03/11(水) 11:27:05ID:k8EMIScN
それが人にものを教えてもらうときの態度かね
0247名前は開発中のものです。2009/03/11(水) 12:10:16ID:hc3vLRx5
気に入らない書き込みは皆自演扱いかよwwww
だいたいマニュアル見ても分からないって奴にマニュアル嫁ってwww

お前らなんでこのスレにいるの?
0248名前は開発中のものです。2009/03/11(水) 12:12:39ID:GinzpUdP
耐性ない奴を煽る為
02492372009/03/11(水) 12:29:06ID:ZCYiepsq
ここでは教えていただけそうにないので他で質問させていただきます
ありがとうございました。
0250名前は開発中のものです。2009/03/11(水) 12:55:05ID:SvFrsTOP
ヘルプにわざわざ、どのオブジェクトがどのステータスに対応しているか、
表にまでしてくれているのに見つからないとか、ヘルプを作ってくれた人に謝れよ。
■ このスレッドは過去ログ倉庫に格納されています