저는 Java를 사용하여 2D 등각 투영 엔진의 시작을 작성했습니다. 맵에서 주문 및 객체 깊이 정렬과 같은 대부분의 기본 사항을 다루었습니다. 그러나, 난 정말 내 방법을 지저분하게하지 않으면 해결할 수없는 문제가 발생했습니다.등각 투영 정렬
문제는 내 등척성 세계에서 객체베이스가있는 타일이 화면에 렌더링 될 때 각 객체가 렌더링된다는 것입니다. 그러나 일부 객체는 렌더링되지 않은 오프 스크린 영역에서 렌더링 된 화면 영역으로 확장 될 수있는 큰 높이 (예 : 건물)를 가지고 있으며 지금까지는 내 엔진이 객체 기반에 의존하므로이를 감지 할 수있는 방법이 없습니다. 현재 이미지를 렌더링합니다.
제 질문은 높이 값이 큰 객체가 렌더링 된 영역에 있어야하며 기본은 오프 스크린 영역에 있어야한다는 것입니다. 정말 CPU 사용량이 많은 전체 맵 (오프 스크린 영역 포함) 렌더링을 원하지 않기 때문에이 문제 영역을 탐지 할 수있는 알고리즘이나 메소드를 찾고 있습니다.
편집 : 질문을 업데이트하여 아래 문제를 시각적으로 나타냅니다.
그러면 모든 객체를 검사하여 렌더 루프가 실행될 때마다 너비 또는 높이가 화면 영역과 겹치지 않는지 확인해야합니다. – Kavan
모든 것을 렌더링하는 것보다 비용이 저렴합니다.이 계산과 같은 것이 원하는 것을 얻기 위해 필요합니다. –
예를 들어 미리 계산할 수 있습니다. 무언가가 타일에 추가 될 때/타일이 이동 될 때. 근본적으로 어떤 타일이 화면에 퍼져 있는지 알아 내려면 이처럼 뭔가를해야합니다. –