Войти

Программирование игр

Игровой движок, 3D графика, сеть, физика, логика, уеб

НовостиСтатьиПодсказкиТерминыFAQФорумИнфо

Статьи

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

Читать | Комментарии [24]
3 июня 2020

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

Читать | Комментарии [97]
9 окт. 2019

Предрасчёт рейкаста для эффективного рендеринга травы и меха
На пути к эффективному алгоритму Global Illumination, часть 1
Синхронизации в Vulkan
Пишем простой рейтрейсер используя Vulkan Raytracing

Термины

Universal Scene Description (USD)
Universal Scene Description (USD)
Universal Scene Description (USD) — файловый формат описания трехмерной сцены, разработанный компанией Pixar.

Читать
5 июня 2018

Verge3D
Verge3D
Verge3D - трёхмерный движок для веба, использующий технологию WebGL. Основан на Three.js, от которого отличается наличием реалистичных материалов, визуальным редактором логики Puzzles, средой создания приложений и более тесной интеграцией с программами моделирования Blender и 3ds Max. 14 декабря 2017 года в рамках проекта был запущен облачный сервис Verge3D Network для публикации и распространения 3D-приложений.

Читать | Комментарии [19]
8 дек. 2017

Вуду-программирование
Blend4Web
Forward+

Подсказки

MAX Script: Разделение 3D модели на элементы по группам нормаль векторов.
MAX Script: Разделение 3D модели на элементы по группам нормаль векторов.
Здесь представлен скрипт 3D Studio MAX, при помощи которого можно разделить 3D модели на элементы по группам нормалей, также смотрите «MAX Script: Разделение 3D модели на элементы по группам сглаживания».

Читать
10 мая 2020

Delphi: Точный таймер (Win API)
^ Матрица LookAt
Инверсия матрицы 4x4

Новости

Развитие рендера в Path of Exile
Выложили мой доклад с exilecon. В нём я рассказываю о нескольких необычных техниках рендеринга, разработанных для Path of Exile. Доклад на английском языке. Есть русские субтитры.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Ссылка | Комментарии [66]
8 апр. 2020

Ray Tracing Gem. Доступно бесплатно!
Опубликована PDF-книга «Ray Tracing Gem. High-quality and real-time rendering with DXR and other APIs» на 600+ страниц, подготовленная NVIDIA и разными специалистами из области рейтрейсинга. Можно скачать отсюда:
https://link.springer.com/book/10.1007/978-1-4842-4427-2

Ссылка | Комментарии [7]
4 мар. 2019

Microsoft анонсировала DirectX Raytracing (DXR)
На проходящей в Сан-Франциско конференции разработчиков игр (GDC) компания Microsoft анонсировала поддержку в DirectX 12 технологии DirectX Raytracing (DXR). Новый программный интерфейс позволяет производить просчет рейтрейсинга при помощи поддержки этой технологии в железе.

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

SEED-screenshot | Microsoft анонсировала DirectX Raytracing (DXR)

Подробнее…

Ссылка | Комментарии [504]
20 мар. 2018

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

P.S. Не забудьте включить полноэкранный режим просмотра.
Ссылка на доклад: http://www.goo.gl/6DoH7R

2048_tournament_postmortem | О дизайне игровых подсистем в 2048 Tournament

Ссылка
27 янв. 2015

Форум

