Набір методів уникнення явного замовлення переходить під назвою незалежної прозорості замовлення (коротко OIT).
Існує маса методик OIT.
Історично один - глибинний пілінг . При такому підході ви спочатку рендеруєте найбільш передні фрагменти / пікселі, потім ви знайдете найближчий до того, який знайшли на попередньому кроці тощо, продовжуючи стільки "шару", скільки вам потрібно. Його називають глибинним пілінгу, тому що при кожному проході ви "лущить" один шар глибини. Весь ваш шар може бути нормально рекомбінований зі спини вперед. Для реалізації цього алгоритму потрібно мати копію буфера глибини.
Інший набір методів - це суміші OIT. Один з найсвіжіших і цікавих - це зважений змішаний OIT, запропонований McGuire та Bavoil . В основному застосовується зважена сума для всіх поверхонь, які займають даний фрагмент. Запропонована ними схема зважування базується на просторі камери Z (як наближення до оклюзії) та непрозорості.
Ідея полягає в тому, що якщо ви зможете зменшити проблему до зваженої суми, вам не дуже важливо замовляти.
Окрім оригінального документу, в блозі Метта Петтінео є великий ресурс для детальних відомостей про впровадження та проблеми зваженого змішаного OIT . Як ви можете прочитати з його поста, ця техніка - це не срібна куля. Основна проблема полягає в тому, що схема зважування є центральною і її потрібно налаштовувати відповідно до сцени / змісту. З його експериментів, хоча ця техніка, здається, працює добре для відносно низької та середньої непрозорості, вона не вдається, коли непрозорість наближається до 1, і тому її не можна використовувати з матеріалів, де велика частина поверхні непрозора (він робить приклад листя).
Знову ж таки, все зводиться до того, як ви налаштовуєте глибинні ваги і знаходження тих, які ідеально відповідають вашим випадкам використання, не обов'язково є тривіальним.
Щодо того, що потрібно для зваженого змішаного OIT, не більше двох додаткових цілей рендерингу. Один, який ви заповнюєте попередньо розмноженим кольором альфа (колір * альфа) та альфа, обидва зважуються відповідно. Інший - лише для ваг.