トップページ > 過去ログ > 記事閲覧
DrawRota2Graph3Dについて
名前:ナナッシー 日時: 2010/08/01 02:34

DrawRota2Graph3Dのパラメータについて教えてください。 128x128ドットの画像を4x4チップに分けて読み込んで表示しようとしています。   if( -1 == LoadDivGraph( "../char1.bmp" ,16,4,4,32,32,GHandle) )return -1; DrawRota2Graph3D( Xval, Yval, Zval,   ??,??, ExtX, ExtY, //32x32のチップの中心は16,16   Angle,   GHandle[cnt], FALSE ) ; cx,cyの値を、画像の中心と思い16,16を指定、しかしExtX, ExtY,Angleの値をそれぞれ変化すると 回転の中心からずれていってしまいます。 もうひとつ、この関数を使うとき、画像は二の階乗である必要はありますか? 64×64ドット、128×128ドットなどです。

Page: 1 |

Re: DrawRota2Graph3Dについて ( No.1 )
名前:ナナッシー 日時:2010/08/03 05:06

DrawRota2Graph3Dの画像の中心の指定方法 サンプルプログラムを作成しました。 http://www1.axfc.net/uploader/Sc/so/140255.zip int DrawBillboard3D( VECTOR Pos, float cx, float cy, float Size, float Angle, int GrHandle, int TransFlag ) ; float cx, cy : 描画する画像の中心座標( 0.0f 〜 1.0f ) と同じであれば、cx cyは0.5f 0.5fのはず しかし、画像サイズの半分、画像は128x128なのですが 64 64 を指定すると、ちょうど中心が指定できるようです。 DrawRota2Graph3D( Xval, Yval, Zval, 64,64, ExtX, ExtY, 0.0f, GHandle, TRUE,FALSE ) ; プログラムでは A、Sキーで横、Q、Wキーで縦の比率を変えているのですが、中心がずれてしまいます。 初質問ですが、ご挨拶が遅くなりました。 どうぞよろしくお願いします。
Re: DrawRota2Graph3Dについて ( No.2 )
名前:管理人 日時:2010/08/03 09:13

サンプルプログラムまで用意していただきありがとうございます ExtX, ExtY の値を変化させると中心座標がずれてしまう現象は DXライブラリのバグです m(_ _;m 修正して、アップしていただいたサンプルプログラムでも中心が ずれないことを確認したバージョンをアップしましたので、 よろしければお試しください http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい) > もうひとつ、この関数を使うとき、画像は二の階乗である必要はありますか? > 64×64ドット、128×128ドットなどです。 はい、2の階乗にする必要があります ただ、正常に動作しないのはテクスチャ分割が発生した場合なので、 大抵の場合は2の階乗でなくても意図した描画結果が得られます

Page: 1 |