描画でさえももはや構造化できない

極限まで抽象化された概念であるところのゲームオブジェクトはおそらくもともとは画面への描画の最小単位として使われることで意義をもっていたのではなかろうか。要するに昔はオブジェクトがそれぞれ単純に自分自身を自分自身に基づいて描画するだけで画面が描画でき、単純明快な一部品として扱えていた。しかし、例えば最近のシャドウマッピングなどのマルチパスレンダリングが主流になってくると、自分自身を描画するときに自身や他のオブジェクトがすでに描かれたテクスチャがあることを前提としなくてはならない場合もある。描画するだけでも他のオブジェクトの描画結果に依存する必要がでてきてしまった。また、テクスチャを参照する必要がなかったり、透明度を無視してもよかったり、描画する内容も複数の描画指示のあいだで全く異なる。スーパークラスのポインタを渡してのんきに描画命令がとどくのを待つだけというわけにはいかない。描画処理の全体の流れの中のどこでなにを描画するか言及する必要がでてきてしまった。

描画処理の側面からみてももはやゲームオブジェクトはすべてが全く同じものだとはみなせない。

どうするか。ふたつまえのエントリのようにヒントを用いることで厳密性はないもののこれまでのオブジェクトリストを維持するか。ひとつ前のエントリを受け容れて走査部がそれぞれのオブジェクトへ完全依存する手もあるだろう。結局のところ、いまや新しい種類の描画対象が加わえられた場合、いつどこでどのような内容を描かせるかまで定める必要があるのだから完全依存の方へ行くべきだろう。だが将来3DCG描画のパラダイムがごっそり変わってもとにもどってくる可能性もある。