トップページgamedev
1001コメント376KB

DirectX総合スレ (Part6)

■ このスレッドは過去ログ倉庫に格納されています
0001DirectX62006/11/17(金) 00:38:52ID:lRjOsWKq
言語はC++
他の言語使ってる奴はいますぐ消えろ

■過去スレ

DirectX総合スレ
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 5: http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/
0213名前は開発中のものです。2007/01/30(火) 10:39:38ID:RaYmE1RN
昔DirectX5の時代にDirectX3DIMいじっていてサーフェイスの管理がめんどくさすぎて
挫折したへたれなんですが、最近のバージョンでもIMはそんなもんですか?
VC++Expressが無料ということで再挑戦しようと思っているのですが、MFC使わないで
組み方を説明しているサイトや本でお勧めのがありましたら教えてください。m(_)m

0214名前は開発中のものです。2007/01/30(火) 11:13:00ID:G09dYyDG
今はライブラリも結構出てるからそれ使えば問題ない
0215名前は開発中のものです。2007/01/30(火) 11:19:31ID:mSsPPcjQ
>>212
MIDI自体がCPU消費しまくる
Pen4 1.8Gじゃそんなもんだろ
0216名前は開発中のものです。2007/01/30(火) 11:34:29ID:G09dYyDG
WinのゲームでのMIDIってネット環境が貧相だった時代の苦肉の策って気がするな。
MIDIは専用ハードが無いと厳しいし今ならOggがベストなんじゃないかねぇ。
0217名前は開発中のものです。2007/01/30(火) 12:07:26ID:bT9TxsoI
>>213
DirectX3DIMはDX7のしかやった事ないけど、DirectXGraphicsの方が簡単だと思う。
サイトはこの辺がいいんじゃね?

ttp://www.plustarnet.com/aspil/Programming/
ttp://www.twin-tail.jp/
ttp://monsho.hp.infoseek.co.jp/index.html

まあ、ちょっと古いからそのままだとコンパイル通らなさそうだけどw
0218名前は開発中のものです。2007/01/30(火) 12:50:43ID:RaYmE1RN
>>217
ありがとうございます。
いつのまにかDirectXGraphicsに3Dも2Dも統合されていたのか・・・かなりウラシマですorz
あと、上記サイトの中で最新のDirectX9SDKではwin2000が未対応になったという記述がありますが、
これは開発環境だけで、実行環境ではwin2000でも98でも問題ないですよね?
0219名前は開発中のものです。2007/01/30(火) 12:54:32ID:4gHdVOHh
一度でも質問に答えが返ってくると、調べればすぐ分かることまで、
調子に乗って延々と質問し続けるんだよね。
0220名前は開発中のものです。2007/01/31(水) 09:58:57ID:n451U0UK
>>218
問題ないよ。
0221名前は開発中のものです。2007/01/31(水) 19:17:53ID:kII7Zcj2
>>218
98はDirectX9がインストールできないかな?
でも98自体使ってる人がほぼ皆無の状態って感じ。
エロゲでも2000 XPのみサポートってのが結構ある状態。
こっから先を調べたけりゃ自分で探すしかない。
おそらく誰に聞いても同じ。
0222名前は開発中のものです。2007/01/31(水) 20:09:25ID:Oa6nAGvx
ランタイムのインストールができませんですた@2k。(さっき)
0223名前は開発中のものです。2007/01/31(水) 23:45:10ID:NKCnpIjT
SDKはともかく、
2000でも、DirectX9は動く。

SDKに関しては、

http://pc10.2ch.net/test/read.cgi/tech/1132965206/65
によると、

>日本語ヘルプがある最新版 = 2004OCT
>Win2000サポート最新版 = 2004DEC
>実際にWin2000で使える最新版は? = 手動で解凍してincludeとlibを設定すりゃ新しい奴

らしい。

