Мова :
SWEWE Член :Ввійти |Реєстрація
Пошук
Енциклопедія співтовариство |Енциклопедія відповіді |Відправити запитання |Словник знань |Завантажити знання
Попередній 1 Наступний Вибір сторінок

Карти тіней

Огляд

Карти тіней (відображення Тінь) додається в тіні тривимірного комп'ютерної графіки процесу. Концепція була спочатку розроблена тіньової карті Ленс Вільямс в 1978 році в "кинули тінь на поверхні", представлений у цій статті. З тих пір цей метод був використаний попередньо надані сцени в реальному часі і навіть багато ігрових пристроїв, а також високого класу комп'ютерних ігор. У RenderMan від Pixar з використання технології тінь відображення, також в Історії іграшок ця гра також використовує технологію.Буфер або глибина пікселя зображення освітлення в порівнянні з глибиною текстури, що зберігається у формі, чи розраховується піксел в цьому випадку знаходиться в діапазоні від опромінення світлом, тим самим формуючи тінь.

Також називається карт освітлення (Light карт) - це шлях до досягнення реалістичного освітлення і ефектів затінення без зниження ситуацію частоту кадрів. Тінь редактор карт дозволяє розміщувати будь-яку кількість статичних джерел світла в сцені, він буде попередньо обчислені оптичного потоку (світловий потік) і статичні тіні для кожної поверхні. Більшість сучасних комерційних 3D гра буде використовувати карти тіней.

Принцип тінь і тінь карту

Дивлячись з позиції джерела світла, мати можливість бачити всі об'єкти у світлі серед об'єктів, але ці речі будуть перебувати в тіні за це. Це основний принцип генерації карти тіней. Освітлення рендеринг сцени, збереження поверхня може побачити глибину об'єкта, тобто карти тіней. Тоді, нормальна в кожній точці сцени і карти глибини порівнюються судити, якщо кожна точка на сцені, щоб мати можливість побачити світло, тим самим роблячи нормальну сцену.

Для тіні в реальному часі, точність цього методу є гірше, ніж тіні тіла, але залежно від техніки, необхідної для кожного конкретного додатка часу заповнення, в деяких випадках тінь карта є швидше вибір. Крім того, ніяких додаткових кеш карти тіней шаблон, і не може бути змінений, щоб генерувати кордону м'які тіні. Тим не менш, з тінню тіло відрізняється, точність обмежується дозволом карти тіней.

Алгоритми Основна

Для надання тіньової сцену вимагає двох кроків, щоб закінчити. Перший крок полягає у створенні самого карти тіней, другий крок полягає в застосуванні карт тіней на сцену. Залежно від реалізації та кількості різних джерел світла, процес рендеринга тіней сцена може зажадати два або більше процес малювання.

Покоління Тінь карту

Першим кроком є ​​для візуалізації сцени з точки зору джерела світла. Для точкового джерела, поле зору є перспективним досить широкий перспективна проекція. Для спрямованого світла, таких як сонце, необхідність використання ортогональну проекцію.

Відповідно до цього результати рендеринга видобутку, глибини збереження буфера. Тому що тільки пов'язано з глибини інформації, це часто, щоб уникнути зміни кольору буфер, і не розраховує освітлення і текстуру, а також заощадити час. Це діаграма глибини часто зберігається у вигляді текстури в пам'яті відеокарти.

Як тільки світло в сцені або об'єкта змінюються, то необхідно повторно оновити карта глибини, але в інших ситуаціях також може бути повторений з використанням карти глибини, наприклад тільки випадок руху камери. За наявності декількох джерел світла в сцені, необхідно створити карту глибини для кожного відповідного джерела світла.

У багатьох реалізаціях карти глибини в цілях економії часу, що витрачається перемальовування, сцена може бути надана тільки в частині об'єкта для генерації карти тіней. Для того щоб вирішити глибину конфлікту (Z-бойової) поточне значення глибини з глибиною поверхні звертається занадто близько до наступного покоління, а також може бути в тіньовій мапі надання об'єкт додається в глибині освітлення зміщення. Інша реалізація цього ефекту обрізається альтернативні предмети перед, позаду тільки створити тіньовий візуалізації об'єктів фіг.

