Построение теней при помощи теневых карт (shadow maps). Классические карты теней вкратце

Значения карт Таро Теней Веры скляровой

Помимо стандартной информации ниже представлены практические наработки людей, работавших с колодой Таро Теней.

Аркан I «Сатана»


В характеристике личности указывает на человека удачливого, самодостаточного, жизнелюбивого, но легко впадающего в ярость. Нравится очаровывать, завоевывать. В отношениях коварен и удачлив, самодостаточен. Способен очаровать любого. Веселый, любит жизнь, но достаточно легко впадает в ярость, начинает спорить. Если видит в человеке врага, то беспощаден. Гнев и ярость, жестокость, высокомерие портят отношения, вылезают в неподходящий момент. Человек сам не понимает, что совершил зло – для него все нормально.

При раскладах в делах говорит, что нужно быть осторожнее в отстаивании своих интересов. Возможно, нужно пойти на уступки для благополучного решения дел.

В вопросах на отношения говорит, что кревент доминирует. Так же возможен болезненный разрыв из-за непонимания.

Обряды на разрушение разного рода, рассорки, разорение, конфликты с окружающими. что именно разрушается покажет соседняя карта:
+ Дух Венеры — порча на отношения
+ Дух Юпитера — на разорение
+ Дух Солнца — неудачи

Деспотизм, агрессия, открытая вражда, навязчивое желание переделать мир под себя, открытая нетерпимость к чужим мнениям.

Невозможность договориться, конфликтность, скандальность.

Вред любого свойства.

Выяснение отношений, ярость, злость, истерики.

Из магических воздействий: рассорки, порча на конфликтность, денежные потери, развал дел.

Разрушение колдовством каких-либо сфер жизни (Сатана+Дух Венеры – порча на отношения).

Как слабое место в характере: агрессия, неподконтрольная рассудку, выброс огромной агрессивной энергии, гнева, ненависти. Эта энергия приносит огромный вред окружающим, но одновременно разрушает и самого человека.

Чрезмерные эмоции, человек стреляет из танка по комарам. Нельзя слетать с тормозов, а рассудительно посмотреть на ситуацию.

Простудное заболевание.

Аркан II «Лилит»


В диагностике личности на женщин указывает на сильную характерную даму, привыкшую добиваться всего самостоятельно. Чувственную, привлекательную, своевольную, но ранимую.

Если такая карта выпадает на мужчину то, скорее всего он зависит от женщины (сестры, жены, матери) и, не обсудив с ней чего-либо, никогда не примет решения.

В вопросе об отношениях говорит, о доминации женщины в паре.

В делах для женщины говорит об удаче, для мужчины указывает на такой недостаток как мягкотелость, что препятствует положительному результату.

Аркан III «Геката»


Как личностная характеристика : привлекательность и сильный характер, эгоизм. Стремление к самостоятельности.

В раскладах на отношения это Аркан указывает на быстротечные несерьезные отношения.

Для мужчины говорит о бесхарактерности и сломленности личности.

При вопросах о делах , говорит о победе в соперничестве для женщины и предостерегает мужчин от возможного провала, если сотрудничать придется с особой женского пола.

Аркан IV «Люцифер»


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

В вопросах о делах предостерегает от поспешности в решениях. Посоветовать можно, все продумать до мелочей, несколько раз проверить во избежание возможных проблем, но серьезных преград быть не должно.

Аркан V «Ариман»


При диагностике магического воздействия следует рассматривать как кармическую карту, т.е. человек расплачивается за свои негативные черты характера, но в сочетании с картами Вульгарная магия и Воплощенное зло говорит о наличии воздействия с целью мести объекту.

Говорит о бесчестии, подлости, цинизме, сарказме, агрессии, страстях, нездоровом азарте, а так же часто человека можно назвать скользким и неприятным.

Если же вопрос поставлен о делах , то указывает на сокрытие доходов кревентом. При раскладе на дела грядущие предупреждает о неудачах и материальных растратах.

В отношениях этот аркан указывает на эгоизм одного из супругов, ложные отношения, плотские страсти (измены).

Негативный аркан, тоска, конфликты.

Ариман+Антихрист – человек-провокатор, алчный, лживый, косит под дурачка. В тихом омуте черти водятся.

Жесткие ситуации, кража, низменные цели, удовольствия, бесчестие, подлость, обман.

Вредный совет.

Человек – циник, атеист, шарлатан.

Сокрытие доходов, денежный обман, растрата, убытки, потери.

Агрессия, жадность, эгоизм.

Ценности и деньги имеют огромное значение.

Сарказм, цинизм, нетерпимость к расам, национализм.

Плохие отцы, которые бросают детей, не платят алименты.

Проституция с целью заработать.

Разум убивает интуицию, духовность, дружбу, преданность. Человек превращается в животное,

которое преследует только свои личные интересы.

Безразличие людей, озабоченность только собой и своими проблемами.

Бесплодие.

Бездуховность, все сводится до уровня физиологии.

Физическая расправа.

На отношения : только секс, отсутствие чувств.

Аморальность, руководство низменными инстинктами, отсутствие логики, нежелание следить за своим внешним видом

В магии – работа на импотенцию мужчины.

Аркан VI «Ваалверит, Владыка Соглашений»


Говорит о внутренних проблемах клиента, возможно о мыслях, о суициде, так же может предвещать неприятности в жизни (финансовые потери, ухудшение здоровья клиента или его близких). Так же указывает на вину клиента в его проблемах. Может служить советом кревенту, стать более открытым, часто если проблемы по службе, то следует провести беседу с начальством.

В магии указывает на удачную работу с сущностями.

Аркан VII «Вельзевул и Астарот»


Скорее всего, клиент жертва обмана, кто-то умело манипулирует им и именно из-за этого рушится его жизнь. Но в зависимости от постановки вопроса клиент и сам, возможно, хорошо умеет управлять людьми. В любовных, дружеских отношениях крайне негативная и даже опасная карты: под маской любимого, близкого человека, или коллеги по работе скрывает враг и предатель. В раскладах на магическое воздействие, скорее манипулятивная магия, внушение, гипнотическое влияние. Человеком руководят, подавляя его собственную волю, и навязывают свою.

Если на вопрос порчи , то да, имеется воздействие, направленное на то, чтобы сбить человека с истинного пути.

Желание навредить.

Личность : хитрый, подлый, циничный манипулятор, соблазнительница, крутит людьми, как захочет. Может направлять на неправильные цели, маскировать свои подлые поступки под благие дела. Его советы могут привести к непоправимым последствиям.

Хороший психолог, шантажирует и запугивает.

Если поездка , то будут какие-то неприятности. Поездка может не принести пользы.

Особенно негативна и опасна карта на денежные и любовные отношения . Сволочь под маской близкого человека.

В бизнесе : вам пытаются толкнуть гадость под видом хорошей вещи. Грязная игра в бизнесе, продавец или покупатель – подставные лица, либо товар подставной.

В магии : манипулирование, внушение – человеком руководят, навязывание чужой воли.

Карта скорее психологическая, чем магическая.

Аркан VIII «Вульгарная магия»


В делах предвещает мелкие хлопоты, суету.

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

В характеристике человека говорит о некотором легкомыслии и склонности все упрощать.

В здоровье могут быть незначительные проблемы.

Человек колдует, используя более мягкие методы, нейтральные заговоры, а также колдовство на любительском уровне.

Аркан IX «Жертва искушения»


Говорит о том, что человек стремится к чему-то настолько сильно, что ради достижения желаемого может навредить окружающим, указывает на эгоцентризм кревента.

Так же указывает на негативные черты характера, которые мешают разрешению проблем кревента и способствуют обретению новых.

В отношениях говорит об отсутствии взаимности, связи на почве страсти.

Аркан X «Обратный ход колеса»


Указывает на связь с прошлым, прошлыми событиями, воспоминания, попытками его переосмыслить, пережить.

Говорит о том, что человек слишком сильно привязан к прошлому и это очень сильно мешает ему в личной жизни, в делах, точнее во всех аспектах жизни.

Так же этот Аркан может указывать на негативную черту характера человека, которая заключается в разрушении всего достигнутого, саморазрушении. Возможно это и материальные потери, причем достаточно крупные, так же возможно, что проблемы в жизни кревента имеют цикличный характер. Это карта злого рока, или жестокого искупления кармических долгов. При выпадении этого аркана, целесообразно достать ещё одну карту, чтобы уточнить, что раскручивает колесо в обратную сторону.

Аркан XI «Некромантия»


В раскладах на магическое воздействие , скорее всего, говорит о нуждаемости кревента, его дома, родных и близких в чистке. Возможно, магическое воздействие было неоднократно и на разные области жизни. Чаще всего указывает на значительный урон в энергетике клиента, сам человек не может избавить от постоянного беспокойства, неуютности и ощущения крайней неустроенности. Так же может говорить о сильном стрессе и психологическом давлении.

Некромантия указывает на кладбищенские обряды. Направленность обряда указывает карта рядом.

Аркан XII «Экзорцизм»


Указывает на такую черту человека, как безучастность, причем как в общих делах, так и в собственной судьбе, стремление плыть по течению, такой человек хочет, чтобы все решали за него.

В делах говорит о том, что излишняя расслабленность кревента привлечет неприятности и убытки.

В магии говорит о возможном даре ясновидения.

Снятие порчи и привязок

Аркан XIII «Шабаш ведьм»


Если вопрос был задан о магических способностях , может указывать на то, что у человека в роду много поколений люди занимались магией.

В вопросе о делах говорит, что результаты будут получены только коллективной работой.

В раскладах на характеристику личности указывает на сильную зависимость кревента от общественного мнения.

Любые коллективные занятия людей, не только магические действия. указывает на то, что человек колдует.

Аркан XIV «Зеркала»


В раскладах на дела говорит о тайном враге, который препятствует в удаче, в делах. В связке с положительными картами говорит о ложности подозрений.

В магии говорит о результативном проведении обрядов и создании талисманов, отсутствии препятствий к осуществлению воздействия. Так же является советом к проведению чистки.

Как аукнется, так и откликнется (помните мультфильм про того, кто сидит в пруду?); неприятности могут прийти от того человека, которого сразу не подозревали.

Аркан XV «Асмодей»


Если этот аркан выпадает на отношения и кревент мужчина, то он изменяет. Возможно, такой мужчина использует женщин в своих целях, например, постирать, приготовить, убрать. Тоже самое касается и женщин, только в ее глазах муж или мужчина-сожитель рассматривается как источник доходов и обеспечения прихотей.

Аркан XVI «Воплощенное зло»


Отражает характер человека как заядлого скандалиста и агрессора. Возможно даже энергетического вампира, умело управляющего энергиями.

В делах магических говорит о совершенных обрядах, принесших значительный урон объекту воздействия.

В отношениях : отсутствие любви, грубость, неминуемый разрыв.

Аркан XVII «Звезда Люцифера»


