コメント部のif文部ですがエラーで出ているなら-1がreturn するのでexit(1);が実行されて強制終了するはずですが強制終了されないので関数のエラーで出ておらずその下のコードでは頂点データをどんな場所かか確認していますがちゃんと全部カメラ内に表示されているので頂点データも大丈夫です。では何を間違えたのでしょうか?
※参考サイトより関数の引数を確認しましたが問題ありません頂点情報でしょうか?
参考サイト:https://dxlib.xsrv.jp/function/dxfunc_3d_draw.html#R14N7
#define RANGE 3 VERTEX3D vertex_data[4]; WORD Index[3]; void Game::DrawUpdate() { SetCameraPositionAndTarget_UpVecY(VGet(cameraX, 0, -20), VGet(0, 0, cameraZ)); vertex_data[0].pos.x = -RANGE; vertex_data[0].pos.y = RANGE; vertex_data[0].pos.z = 10; vertex_data[0].norm = VGet(0, 0, 0); vertex_data[0].dif = GetColorU8(255,255,255,0); vertex_data[0].spc = GetColorU8(0, 0, 0, 0); vertex_data[0].u = 0.0f; vertex_data[0].v = 0.0f; vertex_data[1].pos.x = RANGE; vertex_data[1].pos.y = RANGE; vertex_data[1].pos.z = 10; vertex_data[1].norm = VGet(0, 0, 0); vertex_data[1].dif = GetColorU8(255, 255, 255, 0); vertex_data[1].spc = GetColorU8(0, 0, 0, 0); vertex_data[1].u = 0.0f; vertex_data[1].v = 0.0f; vertex_data[2].pos.x = -RANGE; vertex_data[2].pos.y = -RANGE; vertex_data[2].pos.z = 10; vertex_data[2].norm = VGet(0, 0, 0); vertex_data[2].dif = GetColorU8(255, 255, 255, 0); vertex_data[2].spc = GetColorU8(0, 0, 0, 0); vertex_data[2].u = 0.0f; vertex_data[2].v = 0.0f; vertex_data[3].pos.x = RANGE; vertex_data[3].pos.y = -RANGE; vertex_data[3].pos.z = 10; vertex_data[3].norm = VGet(0, 0, 0); vertex_data[3].dif = GetColorU8(255, 255, 255, 0); vertex_data[3].spc = GetColorU8(0, 0, 0, 0); vertex_data[3].u = 0.0f; vertex_data[3].v = 0.0f; Index[0] = 0; Index[1] = 1; Index[2] = 2; if ( DrawPolygonIndexed3D(vertex_data,4,Index,1,DX_NONE_GRAPH,true) == -1)/////// { return exit(1); } DrawLine3D(VGet(vertex_data[0].pos.x, vertex_data[0].pos.y, 10), VGet(vertex_data[1].pos.x, vertex_data[1].pos.y, 10), GetColor(255, 255, 255)); for(int i = 0; i< 4;i ++){ DrawLine3D(VGet(vertex_data[i].pos.x, vertex_data[i].pos.y, 10), VGet(vertex_data[i + 1].pos.x, vertex_data[i + 1].pos.y, 10), GetColor(255, 255, 255)); } //DrawTriangle3D(VGet(0, 0, 10), VGet(0, 0, 10), VGet(5, 5, 10), GetColor(255, 255, 255), true); //DrawTriangle3D(VGet(0, 0, 10), VGet(0, 5, 10), VGet(5, 5, 10), GetColor(255, 255, 255), true); DrawFormatString(0, 0, GetColor(255, 255, 255), "x: %.2f z: %.2f", cameraX, cameraZ); DrawFormatString(0, 40, GetColor(255, 255, 255), " test x: %.2f z: %.2f", xx, zz); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。