トップページ > 過去ログ > 記事閲覧
DrawPolygon3Dでハンドルを指定すると表示されない
名前:山崎 日時: 2009/09/27 22:36

毎度お世話になっております、山崎です。 初めてDXライブラリの3D機能に手を出してみました。 リファレンスを参考にDrawPolygon3Dを試してみたのですが、 GrHandleにグラフィックハンドルを入れるとポリゴンが表示されなくなりました。 戻り値は-1です。 GrHandleにDX_NONE_GRAPHを入れるとポリゴンが表示されます。 以下がそのコードです。Vertexに値を代入するところは省略しました。 ------------------------------------------------ #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode(TRUE); VERTEX3D Vertex[ 6 ] ; int test=LoadGraph("test.PNG"); if( DxLib_Init() < 0 ) { return -1 ; } // 2ポリゴン分の頂点のデータをセット //中略 int test2=DrawPolygon3D( Vertex, 2, test, TRUE ) ; printfDx("test2=%d\n",test2);//-1が返る。 WaitKey() ; DxLib_End() ; return 0 ; } ----------------------------------------------- なお、DrawPolygonIndexed3Dでも同様でした。 グラフィックハンドルを渡すと何も表示されなくなります。 DX_NONE_GRAPHを渡すと、ポリゴンが表示されます。 読み込む画像test.PNGですが、128×128ピクセルのPNGファイルを読み込んでいます。 ちなみに、同じ画像のグラフィックハンドルを DrawModiBillboard3Dに渡してやったところ、 こちらはちゃんと変形した画像が表示されました。 どのようにすれば、読み込んだグラフィックを DrawPolygon3Dで表示させることができるでしょうか。

Page: 1 |

Re: DrawPolygon3Dでハンドルを指定すると表示されない ( No.1 )
名前:Hima 日時:2009/09/28 18:54

LoadGraph("test.PNG")のところで-1が返ってきますか? -1なら、DxLib_Init()の後でLoadGraphを使ってください。
Re: DrawPolygon3Dでハンドルを指定すると表示されない ( No.2 )
名前:山崎 日時:2009/09/29 08:14

>Himaさん、ご返信誠にありがとうございます。 LoadGraphですが、うっかりDxLib_Initの前に書いてしまいました。 DxLib_Initの後にLoadGraphでグラフィックを取得して、 その後DrawPolygon3Dを行ってみましたが、 こちらはポリゴンが表示されるものの読み込んだグラフィックは貼り付けられていませんでした。 グラデーションに塗られたポリゴンが表示されます。 LoadGraphの戻り値は-1ではなく、 DrawPolygon3Dの戻り値も0になっています。 LoadGraphで読み込む画像をいろいろ変えてみたのですが、 表示されるポリゴンのグラデーションが読み込む画像によって違う気がします。 読み込んだ画像のごく一部だけがグラデーションとなって 表示されるのだろうかと考え、絵のサイズを8×8や512×512で試しましたが、 こちらもグラデーションに塗られたポリゴンが表示され 読み込んだ絵のどの部分なのか判別することができませんでした。
Re: DrawPolygon3Dでハンドルを指定すると表示されない ( No.3 )
名前:山崎 日時:2009/09/29 08:20

申し訳ございません、解決いたしました。 Vertex構造体のu,vメンバの値を0.0fのままにしていたことが原因で、 グラフィックが張り付いていないように見えていただけのようです。 お騒がせして誠に申し訳ございませんでした。 Himaさん、お手数をおかけしてしまい本当に申し訳ございません。

Page: 1 |