Отсечение окклюзии для набора данных вращающейся сферы

В настоящее время я работаю над заданием, в котором мне нужно реализовать растеризатор только для ЦП для наборов данных сфер. Наборы данных статичны и поэтому не меняются во время выполнения, даже если весь набор может вращаться перед камерой.

Теперь идея состоит в том, чтобы реализовать какой-то метод отсечения окклюзии, чтобы сферы, закрытые другими сферами с точки зрения камеры, не попадали на следующий этап растеризатора (тестирование с z-буфером и затенение пикселей), тратя впустую Процессорное время.

Я искал возможные способы добиться этого. Сначала я подумал о реализации иерархической Z-буферизации, которая поддерживает модель сцены в октодереве. Однако, поскольку наборы данных вращаются, мне нужно будет пересчитывать октодерево каждый кадр, что может быть довольно дорогостоящим. Я прав?

Я не уверен, может ли пространственное хеширование или более дешевая иерархическая организация набора данных сфер быть более выгодным в этом сценарии. Есть мысли по этому поводу? Обратите внимание, что это должно быть полностью реализовано на CPU.


person user2971044    schedule 09.11.2013    source источник


Ответы (1)


прямая проверка экстентов.

Если сферы не пересекаются, считайте их дисками.

person bjorke    schedule 23.11.2013