В раскладах на отношения может означать любовников, в связке с Асмодеем при раскладе на женатого мужчину указывает на наличие любовницы. Так же может указывать на ссоры, но поссорившиеся обязательно помирятся.

В делах указывает на благоприятное время для совершения задуманного.

В магии результат будет получен при создании талисманов, хорошо получатся оморочки и рассорки.

предостерегает от занятий магией

упадок сил, консерватизм, догматизм

разрушение всех надежд

планы будут сорваны либо поменяются

разрыв отношений, измена, есть любовница

рассорка

Аркан XVIII «Отраженный свет»


В вопросах на характеристику личности говорит о предрасположенности к ложным страхам, неудачам из-за боязни что-либо изменить в своей жизни, о заблуждениях, от которых кревент не в силах отказаться.

В делах указывает на скованность в какой-то ситуации, отсутствии результатов при огромных затратах сил.

В магических делах : отсутствие результатов, ошибки или неправильный выбор обряда.

В отношениях : поступки, которые приведут к ссорам, а возможно и разрыву. А так же может указывать на медленное развитие отношений из-за предрассудков.

Аркан XIX «Благодать»


Приятная во всех отношениях карта, говорит об отсутствии негативов (порч, преград в деле и т.п.) карта выпадает на любые позитивные события, так же этот аркан связан с потусторонним, с магией, не исключено что человек активно занимается магией и имеет очень серьезные способности.

Аркан XX «Страшный суд»


В зависимости от поставленного вопроса говорит о том, что, либо клиент кого-то осуждает, либо клиента осуждают. Может служить предостережением.

В магических делах советует провести чистку, сообщает о том, что удачно будут проведены обряды на наведение негатива.

Негативная карта, показывает расплату. На вопрос, почему вам делают порчу — из мести. Показывает расплату за ваши собственные косяки, никакого родового проклятия. Не означает суд высших сил, это суд человеческий либо просто ваши прошлые ошибки и неправильные действия аукнулись сейчас.

С картой Привидение — сделали ошибку на кладбище и покойник пакостит в отместку.

Аркан XXI «Черная Месса»


В работе может предвещать грядущий завал делами, требующими немедленного решения.

В отношениях указывает на кризис, склоки, ссоры.

В характеристике личности говорит об излишней жесткости и одиночестве.

Иногда олицетворяет группу людей, связанных одним делом.

Так же указывает на благополучное проведение черномагических обрядов.

Аркан XXII «Антихрист - шут и клоун Преисподней»


Указывает на неправильные и несвоевременные поступки, ошибки, заблуждения. Может служить как предостережение, советует быть осторожней. Аркан может проявиться как злая шутка, черный юмор, обманчивый человек, хитрый лживый, который играет на чужих нервах, играет и развлекается,
В общем, и целом аркан сложен для понимания.

Непонятные и несвоевременные поступки, ошибки.

Импульсивность, непродуманные действия.

Сбои техники, поломки.

Злая шутка, черный юмор. Человек, играющий на чужих нервах, хитрый, лживый, артист, притворщик.

Человек, одержимый азартом, игра в казино, автоматы и т.д.

Лохотрон, обман людей.

Путаница, неразбериха, заблуждения, непонятные ситуации.

Внезапные порывы, которые сложно контролировать.

Подстава, но не с целью обмана или выгоды, а для развлечения.

Ощущение, что над вами посмеялись, поиздевались.

Несделанный выбор, человек мечется между добром и злом.

Эксцентричность, энергия, неуравновешенность, богемность, непокорность, бесцеремонность, нетерпимость к чужим недостаткам.

Сарказм, страсть к разрушению, заносчивость, резкость, умничанье, вспыльчивость, отсутствие самоконтроля.

Выбор между добром и злом: делать или не делать приворот. Двойные стандарты и невозможность определиться.

Аркан 23 «Ложные пророки и их предводитель Пифон»


Трактуется в зависимости от поставленного вопроса: либо кревент находится глубоко в собственных заблуждениях и при этом не желает слышать то, что ему говорят, либо клиенту самому приходится выступать ложным пророком и в силу сложившейся ситуации и говорить именно то, что хотят от него услышать, или кревент что-то недоговаривает (скрывает). Возможна так называемая «ложь во спасение».

Аркан 24 «Дочери человеческие»


Если выпадает на отношения , возможно, это любовный треугольник или подавляющее женское окружение. Возможно, так же хорошие дружеские отношения с женщинами.

Если вопрос был о здоровье , то, скорее всего, все в порядке.

В магии , возможно, указывает на то, что кревента приворожили к одному, и рассорили с другим. Часто это отворот + приворот. Удачно пройдут обряды на женскую привлекательность и привороты.

В раскладах на дела говорит о том, что какие-либо предложения могут сбить кревента с истинного пути и привести к краху его бизнеса.

Аркан 25 «Архонты»


Может говорить о влечение к алкоголю, мелком хулиганстве, множестве совершенных глупостей в жизни человека, вполне возможно, что человек крутится в очень негативной среде, обществе людей, которые выступают в роли собутыльников (если рассматриваем ситуацию с употреблением алкоголя). В других ситуациях это интриганы, сплетники, завистники.

Аркан 26 «Симон Киренеянин»


Вообще это любые предательства, серьезные жертвы во имя чего то, вынужденные жертвы, часто человека вынуждают чем-то пожертвовать, или же человек сам себя подставляет, проявляя активность, человек слишком раскрывается, слишком выступает вперед, после чего этим могут попользоваться другие, подставить или совсем уничтожить, даже довести до самоубийства.

Аркан 27 «Энвольтирование»


Аркан говорит о сломленности человека, возможно после магического воздействия разрушительными обрядами с изготовлением вольта, крайняя подавленность может быть следствием воздействия деспотичного человека. Так же эта карта может напрямую указывать на серьезный физический изъян, вплоть до инвалидности.

Разные обряды через вольт, в том числе и привороты (см. сосед. карты)

Порча, сильный вред, причиняемый магическим путем.

Энвольтирование + Сладострастие — приворот через вольт, зомбирование.

На личность : Жертва, от нее пытаются что-то получить, возможно ограбление, избиение, изнасилование. Травмируется личность, тяжелое потрясение, подавление мужем-деспотом.
Недовольство своим телом, скованность, подавленность, болезненное состояние как внутри, так и снаружи.

Может указывать на человека-инвалида.

Физическая боль, издевательство.

Энвольтирование + Кольцо Фрастраты – приворот 100%.

Энвольтирование + Ведьма из Фраддама – воздействие со стороны женщины.

Энвольтирование + Отраженный свет – воздействия нет, неправильная оценка ситуации.

Энвольтирование + Пионы – сильная бессонница, навязчивые состояния. Если на магическое воздействие – все выдумано, только страхи.

Энвольтирование + Орфей – воздействие на потерю любви, остуда, рассорка. Не обязательно магическое воздействие.

Эта карта показывает любовное манипулирование, не только магическое.

Кто-то будет мотать нервы.

Энвольтирование + Отраженный Свет — угроза магического нападения, которая не будет осуществлена.

Указывает на отсутствие совместимости между партнерами.

Аркан 28 «Кольцо Фрастраты»


Возможно кревента любыми методами (мягкими или жесткими пытаются вынудить к желаемым действиям), указывает на зависимости человека от чего — либо, а также постоянно повторяющиеся действия примеры:

кольцо Фрастраты + Обжорство

кольцо Фрастраты + Зависть

кольцо Фрастраты + Жадность

кольцо Фрастраты + Леность

кольцо Фрастраты + Гнев

кольцо Фрастраты + Сладострастие

кольцо Фрастраты + Чванство

кольцо Фрастраты + Владыка фантазий

Возможно, означает воздействие: проча, приворот, психологическое давление.

Аркан 29 «Зеркало Архимеда»


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

На наличие магического воздействия : может говорить о магическом нематериальном воздействии на человека, энергетический вампиризм, пробитые чакры, закрытые каналы и т. д.

На ситуацию : возможно, опасная. Иногда знание, мастерство, новые направления, оригинальный выход из сложившейся ситуации. Если речь идет о противостоянии, то выиграет тот, у кого найдется зеркало Архимеда.

Возможен выигрыш в результате природного дарования, либо прилежного труда.

В отношениях говорит о сжигающих страстях.

Аркан 30 «Средства защиты от злых духов»


Возможно, клиенту постоянно приходиться защищать свое пространство от посторонних людей. Еще может указывать на то, что кревенту следует избавиться от лишнего, старого, отжившего и тогда проблемы решатся с приходом новой энергии (ведь считается, что старые вещи накапливают негативную энергию и не пускают потоки новых энергий).

Аркан 31 «Защита и меры предосторожности чародея»


Хорошо развит интеллект, пытливый ум. Может означать нуждаемость в защите, как в физической, так и в психологической.

В магии говорит о нуждаемости в постановке защиты.

Аркан 32 «Арсенал чародея»


Может указывать на действующего мага, а также на положительный результат магических действий.

Ритуальные предметы и их приобретение.

Аркан 33 «Четыре ветра»


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

что-то уходит из жизни

Четыре Ветра + Серп Сатурна — разорение, финанс. крах

отмена или перенос дел, нет планирования

человек не собирается исполнять что обещал. Себе на уме. Говорит, сделаю, но не сделает.

резкая смена течения какого-то события по неожиданным причинам

форс-мажор

вмешиваются обстоятельства, от человека мало что зависит

Личность : хамелеон, приспособленец. Пофигист и гуляка. Двойственность натуры. Легкомысленность, несерьёзное отношение к делу.

Ситуация : лавирование в потоках жизни.

Аркан 34 «Три Парки»


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

Аркан 35 «Козел отпущения»


В зависимости от расклада трактуется как ложные обвинения клиента, в том, что он делал, либо сам клиент выставляет себя неправедно оклеветанным, также может указывать на то, что клиент жертва обстоятельств.

Аркан 36 «Магический жезл»


В трактовках характеризующих человека , говорит о способностях к магии или указывает на мастера своего дела в определенной области.

В делах может говорить о том, что только благодаря прилежности и упрямству кревент может добиться положительных результатов в своей работе.

Аркан 37 «Лорд Пенгерсвик»


В характеристике личности для мужчины этот аркан указывает на вполне сформировавшуюся личность, хотя несколько самоуверенную и склонную к преувеличению своих достоинств.
Так же возможно указывает на некоторые способности к магии.

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

В отношениях при раскладе на мужчину говорит об одиночестве из-за трудоголизма.

В паре с Леди Пенгерсвик указывает на семейную пару или брата с сестрой.

Аркан 38 «Леди Пенгерсвик»


Характеризует женщину, как мягкую и тактичную особу, но обладающую магическим даром, только проявляет она его редко или не пользуется вообще.

В делах говорит о благополучном решении проблемы, если речь идет о переговорах, то они закончатся удачно, благодаря умениям кревента вести беседу.

