html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Модель освещения для двумерных хоррор-игр

image
Самым нетерпеливым: лагающая демка, написанная под хром. На моей машине загружается секунд 20.

Эта идея пришла ко мне года 2 назад. Я обратил внимание на то, что, в условиях недостаточного освещения, я воспринимаю видимые объекты преимущественно в синеватых тонах и с небольшой потерей резкости. Возможно, это чисто психологическое восприятие, но мы сейчас не об этом. Мне стало любопытно, как выглядела бы 2D игра с такими особенностями освещения. С целью выяснить это, я, так и не разобравшись с шейдерами, набросал демку на самом удобном для меня языке — javascript. Поскольку эффект применяется к слабоосвещенным участкам, он не самый заметный из происходящего на экране, но вполне ощутимый шарм он добавляет.

Результат получается из трех буферов:
На первом буфере формируется картинка, к которой будет применяться пост-эффект;
Второй буфер используется для motion-blur'а карты света. По смыслу, он реализует «память» — после того, как участок засветился, его еще будет видно какое-то время, даже если никакой источник света на него уже не направлен.
На третьем рисуется сама карта света — освещение с геометрическими тенями для текущего кадра.

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

В моей реализации размытие из пост-эффекта просчитывается для 255 радиусов еще перед запуском, и на это уходит секунд 20-30.

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

Управление в свежей версии:
ЛКМ — создавать выпуклые объекты, от которых будет отбрасываться тень. Направление создания (по или против часовой стрелки) имеет разницу.
ПКМ — отмена создания / удалить объект под мышкой.
СКМ — включить / выключить второй источник света.

За основу размытия был взят алгоритм отсюда.
Фоновая картина из недавно вышедшей игры They bleed pixels.
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

16

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • alexxswx
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

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

            Facebook

            К сожалению, вы не попадаете под условия акции