CG World

Заметки о компьютерной графике

Remini: нейросеть улучшает фотографии

Искусственный интеллект сегодня применяется в самых разных областях информационных технологий, и компьютерная графика не является исключением. Так, уже существуют нейросети, натренированные на имитацию художественных стилей (style transfer), а пользователям мобильных устройств давно знакомо приложение FaceApp, пропускающее фотографии людей через различные фильтры.

Отдельной сферой применения ИИ является фоторетушь — и приложение Remini стало в ней очередным крупным прорывом: оно способно удваивать разрешение фотографий со значительным улучшением четкости, превосходя по результатам все популярные алгоритмы апскейлинга в графических редакторах! При помощи Remini вы можете улучшить старые фото из семейного альбома, а также снимки с плохой фокусировкой и зашумленностью — приложение может стать незаменимым инструментом для подготовки снимков к печати или, например, для создания иллюстраций. Единственным существенным ограничением является то, что нейросеть «понимает» только человеческие лица — одежда, пейзаж и прочие неживые предметы на фотографии улучшаются при помощи обычных методов повышения четкости, не показывающих столь эффектные результаты. Приложение также поддерживает видео.

Remini позволяет бесплатно улучшить до 4 снимков в день с просмотром рекламы. Месячная подписка, снимающая все ограничения, стоит 398 руб.

День Благодарения в Lords Mobile

Lords Mobile — одна из лучших онлайн-стратегий современности для платформ PC, Android и iOS, которая органично совмещает сразу несколько жанровых направлений от классической стратегии до MMORPG, с размахом отмечает День Благодарения. Удивительный проект, релиз которого состоялся еще 26 февраля 2016 года, не только не теряет популярности, но и продолжает пополнять список активных геймеров. Лишь в Google Play игра была установлена более 100 млн раз. С пользователями iOS и Steam армия активных геймеров Lords Mobile составляет десятки миллионов человек.

Ветераны виртуальных фронтов, прошедшие горнила эпических сражений на полях Lords Mobile, с 23 по 30 ноября 2020 года отмечают День Благодарения. За верность Lords Mobile разработчики отблагодарят ветеранов ценными внутриигровыми призами и ускоренным набором опыта. Ценность призов будет возрастать в прямой зависимости от того, сколько игроков примет участие во внутриигровом ивенте. Так, первый приз игрок сможет получить за репост о Дне Благодарения в Lords Mobile в социальных сетях, второй — за присоединение к ивенту, а остальные призы будут сыпаться на голову геймера в арифметической прогрессии как из рога изобилия после того, как к игре последовательно присоединяются 250 тыс., 500 тыс., 750 тыс., 1 млн игроков и далее.

Разработчики рассчитывают, что День Благодарения 2020 в Lords Mobile станет одним из самых масштабных внутриигровых ивентов в истории проекта и заложит добрую традицию на будущее.

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

Игра снискала высокую популярность во всем мире за счет органичного сочетания различных игровых механик, таких как стратегия в реальном времени, экономическая стратегия, а также экшн-RPG открытых пространств. В основе геймплея Lords Mobile лежат масштабные PvP-сражения между огромными массами игроков и PvE-сражения со внутриигровыми противниками. Особо эпичные битвы разворачиваются в игре между членами вражеских гильдий (кланов). Параллельно с обычными сражениями, которые можно вести во множестве различных игровых форматов, пользователи смогут принять участие в конкурсах, целью которых является захват новых земель и получение бонусов.

Коммуникации игроков за пределами игровых чатов осуществляются в основном на странице игры в VK.

Новость предоставлена компанией IGG

NeoAxis открыт

Этим летом популярный российский игровой движок NeoAxis перешел в разряд открытого ПО под собственной лицензией (EULA). Движок и его исходники можно использовать в любых проектах, в том числе коммерческих, при условии указания ссылки на NeoAxis. Также особенностью лицензии является то, что она, как и GPL, распространяется на измененный код (если вы распространяете модифицированную версию NeoAxis, любые изменения могут быть использованы правообладателями NeoAxis, с сохранением ваших прав на эти изменения). Кроме того, требуется пометка, что это модифицированный код.

NeoAxis — это 3D/2D-игровой движок с интегрированной средой разработки, предназначенный для игр, симуляторов, систем виртуальной реальности и т. д. Рендеринг основан на библиотеке Bgfx, есть встроенный физический движок (Bullet) и поддержка воспроизведения звука. Программирование логики осуществляется на C# (есть встроенный редактор кода и поддержка Visual Studio). Движок и редактор расширяются при помощи DLL-библиотек.

https://www.neoaxis.com/
https://github.com/NeoAxis/NeoAxisEngine

Dev-C++ — история продолжается

В 2015 году мы писали о том, что среда разработки Bloodshed Dev-C++ продолжает развиваться в виде форка Orwell Dev-C++ 5. К сожалению, этот проект довольно быстро заглох, и долгое время казалось, что полюбившаяся многим IDE безвозвратно канула в лету. Однако этим летом пользователей ждал сюрприз: продолжением разработки Dev-C++ занялась компания Embarcadero!

