3次元三角形の描画で、DrawTriangle3Dを使って描画しようとしたのですが、うまくいきません。
C++
1 /*三角形描画用cppファイルの描画関数の中*/ 2 3 // DxLib::VECTOR matrix[3]; // 初期化をヘッダーではなく関数内で行うと結果が変わる。 4 5 // matrixはDxLibのVECTOR型の配列 6 matrix[0] = VGet(100.0f, 100.0f, 0.0f); 7 matrix[1] = VGet(200.0f, 200.0f, 0.0f); 8 matrix[2] = VGet(200.0f, 250.0f, 0.0f); 9 // これもだめ(同じことしてるだけだけど試してみた) 10 //matrix[0].x = 100.0f; 11 //matrix[0].y = 100.0f; 12 //matrix[0].z = 0.0f; 13 //matrix[1].x = 200.0f; 14 //matrix[1].y = 200.0f; 15 //matrix[1].z = 0.0f; 16 //matrix[2].x = 200.0f; 17 //matrix[2].y = 250.0f; 18 //matrix[2].z = 0.0f; 19 20 // 色が違うのはわかりやすくするため 21 DrawTriangle3D(matrix[0], 22 matrix[1], 23 matrix[3], GetColor(0,255,0), TRUE); // これだと失敗する(3つの点が結びつかず伸びてしまう) 24 25 DrawTriangle3D(VGet(100.0f, 100.0f, 0.0f), 26 VGet(200.0f, 200.0f, 0.0f), 27 VGet(200.0f, 250.0f, 0.0f), GetColor(0, 0, 0), TRUE); // DxLibリファレンスページに乗っていたやり方(当然思い通りのものに) 28 29 DxLib::VECTOR hoge = VGet(100.0f, 100.0f, 0.0f); 30 DxLib::VECTOR fuga = VGet(200.0f, 200.0f, 0.0f); 31 DxLib::VECTOR piyo = VGet(200.0f, 250.0f, 0.0f); 32 DrawTriangle3D(hoge, 33 fuga, 34 piyo, GetColor(0, 0, 255), TRUE); // これはいけた
リテラルじゃなく、変数でやっているのは三角形に動きをつけたいためです。
同じ数字で、同じ型を使っていて、なおかつ同じ関数を使っているのに結果が違っていて困っています。
配列で行ったときにおかしくなっているようですが、原因が分かりません。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。