![]() プチコン4でポリゴン描写の実験名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2020年12月13日 ![]() ![]() まずは各面の表示の順番を考える必要のない「ワイヤーフレーム」の立方体から作ってみました。回転行列のところでちょっとした勘違いがあって、少し時間がかかってしまいましたが、それ以外はほぼ頭の中で思い描いた通りに作ることができました。 ※このワイヤーフレームも以降の他のプログラムも、Joy-Conで回転や移動の操作が可能なものです。動画の最後の方でプログラムを確認できます。 続いて6面色違いの立方体を作ってみました。グラフィック面に三角形を描く「GTRI」という命令で、三角形を合計12個描写する形です。グラフィック面での描写になるので、各面(三角形x2枚)の描写の順番を「向こう側からこちら側(最前面を最後に描写)」に合わせる必要があります。これについては当初、頂点座標等の配列変数を各三角形の中心のZ座標を基準にRSORT(逆順)で並び替えたのですが、これだと時折向こう側の三角形の一部がこちら側に表示されてしまう不具合が発生してしまいました。そのため「面の中心から座標0,0,-200(カメラの位置)までの距離」を基準に配列変数を逆順に並び替えた所、今度はうまく表示されるようになりました。 ちなみに一般的なポリゴンは三角形を単位図形として、これを多数構成して描写することが多いようです。私は最初、「四角形のスプライトを自由に変形できれば、ポリゴンも楽に表現できるのに」と考えてしまいました。しかし、「一般的な手法」ということであれば、「三角形をいくつも構成する方法で慣れておくのも悪くないかな」と思うようになりました。 今度は「プチコン4では処理落ちせずに三角形をいくつまで描写できるのだろう?」ということで、球体に三角形をいくつも貼り付けた形のものを作ってみました。当初は300個位で画面にチラつきが発生するようになってしまったのですが、これはプチコン4のVSYNC命令がグラフィックの描画の完了を待たずに画面を更新してしまうからのようです。そのため、GTARGETとSPPAGEを用いて、フレーム毎に描画面と表示画面を切り替える形にしたところ、600個位までは問題なく表示できるようになりました(動画は三角形600個のものです)。この数を超えてもチラつきは発生しないのですが、今度は処理速度に遅延が発生するようになります。 最後に今回の一連の実験のおさらいとして、三角形24枚で構成した異形(6方向に尖ったもの)を作成してみました。さらに光源の概念も入れ込んでみました。面の光の強さは、「面の法線ベクトル(単位ベクトル)を外積で算出し、それを光源からのベクトル(単位ベクトル)で内積したもの」としています。本当なら尖った部分の影が異形の本体にも反映されないとリアルとは言えないですが、まあそこまではさすがにいいかなということで、これにてポリゴンの実験は一区切りということにします。 ここからゲームとして発展できればいいのですが、今のところは具体的なアイデアが無いので、また後日何かひらめいたら作ってみたいと思います。それにしても、三次元の回転行列、外積、内積などが出てきて、久しぶりに頭が数式でいっぱいになってしまいました。 ニンテンドー関連記事(リンク一覧): ゼルダの伝説 ティアーズ オブ ザ キングダム / レーザーゲーム - プチコン4で一画面プログラムのシンプルシューティング / ワンパクとウェーブ - プチコン4で1980年代のパソコン風な雰囲気のゲーム / USB-Cハブ比較 - DellのノートPCとNintendo Switchに接続 / 人間になりたいミイラが棒をぶん回すゲーム - プチコン4で物理ゲーなバカゲー / ...(記事連続表示) 関連カテゴリー: ニンテンドー関連記事, プチコン4関連記事
![]() 最近の記事: ゼルダの伝説 ティアーズ オブ ザ キングダム / 武蔵野アブラ学会の特濃生玉油そば / ここ最近のランニング / Panasonic Let's Note CF-SR3J9LAC - 息子の大学用パソコン / 血液検査で久しぶりに全て異常なし / やぶはら高原スキー場 / 富士見パノラマリゾート(2023) / YEBISU BAR エミオ石神井公園店 / レーザーゲーム - プチコン4で一画面プログラムのシンプルシューティング / クラフトビール/ペールエール飲み比べ(インドの青鬼他)
■ ホームへ
|