• Трёхмерная графика с нуля. Часть 2: растеризация

    • Перевод
    image


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

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

    Тогда как это удаётся играм?

    Ответ заключается в использовании совершенно иного семейства алгоритмов, которое мы исследуем во второй части статьи. В отличие от трассировки лучей, которая получалась из простых геометрических моделей формирования изображений в человеческом глазе или в камере, сейчас мы будем начинать с другого конца — зададимся вопросом, что мы можем отрисовать на экране, и как отрисовать это как можно быстрее. В результате мы получим совершенно другие алгоритмы, которые создают примерно похожие результаты.
    Читать дальше →
    • +18
    • 2,1k
    • 2
  • Ray casting в мире веб сегодня

    • Перевод
    Публикация содержит часть перевода статьи Джейкоба Сейделина (Jacob Seidelin) о создании трёхмерной игры с применением метода «бросания лучей» — Ray casting, на JavaScript и HTML, а также несколько примеров реализации этого метода. Цель публикации — продемонстрировать возможности Ray casting и познакомить читателя с проектом упомянутого автора.

    Читать дальше →
  • Трёхмерная графика с нуля. Часть 1: трассировка лучей

    • Перевод
    image


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

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

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


    Читать дальше →
  • О трехмерных шутерах на CSS +HTML [перевод]

      Привет, Хабр! Представляю вашему вниманию перевод статьи Building a 3D Game with CSS + HTML автора Michael Bromley.

      Не так давно я изучал редко используемые функции CSS — функцию анимации и 3D, а после общения в конференции по JavaScript я собрал вот это demo. Пока я трудился над ним, мне стало любопытно, как далеко можно зайти в конструировании трёхмерной графики на чистом CSS.

      image
      (скриншот выполнен переводчиком)
      Читать дальше →
    • Создание концепт-артов в 3D

      • Перевод
      image

      Бен Николас поделился секретами своего рабочего процесса и рассказал об источниках вдохновения для ярких экспериментов с 3D.

      Введение


      Я начал заниматься 3D, когда мне было 13 лет. Мой хороший друг детства тогда баловался с 3D, и он вдохновил меня на его самостоятельное изучение. Сначала я работал в Bryce, потом довольно быстро перешёл к 3ds Max и Maya. В старшей школе я уже занимался 3D на фрилансе и выполнял случайные работы, пользуясь обретёнными знаниями. Больше всего меня притягивало hard surface-моделирование, потому что я вырос рядом с самолётными и вертолётными ангарами, ведь мой отец был пилотом. Он же научил меня любить научную фантастику. Думаю, оба этих аспекта стали основой моего вкуса в искусстве.
      Читать дальше →
    • Unreal Engine: QuickStart в Qt Creator под Arch Linux

      • Tutorial

      Введение


      В марте 2015 года Epic Games повернулась лицом к Open Source сообществу, предоставив бесплатный доступ к своему движку Unreal Engine версии 4 (установив лимит на прибыль от использования движка в 3000$ за квартал). Более того, еще в 2014 году компания говорила о том, что поддержка свободных операционных систем, в частности Linux, является для неё одной из приоритетных задач.



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

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

      Подробнее
      Реклама
    • Работа с видео в Full Throttle Remastered

      • Перевод
      The Full Throttle Remastered logo


      Full Throttle — это point-and-click адвенчура, выпущенная компанией LucasArts ещё в двадцатом веке, 30 апреля 1995 года. В дополнение к стандартному визуальному стилю геймплея point-and-click тех времён (спрайты персонажей движутся на статичном фоне) в игре также присутствовало FMV-видео в неинтерактивных катсценах и в интерактивных режимах игрового процесса. Эта технология FMV ещё больше усилила сюжетный аспект жанра, потому что позволила создателям использовать отрендеренные компьютером последовательности кадров, не требующие большой нагрузки на процессор. К тому же сжатые FMV занимали меньше пространства и помещались на целевой носитель — CD-ROM объёмом примерно 650 мегабайт.

      В классической версии Full Throttle использовалась видеотехнология, разработанная сотрудником LucasArts Винсом Ли под названием INSANE. INSANE расшифровывается как INteractive Streaming ANimation Engine («движок интерактивной потоковой анимации»). Впервые она была создана и использована в Star Wars: Rebel Assault. Технология усовершенствовалась и применялась также в более поздних играх:

      • Star Wars: Rebel Assault (ноябрь 1993 года)
      • Full Throttle (апрель 1995 года)
      • Star Wars: Rebel Assault II (ноябрь 1995 года)
      • The Dig (ноябрь 1995 года)
      • Outlaws (март 1997 года)
      Читать дальше →
    • Как рендерит кадр движок Unreal Engine

      • Перевод


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

      Поскольку у нас есть доступ к исходному коду, мы можем изучить исходники рендерера, чтобы понять, что он делает, однако это довольно объёмная часть движка, а пути рендеринга сильно зависят от контекста, поэтому проще будет исследовать чистый низкоуровневный API (иногда заглядывая в код, чтобы заполнить пробелы).
      Читать дальше →
    • Полный цикл создания модели персонажа для игры

      Процесс создания in-game модели персонажа от эскиза до релиза.

      image

      Доброго времени суток. Меня зовут Ivan. Сегодня я поделюсь с вами деталями разработки игр, а именно расскажу о полном цикле создания персонажа. Итак, поехали!
      Читать дальше →
    • Исследование фотограмметрии

      Друзья, хочу поделиться опытом, который приобрел в процессе практического изучения дисциплины, как фотограмметрия. Буду рад, если кто-нибудь из вас выскажет свое мнение, поправит меня или укажет на ошибки, которые допустил. Возможно эта статья по изучению мною фотограмметрии поможет и будет полезна Вам. Моя работа описана на примере фотосъемки природы в городском парке, в Центральной полосе России, в период август–сентябрь 2017 г.
      Читать дальше →
    Самое читаемое