Гладка в цьому випадку просто робить поверхневі нормали у вершинах точки однаковим чином, при інтерполяції вона виглядає гладкою. Meshsmooth додав би вершини.
1) як можливе згладжування без збільшення деталізації геометрії сітки?
Людські очі насправді не бачать кривизни, за винятком країв предметів. Все, що вони можуть зробити, це наблизити плавність і обробити нахил градієнта. Так що безперервне поле справді дає повітря гладкості. Однак око надзвичайно чутливе до різких змін кольору, і інтерпретує це як важку складку.
Інтерполюючи вершини нормалів, ваша поверхня набуде виду плавної течії. Оскільки ця норма використовується для обчислення остаточного відбитого кольору, ви отримуєте гладке кольорове поле.
Зображення 1 : плоска затінена нормальна проти нормалей плавної інтерплантації. Чорний звичайний лежить на вершині. Кольорові інтерполюються.
Ніщо не говорить про те, що нам потрібно робити лінійну інтерполяцію. Насправді, збурюючи нормали, ми можемо викликати зміну зовнішності плоскої поверхні. Ось як працює збільшене картографування та нормальне відображення. Ефект може бути переконливим, якщо край поверхні не відіграє занадто велику роль, в якій ілюзія порушується.
Зображення 2 : плоска заштрихована поверхня (ззаду), гладка заштрихована (в середині) і відображена гладка нормальна. Ілюзія хвилястої поверхні порушується, оскільки край грає настільки помітну роль у зображенні, замість цього можна збільшити норми
2) чи згладжування принаймні збільшує виділену пам'ять
Важко сказати остаточні речі про основний графічний двигун. Нормали так чи інакше потрібно надсилати на відеокарту, швидше за все, ці дані є кешованими, але їх можна обчислити під час руху (в обох випадках).
Оскільки Макс використовує групи згладжування, мені здається, що використання пам'яті постійне незалежно. Важко сказати, навіть якщо його не кешовано, це не мало би великої зміни. Це робить шейдер крихітним трохи складнішим, але тільки, швидше за все, ця складність присутня, використовуйте його чи ні.