Нещодавно я створив шейдери як для чистих, так і для чистих металів для своєї гри, що триває, і я цілком задоволений результатами.
Чистий метал:
Найважливішою особливістю в моїх експериментах було відображення навколишнього середовища за допомогою кубикових карт. Я реалізував їх у режимі рендерингу текстури в режимі реального часу, але також статичні зображення часто дають хороші результати, і їх простіше розмити. Другою найважливішою особливістю був ефект френеля, який робить силуети об’єктів кращими. Це, наприклад, дає кругліший вигляд кульок. Зоркове освітлення не обов’язково потрібно, оскільки карта куба може надавати основні моменти безпосередньо. HDR-рендерінг також важливий для того, щоб відображення карти куба виглядало добре.
Матовий метал:
Для Brushed металів Ви отримуєте хороші результати досить легко за допомогою кисті текстури, що - щось на зразок цьогоразом з анізотропним освітленням. Для анізотропного освітлення ви можете знайти підручники з Інтернету, але я реалізував власний, використовуючи blinn-fong в якості основи, але з піввіктора я усунув 80% дотичного напрямку. Це означає, що крім норм у ваших моделях вам потрібні дотичні або бітангенди. Роздуми про навколишнє середовище складні для матового металу. Ви можете взяти вибірку з декількох напрямків з кубичної карти на основі дотичних / бітангентних напрямків, але вам можуть знадобитися багато зразків для хороших результатів. Однак це не обов'язково потрібно, оскільки текстура та анізотропне освітлення з декількома джерелами світла вже виглядає досить приємно. Кінцевий результат у моєму випадку виглядає приблизно так: