LuminoEngine/Lumino

Camera の実装を PerspectiveCamera と OrthographicCamera に分ける

lriki opened this issue · 0 comments

lriki commented

near プロパティの役割が異なるため。

PerspectiveCamera の near としては、0.0 は無効。ViewFrustum を作成できない。(一部の面情報が nan になる)

OrthographicCamera の near としては、0.0 は有効。Sprite2D のデフォルト Z は 0.0 であり、これより大きい場合デフォルトで表示されなくなってしまう。一般的にも期待される初期値だろう。

また、PerspectiveCamera は fovY、アスペクト比が必須。一方、OrthographicCamera はビューポートに投影するワールドの範囲を示す width, height が必須。
これらでコンストラクタを作ると、似たような型が並んでしまうのであいまいさのリスクが出てくる。