Иногда указывает на то, что пора претворить в жизнь, отложенную в долгий ящик идею.

Аркан 39 «Кентавр Хирон»


Для клиента может означать непонимание, отстраненность, и погруженность в собственные мысли и идеи.

В магии хорошо проходят чистки и обряды на избавление от неудач, материальные блага.

Аркан 40 «Изобретатели Злого и их предводитель Белиал»


Если вопрос поставлен о магических способностях , указывает на их отсутствие, хотя вполне возможно, что это поправимо.

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

В отношениях может говорить о том, что партнер заполучен с помощью приворотов. Если в паре разлад на момент гадания, то это говорит о том, что против их отношений была сделана рассорка.

В магии говорит о благополучном результате, особенно если обряды проводились с целью мести.

Аркан 41«Святая вода»


Обычно, позитивна, иногда указывает на то, что нужно провести чистку.

В делах говорит об их благополучном завершении, достижении желаемого, но не всегда в ближайшем будущем.

Если вопрос о здоровье говорит, что все в порядке.

Иногда указывает на пагубную привычку, обязательно подлежащую искоренению, если кревент хочет для себя хорошего.

Целитель, лечит и снимает порчу молитвами, помощь через церковные православные ритуалы.

Аркан 42 «Ведьма из Фраддама»


Может указывать на то, что как бы не старался человек навредить, из-за своей же ошибки его план провалится, так же может указывать на недостаток знаний, или дальновидности, тактики.

Возможно, кревент часто поддается грубым эмоциям, старается самоутвердиться за счет других, но чаще у него это не получается. Совет здесь можно дать только такой: нужна переоценка ценностей и переосмысление своих интересов и возможностей, т.к. карта говорит о крайней неуравновешенности и неразвитости человека в психологическом плане.

Особа легкая в общении, интересный собеседник с пытливым умом, интеллектуал/ка, человек кидающийся из одного в другое, начинающий много дел и не заканчивающий ни одного. Ближе всего по типажу к Близнецам.

Аркан 43 «Трава Анжелика»


Может обозначать отсутствие приворота, порчи, проклятия, так же указывать на покровительство сил, на хорошее здоровье, энергетическую чистоту человека от различных сглазов, злых коварных врагов. Указывает на замечательный оберег.

Аркан 44 «Ложка из Розмарина»


В магических делах указывает на зельеварение или удачное проведение ритуалов. Если выпадает среди негативных карт, возможно, говорит о слабой порче.

В характеристике личности указывает на такие черты как трудолюбие. Если кревент женщина, то, возможно, говорит о том, что она домохозяйка.

Аркан 45 «Пионы»


Положительная карта. В зависимости от поставленного вопроса говорит о хорошем здоровье, выздоровлении, удаче в делах.

Если в раскладе выпадает в связке с негативными картами, говорит о заболеваниях, нарушении сна, психических проблемах.

Аркан 46 «Петрушка кудрявая, базилик, папоротник»


Изучив свойства этих трав можно предположить, что аркан говорит о том, что человек находится в безопасности, здоров как физически, так и психически, стремиться к счастью и благополучию семьи, близких. Может служить предостережением или предупреждением: во всем соблюдать меру. Указывает на покровительство природных сил и то, что человек должен быть ближе к природе. Если вопрос задан о зачатии, то трактовать следует, что у клиента точно будет ребенок.

Аркан 47 «Товия и демон Асмодей»


Положительная карта, говорит о решении сложностей, выздоровлении, вознаграждении за труды, интересные идеи.

В магических делах указывает на человека обладающего некоторой силой или положительном результате выполненного.

В некоторых случаях при характеристике личности указывает на подавленность сложной ситуацией, которая в скором времени разрешится. Так же возможно, кревент испытывает чувство вины или считает себя кому-то обязанным, что его угнетает.

«Всё будет хорошо». Если кверент выдержит испытание. Но это в его силах.

карта надежды, человек не теряет надежды в самой тяжелой ситуации, также совет не терять надежды

может указывать на провинившегося мужа, который покаялся, или на примирение после ссоры

в семье возможна измена, кто-то посторонний хочет разрушить брак

человека искушают, проверяют на прочность

для женщины может указывать на порчу на одиночество — женихи есть, а брака нет (демон у кровати женщины отгоняет мужчин)

Аркан 48 «Иов»


Этот аркан указывает на кармические проблемы и страдания, потери, и т.п. говорит о кармическом долге, который отдает человек своими лишениями. Так же Иов говорит об обостренной мнительности, подозрительности, способности видеть в людях только плохое, или врагов, о постоянных сомнениях в себе и окружающих. Иногда может проявляться как мания преследования, подавленность, замкнутость, недоверчивость, пессимизм.

Неприятности пришли не из-за порчи.

Карта испытания. Человек упорно движется к цели и получит желаемое. Успешное преодоление препятствий.

Временные трудности, все разрешится в вашу пользу.

Вам не дано узнать истинную причину ваших страданий.

Выпадает на людей, которых постоянно наказывает жизнь, но никто им не сочувствует.

Ненадежные друзья, которые предадут в трудную минуту.

Постоянное ожидание несчастий, подозрительность, мания преследования. Пессимизм, неразборчивость в людях.

Иов+Зависть – у человека в жизни ряд незаслуженных трудностей, он смотрит на окружающих, у которых их нет, и завидует.

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

Если выпадает при вопросе на причину , то зачастую человек просто сам не в состоянии понять, откуда на него сыплется столько бед. В большинстве случаев это КАРМА, то, что придется пройти, испытание его веры и терпения. Ведь с Богом не поспоришь, а «счастью позавидовал сам Сатана» (источник Иов (в Библии) из материалов Викпедии)
А друзья, это лишь окружение, которое будет подрывать эту веру из зависти и злобы. Аркан, который помогает посмотреть на людей, окружающих кверента, под другим углом. Потому, что предательство и злобная зависть приходят от людей, которым доверяешь, и в которых ранее не мог усомниться. Если у человека достаточно силы воли, веры, то он в итоге получит гораздо больше, чем потерял.

В раскладах на отношения : злоба, зависть, ложные неверные друзья, причем в раскладах на вопросы брака может идти речь о супруге, который (ая) в случае затруднений и потерь не поддержит кверента, не будет для него надежным тылом.

Если речь идет о затруднениях в бизнесе то, этот аркан может означать «мышиную возню» вокруг клиента, попытки подсидеть, нечестную конкуренцию, основанную на лжи, интригах, заведомо обреченных проектах. Причем удар от тех, кого считал надежными партнерами, хорошими людьми и коллегами, считал, что делить с ними нечего.

Аркан 49 «Две черных свечи»


В характеристике личности говорит о большом потенциале, развитом чувстве интуиции.

В делах может означать плодотворную работу, достижение целей.

В магическом аспекте вопроса может говорить о небольшой нехватке энергии или служить советом к проведению чистки. Карта выпадает на тех кто занимается ЧМ. Возможно чёрная защита.

Аркан 50 «Святой Грааль»


В вопросах о здоровье , говорит об исцелении от болезни.

В делах указывает на то, что к чему стремится кревент, будет достигнуто.

Магические способности, направленные только на позитив

Аркан 51 «Агриппа»


Иногда указывает на способности к телепатии, часто говорит об использовании обрядовой магии.

В делах может говорить об обмане, советом может служить повышение внимательности.

В магии четко показывает негативное воздействие, в основном порчи.

Аркан 52 «Ведьма Эрихто»


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

При диагностике магического воздействия указывает на то, что обряды проводит женщина.

Черная магия, кладбище, наведение порчи. Снятием порчи такой человек точно не занимается. Если сделает приворот — ляжет как порча. Показывает способного в этом направлении человека, обладающего силой.

Аркан 53 «Монах Авель»


Возможно, кревент обладает даром ясновидения, но не пользуется им или как Авель страдает от своих предсказаний.

Иногда выпадает на очень верующего человека, которому его вера препятствует в осуществлении желаемого.

Аркан 54 «Привидение»


Часто, наличие связи с потусторонним, в разных его проявлениях. Если человек болеет, может говорить о некропривязке или долге перед умершими.

Общая трактовка довольно широка и более точно этот аркан можно описать в связке с другими картами, в т.ч. и дополнительными.

Привидение + Орфей — спиритизм, контакты с мертвыми, вызывать мертвых.

Аркан 55 «Тролли»


Может указывать на скрытые черты характера человека (жадность, алчность, подлость, циничность, обман), которые могут проявиться в любой момент. Поведение человека в раскладе, на которого выпадают Тролли, в сложной ситуации может обернуться большими неприятностями. В зависимости от поставленного вопроса может указывать на негативное окружение клиента.

Хронические заболевания, которые проходят не в острой форме.

Аркан 56 «Чванство»


В характеристике личности говорит о такой черте характера как излишняя горделивость собственной натурой, что отталкивает других людей, часто такой человек одинок.

В делах говорит о неудаче, скорее всего поставленная цель или определенный человек не оправдает надежд.

В вопросах о здоровье указывает на то, что кревент преувеличивает свое плохое состояние и возможно полностью здоров, или болен незначительно.

Если вопрос стоит о магических способностях , то этот аркан указывает на их отсутствие.

Аркан 57 «Сладострастие»


Помимо своего прямого значения может трактоваться как неожиданные материальные приобретения, но на духовность этот аркан не указывает никогда. Так же в некоторых случаях выпадает на людей, которые сильно привязаны к чему-то материальному (сладкоежки, коллекционеры и т.п.).

В магии хорошо получаются привороты и ритуалы на супружескую верность.

Аркан 58 «Гнев»


При раскладах на характеристику личности говорит об излишней вспыльчивости, агрессивности, стремлению всеми руководить.

В делах предостерегает от проявления любых эмоций, скорее это приведет к провалу или как минимум не возымеет никакого действия.

Если вопрос о магическом воздействии , то оно хорошо подействует при большом эмоциональном вложении при проведении ритуала.

Аркан 59 «Леность»


В характеристике личности говорит о ленивом человеке, но возможно не во всем, а только в определенных вещах.

В делах – это совет не торопить или отступиться вообще, т.к. выбранное дело, скорее всего, избрано кревентом ошибочно.

Аркан так же может отсоветовать проведение магического ритуала, почему лучше уточнить у карт.

Аркан 60 «Жадность»


Кроме своего прямого значения указывает на очень сильное стремление к чему-либо.

В магии при выпадении этого аркана особенно хорошо получаются ритуалы на благополучие.

Таро теней карта Обжорство

Эту карту надо не всегда трактовать прямо, иногда это еще и нездоровое стремление захватить что-либо и удержать это у себя. В связках с некоторыми картами может указывать на сильного энергетического вампира.

Аркан 63 «Волшебная мазь»


