내 raytracer는 다양한 객체를 지원합니다. 그것들을 교차시키기 위해 광선을 물체 공간으로 변환하는 표준 기술을 사용합니다. 모션 블러를 추가 할 때까지 환상적으로 작동합니다.
모션 블러를 하나의 변환이 아닌 일련의 변환 (토론을 단순화하기 위해 정확히 2라고 가정)으로 모델링합니다. 내 접근 방식은 두 키 프레임에서 광선의 역변환을 수행하고 위치 / 방향을 뛰어 넘는 것입니다.
이것은 번역에는 잘 작동하지만 회전에 대해서는 분해됩니다. 예를 들어 30도 및 90도 회전하는 두 개의 삼각형이 있습니다.
(4 개의 샘플, MN 재구성, 적색 샘플은 2 개의 키 프레임 근처에서 나옴)
모퉁이에서 lerped 샘플이 두 정점 사이에 직선으로 놓여있을 것으로 기대합니다. 대신, 그들은 바깥쪽으로 솟아 오릅니다. 이것은 잘못이다. 더 흥미로운 변형이있는 더 흥미로운 장면에서는 다양한 실패 모드가 발생합니다. 예를 들어 다음은 45 회전을하는 프로펠러입니다.
일부 문제는 BVH가 깨지기 때문에 발생합니다 (객체의 극단이 키 프레임에 있다고 가정).
포워드 변환 만 수행하여 (레이가 아닌 트랜스 폼 오브젝트)이 모든 것을 고칠 수 있지만, 가능한 오브젝트 (삼각형 만 해당)에만 작동합니다.
레이트 레이서가 오브젝트가 아닌 광선을 변환하여 변형 (특히 회전)에 대한 선형 근사치를 생성하도록하려면 어떻게해야합니까?