Для тех, кто не в курсе: Dev-C++ — это свободная IDE под Windows, работающая с компилятором GCC, легковесная и интуитивная в использовании, прекрасная альтернатива Visual Studio для работы над небольшими проектами (или если вы просто не хотите использовать тулчейн от MS). Новость весьма порадовала: в руках Embarcadero, нынешнего владельца Delphi, проект просто обязан получить второе дыхание.

Как и форк Orwell, форк Embarcadero основан на TDM-GCC 4.9.2 и полноценно поддерживает компиляцию в 64-битном режиме. Среда официально поддерживает Windows 10. Из ключевых изменений стоит отметить обновленные пакетный менеджер Packman и линтер AStyle, также были улучшены локализации на некоторые языки.

На момент написания этого текста мы протестировали Embarcadero Dev-C++ 5.50. Мы не рекомендуем устанавливать программу в Program Files — многолетняя практика показала, что среда лучше всего работает из C:\Dev-Cpp. После установки вы можете увидеть ошибку при попытке запуска, но не пугайтесь: запускать нужно не devcpp.exe, а devcppPortable.exe. В остальном IDE работает как обычно, никаких существенных изменений в интерфейсе мы не заметили.

Скачать форк можно в GitHub-репозитории: https://github.com/Embarcadero/Dev-Cpp

Unigine — бесплатная версия!

3D-движок Unigine (развиваемый, кстати, российской компанией) всегда был дорогим удовольствием на фоне бесплатных Unity и UE. Но в этом году все изменилось: разработчики выпустили бесплатную версию движка для некоммерческого использования и студий с небольшим доходом — не выше $100000 в год. Unigine 2 Community Edition включает те же возможности, что и коммерческие редакции, за исключением поддержки координат двойной точности, прямого импорта данных CAD и GIS, а также некоторых других специфических функций. Минимальная стоимость лицензии без ограничений по доходам — Community Pro — составляет $150 в месяц.

Unigine — это профессиональный кроссплатформенный движок для разработки игр, симуляций и систем виртуальной реальности на основе DirectX 11/OpenGL 4.5, включающий поддержку практически всех современных технологий рендеринга — в том числе воксельный GI, SSR, PBR, сглаживание, постэффекты и пр. Движок обеспечивает реалистичный рендеринг ландшафта, воды и растительности, включает полнофункциональный WYSIWYG-редактор сцен, а также физический, звуковой и скриптовый движки. Поддерживаются все мейнстримовые форматы моделей: FBX, OBJ, COLLADA, PLY, 3DS, glTF.

https://unigine.com

Обзор возможностей WebGPU

После выхода Vulkan в 2015 году мы рассуждали о том, сможет ли новый графический API полностью заменить OpenGL, и сделали вывод, что в обозримом будущем этого не произойдет. Масса запутанного boilerplate-кода, непривычные для прикладной разработки концепции, множество вариантов неопределенного поведения, отсутствие нативной поддержки на macOS — все это делает Vulkan менее привлекательным выбором для написания типовых приложений. Vulkan более пригоден для машин, а не людей — он используется в бэкендах некоторых графических движков, но писать на нем напрямую слишком сложно и дорого. Отдельно стоял вопрос о судьбе Vulkan в браузерах — сейчас уже ясно, что WebVulkan не появится. Ну а после новости о том, что Apple прекращает поддержку OpenGL на macOS в пользу Metal, всем стало очевидно, что нужен новый абстрактный графический API, адаптированный под современные видеокарты, но при этом более дружественный к пользователю, чем Vulkan или Direct3D 12 — и, конечно, способный работать на всех платформах.

Стать таким API имеет все шансы WebGPU — новый веб-стандарт, предложенный W3C, основное применение которого — высокопроизводительный рендеринг и параллельные вычисления на GPU. В отличие от WebGL, WebGPU не является портом OpenGL или какого-то иного нативного API — по уровню абстракции он значительно выше Vulkan, но ниже OpenGL.

WebGPU создается, в первую очередь, для браузеров, и на момент написания этой статьи доступен лишь в Safari Technology Preview. Тем не менее, попробовать новый API вы можете уже сейчас в его нативной реализации в рамках проекта wgpu. Для сборки нужен тулчейн языка Rust, скомпилированную же библиотеку можно использовать в любом C-совместимом языке. wgpu работает на Windows, Linux и macOS, в качестве бэкенда используя Vulkan, Metal или Direct3D 12.

Особенности

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

Важнейшая концепция WebGPU — группы биндинга (bind groups), которые похожи на descriptor sets в Vulkan. Это особые контейнеры, предназначенные для привязки данных к шейдерам — о них удобно думать как о наборах uniform-параметров. Вместо того, чтобы явно передавать значения каждому параметру, как это делалось в классическом OpenGL (до появления UBO), все данные в группе передаются единым буфером, что значительно быстрее и проще. Кроме того, можно заранее создать несколько готовых групп биндинга с разными данными, а потом просто переключаться между ними, что также очень эффективно.