Можно рассматривать как совет к самосовершенствованию, прояснению истины. Так же может указывать на то, что любые негативы: истинное отношение, тайны, загадки, секреты, скелеты в шкафу раскроются, что человек осознает своё истинное положение или истинное положение дел в его семье, работе, отношениях и т.д.

Если выпадает на способности человека, то указывает на ясновидение, способность к астральному зрению.

Аркан 64 «Меч Эскалибур»

Возможно на человеке некоторая ответственность, говорит о справедливости, активности, определенном таланте, одаренности.

Так же о чистоте мыслей, благородных побуждениях.

Ещё может представлять собой защиту, и внезапно открывшуюся возможность, разрешение ситуации/проблемы.

На человека сложно воздействовать магически.

Аркан 65 «Абракадабра»


Возможно попытка воздействия, которое легло криво или же не легло никак. Иногда путаница в большом количестве мелочей, глупые ошибки. Попытка сбить с толку отвлекающим маневром.

Если вопрос был о здоровье , то указывает на исцеление, как физическое, так и психическое.

Аркан 66 «Запретный плод»


Возможно, не умение кревента контролировать свои низменные инстинкты (чревоугодие, алкоголизм, табакокурение и т.п.). Если клиент усердно над собой работает, может означать, что человек находится на том уровне, когда учатся контролировать и тем самым сводить на нет подобные проявления человеческих слабостей. Из негативных аспектов слишком сильное стремление к чему-либо, что плохо сказывается на отношениях с окружающими.

Аркан 67 «Орфей»


Говорит о тоске, расставании в прошлом или будущем переезде, томительном ожидании, стремлении к взаимности, в любых делах, которые не увенчаются успехом, неразделенные чувства.

Так же может указывать на очень тонкую трогательную, личность, несколько меланхоличную, с депрессивными наклонностями. Может рассказывать о том, что в жизни клиента было очень много сожалений, и утраченного времени, возможно, из-за собственной необдуманности, нетерпения, каких — то глуповатых поступков, только потом человек осознает, что он сделал, как был не прав, что он потерял возможность возврата назад, и что — либо исправить нельзя.

Аркан 68 «Агасфер»


Если выпадает при характеристике личности, говорит о том, что человек врет или многое недоговаривает, возможно, вынужденно. Так же указывает на то, что кревенту приходится часто выкручиваться из передряг.

В делах говорит о том, что могут выплыть неприятные аспекты или возникнуть трудно разрешимые вопросы, но чаще все разрешимо.

В магии : о благополучном проведении обрядов с целью манипулирования.

Выпадает на человека который много ездит путешествует, на дальние расстояния в том числе и заграницу.

Аркан 69 «Зеркало леди из Шалотта»


При характеристике личности говорит о человеке, который хорошо разбирается в людях, стремится к идеалу.

В делах может говорить о грядущей прибыли. Если клиент мучается какими-то страхами, то они не воплотятся.

В магии говорит об удачном проведении ритуалов, особенно порч, применении рун и обрядов на благосостояние.

Аркан 70 «Отречение Теофилла»


В характеристике личности говорит о метаниях, неустоявшейся психике, нежелании следовать здравому смыслу, советам.

В делах может говорить о смене рода деятельности.

Если выпадает этот аркан, то хорошо получатся магические действия, направленные на вред (на болезни и неудачи, рассорки).

Так же если у кревента какие-то проблемы, то адекватно при выпавшем аркане провести чистку.

Отношения где один совершает ошибки постоянно из-за своей недалекости, а другой постоянного с этим мирится и прощает его. Отношения как мать и сын.Один другому делает как одолжение, что прощает провинившегося. Один из пары думает о разрыве отношений, считая, что найдет что-то лучшее.

В сочетании с дочерьми человеческими или сладострастием — постоянные измены одного из партнеров.

Отношения, которые можно разорвать в любой момент, без всяких объяснений и проч., также нежелание общаться, охлаждение, застой в отношениях. Также выпадало в сочетании со — секс без обязательств

Аркан 71 «Символ планетного духа солнца - ОХ»


Говорит об открытом человеке с бурным темпераментом, что возможно иногда утомляет окружающих. Указывает на здоровую энергетику.

В делах говорит об удачном выборе профессии, положительном исходе начатых дел, решении проблем.

В вопросах о здоровье указывает на физическую силу, исцелении от болезни.

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

Снятие порчи, лечение, обряды на защиту и удачу

У духа Солнца есть негативная сторона личности человека — зазнайство, тщеславие, надменность и в то же время наивность, неумение и нежелание понимать окружающих, в общем, весь негатив, свойственный Львам.

Аркан 72 «Символ планетного духа Юпитера — Бетор»


Этот аркан указывает на воинственного человека, который многого добился.

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

В магии указывает на благополучное проведение обрядов, на богатство, так же может говорить, что с жертвой установлен контакт и можно продолжать работу.

Аркан 73 «Символ планетного Духа Венеры - Хагит»


Очень положительная карта. Как характеристика личности говорит о том, что кревент умеет сглаживать конфликты, идти на уступки, дружелюбен, сострадателен, возможно, робок. Если этот аркан выпадает в связке с Орфеем, это говорит о страданиях связанных с безответной любовью, из негативных аспектов указывает на ослепленность чувством, что для кревента может плохо закончиться (психика).

Аркан 74 «Серп Сатурна»


Говорит о том, что кревент тяжел характером, приземлен, прагматичен, возможно, жесток. Общение с этим человеком давит на людей, т.к. он скуп и упрям.

Может указывать на кармические проблемы.

В делах говорит о правильно выбранном времени для обучения, так же, положительна, если кревент связан со сферами строительства и разработки.

В магии указывает на то, что самое лучшее действие возымеют талисманы.

Родовые проблемы.

Аркан 75 «Улыбка Меркурия»


Если вопрос был задан о начале дел, то это хороший знак – разрешение претворять идеи в жизнь, т.к. они будут достойно вознаграждены, но придется приложить достаточно много усилий.

Если же Улыбка Меркурия выпадает на характеристику человека, это говорит о крайне приятной личности. Однако, в связке с арканом Петрушка, базилик, папоротник, указывает, что кревенту завидуют, причинами может быть успешность, устроенность быта, удачный брак.

Аркан 76 «Жестокость Марса»


Указывает на сильную, независимую личность, дисциплинированную и сдержанную, часто такой человек требует того же и от остальных и не признает слабостей.

В делах говорит , что решению вопросов сопутствует удача.

В магии указывает на возможную порчу, часто через кладбище. Хорошо проводить ритуалы нападения, снятия защиты, порчи. На себя же советует поставить защиту, т.к. возможна опасность магического характера.

Аркан 77 «Владыка фантазий»


Указывает на человека, живущего в розовых очках, часто плохо отделяющего действительность от фантазии. А иногда просто олицетворяет человека, занимающегося творческой деятельностью.

Говорит о хорошем завершении дел связанных с творчеством .

А вот в более приземленных сферах, например, в бизнесе указывает на некоторые препятствия, но решение будет найдено.

В магии говорит об отсутствии негатива на кревенте. Так же хорошо получатся обряды и талисманы на исполнение желаний.

Аркан 78 «Магический круг»


Указывает на хорошую защиту, возможно сущностью или эгрегориальную.

Так же указывает на удачно выбранное время для установки защиты, создания оберегов.

Оригинальный алгоритм теневых карт (shadow mapping) придумали уже достаточно давно. Принцип работы его заключается в следующем:
  1. Рисуем сцену в текстуру (теневую карту) из позиции источника света. Здесь важно отметить, что для разных типов источников света всё происходит немного по-разному.
    Направленные источники света (к таким в определённом приближении можно отнести солнечный свет) не имеют позиции в пространстве, однако для формирования карты теней эту позицию приходиться выбирать. Обычно её привязывают к положению наблюдателя, так чтобы в карту теней попадали объекты, находящиеся непосредственно в поле зрения наблюдателя. При рендеринге используют ортографическую проекцию .
    Проекционные источники света (лампы с непрозрачным абажуром, прожекторы) имеют определённое положение в пространстве и ограничивают распространение света определенными направлениями. При рендеринге карты теней в этом случае используется обычная перспективная проекционная матрица .
    Всенаправленные источники света (лампа накаливания, например) хоть и имеют определенное положение в пространстве, распространяют свет во всех направлениях. Чтобы корректно построить тени от такого источника света необходимо использовать кубические текстуры (cube maps), что, как правило, означает рисование сцены в карту теней 6 раз. Не всякая игра может позволить себе динамические тени от такого рода источников света, да и не всякой игре это необходимо. Если вам интересны принципы работы этого подхода, есть на эту тему.
    Кроме того, существует подкласс алгоритмов shadow mapping (LiSPSM , TSM , PSM и пр.), в которых используются нестандартные матрицы вида-проекции для улучшения качества теней и устранения недостатков оригинального подхода.
    Каким бы способом не формировалась карта теней, она неизменно содержит в себе расстояние от источника света до ближайшей видимой (из позиции источника света) точки или функцию от этого расстояния в более сложных разновидностях алгоритма.
  2. Рисуем сцену из основной камеры. Для того чтобы понять находится ли точка какого-либо объекта в тени, достаточно перевести координаты этой точки в пространство карты теней и произвести сравнение. Пространство карты теней определяется матрицей вида-проекции, которая использовалась при формировании этой карты. Переведя координаты точки объекта в это пространство и произведя преобразование координат из диапазона [-1;-1] в , получим текстурные координаты. Если полученные координаты получились вне диапазона , то эта точка не попала в карту теней, и её можно считать незатененной. Сделав выборку из карты теней по полученным текстурным координатам, мы получим расстояние между источником света и ближайшей к нему точкой какого-либо объекта. Если сравнить это расстояние с расстоянием между текущей точкой и источником света, то точка оказывается в тени, если значение в карте теней меньше. Это достаточно просто с логической точки зрения, если значение из карты теней меньше, значит, в этой точке есть какой-то объект, который находится ближе к источнику света, и мы находимся в его тени.
Shadow mapping на сегодняшний день является, наверное, самым распространенным алгоритмом для рендеринга динамических теней. Реализацию той или иной модификации алгоритма можно найти практически в любом графическом движке. Главным достоинством этого алгоритма является то, что он обеспечивает быстрое формирование теней от сколь угодно геометрически сложных объектов. Вместе с тем, существование широкого спектра вариаций алгоритма объясняется во многом его недостатками, которые могут приводить к очень неприятным графическим артефактам. Проблемы, характерные для PPSM, и пути их преодоления будут рассмотрены ниже.

Parallel-Split Shadow Mapping