Volumetric lighting6 июля 202020:31BANEBYTE
Кто нибудь может обьяснить как работает, или псевдокод подкинуть? Или почитать чего? Нашел в интернете только видео , но без обьяснений.
Какой сейчас State of the art для оффскрин частич?6 июля 202019:17Battle Angel Alita
Сабж
Читала уже старые паперы от amd/nvidia, читала от разраба скайлендеров.
Отрендерить партикли в сабрезе не сложно. Проблема - что делать с лесенками на перепаде глубины. В этих паперах предлагают пару вариантов - nearest сэмпл и билатералка. Это всё более-менее исправляет артефакты. НО, оно работает когда партикли находятся на заднем плане. Когда они находятся на переднем - на местах лесенок появляются ломаные чёткие полоски. НИкто ещё не придумал что с этим делать?
Вопросы новичка о GooglePlay+новая идея и про notifications (Unity3D)5 июля 202016:50MegaMan11
Привет всем я новичок и уже ближусь к публикации своей собственной игры в GooglePlay!!! Ни когда не опубликовался там и хочу узнать у старых бизонов игростроения:
1 Нужно ли деньги за регистрацию своей игры в GooglePlay если без публикации Баннер посмотреть статистику проверить работоспособность?
2 Можно ли в Google Play закинуть игру не опубликовать, чтоб проверить ее работоспособность баннер, срабатывают ли покупки, статистику и тд?
3 Могу ли я дать кому то ссылку на эту не опубликованную игру чтоб проверить реализацию покупок все таблицы рекорды например и тд
4 Можно ли включить баннер и не зарегистрировавшись при этом за деньги в GooglePlay
5 Можно ли технически без создания своей базы данных на сайте , а на основе стандартных инструментов GooglePlay, реализовывать такую идею - Нужно создать таблицу в которой люди сами бы голосовали за какие изменение и нововведения в игре они бы хотели видеть. все это в базу данных в носить внутри GooglePlay. есть ли аналог в GooglePlay моей идеи может все до меня уже придумано???
6 Теперь вопрос про local notifications я везде вижу, в документации, что в уроках что local notifications реализуют следующим образом берут пишут через сколько (минут, секунд, часов, дней, нужно чтоб local notifications всплыл) а нельзя ли просто сразу дату нужную указать например мне нужно чтоб завтра в 9 часов пять минут сработал? Какие метод такое делает можно ссылочку???
Спасибо за ранее за ваши ответы.
Capsule - Triangle collision detection5 июля 202013:28BANEBYTE
Как реализовать столкновение между капсулой и треугольником. Разобрался со сферой и треугольником, но более быстрый вариант все-таки просчитывать столкновение с капсулой. Может у кого-нибудь код есть, или принцип работы обьясните.
Collisions table VS Layer collisions4 июля 202020:39mingw

Доброго времени года.

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

В то время как в 2-д физ двигах используются "слои столкновений".

Я пишу простенький 2-д физ. двиг. И мне больше импонирует система применяемая в 3-д.

Вопрос : какие могут быть "подводные камни" ? Ведь не просто же так в 2д используют слои?

Возможно ли получить модифицированные барицентрические координаты через Parallax Occlusion Mapping?4 июля 202010:23helix.d
У меня есть задача таки добавить Parallax Occlusion Mapping в трассировку лучей, и нужен не просто Parallax Occlusion Mapping, а еще и с модификацией барицентрических координат.
Возможно ли получить (смещенные) модифицированные барицентрические координаты через Parallax Occlusion Mapping?
Вопрос по определению высоты препятствия2 июля 202018:18tonline_kms65
Снова здравствуйте.
Еще один вопрос у меня.
Как можно проще получить высоту препятствия перед персонажем?

Я делаю так:
1 - само событие - определенное расстояние до препятствия.
2 - вызываю функцию получения высоты препятствия
3 - трассировки что-то типа расчески, в направлении препятствия.
Изображение
4 - выбор максимального значения из этой "расчески"
5 - и от мин.(земля) до мах. получаю дистанцию(высоту).

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

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

Вопрос по движению персонажа2 июля 202017:56tonline_kms65
Все здравствуйте.

У меня есть 2 вида движения игрового персонажа по карте:
1 - постоянно работающий таймер, для реагирования на события используются всякого рода переключатели, основной таймер отключается только при уничтожении персонажа.
2 -на каждое событие запускается свой таймер движения, при этом отключается таймер предыдущего движения(что-бы не было глюков с одновременно запущенными таймерами движения).

Сам вопрос такой - какой тип движений предпочтительней 1 или 2?
Возможно есть еще какие-либо виды движений? Хотелось бы узнать ваше мнение.

Правка: 18:00

Динамика движения твердого тела под действием моментов, приложенных в различных точках тела2 июля 202014:17Shalom
Имеется тело, к которому в точках, отличных от его центра масс, приложено несколько моментов. Интуитивно понятно, что в большинстве случаев тело будет зафиксировано в пространстве этими моментами, и будет испытывать лишь внутреннее напряжение / деформации.

Меня интересуют ссылки на книги/статьи, которые описывают критерии, при котором эти моменты вызывают не только стресс (деформации и внутренние напряжения тела мне не интересны), но и глобальное движение тела, а также уравнения для этого движения.

Boolean operations on polygons1 июля 202023:34BingoBongo
существует ли библиотека для polygon clipping'а, которая корректно охватывает все нестандартные случаи, например, когда грани полигонов частично или полностью совпадают или когда некоторые вершины настолько близко, что при обработке в лоб точности double'а не хватит и их придется как-то мержить.  ??
Букмекерские конторы по материалам http://winline.ru.