[過去ログ]
SlimDXについて語ろうぜ (197レス)
SlimDXについて語ろうぜ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
123: 名前は開発中のものです。 [sage] 2011/04/12(火) 16:16:23.71 ID:Y/I5qVEj SlimDXにあるUnprojectってスクリーン空間からオブジェクト空間にベクトルを射影させる関数ですか? MDXにあるUnprojectとは引数が違っている様に思うのですが、使い方が分かりません。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/123
124: 名前は開発中のものです。 [sage] 2011/04/12(火) 16:22:02.28 ID:155qZFtN >>123 実装を見て考えたら? Vector3 Vector3::Unproject( Vector3 vector, float x, float y, float width, float height, float minZ, float maxZ, Matrix worldViewProjection ) { Vector3 v; Matrix matrix; Matrix::Invert( worldViewProjection, matrix ); v.X = ( ( ( vector.X - x ) / width ) * 2.0f ) - 1.0f; v.Y = -( ( ( ( vector.Y - y ) / height ) * 2.0f ) - 1.0f ); v.Z = ( vector.Z - minZ ) / ( maxZ - minZ ); Vector3::TransformCoordinate( v, matrix, v ); return v; } http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/124
125: 名前は開発中のものです。 [sage] 2011/04/12(火) 23:28:55.22 ID:4dFtS2x0 >>123 俺はこんな感じで使ってる(マウスカーソルを射影) float z = 0.1f; //0〜1f?射影時の視点からのポイント距離 Vector3.Unproject(new Vector3((float)mouseX, (float)mouseY, z), viewport.X, viewport.Y, viewport.Width, viewport.Height, viewport.MinZ, viewport.MaxZ, mat); 最初と最後の引数以外は全部Viewportから取ってるから Viewport持ってるなら簡単 最後のmatrixは普通にワールド*ビュー*プロジェクションのマトリクス渡す http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/125
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.697s*