Java を使用して 2D アイソメトリック エンジンの始まりを書きました。タイルの順序やマップ上のオブジェクトの深さの並べ替えなど、ほとんどの基本を説明しました。しかし、私は自分の方法を本当に面倒にしないと解決できないように見える問題に遭遇しました。
問題は、私の等角図の世界では、オブジェクトのベースがあるタイルが画面にレンダリングされるときに、各オブジェクトがレンダリングされることです。ただし、一部のオブジェクト (建物など) は高さが高く、レンダリングされていないオフスクリーン領域からレンダリングされた画面領域まで伸びる可能性があります。画像をレンダリングするために存在します。
私の質問は、ベースが画面外の領域にあるときに、高さの値が大きいオブジェクトがレンダリングされた領域に存在する必要があることをどのように検出するのでしょうか? これは非常に CPU を集中的に使用するため、マップ全体 (画面外の領域を含む) をレンダリングしたくないので、この問題のある領域を検出できるアルゴリズムまたは方法を探しています。
編集:以下の問題を視覚的に表すために質問を更新しました。