Рассмотрим следующую задачу: необходимо рисовать динамические тени от объектов, находящихся на значительном удалении от игрока без ущерба для теней от близко расположенных объектов. Ограничимся направленным солнечным светом.
Задача такого рода может быть особенно актуальна в outdoor-играх, где в некоторых ситуациях игрок может видеть ландшафт на сотни метров перед собой. При этом, чем дальше мы хотим видеть тень, тем большее пространство должно попадать в теневую карту. Чтобы сохранить должное разрешение объектов в теневой карте, мы вынуждены увеличивать разрешение самой карты, что сначала приводит к снижению производительности, затем мы упираемся в ограничение на максимальный размер render target’а. В итоге, балансируя между производительностью и качеством тени, мы получим тени с хорошо заметным эффектом алиасинга, который плохо маскируется даже размытием. Понятно, что такое решение нас не может удовлетворить.
Для решения данной проблемы мы можем придумать такую матрицу проекции, чтобы близко расположенные к игроку объекты получали в карте теней площадь больше, чем объекты, которые расположены далеко. В этом заключается основная идея алгоритма Perspective Shadow Mapping (PSM) и ряда других алгоритмов. Главным преимуществом такого подхода является тот факт, что мы практически не изменили процесс рендеринга сцены, изменился лишь способ расчёта матрицы вида-проекции. Такой подход может быть легко встроен в существующую игру или движок без необходимости серьезных доработок последних. Главный недостаток такого рода подходов – граничные условия. Представим себе ситуацию, что мы рисуем тени от Солнца на закате. Когда Солнце приближается к горизонту, объекты в теневой карте начинают сильно перекрывать друг друга. В этом случае нетипичная проекционная матрица может усугубить ситуацию. Иными словами, алгоритмы класса PSM неплохо работают в определённых ситуациях, например, когда в игре рисуются тени от «неподвижного Солнца» близкого к зениту.
Принципиально другой подход предлагается в алгоритме PSSM. Некоторым данный алгоритм может быть известен под названием Cascaded Shadow Mapping (CSM). Формально, это разные алгоритмы, я бы даже сказал, что PSSM является частным случаем CSM. В этом алгоритме предлагается разделить пирамиду видимости (frustum) основной камеры на сегменты. В случае PSSM – с границами параллельными ближней и дальней плоскостям отсечения, в случае CSM – вид разделения жестко не регламентирован. Для каждого сегмента (split в терминологии алгоритма) строится своя теневая карта. Пример разделения приведен на рисунке ниже.


На рисунке можно видеть разбиение пирамиды видимости на 3 сегмента. Каждый из сегментов выделен ограничивающим прямоугольником (в трёхмерном пространстве будет параллелепипед, bounding box). Для каждой из этих ограниченных частей пространства будет строиться своя теневая карта. Внимательный читатель обратит внимание, что здесь я использовал выравненные по осям ограничивающие параллелепипеды. Можно использовать и невыравненные, это добавит дополнительную сложность в алгоритм отсечения объектов и несколько изменит способ формирования матрицы вида из позиции источника света. Так как пирамида видимости расширяется, площадь сегментов более близких к камере может быть существенно меньше площади более дальних. При одинаковом разрешении теневых карт это означает большее разрешение для тени от близко расположенных объектов. В упомянутой выше статье в GPU Gems 3 предложена следующая схема для вычисления расстояний разбиения пирамиды видимости:



где i – индекс разбиения, m – количество разбиений, n – расстояние до ближней плоскости отсечения, f – расстояние до дальней плоскости отсечения, λ – коэффициент, определяющий интерполяцию между логарифмической и равномерной шкалой разбиения.

Общее в реализации
Алгоритм PSSM в реализации на Direct3D 11 и OpenGL имеет много общего. Для реализации алгоритма необходимо подготовить следующее:
  1. Несколько теневых карт (по числу разбиений). На первый взгляд, кажется, что для получения нескольких теневых карт необходимо нарисовать объекты несколько раз. На самом деле, делать это явным образом не обязательно, мы воспользуемся механизмом аппаратного инстансинга. Для этого нам потребуется так называемый массив текстур для рендеринга и простой геометрический шейдер.
  2. Механизм отсечения объектов. Объекты игрового мира могут быть разной геометрической формы и иметь разное положение в пространстве. Протяженные объекты могут быть видны в нескольких теневых картах, небольшие объекты – только в одной. Объект может оказаться прямо на границе соседних сегментов и должен быть нарисован минимум в 2 теневые карты. Таким образом, необходим механизм для определения, в какое подмножество теневых карт попадает тот или иной объект.
  3. Механизм для определения оптимального числа разбиений. Рендеринг теневых карт для каждого сегмента на каждый кадр может быть излишней тратой вычислительных ресурсов. Во многих ситуациях игрок видит перед собой лишь небольшой участок игрового мира (например, он смотрит себе под ноги, или его взгляд уперся в стену перед собой). Понятно, что это сильно зависит от вида обзора в игре, но иметь такую оптимизацию было бы неплохо.
