3D空間に画像を回転させて表示する

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
dic
記事: 658
登録日時: 15年前
住所: 宮崎県
連絡を取る:

3D空間に画像を回転させて表示する

#1

投稿記事 by dic » 13年前

DxLib本家に書こうかまよったんですけど、こっちで聞きます

3D空間に画像を回転させて、描画する関数
http://homepage2.nifty.com/natupaji/DxL ... html#R14N9
int DrawBillboard3D( VECTOR Pos, float cx, float cy, float Size, float Angle, int GrHandle, int TransFlag ) ;
がありますが、中心点を中心にXY軸を中心に回転します。

しかし、私がしたいのは、Y軸を中心にしたり、X軸を中心に回転させたいのです。
DxLibには、テクスチャという言葉がでてこないのですが、どうやって、Y軸を中心にしたり
X軸を中心にして、回転させて描画できるのでしょうか?

環境:Windows 7 64bit
Visual C++ 2010 Express
DxLibを使用
添付ファイル
無題.jpg
無題.jpg (19.2 KiB) 閲覧数: 5549 回

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 3D空間に画像を回転させて表示する

#2

投稿記事 by softya(ソフト屋) » 13年前

ビルボードですので必ず板が正面(画面に対して平行)を向きます。それがこの関数の役割です。
Y軸に回転は自前で計算する必要があります。

【補足】
言葉足らずだったので追記します。
自分でテクスチャを張ったポリゴン板を作りカメラの行列を参照して正面に来るようにしてローカル座標系で回転させないといけません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

dic
記事: 658
登録日時: 15年前
住所: 宮崎県
連絡を取る:

Re: 3D空間に画像を回転させて表示する

#3

投稿記事 by dic » 13年前

>>softyaさん
いつもありがとうございます。

自前で計算したあとは、DxLibライブラリで、何の関数で
描画できるのでしょうか?

dic
記事: 658
登録日時: 15年前
住所: 宮崎県
連絡を取る:

Re: 3D空間に画像を回転させて表示する

#4

投稿記事 by dic » 13年前

>>補足に質問

ポリゴンはどこで作成するのでしょうか?
別のソフトが必要になるのでしょうか?
簡単な四角形ならプログラムで作成できますが、サンプルがほしいです。

dic
記事: 658
登録日時: 15年前
住所: 宮崎県
連絡を取る:

Re: 3D空間に画像を回転させて表示する

#5

投稿記事 by dic » 13年前

http://homepage2.nifty.com/natupaji/DxL ... html#R14N7

コード:

int DrawPolygon3D( VERTEX3D *Vertex, int PolygonNum, int GrHandle, int TransFlag ) ;
すいません、生のDirectX とはやり方が違うので気づきませんででした。
上の関数でいいでしょうか?

dic
記事: 658
登録日時: 15年前
住所: 宮崎県
連絡を取る:

Re: 3D空間に画像を回転させて表示する

#6

投稿記事 by dic » 13年前

http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2749
上のところを参考にしたらできました。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 3D空間に画像を回転させて表示する

#7

投稿記事 by softya(ソフト屋) » 13年前

もう一つは、ポリゴン板をメタセコイヤなどで作ってDrawModel()する方法もあります。
この場合は、MV1SetTextureGraphHandle()でテクスチャを置き換えることもできます。
http://homepage2.nifty.com/natupaji/DxL ... html#R15N3
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

dic
記事: 658
登録日時: 15年前
住所: 宮崎県
連絡を取る:

Re: 3D空間に画像を回転させて表示する

#8

投稿記事 by dic » 13年前

なるほど、そういう手もありですね。

閉鎖

“C言語何でも質問掲示板” へ戻る