0224名前は開発中のものです。2007/01/31(水) 23:48:30ID:2NGbPsUX
両方 Extra update が出てるね
0225名前は開発中のものです。2007/02/01(木) 01:20:23ID:62s13ds+
ライタイムならDirectX9は初代Windows98からサポートしてんぞ。
0226名前は開発中のものです。2007/02/01(木) 10:04:40ID:VVBfqW3G
SDKのバージョンアップって開発環境へのサポートとバグフィックスだけなんだろうか?
機能追加したらランタイムの方も同じようにアップデートされないといけないはずだけど
9.0c以降は変わってないし・・・(最新のは10になったけど)
0227名前は開発中のものです。2007/02/01(木) 10:11:31ID:62s13ds+
9.0cの変更は基本的にD3DX部分だよ
0228名前は開発中のものです。2007/02/01(木) 20:06:59ID:bfeNRfzV
つまりDirectXはWindowsVistaにしか対応してないってこと?
0229名前は開発中のものです。2007/02/01(木) 20:53:57ID:+wT1NZuz
バージョン名が抜けてると意味不明だぞ。
0230名前は開発中のものです。2007/02/01(木) 21:50:31ID:62s13ds+
DirectX9.0cならWin98〜WinVista
DirectX10ならWinVista
0231名前は開発中のものです。2007/02/02(金) 08:42:56ID:Sm1TudfY
シェーダー部ぐらいしか変わってないのかなーXanimeは直す気あるのか・・・・
0232名前は開発中のものです。2007/02/02(金) 10:28:04ID:JojtMufP
最新のランタイム
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3
(WEBインスト)

ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=77bc0499-19d0-46b6-a178-033d9e6c626b
(配布用フル版)
とでは対応OSが違う?(配布用はXP以降しか書いてない)
0233名前は開発中のものです。2007/02/02(金) 20:34:35ID:BhxDSdQi
どうしてDirectX9.0cっぽいんだぜ?
0234名前は開発中のものです。2007/02/05(月) 10:25:55ID:lSeqSdOl
DirectX SDK - (February 2007) 来たね誰か要点プリーズ
http://www.microsoft.com/downloads/details.aspx?FamilyID=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=en
0235名前は開発中のものです。2007/02/05(月) 19:17:41ID:OPgL+vCq
>>234
PIX 64-bit Support
PIX Vista Limited User Account Support
PIX Direct3D 10 Frame Counters
DirectSound Header Updated with Windows Vista Specific Speaker Configurations
Documentation for DirectX 9 for Windows Vista
New Technical Article: Installation Best Practices for Massively Multiplayer Online Games
Samples
0236名前は開発中のものです。2007/02/05(月) 20:11:20ID:3/EuoL+V
>>235
基本はVista対応みたいね。
この板的にはMMO用の Technical Article が気になる人が多いかな?