Shading сцени

Другий крок полягає у використанні карт тіней відповідно до звичайних сцени перспективної проекції. Цей процес ділиться на три основні частини, по-перше, визначити координати об'єкта в освітленості сцени, другий полягає в координації з відповідними значеннями діаграмі глибини для порівняння, остання позиція заснована в тіні або при освітленні Об'єкти звертається.

Освітлення просторові координати

Точка об'єкт, що підлягає порівнянні з карти глибини, положення координати об'єктів в сцені повинні бути перетворені у відповідному положенні в світловому просторі, перетворення може бути досягнуто шляхом матричного множення. Положення об'єкта на екрані перетворення координат можна визначити за допомогою звичайних, але повинні бути згенеровані для виявлення другого положення об'єкта в просторі координат світла.

Світ перетворення координат системи до світло-просторових координат матрицю перетворення системи з першого кроку в матриці перетворення для надання карти тіней те ж саме, це продукт в OpenGL Model-View і проекційних матриць. Це породжує безліч однорідних координат, якщо видно через перспективного поділу (перспектива поділу) в нормованих координатах пристрою, кожен компонент (х, у, г) знаходяться між від -1 до 1. Є багато методів, щоб масштабувати і зсув до іншої матричного множення між вартістю -1 для перетворення значення від 0 до 1 між глибини карті текстурної карти або частіше використовується. Цей процес масштабування може бути завершена до перспективного ділення

Якщо ви використовуєте затінення або інші розширення графічних апаратних завершити роботу, то це, як правило, здійснюється на вершині рівня конверсії, отримане значення з інтерполяцією між іншої точки, а потім передається в частині обробки фрагментів.

Глибина карту тест

Після знаходження координати освітлення простору, х і у зазвичай відповідає положенню карти глибини текстури, Z, відповідні відповідним глибині, так що глибина можна порівняти з фіг.

Якщо г більше, ніж глибина карті значенням, що зберігається у відповідному положенні, то цей об'єкт закритий іншими об'єктами, точка позначається як не вдалося, він буде зображений у процесі малювання тінь державної, в іншому випадку, вона буде втягнута в освітленій стан.

Якщо позиція виходить за діаграмі глибини, то програма буде необхідно визначити поверхню або використовувати за замовчуванням висвітлити тінь виявляється, що, як правило, звертається в освітленій держави.

У реалізації шейдеров, цей процес здійснюється в фрагментів рівнях. Крім того, при виборі обладнання, використовуваного в типу текстурної карти пам'яті при необхідності Примітка: Якщо ви не можете бути з інтерполяцією, то тінь з'явиться нерівні межі, використовуючи більш високий дозвіл карти тіней, щоб зменшити це явище.

За ступенем близькості з тінню прикордонного діапазону значень, а не за допомогою простого прийняття позитивного чи негативного допомогою таких модифікацій можуть бути досягнуті більш плавно тіні кордон.

Техніка Карти тіней також можуть бути модифіковані для генерації текстури освітленому місці, так що ви можете імітувати ефект проектора. Вище під назвою "прогнозується видимість сцени карта глибини» зображення є одним з таких прикладів.

Намалюйте сцени

Сцени з тінями можна зробити декількома способами. Якщо є в наявності програмованих шейдерів, карта глибини тест може бути зроблено в сміттєвому шейдеров. Після початкової генерації карти тіней, що може бути зроблено один або висвітлюється на основі об'єкта тінь візуалізації.

Якщо ні тінь інструментів, які можуть бути використані, як правило, необхідно використовувати деякі апаратні розширення, такі як GL_ARB_shadow т.д. карти тіней тесту, вони, як правило, не дозволено вибирати між двома моделі висвітлення, і вимагають більш рендеринга процес:


Попередній 1 Наступний Вибір сторінок
Користувач Огляд
Немає коментарів
Я хочу коментувати [Відвідувач (18.191.*.*) | Ввійти ]

Мова :
| Перевірте код :


Пошук

版权申明 | 隐私权政策 | Авторське право @2018 Всесвітній енциклопедичні знання