Еще одной особенностью API является повсеместное использование буферов для обмена данными с приложением. WebGPU использует неструктурированные байтовые буферы, отображаемые в пользовательскую память, так что на стороне API даже не требуется уточнять типы uniform-данных — они задаются только в шейдере (но, разумеется, нужно следить за тем, чтобы структура в шейдере совпадала со структурой uniform-буфера). Также создание буфера необходимо для передачи данных в текстуру и для хранения вершинных атрибутов и индексов. Преимуществом API является единообразие — для хранения любых данных используется один и тот же тип буферного объекта (в отличие от того же OpenGL, где есть множество разных типов буферов).

Приложение WebGPU выглядит как предельно сжатый аналог приложения на Vulkan — инициализация устройства, определение лэйаутов групп биндинга, создание буферов и текстур, инициализация конвейера, свапчейна и аттачментов. В главном цикле — обновление uniform-буферов, установка текущих конвейера, группы биндинга, вершинного буфера — и, наконец, отрисовка. Все вызовы отрисовки (как и другие команды видеокарте) не выполняются немедленно, а заносятся в специальный command encoder, который затем отправляется в очередь на выполнение — таким образом, можно вызовы отрисовки определить заранее, до начала цикла (если, конечно, логика программы не предполагает изменений порядка рисования объектов).

Шейдерный язык WebGPU черновиком стандарта пока не определен, но существующие реализации используют SPIR-V, благодаря чему можно легко использовать готовые шейдеры на GLSL 4.5. Как и Vulkan, WebGPU не оперирует символьными именами и требует явного указания layout-спецификаторов set, binding и location для входных и выходных данных. Вероятнее всего, стандарт будет включать некий язык на основе HLSL — к примеру, Apple уже предложила Web High Level Shading Language (WHLSL).

Чего не будет в WebGPU

Серебряной пули не существует. Будучи переносимым, WebGPU неизбежно окажется более ограниченным, чем Direct3D и OpenGL. Вот несколько важных фич, которые, по всей видимости, не войдут в ядро стандарта: transform feedback, occlusion queries, тесселяция, сжатие текстур (только как расширение).

Итог

WebGPU — не только для более быстрых браузерных игр. Думаю, не будет преувеличением сказать, что нативные реализации WebGPU в будущем начнут частично занимать нишу десктопного OpenGL, а в совокупности с WebAssembly позволят писать единый код для нативных платформ и веба. Это означает, что графические приложения (3D-пакеты, графические и видеоредакторы, CAD-системы и пр.) можно будет запускать в браузере на всех платформах. WebGPU — это еще один шаг к стандартизации графических API, столь же значительный, каким в свое время стал OpenGL.

 Нет комментариев    56   5 мес   gamedev   gpu   software   webgpu

WebGPU — новый графический API

Консорциум W3C (Apple, Google, Mozilla, Microsoft и др.) работает над новым веб-стандартом WebGPU  — переносимым низкоуровневым API для рендеринга 3D-графики и параллельных вычислений на GPU. В отличие от существующего стандарта, WebGL, WebGPU не является портом OpenGL или какого-то иного нативного API — концептуально он основан на Vulkan, Metal и Direct3D 12.

Основным принципом WebGPU является сокращение вызовов API при модификации состояния конвейера (состояние меняется путем предварительного создания объектов pipeline state objects и переключения между ними в рантайме) и привязки ресурсов к шейдерам (аналогично используются объекты-группы привязки — bind groups). При этом WebGPU значительно проще и удобнее в использовании, чем тот же Vulkan, что сделает его отличным выбором для разработки игр.

Работа по реализации WebGPU ведется во всех основных браузерах, но на момент публикации этой новости API доступнен лишь в Safari Technology Preview. Тем не менее, попробовать новый API вы можете уже сейчас — в его нативной реализации в рамках проекта wgpu . Для компиляции нужен тулчейн языка Rust, скомпилированную библиотеку можно использовать в любом C-совместимом языке. wgpu работает на Windows, Linux и mscOS, в качестве бэкенда используя Vulkan, Metal или Direct3D 12.

 Нет комментариев    109   2019   gamedev   gpu   web   webgpu

Blender 2.80

После почти двух лет разработки вышел новый релиз Blender — лучшей свободной программы для работы с 3D-графикой. На нашем старом сайте и в журнале «FPS» мы уже достаточно много писали обо всех изменениях и нововведениях Blender 2.80, так что сейчас обойдемся перечислением основных фич:

  • • Новый пользовательский интерфейс. Изменения коснулись, главным образом, панелей инструментов в окне вьюпорта
  • • Новый рендер-движок Eevee, работающий в реальном времени во вьюпорте
  • • Обновленный набор инструментов для работы с 2D-анимацией
  • • Слои и коллекции
  • • Новые возможности в Cycles, включая шейдеры Principled Hair, Principled Volume и поддержку Cryptomatte

Список всех изменений читайте в официальном чейнджлоге. Скачать Blender 2.80 для всех платформ можно на https://www.blender.org.

Ранее Ctrl + ↓