あとは、
>PIX Direct3D 10 Frame Counters
これどういう意味?
もう 3Dだけ DirectX 10 に移行する準備に入ってるの?
0237名前は開発中のものです。2007/02/07(水) 17:59:20ID:wgdzGX6N
DirectX SDK - (ファブリーズ 2007) 来たね誰か要点プリーズ
http://www.microsoft.com/downloads/details.aspx?FamilyID=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=en
0238名前は開発中のものです。2007/02/07(水) 19:45:20ID:i3Jc8Mrd
http://www.microsoft.com/downloads/details.aspx?familyid=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=en
http://www.microsoft.com/downloads/details.aspx?familyid=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=kr
http://www.microsoft.com/downloads/details.aspx?familyid=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=cn
↑リダイレクトされる↓できねー
http://www.microsoft.com/downloads/details.aspx?familyid=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=ja
0239名前は開発中のものです。2007/02/07(水) 20:21:54ID:vfq2nQXW
ファブリーズの原料ってとうもろこしだっけ?
まさか甘いとは…。
0240名前は開発中のものです。2007/02/09(金) 01:46:02ID:hPustHoC
いつの間にかDX10のシェーダコンパイラがデフォになってるし。。
DX9版よりバグってるんだよねこれ
0241名前は開発中のものです。2007/02/11(日) 19:00:39ID:vHhvTuXd
一旦GDIでLoadImageして加工した画像をテクスチャにしたいんですが、
良い方法はありませんか?
D3DXCreateTextureFromFileInMemoryExを使っても上手く行きません。
0242名前は開発中のものです。2007/02/11(日) 19:18:41ID:YaP+EzGI
>>241
もうお前色々駄目そうだからテクスチャロックして直接書き込め。
http://www.c3.club.kyutech.ac.jp/~sukiyaki/index.php?%A5%C6%A5%AF%A5%B9%A5%C1%A5%E3
//========================================================
//テクスチャを作成します。
//=========================================================
LPDIRECT3DTEXTURE9 lpTex;
D3DXCreateTexture( lpDev, 256, 256, 0, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, &lpTex )
//==================================
//テクスチャをロックします。
//==================================
D3DLOCKED_RECT TexRect;
lpTex->LockRect( 0, &TexRect, NULL, 0 );
//==================================
//ここで画像データを転送
//==================================
LPDWORD p1 = (LPDWORD)TexRect.pBits;
DWORD pitch = TexRect.Pitch / sizeof(DWORD);
for ( long y = 0; y < height ; y++ )
{
for ( int x = 0; x < width; x++ )
{
p1[x] = 色;
}
p1 += pitch; //次の行
}
//==================================
//テクスチャのロック解除
//==================================
lpTex->UnlockRect( 0 );
0243名前は開発中のものです。2007/02/11(日) 19:22:01ID:7Kz7zOS1
すっげぇ遅そう。
0244名前は開発中のものです。2007/02/11(日) 22:31:35ID:YaP+EzGI
>>243
GDIからじゃこんなもんじゃねぇの?
次の行までのpitchわからんからまとめて一括は無理にしても
1行単位でならコピー効くかもしれんけどな。
0245名前は開発中のものです。2007/02/12(月) 01:15:19ID:1zg0hmwu
サーフェスをバックバッファに送る処理で、
StretchRectを使ってもUpdateSurfaceを使っても
PCによって機能しなかったりするんですが、
解決方法はありませんか?
0246名前は開発中のものです。2007/02/12(月) 01:22:22ID:plVCQxuc
フォーマットが一致してないからじゃないからじゃね?
0247名前は開発中のものです。2007/02/12(月) 08:10:24ID:p30dm0u1
>>245
サーフェイス間転送時のサポートしてるフォーマットの組み合わせを
起動時に調べてから対応している組み合わせてサーフェイスを作らないと
だめなんだがちゃんと全パターン調べてるのか?
0248名前は開発中のものです。2007/02/12(月) 22:45:19ID:TlktwnL7
このスレを見ている人はこんなスレも見ています。(ver 0.20)
【C++】 DirectX初心者質問スレ Part12 【C】 [プログラム]
幽霊は本当にいるのか [オカルト]
くだすれDirectX(超初心者用) [プログラム]
アップローダーを設置している人 Part15 [自宅サーバ]
おいでよ どうぶつの森 雪の後の虹326本 [携帯ゲーソフト]
0249名前は開発中のものです。2007/02/12(月) 23:41:22ID:c0d7WB0w
Direct幽霊
0250test ◆FUzsiuVJ3o 2007/02/14(水) 02:13:04ID:JixpNvVM
aaa
0251名前は開発中のものです。2007/02/18(日) 23:46:00ID:CGKldAxg
DirectXの勉強って何から始めればいいんだ?
0252名前は開発中のものです。2007/02/19(月) 00:10:32ID:psiCwyAw
ウィンドウ作るところから
0253名前は開発中のものです。2007/02/19(月) 00:12:49ID:ATJMAxhO
>>252
それは分かったから次は?
0254名前は開発中のものです。2007/02/19(月) 00:18:18ID:3WdCgCoJ
まずどこまでは勉強したと自分で考えてるんだ?
0255名前は開発中のものです。2007/02/19(月) 00:21:13ID:ATJMAxhO
>>254
現在日本語版ドキュメントを読んでて、
そして、JavaとC++の違いに愕然中。
0256名前は開発中のものです。2007/02/19(月) 00:45:10ID:psiCwyAw
DirectXの初期化するところから
0257名前は開発中のものです。2007/02/19(月) 00:52:04ID:ATJMAxhO
>>256
というか、勉強方法が木になる
0258名前は開発中のものです。2007/02/19(月) 00:55:05ID:F8Y4FgMk
>>255
先ずは、JavaでOpenGL(JOGL)から始める事を勧める
0259名前は開発中のものです。2007/02/19(月) 01:52:27ID:psiCwyAw
>>257
俺は時代的にちょうど盛り上がってたELの中身を見て勉強してた
0260名前は開発中のものです。2007/02/19(月) 02:25:14ID:ATJMAxhO
無理だ、こんな詳細全部覚えられる筈が無い。
一字一句覚えないとプログラムできないんだろ?
0261名前は開発中のものです。2007/02/19(月) 04:01:37ID:eHiuJ+Ia
>>260
とりあえずあれだ、向いてないんじゃないk(ry

頻繁に使う物(幾つか作ると自然に覚える)だけ頭に入れておけば困る事はないだろ?
その他の”よくわからん”物は、概要だけ覚えて後は必要な時に調べれば何の問題もないと思うのだが・・?

どんな考え方したら、丸暗記しないとプログラム書けないとか思うんだろうか・・・。
0262名前は開発中のものです。2007/02/19(月) 10:30:13ID:psiCwyAw
Cの本とか暗唱できるくらい覚えてからプログラム始めたのだろうか・・・
0263名前は開発中のものです。2007/02/19(月) 14:24:42ID:bKmqCNxd
始めたばかりの自分でも演算子の種類くらいは暗礁できるよ!(誤字)
0264名前は開発中のものです。2007/02/19(月) 16:10:28ID:3WdCgCoJ
じゃーとりあえず20個くらいヨロ
0265名前は開発中のものです。2007/02/19(月) 20:03:04ID:guzBUV+n
(1)->
(2)<<
(3)? :
(4)わからん…
0266名前は開発中のものです。2007/02/19(月) 20:15:29ID:st8FL8zK
問題の解決に当たって、

 必要な知識を洗い出せるのが理系

 必要な知識を洗い出せないのが文系
0267名前は開発中のものです。2007/02/19(月) 20:33:25ID:ELrN9bkj
理系とか文系とか言ってるやつが文系
0268名前は開発中のものです。2007/02/19(月) 20:51:52ID:mNw18ix4
ちなみに理系とか文系なんて存在しない
血液型とか星座占いと同レベルな話
>>266みたいなのは簡単に宗教の手におちるタイプ
02692632007/02/19(月) 20:58:29ID:VwGyTHgo
>264
ボケ殺しイクナイ
0270名前は開発中のものです。2007/02/19(月) 21:09:47ID:m25nDkLZ
理系文系なんて、ただの所属グループ名にすぎない。
重要なのは、数学ができるかできないかだ。
0271名前は開発中のものです。2007/02/19(月) 21:27:20ID:st8FL8zK
>>267-268
いや、俺は芸術系だよw
0272名前は開発中のものです。2007/02/19(月) 22:23:23ID:3WdCgCoJ
それは多分世間的には文系と呼ばれる
0273名前は開発中のものです。2007/02/19(月) 22:40:59ID:st8FL8zK
じゃぁ体育系は理系か?w
0274名前は開発中のものです。2007/02/19(月) 23:11:02ID:m25nDkLZ
しょうがないなぁ。

今日から、コメントは、
//DirectGraphics を初期化しマッスル
という方向で行きましょう。
0275名前は開発中のものです。2007/02/19(月) 23:55:27ID:E6YPoGSB
>DirectGraphics
そんな名前の物はDirectXには存在しないのでスレ違い
0276名前は開発中のものです。2007/02/20(火) 00:33:32ID:4q62mV0F
なぜかDirectGraphicsって勘違い多いな
0277名前は開発中のものです。2007/02/20(火) 02:24:40ID:Dv7TWhFd
昔のDirectXのDirectMusic使ってSMFを再生すると
BankSelect(LSB,MSBともに)が無視されちゃうんだけどこれって9にすれば直るのかな・・・
windowsのMCI使うと何故かかなりラグあるしなんとかDirectMusicでやりたいんだけど
0278名前は開発中のものです。2007/02/20(火) 15:03:15ID:Qq4kmJPB
>>275
意味がわかってるし通称としても浸透し始めてるのに知らないフリなんて
剣道部にいた嫌われ者の先輩みたいだ。
0279名前は開発中のものです。2007/02/20(火) 15:49:47ID:LiOVM5p/
そんな通称はないし、浸透もしていない。
0280名前は開発中のものです。2007/02/20(火) 15:54:58ID:Qq4kmJPB
>>279
プゲラ
DirectGraphics の検索結果 約 20,700 件中 1 - 10 件目 (0.09 秒
0281名前は開発中のものです。2007/02/20(火) 15:56:05ID:Qq4kmJPB
スペース入れるとさらに出てくるな。

"Direct Graphics" の検索結果 約 68,600 件中 1 - 10 件目 (0.13 秒)
0282名前は開発中のものです。2007/02/20(火) 16:05:17ID:+OoxkDpq
http://www.google.co.jp/search?num=100&hl=ja&inlang=ja&ie=Shift_JIS&q=DirectX-Graphics&btnG=Google+%8C%9F%8D%F5&lr=
0283名前は開発中のものです。2007/02/20(火) 21:28:51ID:Djc4pHpZ
単なる勘違いの蔓延を通称とか言っちゃうのが痛々しいな・・・
0284名前は開発中のものです。2007/02/20(火) 21:39:44ID:e8d8KgDh
まあ、「間違いは認めるから察してくれよ」という気持ちも十分に理解できるけどなw
0285名前は開発中のものです。2007/02/20(火) 21:49:01ID:sRqaFSkH
化石は死ねば?w

ttp://msdn.microsoft.com/library/ja/directx9_c/directx/intro/dx9whatsnew.asp?frame=true#Graphics
0286名前は開発中のものです。2007/02/20(火) 22:02:53ID:T9oBMriI
今日も☆とかちつくちて☆聞くお
0287名前は開発中のものです。2007/02/20(火) 23:02:57ID:LmVgoIKi
800×600の2Dスクリーン座標から3D座標への変換作業で苦戦してます。
(マウスクリックした所と3D空間の地面の照合)

IDirect3DDevice9* DEV;

※mouseXには0〜800、mouseYには0〜600の数値が入ります

D3DXVECTOR3 vec1(mouseX, mouseY, 0);
D3DXVECTOR3 vec2;

D3DVIEWPORT9 vp;
DEV->GetViewport(&vp);
D3DXMATRIX vmat;
DEV->GetTransform(D3DTS_VIEW, &vmat);
D3DXMATRIX pmat;
DEV->GetTransform(D3DTS_PROJECTION, &pmat);
D3DXMATRIX wmat;
DEV->GetTransform(D3DTS_WORLD, &wmat);
::D3DXVec3Unproject(&vec2, &vec1, &vp, &pmat, &vmat, &wmat);


この様にコードを書いたのですが、返値ベクトル vec2 に
意味不明な数値が返ってきて困ってます。(-1.005, -1.005, 1)とか。
正規化してるとしても数値が小さすぎます。

::D3DXVec3Unproject関数の使い方を間違ってるでしょうか?
0288名前は開発中のものです。2007/02/20(火) 23:31:26ID:ytsjXu3K
D3DXVECTOR3 vec1(mouseX, mouseY, 0);

そもそもこれは何?
奥行きが潰れている状態で、ベクトルも対象物も分からないのに何が出るっていうんだ?
窓ガラスに鼻くそを付けて、ここが地面なんだとのたまうのか?
頭がおかしいんじゃないのか?
0289名前は開発中のものです。2007/02/20(火) 23:43:35ID:Djc4pHpZ
>>288
>D3DXVECTOR3 vec1(mouseX, mouseY, 0);
これは別におかしくはないぞ。
透視変換後のスクリーン座標で指定するから0.0fなら
正しくワールド空間に展開されればニアクリップの値になる。

あぁでもD3DXVec3Unproject()の仕様次第だな。
俺は自前で変換してるからこの関数がどうなってるかわからん。
0290名前は開発中のものです。2007/02/20(火) 23:46:03ID:LmVgoIKi
>>288
・・・・
知らないのなら、無理に答えなくていいです
まず文章を読んでください
0291名前は開発中のものです。2007/02/20(火) 23:46:57ID:Po9VyYTL
D3DXVECTOR3 rayS(mouse.x, mouse.y, 0), rayE(mouse.x, mouse.y, 1.00f);
ClassSprite::GetRay(rayS, rayE, mProj, mView);

void ClassSprite::GetRay(D3DXVECTOR3 &p1, D3DXVECTOR3 &p2, D3DXMATRIX &mProj, D3DXMATRIX &mView)
{
D3DVIEWPORT8 vp;//D3DVIEWPORT8
lpDevice->GetViewport(&vp); // ビューポート パラメータ取得
D3DXMATRIX mat;
D3DXMatrixIdentity(&mat); // 単位行列
D3DXVec3Unproject(&p1, &p1, &vp, &mProj, &mView, &mat);//ベクトル射影
D3DXVec3Unproject(&p2, &p2, &vp, &mProj, &mView, &mat);//ベクトル射影
}
0292名前は開発中のものです。2007/02/20(火) 23:59:40ID:HCF2zwdn
D3DXMATRIX vpmat, tmpmat;
D3DXMatrixIdentity(&vpmat);
vpmat._11 = vp.Width/2;
vpmat._22 = -vp.Height/2;
vpmat._33 = vp.MaxZ - vp.MinZ;
vpmat._41 = vp.X + vp.Width/2;
vpmat._42 = vp.Y + vp.Height/2;
vpmat._43 = vp.MinZ;
vpmat._44 = 1;
tmpmat = vmat * pmat * vpmat;
D3DXMatrixInverse(&tmpmat, NULL, &tmpmat);
D3DXVec3TransformCoord(&vec2, &vec1, &tmpmat);
0293名前は開発中のものです。2007/02/21(水) 00:52:02ID:RUhyvD3+
>>288
確かに
>※mouseXには0〜800、mouseYには0〜600の数値が入ります
>
>D3DXVECTOR3 vec1(mouseX, mouseY, 0);
「これは何?」と思うなw

>>290
鼻くそをつける窓ガラスがz=0だ。
あとは窓ガラス上の鼻くその位置(0〜800、0〜600)から、
ビューポートの範囲に合うように変換すればいいだけだ。
あとはMSDNで「ビューポート矩形」で検索してちょ。
(つか、画面サイズ801×601?
0294名前は開発中のものです。2007/02/21(水) 01:09:11ID:Z1aRLr5I
>>293
誰も思わねーよw
つーか、自分にレスして楽しいか?(IDが変わってもバレバレなんだがw)

何がビューポートだよ。
無知もいい加減にしてくれ。アホか
0295名前は開発中のものです。2007/02/21(水) 01:25:39ID:0W8AtbaN
288は私なんだが。

>>291
レイをとばすなら開始位置と射影からベクトルが求まるから、
わざわざ二点を変換するような回りくどいことをする必用はない。
0296名前は開発中のものです。2007/02/21(水) 05:20:13ID:4yPo1E3x
C# Managed DirectXで2Dの画像をウィンドウに貼り付けるにはどうしたらいいですか?
0297名前は開発中のものです。2007/02/21(水) 09:25:15ID:vsefEIGS
ポリゴンを四角形にして画像をテクスチャにして張り付ける
0298名前は開発中のものです。2007/02/21(水) 12:53:28ID:7M1hg3bU
とかち、、、なぜこのスレにまで
0299名前は開発中のものです。2007/02/21(水) 15:31:22ID:Z1aRLr5I
>>295
レイの(x,y)に置ける差額をZ1単位で知るのが目的だと何故分からない?
288=293=295だろうが
もう、知らないのに回答者を気取るなっての
0300名前は開発中のものです。2007/02/21(水) 16:11:58ID:0W8AtbaN
二点をわざわざ変換しなくても、視野角が決定した時点で起点とスクリーン座標までのベクトルがすぐに出せる。
ディスプレイの手前に四角錐があると考えれば分かるはず。
その四角錐の頂点からディスプレイの特定の座標までが始点におけるベクトルになる。
このときに使われる手前のZ座標は視野角が変化しない限り不定なのであらかじめ計算しておくことができる。
そこからスクリーン上のベクトルを求めるのは引き算だけ。
あとはそれを回転成分だけ処理してワールド上のベクトルに変換する。

二点を逆変換すれば確かに出るが、一回ですむ処理なのになぜ無駄に二回処理するのか理解できない。
ものすごく無駄な計算をしているのが分かっていないのか?
0301名前は開発中のものです。2007/02/21(水) 16:31:39ID:V88+J9Hw
自分の都合がいいように仕様を固定して答えてみました・・・みたいな
0302名前は開発中のものです。2007/02/21(水) 16:44:46ID:0W8AtbaN
射影が動的でも二回変換するよりも遥かに無駄がでないが、
無駄な方法でも結果が出ればいいのなら好きにすればいい。
0303名前は開発中のものです。2007/02/21(水) 18:11:31ID:Z1aRLr5I
レイの正規化されたベクトル差違(x, y)の数値があれば
3D空間内のそれぞれのオブジェの接触判定に使えると、それだけの話なんだが
2点を求める必要性を否定するとは、意地になってませんか?
0304名前は開発中のものです。2007/02/21(水) 19:05:54ID:0W8AtbaN
>>303
それもスクリーン側の二点をわざわざ変換しなくても算出できる。
ワールドへの変換を理解していれば普通に計算方法が思いつくはずなのに、
遠回りして無駄が多い言っているだけ。

逆に、なぜ意地になって二点変換という無駄な方法にこだわるのか分からないが、
どうしてもそれが良いのなら当人の勝手だろう。
しかし他人に無駄な方法を広めるのは思い直した方がいい。

その方法がまともな方法だと本気で思ってるのか?
0305名前は開発中のものです。2007/02/21(水) 19:58:34ID:V88+J9Hw
>思いつくはずなのに、
>分からないが、
>思い直した方がいい。
>思ってるのか?

 ↓

>当人の勝手だろう。
0306名前は開発中のものです。2007/02/21(水) 20:02:52ID:GyskwPUG
1フレームに一回呼ぶかという頻度の処理に何を威張っているの?
0307名前は開発中のものです。2007/02/21(水) 20:15:58ID:RUhyvD3+
愉快なID:Z1aRLr5Iが居ると聞いて再びやってきました!
0308名前は開発中のものです。2007/02/21(水) 20:25:16ID:vF/iMU3T
>>291のコードを例えて言うなら
1+2=3

100-1=99,
100-2=98
99+98=197,100+100=200
200-197=3

にしているのに似ている。
結果が同じなんだから文句を言うな。
0309名前は開発中のものです。2007/02/21(水) 22:32:15ID:VoKMYvWb
こんなのどっちのやり方でもいいじゃねーか。
0310名前は開発中のものです。2007/02/21(水) 22:42:23ID:GtPzG9tK
そもそもの原因はD3DXのせいなんだよな。
実質的な計算方法が分かってい馬鹿でも、ある程度使えてしまうので、
無理矢理へんな使い方で答えを出そうとする。
0311名前は開発中のものです。2007/02/21(水) 23:12:00ID:P5PvKI+V
不便なものは、使いにくいが、人を鍛える。
便利なものは、使いやすいが、人が鈍る。
不便なもので鍛えて便利なものを使うのがベストかもね。
0312名前は開発中のものです。2007/02/21(水) 23:31:38ID:VoKMYvWb
わけがわからずソースだけもってきてなんでか動いてるって状態よりは百倍ましだと思うがな。
■ このスレッドは過去ログ倉庫に格納されています