Туторіал 15 : Світлові карти
Вступ
Цей туторіал містить тільки відео. Він не вводить ніяких нових методик/синтаксису OpenGL, але показує, як використовувати методи, які Ви вже знаєте, що б побудувати високоякісні тіні.
Цей туторіал пояснює, як побудувати простий світ в Blender та запекти світлові карти, так що ви зможете використовувати їх в Вашій програмі.
Ніяких особливих знань про Blender не потрібно. Я все поясню в процесі.
Примітка про світлові карти
Світлові карти запікаються. Раз і назавжди. Це значить, що вони повністю нерухомі, Ви не можете перемістити світло в процессі роботи програми. Чи навіть видалити.
Це все ще може бути корисним для сонячного світла, чи сцен в приміщенні, де неможливо розбити лампочки. Mirror Edge, випущений в 2009 році, активно використовував їх, для сцен в приміщенні та назовні.
Що ще цікаво, що їх легко налаштувати і вони мають чудову швидкість малювання.
Відео
Це відео в форматі 1024x768p, використовуйте режим HD…
Додаток
Коли ви малюєте це в OpenGL, ви можете помітити деякі дефекти (ось вони тут перебільшені трішки):
Це пов’язано з міпмаппінгом, який поєднує текселі, які видно на відстані. Чорні пікселі з текстури фону змішуються з хорошими частинами світлової карти. Що б уникнути цього, є декілька способів:
- Ви можете попросити Blender згенерувати поля навколо меж UV карти. Це параметр “margin” (поля) в секції “bake”. Для отримання гарного результату, спробуйте виставити воля до 20 текселів.
-
Ви можете використовувати «упередження bias» для текстури:
color = texture( myTextureSampler, UV, -2.0 ).rgb;
-2 - це упередження. Можливо, Вам буде потрібно поекспериментувати з цим значенням. На зображенні вище значення було +2, що значить, що OpenGL буде обирати дві міпмапи вище тої, яка повинна була братись (це в 16 разів менше, звідси і проблеми)
- Ви можете заповнювати фон чорним кольором в кроці післяобробки. Я напишу про це пізніше.