トップページ > 過去ログ > 記事閲覧
3Dポリゴンの平行移動
名前:Regen 日時: 2007/11/11 19:19

初めまして、DXライブラリを使わせて頂いているのですが、今回分からない事があったので質問させて頂きます。 DrawPolygon3Dを使い、画面の端に簡単な3Dポリゴンを表示しようかと思っています。 実際は、正面から見ているような見え方で画面端に表示したいのですが、 頂点の座標に画面の端の座標を指定すると、視点から外れて表示されてしまいます。 まず視点の正面に頂点の座標を置いてから、頂点の座標を目的の位置にすればいいのかと思い、 CreateTranslationMatrixで平行移動行列を作成してSetTransformToViewportで指定してみましたが全く移動しませんでした。 そもそもやり方が間違ってるのかもしれませんが、 何か方法があればお願いします。

Page: 1 |

Re: 3Dポリゴンの平行移動 ( No.1 )
名前:管理人 日時:2007/11/18 09:27

Regenさん始めまして、DXライブラリの管理人です。 SetTransformToViewport 関数に設定する行列は CreateViewportMatrix 関数で 作成するようになっていますので、宜しければお試し下さい。
Re: 3Dポリゴンの平行移動 ( No.2 )
名前:Regen 日時:2007/11/18 10:39

ありがとうございます。 が、CreateViewportMatrixを使っても上手くいきませんでした。 リファレンスのDrawPolygon3Dのサンプルに、 MATRIX Matrix; CreateViewportMatrix(&Matrix, 600.0F, 400.0F, 100.0F, 100.0F); SetTransformToViewport(&Matrix); と追加して試してみましたが特に変化している様子はなく、 CreateViewportMatrixの引数を色々と変えてみても、全く変化しませんでした。 3Dに関する知識が余り無いので何か勘違いしてるのかもしれませんが どこか間違ってる所があればお願いします。
Re: 3Dポリゴンの平行移動 ( No.3 )
名前:管理人 日時:2007/11/18 11:47

Regenさんどうも、DXライブラリの管理人です。 申し訳ありません、今ライブラリのプログラムを確認した所、条件が揃うと( SetDrawArea による 描画範囲が画面全体になっていると ) SetTransformToViewport 関数で設定した値が反映されない というバグを見つけました。 修正したバージョンをアップしましたので、申し訳ありませんがこちらをお試しになってみて下さい。m(_ _;m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe //VC用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe //BCC用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
Re: 3Dポリゴンの平行移動 ( No.4 )
名前:Regen 日時:2007/11/18 12:26

わざわざありがとうございました、無事目的の動作が出来ました。

Page: 1 |