Shadow mapping (відображення/проекція тіней) — це процес, за допомогою якого тіні додаються до тривимірної комп'ютерної графіки. Це поняття було введене Лансом Вільямсом у 1978 році в статті під назвою «Відкидання кривих тіней на криві поверхні». Відтоді вона використовується як у попередньо відрендерених так і в сценах реального часу в багатьох комп'ютерних іграх.
Тіні створюються шляхом перевірки того, чи видно піксель від джерела світла, шляхом порівняння пікселя з z-буфером або зображенням глибини з погляду джерела світла, яке зберігається у вигляді текстури.
Принцип тіні
Якщо ви подивитеся на джерело світла, то всі об'єкти, які ви бачите, будуть у світлі. Проте все, що знаходиться позаду цих об'єктів, буде в тіні. Це основний принцип, який використовується для створення карти тіней. Відображається вигляд світла, зберігаючи глибину кожної поверхні, яку він бачить (карта тіней). Потім візуалізується звичайна сцена, порівнюючи глибину кожної намальованої точки (так, ніби її бачить світло, а не око) з цією картою глибини.
Цей метод менш точний, ніж об'єми тіней, але карта тіней може бути швидшою альтернативою, залежно від того, скільки часу заповнення потрібно для кожного з методів у конкретній програмі, і тому може бути більш придатною для додатків, що працюють у реальному часі. Крім того, карти тіней не потребують використання додаткового буфера трафарету і можуть бути модифіковані для створення тіней з м'яким краєм. Однак, на відміну від об'ємів тіней, точність карти тіней обмежена її роздільною здатністю.
Огляд алгоритму
Відтворення затіненої сцени складається з двох основних етапів малювання. На першому створюється сама карта тіней, а на другому вона накладається на сцену. Залежно від реалізації (і кількості джерел світла), для цього може знадобитися два або більше проходів малювання.
Створення проєкції тіней
На першому кроці зображуємо сцену з точки зору світла. Для точкового джерела світла вигляд має бути , ширина якої дорівнює бажаному куту ефекту (це буде щось на кшталт квадратного прожектора). Для спрямованого світла (наприклад, від Сонця) слід використовувати ортографічну проекцію.
З цього рендерингу витягується і зберігається буфер глибини. Оскільки важлива лише інформація про глибину, зазвичай не оновлюють колірні буфери і вимикають всі розрахунки освітлення і текстур для цього візуалізатора, щоб заощадити час малювання. Ця карта глибини часто зберігається як текстура у графічній пам'яті.
Цю карту глибини слід оновлювати щоразу, коли змінюються освітлення або об'єкти у сцені, але її можна використовувати повторно в інших ситуаціях, наприклад, коли рухається лише камера спостереження. (Якщо є декілька джерел світла, для кожного джерела слід використовувати окрему карту глибини).
У багатьох реалізаціях практично доцільно рендерити лише підмножину об'єктів у сцені на карту тіней, щоб заощадити час, необхідний для перемальовування карти. Крім того, зміщення глибини, яке зміщує об'єкти від світла, може бути застосоване до зображування карти тіней, щоб вирішити проблеми зшивання, коли значення карти глибини близьке до глибини поверхні, що малюється (тобто поверхні, що відкидає тінь) на наступному кроці. Крім того, для отримання подібного результату іноді використовують відсіювання передніх поверхонь об'єктів і додавання до карти тіней лише їхніх задніх сторін.
Затінення сцени
Другий крок — намалювати сцену зі звичайної точки зору камери, застосувавши карту тіней. Цей процес складається з трьох основних компонентів. Перший крок — знаходження координат об'єкта з точки зору світла, оскільки 3D-об'єкт використовує лише двовимірні координати з осями X та Y для представлення своєї геометричної форми на екрані, ці координати вершин збігатимуться з відповідними краями тіньових частин на самій карті тіней (карті глибини). Другим кроком є перевірка глибини, яка порівнює значення z об'єкта зі значеннями z з карти глибини, і, нарешті, після завершення перевірки, об'єкт має бути намальований або в тіні, або на світлі.
Координати світлового простору
Щоб перевірити точку на карті глибини, її положення в координатах сцени має бути перетворено в еквівалентне положення, яке бачить світло. Це досягається за допомогою . Розташування об'єкта на екрані визначається звичайним перетворенням координат, але для розташування об'єкта у світловому просторі необхідно згенерувати другий набір координат.
Матриця, що використовується для перетворення світових координат у координати огляду світла, є такою ж, як і та, що використовувалася для рендерингу карти тіней на першому кроці (в OpenGL це добуток матриці огляду моделі та матриці проекцій). Це призводить до створення набору однорідних координат, які потребують перспективного поділу (див. 3D-проекція), щоб стати нормалізованими координатами пристрою, в яких кожен компонент (x, y або z) знаходиться в діапазоні від -1 до 1 (якщо він видимий з точки зору світла). Багато реалізацій (наприклад, OpenGL та Direct3D) вимагають додаткового масштабування та множення матриці зсуву, щоб відобразити ці значення від -1 до 1 у значення від 0 до 1, які є більш звичними координатами для пошуку карти глибини (текстури). Це масштабування можна виконати перед поділом перспективи, і воно легко вкладається у попередній розрахунок перетворення шляхом множення цієї матриці на наступну:
Якщо це робиться за допомогою шейдера або іншого розширення графічного обладнання, це перетворення зазвичай застосовується на рівні вершини, а згенероване значення інтерполюється між іншими вершинами і передається на рівень фрагмента.
Тест карти глибин
Після того, як координати світлового простору знайдено, значення x та y зазвичай відповідають розташуванню на текстурі карти глибин, а значення z відповідає відповідній глибині, яку тепер можна перевірити на карті глибин.
Якщо значення z є більшим за значення, що зберігається на карті глибин у відповідному місці (x, y), об'єкт вважається таким, що знаходиться за об'єктом, який його затуляє, і має бути позначений як невдалий, щоб бути намальованим у тіні під час процесу малювання. В іншому випадку, він має бути намальований освітленим.
Якщо точка (x, y) знаходиться за межами карти глибини, програміст повинен вирішити, що поверхня має бути освітленою або затіненою за замовчуванням (зазвичай освітленою).
У шейдерній реалізації цей тест виконується на рівні фрагмента. Також слід бути обережним при виборі типу зберігання карти текстур, який буде використовуватися апаратним забезпеченням: якщо інтерполяція неможлива, тінь матиме різкий, нерівний край (ефект, який можна зменшити за допомогою більшої роздільної здатності карти тіней).
Тест карти глибини можна модифікувати так, щоб він створював тіні з м'яким краєм, використовуючи діапазон значень (на основі близькості до краю тіні), а не просто «пройшов» або «не пройшов».
Техніка картографування тіней також може бути модифікована для нанесення текстури на освітлені ділянки, імітуючи ефект проектора. Зображення вище з підписом «візуалізація карти глибини, спроектованої на сцену» є прикладом такого процесу.
Малюємо сцену
Малювання сцени тінями можна виконати кількома різними способами. Якщо доступні програмовані шейдери, тест карти глибини можна виконати за допомогою фрагментного шейдера, який просто малює об'єкт у тіні або освітленим, залежно від результату, малюючи сцену за один прохід (після початкового попереднього проходу для створення карти тіней).
Якщо шейдери недоступні, виконання тесту карти глибини зазвичай має бути реалізовано за допомогою апаратного розширення (наприклад, ), яке зазвичай не дозволяє вибирати між двома моделями освітлення (освітленим і затіненим) і вимагає більшої кількості проходів рендерингу:
1) Відрендерити всю сцену у тіні. Для найпоширеніших моделей освітлення (див. модель відбиття Фонга) це технічно має бути зроблено з використанням лише навколишнього компонента світла, але зазвичай до нього додають тьмяне розсіяне світло, щоб запобігти викривленим поверхням, які виглядають пласкими у тіні.
2) Увімкнути тест карти глибини і зробити сцену освітленою. Області, де тест карти глибини не пройшов успішно, не будуть перезаписані і залишаться затіненими.
3) Для кожного додаткового джерела світла можна використати додатковий прохід, використовуючи адитивне змішування, щоб поєднати їхній ефект з уже намальованими джерелами світла. (Кожен з цих проходів вимагає додаткового попереднього проходу для створення відповідної карти тіней).
Приклади зображень у цій статті використовують розширення OpenGLGL_ARB_shadow_ambient для виконання процесу картографування тіней за два проходи.
Реалізація тіньової проєкції в реальному часі
Одним з ключових недоліків картографування тіней у реальному часі є те, що розмір і глибина проєкції тіней визначають якість кінцевих тіней. Зазвичай це проявляється у вигляді аліасингу або збоїв безперервності тіней. Простий спосіб подолати це обмеження — збільшити розмір карти тіней, але через обмеження пам'яті, обчислювальних ресурсів або апаратного забезпечення це не завжди можливо. Для обходу цього обмеження були розроблені загальновживані методи для картографування тіней у реальному часі. До них належать каскадні тіньові карти, трапецієподібні тіньові карти, тіньові карти з перспективою світлового простору або паралельно-розділені тіньові карти.
Також слід зазначити, що згенеровані тіні, навіть якщо вони не містять аліасів, мають жорсткі краї, що не завжди бажано. Для імітації реальних м'яких тіней було розроблено кілька рішень, які передбачають виконання декількох пошуків на карті тіней, генерування геометрії для імітації м'яких країв або створення нестандартних карт тіней з глибиною. Яскравими прикладами таких рішень є , згладжування та карти тіней з дисперсією.
Техніки тіньового картографування
Проста
- SSM «Simple»
Розщеплення/Поділ
- PSSM «Parallel Split» https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch10.html
- CSM «Cascaded» http://developer.download.nvidia.com/SDK/10.5/opengl/src/cascaded_shadow_maps/doc/cascaded_shadow_maps.pdf
Викривлення/Деформація
- LiSPSM «Light Space Perspective» https://www.cg.tuwien.ac.at/research/vr/lispsm/
- TSM «Trapezoid» http://www.comp.nus.edu.sg/~tants/tsm.html
- PSM «Perspective» http://www-sop.inria.fr/reves/Marc.Stamminger/psm/
- CSSM «Camera Space» http://bib.irb.hr/datoteka/570987.12_CSSM.pdf
Згладжування
- PCF «Percentage Closer Filtering» https://developer.nvidia.com/gpugems/GPUGems/gpugems_ch11.html
Фільтрування
- ESM «Exponential» http://www.cad.zju.edu.cn/home/jqfeng/papers/Exponential%20Soft%20Shadow%20Mapping.pdf
- CSM «Convolution» https://doclib.uhasselt.be/dspace/bitstream/1942/8040/1/3227.pdf
- VSM «Variance» http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.2569&rep=rep1&type=pdf
- SAVSM «Summed Area Variance» https://developer.nvidia.com/gpugems/gpugems3/part-ii-light-and-shadows/chapter-8-summed-area-variance-shadow-maps
- SMSR «Shadow Map Silhouette Revectorization» http://bondarev.nl/?p=326
М'які тіні
- PCSS «Percentage Closer» http://developer.download.nvidia.com/shaderlibrary/docs/shadow_PCSS.pdf
- SSSS «Screen space soft shadows» http://www.crcnetbase.com/doi/abs/10.1201/b10648-36
- FIV «Fullsphere Irradiance Vector» http://getlab.org/publications/FIV/
Різноманітні
- ASM «Adaptive» http://www.cs.cornell.edu/~kb/publications/ASM.pdf
- AVSM «Adaptive Volumetric»
- CSSM «Camera Space» http://free-zg.t-com.hr/cssm/
- DASM «Deep Adaptive»
- DPSM «Dual Paraboloid» http://sites.google.com/site/osmanbrian2/dpsm.pdf
- DSM «Deep» http://graphics.pixar.com/library/DeepShadows/paper.pdf
- FSM «Forward» http://www.cs.unc.edu/~zhangh/technotes/shadow/shadow.ps
- LPSM «Logarithmic» http://gamma.cs.unc.edu/LOGSM/
- MDSM «Multiple Depth» http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.59.3376&rep=rep1&type=pdf
- RTW «Rectilinear» http://www.cspaul.com/wiki/doku.php?id=publications:rosen.2012.i3d
- RMSM «Resolution Matched» http://www.idav.ucdavis.edu/func/return_pdf?pub_id=919
- SDSM «Sample Distribution»
- SPPSM «Separating Plane Perspective» http://image.diku.dk/projects/media/morten.mikkelsen.07.pdf
- SSSM «Shadow Silhouette» http://graphics.stanford.edu/papers/silmap/silmap.pdf
Різне
- Shadow Depth Maps (SDM)
- Perspective shadow maps (PSMs)
- Light Space Perspective Shadow Maps (LSPSMs)
- Cascaded Shadow Maps (CSMs)
- Variance Shadow Maps (VSMs)
Див. також
- , ще одна техніка затінення.
- Кастинг променів, повільніша техніка, яка часто використовується в трасуванні променів.
- Фотонне відображення, набагато повільніша техніка, здатна створювати дуже реалістичне освітлення.
- Radiosity, ще одна дуже повільна, але дуже реалістична техніка.
Подальше читання
- Willem H. de Boer
- Forward shadow mapping performs the shadow test in eye-space rather than light-space to keep texture access more sequential.
Список літератури
- Common Techniques to Improve Shadow Depth Maps. Msdn.microsoft.com. Процитовано 7 листопада 2021.
- Cascaded Shadow Maps. Msdn.microsoft.com. Процитовано 7 листопада 2021.
- Donnelly, William; Lauritzen, Andrew (14 березня 2006). Variance shadow maps. Proceedings of the 2006 symposium on Interactive 3D graphics and games - SI3D '06. Association for Computing Machinery. с. 161—165. doi:10.1145/1111411.1111440. ISBN .
{{}}
:|access-date=
вимагає|url=
()
Ця стаття містить , але походження тверджень у ній через практично повну відсутність . (серпень 2023) |
Посилання
- Hardware Shadow Mapping, nVidia
- , nVidia
- Riemer's step-by-step tutorial implementing Shadow Mapping with HLSL and DirectX
- Improvements for Shadow Mapping using GLSL
- NVIDIA Real-time Shadow Algorithms and Techniques
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Shadow mapping vidobrazhennya proekciya tinej ce proces za dopomogoyu yakogo tini dodayutsya do trivimirnoyi komp yuternoyi grafiki Ce ponyattya bulo vvedene Lansom Vilyamsom u 1978 roci v statti pid nazvoyu Vidkidannya krivih tinej na krivi poverhni Vidtodi vona vikoristovuyetsya yak u poperedno vidrenderenih tak i v scenah realnogo chasu v bagatoh komp yuternih igrah Tini stvoryuyutsya shlyahom perevirki togo chi vidno piksel vid dzherela svitla shlyahom porivnyannya pikselya z z buferom abo zobrazhennyam glibini z poglyadu dzherela svitla yake zberigayetsya u viglyadi teksturi Princip tiniYaksho vi podivitesya na dzherelo svitla to vsi ob yekti yaki vi bachite budut u svitli Prote vse sho znahoditsya pozadu cih ob yektiv bude v tini Ce osnovnij princip yakij vikoristovuyetsya dlya stvorennya karti tinej Vidobrazhayetsya viglyad svitla zberigayuchi glibinu kozhnoyi poverhni yaku vin bachit karta tinej Potim vizualizuyetsya zvichajna scena porivnyuyuchi glibinu kozhnoyi namalovanoyi tochki tak nibi yiyi bachit svitlo a ne oko z ciyeyu kartoyu glibini Cej metod mensh tochnij nizh ob yemi tinej ale karta tinej mozhe buti shvidshoyu alternativoyu zalezhno vid togo skilki chasu zapovnennya potribno dlya kozhnogo z metodiv u konkretnij programi i tomu mozhe buti bilsh pridatnoyu dlya dodatkiv sho pracyuyut u realnomu chasi Krim togo karti tinej ne potrebuyut vikoristannya dodatkovogo bufera trafaretu i mozhut buti modifikovani dlya stvorennya tinej z m yakim krayem Odnak na vidminu vid ob yemiv tinej tochnist karti tinej obmezhena yiyi rozdilnoyu zdatnistyu Oglyad algoritmuVidtvorennya zatinenoyi sceni skladayetsya z dvoh osnovnih etapiv malyuvannya Na pershomu stvoryuyetsya sama karta tinej a na drugomu vona nakladayetsya na scenu Zalezhno vid realizaciyi i kilkosti dzherel svitla dlya cogo mozhe znadobitisya dva abo bilshe prohodiv malyuvannya Stvorennya proyekciyi tinej Scena vizualizovana z svitlogo boku Scena z rakursu svitla karta glibini Na pershomu kroci zobrazhuyemo scenu z tochki zoru svitla Dlya tochkovogo dzherela svitla viglyad maye buti shirina yakoyi dorivnyuye bazhanomu kutu efektu ce bude shos na kshtalt kvadratnogo prozhektora Dlya spryamovanogo svitla napriklad vid Soncya slid vikoristovuvati ortografichnu proekciyu Z cogo renderingu vityaguyetsya i zberigayetsya bufer glibini Oskilki vazhliva lishe informaciya pro glibinu zazvichaj ne onovlyuyut kolirni buferi i vimikayut vsi rozrahunki osvitlennya i tekstur dlya cogo vizualizatora shob zaoshaditi chas malyuvannya Cya karta glibini chasto zberigayetsya yak tekstura u grafichnij pam yati Cyu kartu glibini slid onovlyuvati shorazu koli zminyuyutsya osvitlennya abo ob yekti u sceni ale yiyi mozhna vikoristovuvati povtorno v inshih situaciyah napriklad koli ruhayetsya lishe kamera sposterezhennya Yaksho ye dekilka dzherel svitla dlya kozhnogo dzherela slid vikoristovuvati okremu kartu glibini U bagatoh realizaciyah praktichno docilno renderiti lishe pidmnozhinu ob yektiv u sceni na kartu tinej shob zaoshaditi chas neobhidnij dlya peremalovuvannya karti Krim togo zmishennya glibini yake zmishuye ob yekti vid svitla mozhe buti zastosovane do zobrazhuvannya karti tinej shob virishiti problemi zshivannya koli znachennya karti glibini blizke do glibini poverhni sho malyuyetsya tobto poverhni sho vidkidaye tin na nastupnomu kroci Krim togo dlya otrimannya podibnogo rezultatu inodi vikoristovuyut vidsiyuvannya perednih poverhon ob yektiv i dodavannya do karti tinej lishe yihnih zadnih storin Zatinennya sceni Drugij krok namalyuvati scenu zi zvichajnoyi tochki zoru kameri zastosuvavshi kartu tinej Cej proces skladayetsya z troh osnovnih komponentiv Pershij krok znahodzhennya koordinat ob yekta z tochki zoru svitla oskilki 3D ob yekt vikoristovuye lishe dvovimirni koordinati z osyami X ta Y dlya predstavlennya svoyeyi geometrichnoyi formi na ekrani ci koordinati vershin zbigatimutsya z vidpovidnimi krayami tinovih chastin na samij karti tinej karti glibini Drugim krokom ye perevirka glibini yaka porivnyuye znachennya z ob yekta zi znachennyami z z karti glibini i nareshti pislya zavershennya perevirki ob yekt maye buti namalovanij abo v tini abo na svitli Koordinati svitlovogo prostoru Vizualizaciya karti glibin sproektovanoyi na scenu Shob pereviriti tochku na karti glibini yiyi polozhennya v koordinatah sceni maye buti peretvoreno v ekvivalentne polozhennya yake bachit svitlo Ce dosyagayetsya za dopomogoyu Roztashuvannya ob yekta na ekrani viznachayetsya zvichajnim peretvorennyam koordinat ale dlya roztashuvannya ob yekta u svitlovomu prostori neobhidno zgeneruvati drugij nabir koordinat Matricya sho vikoristovuyetsya dlya peretvorennya svitovih koordinat u koordinati oglyadu svitla ye takoyu zh yak i ta sho vikoristovuvalasya dlya renderingu karti tinej na pershomu kroci v OpenGL ce dobutok matrici oglyadu modeli ta matrici proekcij Ce prizvodit do stvorennya naboru odnoridnih koordinat yaki potrebuyut perspektivnogo podilu div 3D proekciya shob stati normalizovanimi koordinatami pristroyu v yakih kozhen komponent x y abo z znahoditsya v diapazoni vid 1 do 1 yaksho vin vidimij z tochki zoru svitla Bagato realizacij napriklad OpenGL ta Direct3D vimagayut dodatkovogo masshtabuvannya ta mnozhennya matrici zsuvu shob vidobraziti ci znachennya vid 1 do 1 u znachennya vid 0 do 1 yaki ye bilsh zvichnimi koordinatami dlya poshuku karti glibini teksturi Ce masshtabuvannya mozhna vikonati pered podilom perspektivi i vono legko vkladayetsya u poperednij rozrahunok peretvorennya shlyahom mnozhennya ciyeyi matrici na nastupnu 0 5 0 0 0 5 0 0 5 0 0 5 0 0 0 5 0 5 0 0 0 1 displaystyle begin bmatrix 0 5 amp 0 amp 0 amp 0 5 0 amp 0 5 amp 0 amp 0 5 0 amp 0 amp 0 5 amp 0 5 0 amp 0 amp 0 amp 1 end bmatrix Yaksho ce robitsya za dopomogoyu shejdera abo inshogo rozshirennya grafichnogo obladnannya ce peretvorennya zazvichaj zastosovuyetsya na rivni vershini a zgenerovane znachennya interpolyuyetsya mizh inshimi vershinami i peredayetsya na riven fragmenta Test karti glibin Pomilki pri testuvanni karti glibin Pislya togo yak koordinati svitlovogo prostoru znajdeno znachennya x ta y zazvichaj vidpovidayut roztashuvannyu na teksturi karti glibin a znachennya z vidpovidaye vidpovidnij glibini yaku teper mozhna pereviriti na karti glibin Yaksho znachennya z ye bilshim za znachennya sho zberigayetsya na karti glibin u vidpovidnomu misci x y ob yekt vvazhayetsya takim sho znahoditsya za ob yektom yakij jogo zatulyaye i maye buti poznachenij yak nevdalij shob buti namalovanim u tini pid chas procesu malyuvannya V inshomu vipadku vin maye buti namalovanij osvitlenim Yaksho tochka x y znahoditsya za mezhami karti glibini programist povinen virishiti sho poverhnya maye buti osvitlenoyu abo zatinenoyu za zamovchuvannyam zazvichaj osvitlenoyu U shejdernij realizaciyi cej test vikonuyetsya na rivni fragmenta Takozh slid buti oberezhnim pri vibori tipu zberigannya karti tekstur yakij bude vikoristovuvatisya aparatnim zabezpechennyam yaksho interpolyaciya nemozhliva tin matime rizkij nerivnij kraj efekt yakij mozhna zmenshiti za dopomogoyu bilshoyi rozdilnoyi zdatnosti karti tinej Test karti glibini mozhna modifikuvati tak shob vin stvoryuvav tini z m yakim krayem vikoristovuyuchi diapazon znachen na osnovi blizkosti do krayu tini a ne prosto projshov abo ne projshov Tehnika kartografuvannya tinej takozh mozhe buti modifikovana dlya nanesennya teksturi na osvitleni dilyanki imituyuchi efekt proektora Zobrazhennya vishe z pidpisom vizualizaciya karti glibini sproektovanoyi na scenu ye prikladom takogo procesu Malyuyemo scenu Finalna scena rendering z navkolishnimi tinyami Malyuvannya sceni tinyami mozhna vikonati kilkoma riznimi sposobami Yaksho dostupni programovani shejderi test karti glibini mozhna vikonati za dopomogoyu fragmentnogo shejdera yakij prosto malyuye ob yekt u tini abo osvitlenim zalezhno vid rezultatu malyuyuchi scenu za odin prohid pislya pochatkovogo poperednogo prohodu dlya stvorennya karti tinej Yaksho shejderi nedostupni vikonannya testu karti glibini zazvichaj maye buti realizovano za dopomogoyu aparatnogo rozshirennya napriklad yake zazvichaj ne dozvolyaye vibirati mizh dvoma modelyami osvitlennya osvitlenim i zatinenim i vimagaye bilshoyi kilkosti prohodiv renderingu 1 Vidrenderiti vsyu scenu u tini Dlya najposhirenishih modelej osvitlennya div model vidbittya Fonga ce tehnichno maye buti zrobleno z vikoristannyam lishe navkolishnogo komponenta svitla ale zazvichaj do nogo dodayut tmyane rozsiyane svitlo shob zapobigti vikrivlenim poverhnyam yaki viglyadayut plaskimi u tini 2 Uvimknuti test karti glibini i zrobiti scenu osvitlenoyu Oblasti de test karti glibini ne projshov uspishno ne budut perezapisani i zalishatsya zatinenimi 3 Dlya kozhnogo dodatkovogo dzherela svitla mozhna vikoristati dodatkovij prohid vikoristovuyuchi aditivne zmishuvannya shob poyednati yihnij efekt z uzhe namalovanimi dzherelami svitla Kozhen z cih prohodiv vimagaye dodatkovogo poperednogo prohodu dlya stvorennya vidpovidnoyi karti tinej Prikladi zobrazhen u cij statti vikoristovuyut rozshirennya OpenGLGL ARB shadow ambient dlya vikonannya procesu kartografuvannya tinej za dva prohodi Realizaciya tinovoyi proyekciyi v realnomu chasiOdnim z klyuchovih nedolikiv kartografuvannya tinej u realnomu chasi ye te sho rozmir i glibina proyekciyi tinej viznachayut yakist kincevih tinej Zazvichaj ce proyavlyayetsya u viglyadi aliasingu abo zboyiv bezperervnosti tinej Prostij sposib podolati ce obmezhennya zbilshiti rozmir karti tinej ale cherez obmezhennya pam yati obchislyuvalnih resursiv abo aparatnogo zabezpechennya ce ne zavzhdi mozhlivo Dlya obhodu cogo obmezhennya buli rozrobleni zagalnovzhivani metodi dlya kartografuvannya tinej u realnomu chasi Do nih nalezhat kaskadni tinovi karti trapeciyepodibni tinovi karti tinovi karti z perspektivoyu svitlovogo prostoru abo paralelno rozdileni tinovi karti Takozh slid zaznachiti sho zgenerovani tini navit yaksho voni ne mistyat aliasiv mayut zhorstki krayi sho ne zavzhdi bazhano Dlya imitaciyi realnih m yakih tinej bulo rozrobleno kilka rishen yaki peredbachayut vikonannya dekilkoh poshukiv na karti tinej generuvannya geometriyi dlya imitaciyi m yakih krayiv abo stvorennya nestandartnih kart tinej z glibinoyu Yaskravimi prikladami takih rishen ye zgladzhuvannya ta karti tinej z dispersiyeyu Tehniki tinovogo kartografuvannyaProsta SSM Simple Rozsheplennya Podil PSSM Parallel Split https developer nvidia com gpugems GPUGems3 gpugems3 ch10 html CSM Cascaded http developer download nvidia com SDK 10 5 opengl src cascaded shadow maps doc cascaded shadow maps pdf Vikrivlennya Deformaciya LiSPSM Light Space Perspective https www cg tuwien ac at research vr lispsm TSM Trapezoid http www comp nus edu sg tants tsm html PSM Perspective http www sop inria fr reves Marc Stamminger psm CSSM Camera Space http bib irb hr datoteka 570987 12 CSSM pdf Zgladzhuvannya PCF Percentage Closer Filtering https developer nvidia com gpugems GPUGems gpugems ch11 html Filtruvannya ESM Exponential http www cad zju edu cn home jqfeng papers Exponential 20Soft 20Shadow 20Mapping pdf CSM Convolution https doclib uhasselt be dspace bitstream 1942 8040 1 3227 pdf VSM Variance http citeseerx ist psu edu viewdoc download doi 10 1 1 104 2569 amp rep rep1 amp type pdf SAVSM Summed Area Variance https developer nvidia com gpugems gpugems3 part ii light and shadows chapter 8 summed area variance shadow maps SMSR Shadow Map Silhouette Revectorization http bondarev nl p 326 M yaki tini PCSS Percentage Closer http developer download nvidia com shaderlibrary docs shadow PCSS pdf SSSS Screen space soft shadows http www crcnetbase com doi abs 10 1201 b10648 36 FIV Fullsphere Irradiance Vector http getlab org publications FIV Riznomanitni ASM Adaptive http www cs cornell edu kb publications ASM pdf AVSM Adaptive Volumetric CSSM Camera Space http free zg t com hr cssm DASM Deep Adaptive DPSM Dual Paraboloid http sites google com site osmanbrian2 dpsm pdf DSM Deep http graphics pixar com library DeepShadows paper pdf FSM Forward http www cs unc edu zhangh technotes shadow shadow ps LPSM Logarithmic http gamma cs unc edu LOGSM MDSM Multiple Depth http citeseerx ist psu edu viewdoc download doi 10 1 1 59 3376 amp rep rep1 amp type pdf RTW Rectilinear http www cspaul com wiki doku php id publications rosen 2012 i3d RMSM Resolution Matched http www idav ucdavis edu func return pdf pub id 919 SDSM Sample Distribution SPPSM Separating Plane Perspective http image diku dk projects media morten mikkelsen 07 pdf SSSM Shadow Silhouette http graphics stanford edu papers silmap silmap pdfRizneShadow Depth Maps SDM Perspective shadow maps PSMs Light Space Perspective Shadow Maps LSPSMs Cascaded Shadow Maps CSMs Variance Shadow Maps VSMs Div takozh she odna tehnika zatinennya Kasting promeniv povilnisha tehnika yaka chasto vikoristovuyetsya v trasuvanni promeniv Fotonne vidobrazhennya nabagato povilnisha tehnika zdatna stvoryuvati duzhe realistichne osvitlennya Radiosity she odna duzhe povilna ale duzhe realistichna tehnika Podalshe chitannyaWillem H de Boer Forward shadow mapping performs the shadow test in eye space rather than light space to keep texture access more sequential Spisok literaturiCommon Techniques to Improve Shadow Depth Maps Msdn microsoft com Procitovano 7 listopada 2021 Cascaded Shadow Maps Msdn microsoft com Procitovano 7 listopada 2021 Donnelly William Lauritzen Andrew 14 bereznya 2006 Variance shadow maps Proceedings of the 2006 symposium on Interactive 3D graphics and games SI3D 06 Association for Computing Machinery s 161 165 doi 10 1145 1111411 1111440 ISBN 159593295X a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite book title Shablon Cite book cite book a access date vimagaye url dovidka Cya stattya mistit perelik posilan ale pohodzhennya tverdzhen u nij zalishayetsya nezrozumilim cherez praktichno povnu vidsutnist vnutrishnotekstovih dzherel vinosok Bud laska dopomozhit polipshiti cyu stattyu peretvorivshi dzherela z pereliku posilan na dzherela vinoski u samomu teksti statti serpen 2023 PosilannyaHardware Shadow Mapping nVidia nVidia Riemer s step by step tutorial implementing Shadow Mapping with HLSL and DirectX Improvements for Shadow Mapping using GLSL NVIDIA Real time Shadow Algorithms and Techniques