В итоге, получим следующий алгоритм формирования матриц вида-проекции для рендеринга карт теней:
  1. Вычисляем расстояния для разбиения пирамиды видимости для наихудшего случая. Наихудший случай здесь – мы видим тени до дальней плоскости отсечения камеры.

    Код

    void calculateMaxSplitDistances() { float nearPlane = m_camera.getInternalCamera().GetNearPlane(); float farPlane = m_camera.getInternalCamera().GetFarPlane(); for (int i = 1; i < m_splitCount; i++) { float f = (float)i / (float)m_splitCount; float l = nearPlane * pow(farPlane / nearPlane, f); float u = nearPlane + (farPlane - nearPlane) * f; m_maxSplitDistances = l * m_splitLambda + u * (1.0f - m_splitLambda); } m_farPlane = farPlane + m_splitShift; }

  2. Определяем расстояние между камерой и наиболее удаленной видимой точкой объекта, отбрасывающего тень. Здесь важно отметить, что объекты могут отбрасывать и не отбрасывать тени. Например, равнинно-холмистый ландшафт можно сделать не отбрасывающим тени, за затенение в этом случае может отвечать алгоритм освещения. В карту теней будут рисоваться только отбрасывающие тени объекты.

    Код

    float calculateFurthestPointInCamera(const matrix44& cameraView) { bbox3 scenebox; scenebox.begin_extend(); for (size_t i = 0; i < m_entitiesData.size(); i++) { if (m_entitiesData[i].isShadowCaster) { bbox3 b = m_entitiesData[i].geometry.lock()->getBoundingBox(); b.transform(m_entitiesData[i].model); scenebox.extend(b); } } scenebox.end_extend(); float maxZ = m_camera.getInternalCamera().GetNearPlane(); for (int i = 0; i < 8; i++) { vector3 corner = scenebox.corner_point(i); float z = -cameraView.transform_coord(corner).z; if (z > maxZ) maxZ = z; } return std::min(maxZ, m_farPlane); }

  3. На основе полученных на шагах 1 и 2 значений определяем количество сегментов, которое нам действительно необходимо и расстояния разбиения для них.

    Код

    void calculateSplitDistances() { // calculate how many shadow maps do we really need m_currentSplitCount = 1; if (!m_maxSplitDistances.empty()) { for (size_t i = 0; i < m_maxSplitDistances.size(); i++) { float d = m_maxSplitDistances[i] - m_splitShift; if (m_furthestPointInCamera >= d) m_currentSplitCount++; } } float nearPlane = m_camera.getInternalCamera().GetNearPlane(); for (int i = 0; i < m_currentSplitCount; i++) { float f = (float)i / (float)m_currentSplitCount; float l = nearPlane * pow(m_furthestPointInCamera / nearPlane, f); float u = nearPlane + (m_furthestPointInCamera - nearPlane) * f; m_splitDistances[i] = l * m_splitLambda + u * (1.0f - m_splitLambda); } m_splitDistances = nearPlane; m_splitDistances = m_furthestPointInCamera; }

  4. Для каждого сегмента (границы сегмента определяются ближним и дальним расстояниями) вычисляем ограничивающий параллелепипед.

    Код

    bbox3 calculateFrustumBox(float nearPlane, float farPlane) { vector3 eye = m_camera.getPosition(); vector3 vZ = m_camera.getOrientation().z_direction(); vector3 vX = m_camera.getOrientation().x_direction(); vector3 vY = m_camera.getOrientation().y_direction(); float fov = n_deg2rad(m_camera.getInternalCamera().GetAngleOfView()); float aspect = m_camera.getInternalCamera().GetAspectRatio(); float nearPlaneHeight = n_tan(fov * 0.5f) * nearPlane; float nearPlaneWidth = nearPlaneHeight * aspect; float farPlaneHeight = n_tan(fov * 0.5f) * farPlane; float farPlaneWidth = farPlaneHeight * aspect; vector3 nearPlaneCenter = eye + vZ * nearPlane; vector3 farPlaneCenter = eye + vZ * farPlane; bbox3 box; box.begin_extend(); box.extend(vector3(nearPlaneCenter - vX * nearPlaneWidth - vY * nearPlaneHeight)); box.extend(vector3(nearPlaneCenter - vX * nearPlaneWidth + vY * nearPlaneHeight)); box.extend(vector3(nearPlaneCenter + vX * nearPlaneWidth + vY * nearPlaneHeight)); box.extend(vector3(nearPlaneCenter + vX * nearPlaneWidth - vY * nearPlaneHeight)); box.extend(vector3(farPlaneCenter - vX * farPlaneWidth - vY * farPlaneHeight)); box.extend(vector3(farPlaneCenter - vX * farPlaneWidth + vY * farPlaneHeight)); box.extend(vector3(farPlaneCenter + vX * farPlaneWidth + vY * farPlaneHeight)); box.extend(vector3(farPlaneCenter + vX * farPlaneWidth - vY * farPlaneHeight)); box.end_extend(); return box; }

  5. Вычисляем теневую матрицу вида-проекции для каждого сегмента.

    Код

    matrix44 calculateShadowViewProjection(const bbox3& frustumBox) { const float LIGHT_SOURCE_HEIGHT = 500.0f; vector3 viewDir = m_camera.getOrientation().z_direction(); vector3 size = frustumBox.size(); vector3 center = frustumBox.center() - viewDir * m_splitShift; center.y = 0; auto lightSource = m_lightManager.getLightSource(0); vector3 lightDir = lightSource.orientation.z_direction(); matrix44 shadowView; shadowView.pos_component() = center - lightDir * LIGHT_SOURCE_HEIGHT; shadowView.lookatRh(shadowView.pos_component() + lightDir, lightSource.orientation.y_direction()); shadowView.invert_simple(); matrix44 shadowProj; float d = std::max(size.x, size.z); shadowProj.orthoRh(d, d, 0.1f, 2000.0f); return shadowView * shadowProj; }

Отсечение объектов реализуем при помощи простого теста на пересечение двух ограничивающих параллелепипедов (объекта и сегмента пирамиды видимости). Здесь есть одна особенность, которую важно учесть. Мы можем не видеть объект, но видеть тень от него. Нетрудно догадаться, что при описанном выше подходе мы отсечём все объекты, которые не видны в основной камере, и теней от них не будет. Чтобы этого не происходило, я использовал довольно распространенный приём – вытянул ограничивающий параллелепипед объекта вдоль направления распространения света, что дало грубое приближение области пространства, в которой видна тень от объекта. В итоге, для каждого объекта был сформирован массив индексов теневых карт, в которые необходимо рисовать этот объект.

Код

void updateShadowVisibilityMask(const bbox3& frustumBox, const std::shared_ptr& entity, EntityData& entityData, int splitIndex) { bbox3 b = entity->getBoundingBox(); b.transform(entityData.model); // shadow box computation auto lightSource = m_lightManager.getLightSource(0); vector3 lightDir = lightSource.orientation.z_direction(); float shadowBoxL = fabs(lightDir.z) < 1e-5 ? 1000.0f: (b.size().y / -lightDir.z); bbox3 shadowBox; shadowBox.begin_extend(); for (int i = 0; i < 8; i++) { shadowBox.extend(b.corner_point(i)); shadowBox.extend(b.corner_point(i) + lightDir * shadowBoxL); } shadowBox.end_extend(); if (frustumBox.clipstatus(shadowBox) != bbox3::Outside) { int i = entityData.shadowInstancesCount; entityData.shadowIndices[i] = splitIndex; entityData.shadowInstancesCount++; } }


Теперь рассмотрим процесс рендеринга и специфичные для Direct3D 11 и OpenGL 4.3 части.
Реализация на Direct3D 11
Для реализации алгоритма на Direct3D 11 нам понадобятся:
  1. Массив текстур для рендеринга теневых карт. Для создания такого рода объекта в структуре D3D11_TEXTURE2D_DESC есть поле ArraySize . Таким образом, в коде на C++ у нас не будет ничего похожего на ID3D11Texture2D* array[N] . С точки зрения Direct3D API массив текстур слабо отличается от единственной текстуры. Важной особенностью при использовании такого массива в шейдере является то, что мы можем определить, в какую именно текстуру в массиве будем рисовать тот или иной объект (семантика SV_RenderTargetArrayIndex в HLSL). В этом заключается и главное отличие этого подхода от MRT (multiple render targets), при котором один объект рисуется сразу во все заданные текстуры. Для объектов, которые необходимо нарисовать сразу в несколько теневых карт, мы воспользуемся аппаратным инстансингом, позволяющим клонировать объекты на уровне GPU. При этом объект может быть нарисован в одну текстуру в массиве, а его клоны в другие. В картах теней мы будем хранить только значение глубины, поэтому воспользуемся текстурным форматом DXGI_FORMAT_R32_FLOAT .
  2. Специальный текстурный сэмплер. В Direct3D API можно задать специальные параметры для выборки из текстуры, которые позволят производить сравнение значения в текстуре с заданным числом. Результатом в этом случае будет 0 или 1, а переход между этими значениями может быть сглажен линейным или анизотропным фильтром. Для создания сэмплера в структуре D3D11_SAMPLER_DESC зададим следующие параметры:

    SamplerDesc.Filter = D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT; samplerDesc.ComparisonFunc = D3D11_COMPARISON_LESS; samplerDesc.AddressU = D3D11_TEXTURE_ADDRESS_BORDER; samplerDesc.AddressV = D3D11_TEXTURE_ADDRESS_BORDER; samplerDesc.BorderColor = 1.0f; samplerDesc.BorderColor = 1.0f; samplerDesc.BorderColor = 1.0f; samplerDesc.BorderColor = 1.0f;
    Таким образом, у нас будет билинейная фильтрация, сравнение функцией «меньше», а выборка из текстуры по координатам вне диапазона вернет 1 (т.е. отсутствие тени).

Рендеринг будем осуществлять по следующей схеме:

Реализация на OpenGL 4.3
Для реализации алгоритма на OpenGL 4.3 нам понадобится все то же самое, что и для Direct3D 11, однако есть тонкости. В OpenGL мы можем делать совмещённую со сравнением выборку только для текстур, содержащих значение глубины (например, в формате GL_DEPTH_COMPONENT32F). Следовательно, рендеринг мы будем осуществлять только в буфер глубины, а запись в цвет уберём (точнее, привяжем к framebuffer’у только массив текстур для хранения буфера глубины). Это, с одной стороны, немного сэкономит нам видеопамять и облегчит графический конвейер, с другой, вынудит работать с нормализованными значениями глубины.
Параметры выборки в OpenGL можно привязать прямо к текстуре. Они будут идентичны тем, что были рассмотрены ранее для Direct3D 11.

Const float BORDER_COLOR = { 1.0f, 1.0f, 1.0f, 1.0f }; glBindTexture(m_shadowMap->getTargetType(), m_shadowMap->getDepthBuffer()); glTexParameteri(m_shadowMap->getTargetType(), GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameteri(m_shadowMap->getTargetType(), GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(m_shadowMap->getTargetType(), GL_TEXTURE_COMPARE_MODE, GL_COMPARE_REF_TO_TEXTURE); glTexParameteri(m_shadowMap->getTargetType(), GL_TEXTURE_COMPARE_FUNC, GL_LESS); glTexParameteri(m_shadowMap->getTargetType(), GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); glTexParameteri(m_shadowMap->getTargetType(), GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); glTexParameterfv(m_shadowMap->getTargetType(), GL_TEXTURE_BORDER_COLOR, BORDER_COLOR); glBindTexture(m_shadowMap->getTargetType(), 0);
Интересен процесс создания массива текстур, который внутри OpenGL представлен трёхмерной текстурой. Для его создания не сделали специальной функции, и то и другое создается при помощи glTexStorage3D . Аналогом SV_RenderTargetArrayIndex в GLSL является встроенная переменная gl_Layer .
Схема рендеринга также осталась прежней:

Проблемы

Проблем у алгоритма shadow mapping и его модификаций много. Зачастую алгоритм приходится тщательно настраивать под конкретную игру или даже конкретную сцену. Список наиболее частых проблем и путей их решения можно найти . При реализации PSSM я столкнулся со следующим:

Производительность

Замеры производительности велись на компьютере следующей конфигурации: AMD Phenom II X4 970 3.79GHz, 16Gb RAM, AMD Radeon HD 7700 Series, под управлением ОС Windows 8.1.

Среднее время кадра. Direct3D 11 / 1920x1080 / MSAA 8x / полный экран / маленькая сцена (~12к полигонов в кадре, ~20 объектов)

Среднее время кадра. OpenGL 4.3 / 1920x1080 / MSAA 8x / полный экран / маленькая сцена (~12к полигонов в кадре, ~20 объектов)

Среднее время кадра. 4 разбиения / 1920x1080 / MSAA 8x / полный экран / большая сцена (~1000к полигонов в кадре, ~1000 объектов, ~500 инстансов объектов)

Результаты показали, что на больших и малых сценах реализация на OpenGL 4.3 работает, в целом, быстрее. С увеличением нагрузки на графический конвейер (увеличение количества объектов и их инстансов, увеличение размера карт теней) разница по скорости работы между реализациями сокращается. Преимущество реализации на OpenGL я связываю с отличным от Direct3D 11 способом формирования карты теней (мы использовали только буфер глубины без записи в цвет). Ничего нам не мешает сделать то же самое на Direct3D 11, смирившись при этом с использованием нормализованных значений глубины. Однако такой подход будет работать только до тех пор, пока мы не захотим хранить в карте теней какие дополнительные данные или функцию от значения глубины вместо значения глубины. И некоторые улучшения алгоритма (например, Variance Shadow Mapping) окажутся для нас сложно реализуемыми.

Выводы

Алгоритм PSSM является одним их самых удачных способов для создания теней на больших открытых пространствах. В его основе лежит простой и понятный принцип разбиения, который можно легко масштабировать, увеличивая или уменьшая качество теней. Данный алгоритм можно объединять с другими алгоритмами shadow mapping для получения более красивых мягких теней или физически более правильных. Вместе с тем, алгоритмы класса shadow mapping часто приводят к появлению неприятных графических артефактов, которые необходимо устранять путем тонкой настройки алгоритма под конкретную игру.

Теги:

  • Shadow mapping
  • PSSM
  • Direct3D 11
  • OpenGL 4
Добавить метки

Четвертый блог разработчиков: Новые возможности графики

В первом дневнике про обновление графического движка, мы вкратце рассказали о некоторых новых графических улучшениях, которые вскоре будут добавлены в игру. Кроме того, мы заявляли, что большинство этих улучшений будут соответствовать уровню современных игровых движков, таких как Unity 5, Unreal 4 или CryEngine 3. Но что это на самом деле означает?

Прежде всего, мы хотим, чтобы вы понимали, что процесс обновления будет происходить постепенно и не все карты, персонажи, текстуры оружия и объектов будут обновлены сразу же. Большинство из них будут и дальше работать с текущими ресурсами игры, но со временем мы будем обновлять и их, чтобы придать Combat Arms действительно обновленный вид.

Стоит отметить, что применение многих из этих графических возможностей для работы на таком старом движке, в то же время, сохраняя обратную совместимость со старым графическим режимом и ресурсами, потребовало от нас очень много интересных и, местами, сумасшедших обходных решений, ограничиваясь возможностями DirectX 9. Это было очень весело!

Динамическое освещение и тени

Оригинальный движок Lithitech Jupiter имел ограниченную поддержку динамического освещения и теней, хотя то, что предлагалось движком, было достаточно передовым для той эпохи, в которой он был разработан. В основном в оригинальном графическом движке Lithtech Jupiter освещение и затенение были полностью статичными, что означает, что они предварительно вычисляются и сохраняются как текстура, которая используется при рендеринге геометрии карты. Тем не менее, даже статическое освещение в некоторых моментах позволяли ним создавать динамически освещаемые сцены на некоторых объектах, таких как, например, модели персонажей и оружия. Поскольку динамическое освещение использовало на объектах вершинный метод (per-vertex), различные дополнительные детали и выпуклости также должны были быть предварительно вычислены и запечены непосредственно на диффузных текстурах. А поскольку они запечены, они не могут динамически взаимодействовать с различными источниками света и часто не вписываются в условия освещения. Это делает картинку очень плоской и устаревшей на 2017 год.

Самое главное улучшение, которое мы смогли реализовать, это совместить как статическую геометрию карты, так и получение объектами полностью динамического освещения и теней. Динамическое освещение действительно позволяет отображать сцену с попиксельным освещением, отражениями, бликами, динамическими тенями и картой рельефа.

Хотя изначально ввести один динамический источник освещения было не так уж трудно, сложности возникли из-за необходимости одновременно поддерживать множество динамических источников света эффективным образом. Поддержка множества динамических источников света стала основной особенностью почти для каждого современного игрового движка. Единственный способ, с помощью которого движок Lithtech поддерживал рендеринг нескольких динамических источников света, состоял в том, чтобы существенно перерисовать всю сцену несколько раз, один раз для каждого источника света на карте. Это своего рода преувеличение, поскольку Lithtech способен кластеризовать геометрию карты в блоки, которые могут выполняться ограничивающей световой сферой, и только эти блоки карты нужно будет перерисовать. Но это по-прежнему предполагает высокую нагрузку на процессор, чтобы визуализировать сцену несколько раз и устанавливает еще больше ограничений на то, насколько сложна геометрия карты и сколько объектов может отображаться на экране одновременно.

Мы начали с того, что в начале только основной направленный солнечный свет был единственным динамическим источником света. Все остальные внутренние всенаправленные и точечные источники света оставили статичными. Но многие игровые локации в Combat Arms частично или полностью размещены в зданиях, поэтому разница между внутренним статическим и наружным динамическим освещением была слишком заметной.

Таким образом, для динамического освещения с использованием нескольких источников света необходимо было сделать большие изменения в том, как движок отображает сцену и обрабатывает сам свет. Для этого мы использовали технику рендеринга, известную как Отложенное освещение и затенение (Deferred Shading). Тема отложенного освещения и затенения может быть довольно обширной, и мы кратко упомянули об этом в первой публикации блога разработки. В принципе, оно позволяет перевести все динамическое освещение в область пост-процессного рендеринга, который полностью независим от сложности сцены и может практически полностью обрабатываться графическим процессором с очень небольшими нагрузками на центральный процессор.

С учетом всех этих оптимизаций мы смогли реализовать сложный физический шейдер освещения. Затем мы провели всестороннее тестирование этой модели освещения, сравнив ее с тем, как похожие сцены будут отображаться в других современных игровых движках, таких как Unity 5 и Unreal 4, а также с полностью прорисованными лучами сценами, создаваемыми с использованием профессионального автономного рендеринга. Мы ограничились только тем, что мы могли бы реализовать в реальном времени с современным графическим оборудованием, используя современные осветительные шейдеры. Результаты вполне сопоставимы с визуализацией лучей, основные различия заключаются в точности отражения и ослаблении освещения.

Новые динамические шейдеры освещения в Combat Arms:

Версия сцены с отслеживанием лучей:

Теневая карта

При реализации динамических теней перед нами стоял целый ряд задач, чтобы получить современное полностью динамическое затенение в Combat Arms. В оригинальном движке Lithtech большинство теней запекается в текстурах статического освещения, используемых при рендеринге геометрии карты. Вот почему не все объекты отбрасывают тени, особенно динамические объекты, потому что тень фиксирована и не может изменяться. Хотя у Lithtech и есть функция, позволяющая создавать динамические тени на определенных объектах, она практически не использовалась в Combat Arms. Кроме того, эта функция слишком сильно ограничена в области своего применения, а сами динамические объекты не могут получать тени.

В итоге мы решили использовать полностью динамические каскадные карты теней (CSM) для основного направленного источника света от солнца и частично динамическое решение для всенаправленных источников света и источников света с использованием заранее рассчитанной всенаправленной карты теней, которая может применяться как к геометрии мира, так и к динамическим объектам. Это похоже на то, как другие современные игровые движки обеспечивают динамическое затенение.

А вообще, что же такое Теневая карта? По сути, это очень хитрый трюк, который игры и программы для рендеринга используют для имитации динамического затенения с ускорением при помощи графического процессора. https://en.wikipedia.org/wiki/Shadow_mapping .

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

В игре текстура теневой карты выглядит так:

Обратите внимание, что на этой текстуре не 1, а 4 теневых карты. Каждая из этих теневых карт называется каскадом теневой карты. С увеличением расстояния до наблюдаемой поверхности используется больший каскад, но с более низким разрешением. Это позволяет теням простираться очень далеко, но по-прежнему вписываться в одну текстуру фиксированного размера. При этом тени рядом с наблюдателем будут обладать более высоким разрешением. Разрешение карты теней напрямую связано с тем, насколько резкими и точными могут быть тени.

Поскольку карта теней - это просто еще одна камера в сцене, она может динамически отображаться в режиме реального времени. Параметры качества тени будут влиять на разрешение текстуры теневой карты.

Вот как выглядит решение теневой карты при фильтрации.

Фильтрация карты теней

Использование только лишь карты теней само по себе может привести к очень жестким теням. И хотя иногда они при этом могут выглядеть хорошо, это не соответствует реальности.

В реальном мире тени не всегда жесткие или мягкие, они изменяются в зависимости от размера источника света и удаленности от освещаемого предмета. Примеры вы можете увидеть на фото:

Обратите внимание, как на этих фото тени становятся мягче при удалении от объектов, которые их отбрасывают. В большинстве других современных игр по-прежнему используется простейший метод фильтрации затенения, называемый Percentage Closer Filtering или PCF который применяет фиксированное значение твердости или мягкости ко всем теням.

Это скиншоты из вполне современных игр Doom и Overwatch показывают, как большинство игр делают простую теневую фильтрацию с использованием PCF.

Однако в Combat Arms мы решили реализовать более совершенную технологию фильтрации теней, которая будет более приближена к тому, что мы видим в реальной жизни. В игре мы симулируем это, используя разработанную NVidia технологию под названием Closer Soft Shadows (PCSS).

Хотя эта технология была представлена в далеком 2005 году, только сейчас графическое оборудование стало достаточно мощным, чтобы использовать этот метод, и современные игры лишь в последние годы начали интенсивно использовать его для фильтрации карты теней. На момент написания этого блога эта технология все еще недоступна в Unreal 4 или Unity 5. Хотя в техническом плане Unreal 4 предоставляет альтернативное решение, называемое функцией трассировки лучей на расстоянии, но она ограничена только разрешением статической геометрии для отбрасывания теней.

PCSS выключен:

PCSS Включен:

Тонкая фильтрация с помощью PCSS будет применяться при установке высоких настроек качества теней. Также, в настоящее время PCSS используется только для основного направленного солнечного света на всех уровнях качества. К сожалению, PCSS не совместим с аппаратной ускоренной теневой фильтрацией. Shader Model 3 DirectX 9 не поддерживает инструкции шейдера Gather4, которые обычно используются в пиксельных шейдерах DirectX 10 + / Shader Model 4+ для фильтрации карты теней. Из-за эксплуатационной нагрузки PCSS с использованием пиксельного шейдера Shader Model 3, используется сглаженная фильтрация для уменьшения нагрузки на GPU.

Всенаправленное отображение теней

С всенаправленными источниками света все немного сложнее. Так как они отбрасывают тени во все стороны, сделать для них карты теней не так то просто поскольку сцену нужно отображать с помощью какой-то 360°камеры. Обычно это связано с визуализацией сцены в нескольких направлениях от положения источника света. Однако сцену сложно масштабировать, когда таких источников света много. Поэтому для этого мы применили предварительно вычисленную карту теней, где она вычисляется только один раз, когда карта загружается вместо каждого кадра. Предварительно вычисленная карта теней может отбрасывать тени на динамические объекты в сцене, но динамические объекты внутри сцены не будут отбрасывать тени. Чтобы обойти это ограничение, используется собственная теневая функция для объектов из движка Lithtech, чтобы дать тени для объектов из заранее рассчитанных всенаправленных карт теней. Мы также комбинируем это с трассировкой Screen-Space Shadows, чтобы дать объектам подробные собственные тени и контактные тени.

Интересный пример, как теневая карта используется для проецирования всенаправленной карты теней в одну текстуру:

Здесь используется полностью 360°-проекционный метод, известный как сферическая параметризация октаэдра, или иногда он называется «октаэдровое картирование», где сфера отображается на одиночную текстуру, основанную на ее проекции на грани октаэдра.

Традиционно всенаправленные карты теней используют карту-куб, для которой требуется, по меньшей мере 6 различных текстур, чтобы представлять полную всенаправленную 360° карту теней, но с применением этой картографической проекции используется только 1 текстура. Этот метод также обеспечивает меньшие искажения, чем большинство других методов сферического 2D-проектирования, и в отличие от развернутой карты куба, он идеально вписывается в одну квадратную текстуру. Многие существующие в игре карты используют большое количество всенаправленных источников в качестве первичных источников света, и это позволяет многим им также поддерживать динамическое затенение в реальном времени.

Подводим итоги

Мы полагаем, что эта комбинация технологий освещения и затенения придаст игре вполне современный вид на 2017 год, а также что наши решения вполне конкурентоспособны с тем, что предлагают другие игровые движки на сегодняшний день. Хотя одних только этих изменений недостаточно, чтобы «осовременить» игру, нам еще предстоит большая работа по улучшению текстур и ресурсов, которые будут в полной мере использовать преимущества новых функций.

Конечно же, это не все изменения, это был просто углубленный взгляд на технические подробности о реализации динамического освещения и затенения в предстоящем обновлении Combat Arms. Кроме того, важно отметить, что показанные скриншоты были сделаны с использованием сборки с текущими ресурсами для демонстрации графических функций. Они могут не точно отражать окончательный уровень графики после выхода обновления.

Я должен также напомнить, что обновленные параметры графики являются необязательными, и вы сможете переключаться между версиями движков после выхода обновления. Мы разрабатываем эти графические улучшения, ориентируясь на возможности современных средних и высокопроизводительных графических аппаратов, актуальных на 2016 год. Мы хотим, чтобы движок игры мог в полной мере использовать возможности современных графических процессоров, чтобы обеспечить наилучшее качество картинки. Мы по-прежнему постоянно проводим бенчмаркинг и оптимизацию новых графических функций, но стоит быть готовыми к тому, что немного устаревшее или более дешевое оборудование сможет работать с новыми графическими опциями лишь с пониженными настройками или разрешением. Мы по-прежнему будем поддерживать старый графический движок, так что игроки с устаревшим или менее мощным оборудованием или же те, кто просто предпочитает классический стиль Combat Arms, смогут продолжать наслаждаться игрой, как и раньше.

С уважением, команда Combat Arms!

Среди стандартных источников света три источника (а именно Spot, Direct и Omni) позволяют нам выбрать тип просчитываемых теней. Если мы используем штатный стандартный визуализатор Default Scanline Renderer (DSR), то интерес для нас будут представлять: Advanced ray-traced shadows, Area shadows, Ray-traced shadows, Shadow maps.

При выборе типа тени среди свитков параметров ИС появляется свиток параметров тени, название которого начинается с наименования типа.

Shadow Map

Самый простой и нетребовательный к расчетным ресурсам тип теней.

  1. Размер карты, на основе которой расчитывается тень. Чем больше карта, тем качественнее расчитываемая тень. Лучше использовать числа порядка 2 n
  2. Размытие кромки тени. Увеличение параметра позволяет избавиться от зубчатого края кромки при низком разрешении карты
  3. Параметр, отвечающий за управление значением Bias. По умолчанию отключено (наилучший результат в большинстве случаев). В случае с анимацией может помочь включение опции
  4. Если выключено, то свет проходит через поверхность, если натыкается на полигоны, обращенные от него нормалями. Включение опции позволяет получить корректные тени

На Рис.1 верхний ряд изображений наглядно показывает изменение качества тени при увеличении параметра Size. Даже значительное увеличение размера карты не решает проблемы зубцов на краях тени, хотя безусловно рисунок тени становится более проработанным.

Во втором ряду во всех трех случаях размер карты остается одинаковым, но меняется параметр Sample Range. Постепенно увеличивая его, мы избавились от зубчатости, размыв кромку тени.

Рис.1 Изменение качества тени типа Shadow Map при различных параметрах

Ray-Traced Shadows

Тени этого типа расчитываются на основе алгоритма трассировки. Имеют четкие края и практически не поддаются настройке.

Тень Ray-Traced Shadow более точная относительно Shadow Map. К тому же она способны учитывать прозрачность объекта, но тем временем «сухая» и четкая, что смотрится не очень естественно в большинстве случаев. Ray-Traced Shadow более требовательна к ресурсам компьютера, чем Shadow Map.

  1. Расстояние объекта от отбрасываемой тени
  2. Глубина трасировки – параметр, отвечающий за проработку тени. Увеличение этого значения может значительно увеличить время визуализации

Ray-Traced Shadows с ИС типа Omni займут больше времени на визуализацию чем связка Ray-Traced Shadows + Spot (или Directional)

Рис.2 Тени Ray-Traced Shadows от непрозрачного и прозрачного объектов

Advanced Ray-Traced Shadows

Тени этого типа очень похожи на тени Ray-Traced Shadows, но как понятно из названия имеют более продвинутые настройки, позволяющие получать более естественные и корректные расчеты.

  1. Метод генерации тени
    Simple – одиночный луч выходит из ИС. Тень не поддерживает какого-либо сглаживания и настройки качества
    1-Pass Antialias – иммитируется испускание пучка лучей. Причем такое же кол-во лучей отражается от каждой освещенной поверхности (Кол-во лучей регулируется Shadow Quality).
    2-Pass Antialias – Аналогично, но испускается два пучка лучей.
  2. Если выключено, то свет проходит через поверхность, если натыкается на полигоны обращенные от него нормалями. Включение опции позволяет получить корректные тени
  3. Количество лучей испускаемых освещенной поверхностью
  4. Количество вторичных лучей испускаемых освещенной поверхностью
  5. Радиус (в пикселях) размытия кромки тени. Увеличение параметра повышает качество размытия. Если приразмытии кромки потерялись мелкие детали, скорректируйте сей казус увеличением Shadow Integrity
  6. Расстояние объекта от отбрасываемой тени
  7. Параметр, управляющий хаотичностью лучей. Изначально лучи направляются по строгой сетке, что может вызвать неприятные артефакты. Внесение хаоса сделает изображение тени более естественным
    Рекомендуемые значения 0,5-1,0. Но более размытые тени потребуют большего значения Jitter Amount

Area Shadows

Этот тип теней позволяет учитывать габариты источника света, благодаря чему можно получать естественные протяженные тени, которые «расщепляются» и размываются при удалении от объекта. Такие тени 3dsMax получает путем смешения ряда «сэмплов» (образцов) теней. Чем больше «сэмплов» и лучше смешение, тем качественнее просчитанная тень.

  1. Форма мнимого источника света, позволяющая определить характер тени.
    Simple – одиночный луч выходит из ИС. Тень не поддерживает какого-либо сглаживания и настройки качества.
    Rectangle Ligh t – иммитируется испускание света с прямоугольной области.
    Disc Light – ИС ведет себя так, как если бы он приобрел форму диска.
    Box Light – имитация кубического ИС.
    Sphere Ligh t – имитация сферического ИС.
  2. Если выключено, то свет проходит через поверхность, если натыкается на полигоны, обращенные от него нормалями. Включение опции позволяет получить корректные тени.
  3. Управляет количеством испускаемых лучей (нелинейно). Чем выше число, тем больше лучей, тем выше качество тени.
  4. Параметр, отвечающий за качество тени. Для рационального расчета, всегда устанавливайте число выше, чем Shadow Integrity.
  5. Радиус (в пикселях) размытия кромки тени. Увеличение параметра повышает качество размытия. Если приразмытии кромки потерялись мелкие детали, скорректируйте сей казус увеличением Shadow Integrity.
  6. Расстояние объекта от отбрасываемой тени.
  7. Параметр, управляющий хаотичностью лучей. Изначально лучи направляются по строгой сетке, что может вызвать неприятные артефакты. Внесение хаоса сделает изображение тени более естественным.
  8. Габариты мнимого источника. Length - длина, Width – ширина, Height (активна только для Box Light и Sphere Light) - высота.

Взглянем на Рис.3. На первом фрагменте. Несколько «сэмплов» тени наложены друг на друга без какого-либо смешения. На втором фрагменте они уже смешаны (Jitter Amount изменен с 0,0 на 6,0). Смешанные «сэмплы» воспринимаются как более естественная тень, но качество ее оставляет желать лучшего. Третий фрагмент показывает тень с отличным качеством (Shadow Integrity и Shadow Quality изменены с единичных значений на 8 и 10 соответственно).

Второй ряд на Рис.3. иллюстрирует, как меняется характер тени, если мы увеличиваем размеры мнимого источника. В данном случае у нас мнимый источник типа Rectangle Light (плоский прямоугольный). При увеличении площади источника размытие тени увеличивается.

Рис.3 Изменение качества тени типа Area Shadow при различных параметрах

Некоторые значения параметров имеют рекомендательный характер, но все ограничивается лишь вашей фантазией. Самый лучший способ разобраться – это эксперимент. Не бойтесь проводить опыты со светом. Уловите настроение будущей картинки и сдаитесь за настройки.

На Рис.4. шахматный конь с материалом на основе простой процедурной текстуры Wood. Три источника света подкрашенные в разные цвета. Простая постановка, тем не менее, фигурка смотрится неплохо.

Рис.4 Шахматная фигура «Конь». Предметная визуализация

Резюме

Освещение – один из важнейших этапов в работе над трехмерной сценой. С первого взгляда может показаться, что сухую информацию урока невозможно приложить к творческой работе. Однако же при должной смекалке и трудолюбии можно добиться невероятных результатов. В конце концов все цифровые изображения всего лишь наборы нулей и единиц, а 3dsMax всего лишь ваш очередной инструмент, ровно как карандаш или кисть.

Свет имеет три главные характеристики: яркость (Multiplier ), цвет (Color ) и отбрасываемые от освещенных им объектов тени (Shadows ).

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

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

Различные визуализаторы предлагают свои алгоритмы формирования теней. Отбрасываемая от объекта тень может сказать о многом - как высоко он находится над землей, какова структура поверхности, на которую падает тень, каким источником освещен объект и т. д.

Кроме этого тень может подчеркнуть контраст между передним и задним планом, а также «выдать» объект, который не попал в поле зрения объектива виртуальной камеры.

В зависимости от формы отбрасываемой объектом тени сцена может выглядеть реалистично (рис. 6.6) или не совсем правдоподобно (рис. 6.7).

Как мы уже говорили выше, настоящий луч света претерпевает большое количество отражений и преломлений, поэтому реальные тени всегда имеют размытые края. В трехмерной графике используется специальный термин, которым обозначают такие тени - мягкие тени.

Добиться мягких теней довольно сложно. Многие визуализаторы решают проблему мягких теней, добавляя в интерфейс 3ds max 7 неточечный источник света, имеющий прямоугольную или другую форму. Такой источник излучает свет не из одной точки, а из каждой точки поверхности. При этом чем больше площадь источника света, тем более мягкими получаются тени при визуализации.

Существуют разные подходы к визуализации теней: использование карты теней (Shadow Map ), трассировка (Raytraced ) и глобальное освещение (Global Illumination ). Рассмотрим их по порядку.

Рис. 6.6. Объект с мягкими тенями

Рис. 6.7. Объект с резкими тенями

Рис. 6.8. Свиток настроек Shadow Map Params (Параметры карты теней) источника света

Использование карты теней позволяет получить размытые тени

с нечеткими краями. Главная настройка Shadow Map (Карта теней) - это размер карты теней (параметр Size (Размер)) в свитке настроек Shadow Map Params (Параметры карты теней) (рис. 6.8). Если размер карты уменьшить, четкость полученных теней также снизится.

Метод трассировки позволяет получить идеальные по форме тени, которые, однако, выглядят неестественно из-за своего резкого контура. Трассировкой называют отслеживание путей прохождения отдельных световых лучей от источника света до объектива камеры с учетом их отражения от объектов сцены и преломления в прозрачных средах. Метод трассировки часто используется для визуализации сцен, в которых присутствуют зеркальные отражения.

Начиная с 3ds max 5, для получения мягких теней используется метод Area Shadows (Распределение теней), в основе которого лежит немного видоизмененный метод трассировки. Area Shadows (Распределение теней) позволяет просчитать тени от объекта так, как будто в сцене присутствует не один источник света, а группа равномерно распределенных в некоторой области точечных источников света.

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

Метод глобального освещения (Radiosity ) позволяет добиться мягких теней на финальном изображении. Этот метод является альтернативой трассировке освещения. Если метод трассировки визуализирует только те участки сцены, на которые попадают лучи света, то метод глобального освещения просчитывает рассеиваемость света и в неосвещенных или находящихся в тени участках сцены на основе анализа каждого пиксела изображения. При этом учитываются все отражения лучей света в сцене.

Глобальное освещение позволяет получить реалистичное изображение, однако процесс визуализации сильно нагружает рабочую станцию и, к тому же требует много времени. Поэтому в некоторых случаях имеет смысл использовать систему освещения, имитирующую эффект рассеиваемого света. При этом источники света должны быть размещены таким образом, чтобы их положение совпадало с местами прямого попадания света. Такие источники не должны создавать теней и должны иметь небольшую яркость. При таком методе, безусловно, не получается настолько же реалистичное изображение, как можно получить, используя настоящий метод глобального освещения. Однако в сценах, которые имеют простую геометрию, он вполне может пригодиться.

Алгоритмов просчета глобального освещения существует несколько, один из способов расчета отраженного света - фотонная трассировка (Photon Mapping ). Этот метод подразумевает расчет глобального освещения, основанный на создании так называемой карты фотонов. Карта фотонов представляет собой информацию об освещенности сцены, собранную при помощи трассировки.

Преимущество метода фотонной трассировки заключается в том, что единожды сохраненные в виде карты фотонов результаты фотонной трассировки впоследствии могут использоваться для создания эффекта глобального освещения в сценах трехмерной анимации. Качество глобального освещения, просчитанное при помощи фотонной трассировки, зависит от количества фотонов, а также глубины трассировки. При помощи фотонной трассировки можно также осуществлять просчет эффекта каустики (подробнее об эффекте каустики читайте в разд. «Общие сведения о визуализации в трехмерной графике» гл. 7).




Top