トップページ > 記事閲覧
CreateOrthoMatrixの引数について
名前:Stnsllet 日時: 2019/11/24 03:47

DXライブラリに大変お世話になっております。 非公開関数の中でCreateOrthoMatrixという正射影MATRIXの作成関数がありますが、 第二引数の float size、第三引数の float zn、第四引数 zfについて 何を渡せばいいかが分からなかったため質問させていただきました。 // int viewport_x = 0; int viewport_y = 0; int viewport_width = 800; int viewport_height = 600; float viewport_min_z = 0.0; float viewport_max_z = 1.0; MATRIX output; CreateOrthoMatrix(&output, size?, zn?, zf?, viewport_width/viewport_height); // 第五引数である aspect はドットアスペクト比の事だと思われ 画面サイズの横/縦 で正しいと考えております。 CreateOrthoMatrixの正しい引数について教えていただけますでしょうか。 元はDirectXの D3DXMatrixOrthoOffCenterLH 関数を再現したいと思っておりまして、 恐らくCreateOrthoMatrixが正しい代用関数だと思い、用いています。 再現元は以下の通りです。 D3DVIEWPORT8 viewport; D3DXMATRIX output; D3DXMatrixOrthoOffCenterLH(&output, 0, viewport.Width, viewport.Height, 0, NowViewPort.MinZ, NowViewPort.MaxZ);
メンテ

Page: 1 |

Re: CreateOrthoMatrixの引数について ( No.1 )
名前:Stnsllet 日時:2019/11/24 04:12

DXMath.cppを覗いて少し調べたところ、多少理解に近づけた気がしたために追記します。 (また再現元のコードのNowViewPortはviewportの間違いです。) 第二引数の float size は SetupCamera_Ortho 関数で設定できる 画面垂直方向の表示範囲 である? 第三引数の float zn は ビューボリュームの近平面までの距離 == viewport.MinZ ? 第四引数の float zf はビューボリュームの遠平面までの距離 == viewport.MaxZ ? 以上の情報が正しいかを教えて頂きたいと思います。
メンテ
Re: CreateOrthoMatrixの引数について ( No.2 )
名前:管理人 日時:2019/11/25 01:56

> 第二引数の float size は SetupCamera_Ortho 関数で設定できる 画面垂直方向の表示範囲 である? >  > 第三引数の float zn は ビューボリュームの近平面までの距離 == viewport.MinZ ? >  > 第四引数の float zf はビューボリュームの遠平面までの距離 == viewport.MaxZ ? はい、全てご推察の通りで合っています
メンテ
Re: CreateOrthoMatrixの引数について ( No.3 )
名前:Stnsllet(解決) 日時:2019/11/25 02:52

ありがとうございます、無事に目当ての機能を実装でき、解決しました。 私の作成中のプログラムはCreateOrthoMatrixを始めとした非公開関数を 何故か多く必要とするものなので、今後もお世話になるかもしれません。 この度はありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存