Dxライブラリを使ってゲームを作っているのですが、どうしてもわからないことがあったので質問します。
画像を曲げて画面に表示させたいのですが、それをどうやってやれば良いのかわかりません。
自分がやりたいのは、棒の画像を曲げて円弧のようにし、それを複数表示して円のようにすることです。
どうかよろしくお願いします。
画像を加工する?
Re:画像を加工する?
画像を変形させて描画したいって事ですよね?
DrawModiGraph関数とか
http://homepage2.nifty.com/natupaji/DxL ... html#R3N11
非公開関数ですがDrawPolygonBase関数とかでどうですか?
DrawModiGraph関数とか
http://homepage2.nifty.com/natupaji/DxL ... html#R3N11
非公開関数ですがDrawPolygonBase関数とかでどうですか?
Re:画像を加工する?
四角形の変形なら簡単なのですが、四角形画像を曲線にしたいのでDrawModiGraph関数だと頂点数が少ないかと…
DrawPolygonBase関数は自分の力が足りないためよくわかりません
どこか解説しているサイト等ありませんか?
DrawPolygonBase関数は自分の力が足りないためよくわかりません
どこか解説しているサイト等ありませんか?
Re:画像を加工する?
以前、ここの回答者であるyuさんがサンプルを作っていらっしゃったので貼っておきます。
まだサンプルは健在の様子です。
http://www.play21.jp/board/formz.cgi?ac ... &from=tree
まだサンプルは健在の様子です。
http://www.play21.jp/board/formz.cgi?ac ... &from=tree
Re:画像を加工する?
まあ本家で解説されていない関数を解説している所はそうそう無いでしょうね
DrawModiGraph関数で曲線が表現できない事は無いですよ
頂点の話で言うとDrawPolygonBase関数も同じと言えば同じですし
DrawModiGraph関数では4個の頂点を使って変形が可能ですが
隣り合った頂点に同じ座標を渡せば三角形になります
これを細かく敷き詰めれば円になります
まあ表示が汚くなると思うのでDrawPolygonBase関数とかの方が良いとは思いますが
仕様が複雑なのでDrawModiGraph関数から始めた方が取っ付きやすい感じです
>kazuoniさん
そういえば前にありましたね
サンプルを見れば一目瞭然だと思います
DrawModiGraph関数で曲線が表現できない事は無いですよ
頂点の話で言うとDrawPolygonBase関数も同じと言えば同じですし
DrawModiGraph関数では4個の頂点を使って変形が可能ですが
隣り合った頂点に同じ座標を渡せば三角形になります
これを細かく敷き詰めれば円になります
まあ表示が汚くなると思うのでDrawPolygonBase関数とかの方が良いとは思いますが
仕様が複雑なのでDrawModiGraph関数から始めた方が取っ付きやすい感じです
>kazuoniさん
そういえば前にありましたね
サンプルを見れば一目瞭然だと思います
Re:画像を加工する?
解決されたようで何よりですが、
サンプルを実行して、魔方陣が大きいときにプログラムを止めて貰うと分かるのですが
画像が縮小されすぎて潰れている箇所があります;
原因はテクスチャアドレスタイプがクランプだけれど
無理やり画像をリピートさせようとしていたからです orz
SetTextureAddressMode関数でラップに変えるとうまくいきました。
(後、何で描画モードをネアレストネイバー法でやっているんだろう...)
一応直したサンプルを置いておきますね
http://www1.axfc.net/uploader/He/so/260179

サンプルを実行して、魔方陣が大きいときにプログラムを止めて貰うと分かるのですが
画像が縮小されすぎて潰れている箇所があります;
原因はテクスチャアドレスタイプがクランプだけれど
無理やり画像をリピートさせようとしていたからです orz
SetTextureAddressMode関数でラップに変えるとうまくいきました。
(後、何で描画モードをネアレストネイバー法でやっているんだろう...)
一応直したサンプルを置いておきますね
http://www1.axfc.net/uploader/He/so/260179

Re:画像を加工する?
もうあれから5カ月も経ったのか・・
あの、yuさん
// アドレスモード変更
SetTextureAddressMode(DX_TEXADDRESS_WRAP);
を使ったあと、
このモードをもとに戻す時は、なんという関数を使えばいいのでしょうか?
あの、yuさん
// アドレスモード変更
SetTextureAddressMode(DX_TEXADDRESS_WRAP);
を使ったあと、
このモードをもとに戻す時は、なんという関数を使えばいいのでしょうか?
Re:画像を加工する?
DXライブラリはデフォルト状態で DX_TEXADDRESS_CLAMP だと思うので
SetTextureAddressMode(DX_TEXADDRESS_CLAMP);
これでデフォルト状態に戻すことができますよ。
SetTextureAddressMode(DX_TEXADDRESS_CLAMP);
これでデフォルト状態に戻すことができますよ。