Изменения
→BSP-деревья и алгоритм художника
Пусть <tex>p_{view}</tex> {{---}} точка обзора, и она лежит над разбивающей плоскостью, хранимой в корне <tex>T</tex>.
Тогда ни один из объектов, лежащих под этой плоскостью, не может перекрыть ни один из объектов, лежащих выше нее. Таким образом, мы можем безопасно показать отрисовать фрагменты объектов из поддерева <tex>T^-</tex> до показа отрисовки объектов из поддерва <tex>T^+</tex>.
Порядок фрагментов объектов в поддеревьях определяется таким же способом.
<tex>v \leftarrow T.root</tex>
if <tex>v</tex> is a leaf
else if <tex>p_{view} \in h_v^+</tex>
painters_algorithm(<tex>T^-</tex>, <tex>p_{view}</tex>)
painters_algorithm(<tex>T^+</tex>, <tex>p_{view}</tex>)
else if <tex>p_{view} \in h_v^-</tex>
painters_algorithm(<tex>T^+</tex>, <tex>p_{view}</tex>)
painters_algorithm(<tex>T^-</tex>, <tex>p_{view}</tex>)
else /∗ <tex>p_{view} \in h_v</tex> ∗/