Привет! Меня зовут Арсений Кононов. На прошлой неделе мы зарелизили трёхмерные развязки и тоннели, которые можно увидеть в режиме навигатора. Я расскажу о простой и гибкой технике, реализованной в графической подсистеме нашего графического движка для отображения плоских объектов на произвольной трехмерной поверхности. Например, линии маршрута на поверхности развязки.
Рубрика «рендеринг»
Рендеринг трёхмерных развязок, мостов и тоннелей для реалистичных карт
2023-10-25 в 5:18, admin, рубрики: графика, иммерсивные карты, рендеринг, трёхмерные карты, трехмерные структурыГауссов сплэтинг: как это выглядит
2023-10-19 в 13:35, admin, рубрики: 3D Gaussian splatting, CUDA, Gaussian splatting, INRIA, NERF, SIGGRAPH, видеоускорители, гауссов сплэтинг, генеративные модели, машинное обучение, научные работы, обработка графики, обработка изображений, обучение, Общество Макса Планка, рендеринг, стохастический градиентный спуск, Университет Лазурного берегаПример работы гауссова сплэтинга. Этот ролик — не видеосъёмка реального мира, а рендер в реальном времени на настольном компьютере
Всплеск внимания к технике сплэтинга связан с представленной в августе этого года статьей 3D Gaussian Splatting for Real-Time Radiance Field Rendering [Трёхмерный гауссов сплэтинг для рендера radiance field в реальном времени]. До этого, в июле, эта научная работа исследователей Университета Лазурного берега, Института информатики Общества Макса Планка и французского Национального института исследований в информатике и автоматике вошла в пятёрку лучших работ SIGGRAPH 2023.
В следующие два месяца новостные сайты, блоги и тематические форумы начали рекомендовать гауссов сплэтинг как будущее компьютерной графики. Новая техника позволит быстро отсканировать существующую сцену и после короткого обучения отрендерить её с высокой точностью, обещают восторженные голоса.
Сейчас исследователи бьются над поиском практического применения технологии и сканированием движения. В оригинальной работе речь идёт о воссоздании в первую очередь статичных сцен.
Читать полностью »
Vange-rs: взгляд на реализацию WebAssembly в Rust
2021-12-10 в 11:15, admin, рубрики: 3d, Rust, webassembly, WebGL, вангеры, игра, рендеринг, технологииВангеры - это одна из самых почитаемых и технологичных игр своего времени (1998 год), и она продолжает жить и развиваться. Благодаря сплоченному сообществу игра получила множество усовершенствований: HD, 60 FPS, новые сетевые режимы и много другое. Vange-rs один из интереснейших проектов по Вангерам. Это rust версия игры, основной изюминкой которой является 3D рендер основанный на wgpu.
Рендеринг острова из «Моаны» менее чем за 10 000 строк кода на Swift
2021-01-18 в 10:07, admin, рубрики: swift, Блог компании Pixonic, Компьютерная анимация, Работа с 3D-графикой, рендерингКак работает рендеринг 3D-игр: текстурирование и фильтрация текстур
2020-05-01 в 8:23, admin, рубрики: bump mapping, lightmaps, карты нормалей, конвейер рендеринга, наложение текстуры, Работа с 3D-графикой, разработка игр, рендеринг, текстурированиеВ третьей статье о рендеринге в 3D-играх мы узнаем, что происходит с 3D-миром после завершения обработки вершин и растеризации сцены. Текстурирование — один из самых важных этапов рендеринга, несмотря на то, что на нём всего лишь вычисляются и изменяются цвета двухмерной сетки разноцветных блоков.
Большинство визуальных эффектов в современных играх сводится к продуманному использованию текстур — без них игры казались бы скучными и безжизненными. Так что давайте разберёмся, как всё это работает!
Часть 2: растеризация и трассировка лучей
Начнём с простого
Можно взять любые трёхмерные игры-бестселлеры, выпущенные за последний год, и с уверенностью сказать, что все они имеют нечто общее: в них используются текстурные карты (или просто текстуры). Это настолько распространённый термин, что думая о текстурах, большинство людей представляет одинаковую картинку: простой плоский квадрат или прямоугольник, содержащий изображение поверхности (травы, камня, металла, ткани, лица и т.д.).
Но при многослойном использовании и комбинировании с помощью сложных вычислений такие простые изображения в 3D-сцене могут создавать поразительно реалистичные изображения. Чтобы понять, как такое возможно, давайте полностью их отключим и посмотрим, как будут выглядеть объекты 3D-мира без текстур.
Читать полностью »
Реверс-инжиниринг рендеринга «Ведьмака 3»: различные эффекты неба
2020-02-21 в 4:43, admin, рубрики: reverse engineering, witcher 3, ведьмак 3, Дизайн игр, Игры и игровые приставки, обратная разработка, Работа с 3D-графикой, реверс-инжиниринг, рендеринг, спецэффекты, шейдеры[Предыдущие части анализа: первая и вторая и третья.]
Часть 1. Перистые облака
Когда действие игры происходит на открытых пространствах, одним из факторов, определяющих правдоподобность мира, является небо. Задумайтесь об этом — бОльшую часть времени небо в буквальном смысле занимает примерно 40-50% всего экрана. Небо — это намного больше, чем красивый градиент. На нём есть звёзды, солнце, луна и, наконец, облака.
Хотя современные тенденции, похоже, заключаются в объёмном рендеринге облаков при помощи raymarching-а (см. эту статью), облака в «Ведьмаке 3» полностью основаны на текстурах. Я уже рассматривал их ранее, но оказалось, что с ними всё сложнее, чем я изначально ожидал. Если вы следили за моей серией статей, то знаете, что есть разница между DLC «Кровь и вино» и остальной игрой. И, как можно догадаться, в DLC есть некоторые изменения и в работе с облаками.
В «Ведьмаке 3» есть несколько слоёв облаков. В зависимости от погоды это могут быть только перистые облака, высококучевые облака, возможно, немного облаков из семейства слоистых облаков (например, во время бури). В конце концов, облаков может не быть вовсе.Читать полностью »
Рендеринг текста вас ненавидит
2019-09-30 в 15:46, admin, рубрики: harfbuzz, svg, браузеры, Глиф, лигатура, Работа с векторной графикой, Работа с иконками, Разработка веб-сайтов, рендеринг, субпиксельное смещение, типографика, хинтинг, эмодзи- 1. Терминология
- 2. Стиль, вёрстка и форма зависят друг от друга?
- 3. Текст — это не отдельные символы
- 4. Эмодзи ломают цвет и стиль
- 5. Сглаживание — это ад
- 6. Эзотерика
- 6.1. Шрифты могут содержать SVG
- 6.2. Символы могут быть чертовски большими
- 6.3. Выделение — это не рамка, а текст идёт во всех направлениях
- 6.4. Как написать то, что невозможно написать?
- 6.5. Стиль является частью шрифта (за исключением случаев, когда это не так)
- 6.6. Нет идеального текстового рендеринга
- 7. Дополнительные ссылки
Рендеринг текста: насколько сложным он может быть? Оказывается, невероятно сложным! Насколько мне известно, буквально ни одна система не выводит текст «идеально». Где-то лучше, где-то хуже.
Предположим, вы хотите произвольный текст с произвольными шрифтами, цветами и стилями, с переносом строк и поддержкой выделения текста. По сути, это минимальные требования для правильного отображения сложного текста, окна терминала, веб-страницы и т. д.
В общем, сразу скажем: здесь нет последовательных правильных ответов, всё намного важнее, чем вы думаете, и всё влияет на всё остальное.
Мы обсудим темы, которые не объединяются в рамках какой-то единой концепции, это просто вопросы, с которыми мне пришлось столкнуться за несколько лет работы над рендерингом текста в Firefox. Например, не будем слишком подробно обсуждать проблемы сегментации текста или управления различными текстовыми библиотеками для конкретной платформы, поскольку этим я не слишком интересуюсь.
Читать полностью »
Прикладные технологии на руинах блокчейн-лихорадки или о практической пользе распределения ресурсов
2019-09-04 в 8:57, admin, рубрики: 3ds max, blender, CGI (графика), distributed computing, distributed video encoding, gpgpu, octane, unity, блокчейн, графика, децентрализованные сети, Облачные вычисления, Работа с 3D-графикой, распределенная архитектура, распределённые вычисления, рендерингВ последние годы новостные ленты наводнили сообщения о появляющихся буквально из ниоткуда распределенных вычислительных сетях нового типа, решающих (точнее, пытающихся решить) самые разнообразные задачи — сделать город умным, спасти мир от нарушителей авторских прав или наоборот, тайно передать информацию или ресурсы, сбежать из-под контроля государства в той или иной сфере. Вне зависимости от сферы, все они обладают рядом общих черт, обусловленных тем, что топливом для их роста явились алгоритмы и методики, вышедшие в широкие массы во время недавнего бума криптовалют и связанных с ними технологий. Наверное, каждая третья статья на профильных ресурсах в то время в названии имела слово “блокчейн” — обсуждение новых программных решений и экономических моделей некоторое время стало доминирующим трендом, на фоне которого иные сферы применения систем распределенных вычислений были отодвинуты на второй план.
В то же время визионеры и профессионалы увидели основную суть явления: массовые распределенные вычисления, связанные с построением сетей из большого числа разрозненных и разнородных участников, вышли на новый уровень развития. Достаточно выбросить из головы хайповые темы и взглянуть на предмет с другой стороны: все эти сети, собранные из огромных пулов, в которых состоят тысячи обособленных разнородных участников, появились не сами по себе. Энтузиасты крипто-движения смогли разрешить в новом ключе сложные проблемы синхронизации данных и распределения ресурсов и задач, что и позволило собрать воедино подобную массу оборудования и создать новую экосистему, предназначенную для решения одной узконаправленной задачи.
Читать полностью »
Пиксельный Lo-fi в Unity
2019-08-30 в 13:13, admin, рубрики: render texture, unity, unity3d, upscaling, Дизайн игр, пиксельная графика, разработка игр, рендерингВизуальный стиль моей находящейся в разработке игры LAUNDRY GAME (да, это бессовестная реклама) основан на больших чётких пикселях в 3D. Я обожаю 3D в низком разрешении. Мне задавали много вопросов о том, как я это сделал, поэтому я решил написать туториал.
Примечание: это только моё решение! Существуют способы с применением шейдеров, блиттингом графики и другими трюками, но для моего небольшого соло-проекта такого решения оказалось вполне достаточно.
Дополнение 1: умный парень Пит Брисбёрн отправил сюда скрипт на случай, если вам не понравится трюк с «quad в небе» (этапы 4-6)!
Читать полностью »
Современный рендеринг текста в Linux: часть 1
2019-07-26 в 13:29, admin, рубрики: freetype, графический дизайн, Разработка под Linux, рендеринг, типографикаДобро пожаловать в первую часть «Современного рендеринга текста в Linux». В каждой статье из этой серии мы разработаем самодостаточную программу на C для визуализации символа или последовательности символов. Каждая из этих программ будет реализовывать функцию, которую я считаю необходимой для современного рендеринга текста.
В первой части настроим FreeType и напишем простой рендерер символов в консоли.
Вот что мы будем писать. А вот и код.
Читать полностью »