A의 이전 질문 , 그것은 서명 거리 필드, 미리 계산 런타임에로드 할 수 있음을 제시 한 후 거기에서 사용했다.
이 질문의 끝에서 (관심있는 사람들을 위해) 설명 할 이유 때문에, 거리 필드를 실시간으로 만들어야합니다.
Chamfer 거리 변환 및 Voronoi 다이어그램 근사 기반 변환 ( Pixeljunk Shooter dev guy이 프레젠테이션 에서 제안)과 같은 실시간 환경에서 실행 가능한 다양한 방법에 대한 몇 가지 논문 이 있지만 나는 일반적으로 길고, 수학에 부풀어 있고 설명에 알고리즘이 많지 않기 때문에 실제로 사용하기가 매우 어렵습니다.
특히 거리 필드의 결과 품질을 고려하여 거리 필드를 실시간으로 (GPU에서 유리하게) 생성하기 위해 어떤 알고리즘을 제안 하시겠습니까?
다른 논문이나 슬라이드에 대한 링크가 아닌 실제 설명 / 튜토리얼을 찾고 있기 때문에이 질문은 하나의 자격이되면 현상금을받습니다 :-).
실시간으로해야하는 이유는 다음과 같습니다.
큰 2D 환경에서 이러한 SDF를 사전 계산해야하는 경우 (대형 테라 리아 같은 맵을 생각하면) 스토리지 공간 (및 맵 생성 시간)에서 더 큰 오버 헤드를 수용하여 더 많은 것을 구현하는 것을 의미합니다. 실시간 SDF 생성을 위해 충분히 빠른 복잡한 알고리즘.
예를 들어, 타일 크기가 10 * 10 픽셀이고 총 크기가 10000 * 2560 픽셀 인 1000 * 256 (너비 * 높이)의 비교적 작은 맵은 상대적으로 작은 크기를 선택하면 이미 약 2MB의 비용이 듭니다 거리 값만 0에서 255까지 저장한다고 가정하면 128x128의 SDF 해상도.
분명히, 이것은 너무 빨리 커질 수 있으며 내가 원하지 않는 오버 헤드입니다.
다른 것이 있습니다 :
SDF는 충돌 감지와 같은 많은 용도로 사용될 수 있으며 일부 유용한 응용 프로그램은 아직 발견되지 않았습니다. 앞으로 많은 사람들이 이러한 것들을 찾을 것이라고 생각합니다. 여기에 포괄적 인 답변이 있으면 많은 사람들을 도울 것이라고 생각합니다.