아주 많은 수의 고정 크기 cube decal projector를 월드 공간에 뿌리는 렌더링 기능입니다. per-pixel decal projection 대신 dual quaternion 역산을 사용해 연산 비용을 낮추고, 대신 대량의 패치를 동시에 렌더링할 수 있습니다.
각 패치는 10 × 10 × 10 cm 크기로 고정됩니다.
위치와 회전은 dual_quaternion으로 정의하며,
이를 통해 월드 공간 어디에나 임의의 자세로 배치할 수 있습니다.
크기가 고정되어 있기 때문에 스케일 파라미터는 없으며, 동일한 패치 데이터를 대량으로 인스턴싱하는 데 적합합니다.
dual quaternion 역산을 통해 픽셀이 cube 내부에 있는지 판별하고 UV를 결정합니다. 고비용의 실시간 projection을 포기하는 대신, 수백~수천 개의 패치를 동시에 렌더링할 수 있습니다.
패치가 바닥 위에 뿌려집니다. 이후 캐릭터나 오브젝트가 그 위에 렌더링되므로, 패치가 캐릭터 발 또는 오브젝트 하면을 뚫고 나오지 않습니다.
오브젝트 또는 캐릭터 표면 위에 패치가 뿌려집니다. 라이팅 이전에 삽입되므로 패치도 조명을 받습니다.
바닥과 벽이 만나는 모서리에 패치를 뿌려 ambient occlusion 처리를 대신합니다.
물이나 모래 영역을 벗어난 직후 캐릭터 표면에 패치를 부착하고, 시간이 지남에 따라 서서히 페이드아웃합니다.
물이나 모래 속으로 뛰어들 때 주변 바닥에 튀는 물방울·모래 패치를 순간적으로 대량 배치합니다.