Я ніде не можу знайти вагомих причин для цього. Вектор відбиття, який використовується у фонзі, має просту основу у фізиці. Але половинний вектор, використаний у Блін, начебто, не має раціональної основи і не є належним відображенням. І все ж він використовується у кожній так званій «фізично заснованій» функції затінення. Якщо для цього є хороша фізична основа, я хотів би знати.
Що мені вдалося знайти, це кілька причин:
Це швидше - на цьому є змішана інформація, але навіть це було б чудовою причиною ... у 1998 році.
Він краще обробляє кути, що перевищують 90 градусів - наскільки я можу сказати, що єдиною причиною цього є те, що термін зворотного зв’язку був використаний неправильно. Точковий добуток відображення та погляду дає кут між -1 та +1. Зазвичай цей кут затискається від 0 до 1, це пряма причина проблеми 90 градусів. Повторно нормалізуйте кут замість того, щоб затиснути його, і ви отримаєте повне покриття на 180 градусів. Я відмовляюся вірити, що проста х * 0,5 + 0,5 операція ухиляється від графічного світу протягом 40 років.
вона краще обробляє краї - "Проблема" краю також існує в розчині blinn, лише меншою мірою. Основна причина - неправильне моделювання освітлення області на термінаторі, що має бути важливим для будь-якого «фізично заснованого» шейдера. Але навіть у більш простих ситуаціях сигмоїдна функція може правильно наближати м'яку лінію термінатора. Помноження на ламбертовий термін невірно, оскільки воно неналежним чином зменшує монетарний термін, це може скасувати термін френеля та призвести до подальших помилок.
Він має довгі роздуми на краю - мені здається, що хоча анізотропні відображення можуть бути реалістичними, blinn - це не правильний спосіб їх здійснення, оскільки вони з'являються лише на краю. Це просто щасливий збіг обставин, коли помилка в терміні H трапляється реалістичною.
Жодна з цих причин не задовільна, я хочу розібратися в цьому безумстві.
Я хочу уточнити , що я не говорю про Blinn і Фонга конкретно , але замість цього про компонентах вектора H і R, які використовуються в якості основи для цих шейдеров, а також інших.