ClockRoom

DirectX Graphics レポート No.2 | 運営ノート

DirectX Graphics レポート No.2

2D描画を行いたい時、そもそも2D描画能力が存在しない為、3D描画能力を用いて描画を行う必要がある。 その際に必要なのがいわゆる「板ポリ」。 つまり平らなポリゴンである。 このポリゴンはトランスフォーム済みポリゴンとして作成する。 これにより3D-2D変換は行われずに、X、Y座標がそのままスクリーンの座標に対応する。 つまり、Z座標は無視されるのである。 しかし、本当に無視されるのだろうか?

板ポリの場合、普通はZ座標にゼロを入れるのが無難であろう。 そして、複数の板ポリを描画すると、描画した順番の逆順に手前から表示される。 これは今までの2D描画と何ら変わりはない。 その為、プログラマはこの描画順番を考慮し、必要に応じてソートしなければならなかった。 しかし、それは板ポリのZ座標をすべて同一の値にした場合である。 それでは、異なる値を入れると一体どうなるのか?

私は2つの予測を立てた。 ひとつは「やっぱり無視される」、ひとつは「Z順に表示される」である。 そして実験を行った結果、後者の通りZ順に表示されたのである。 ということは、適当なZ座標値を設定してやる事により、今までプログラマが行っていたソートが一切必要なくなるのである。 私はRPGを制作する際にレイヤ問題で非常に苦労した為、この事は非常に興味深い結果である。 この「Z座標を持ったスプライト」は色々な場面で役に立ちそうである。

コメント

名前
内容
送信

※URLを含むコメントはできません。