Войти

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

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

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

Статьи

Строковые идентификаторы в движке. string pools.

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

Читать | Комментарии [34]
8 ноя 2022

С++ корутины, начальный уровень

Coroutine (сопрограмма, корутина) - функция, выполнение которой можно явно прерываться методами языка программирования. В отличие от прерывания выполнения потока (thread), который реализован в ОС и происходит неявно и в любой момент. (wiki)

Читать | Комментарии [58]
7 ноя 2022

Recursive Tile-based architecture
Имитация раскачивания дерева под воздействием ветра
Освещение с использованием фотометрического профиля
Гидродинамика Шрёдингера на пальцах

Термины

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

Новости

Вышла книга 3D Graphics Rendering Cookbook

Вышла книга 3D Graphics Rendering Cookbook: A comprehensive guide to exploring rendering algorithms in modern OpenGL and Vulkan авторов Sergey Kosarevsky (_NetSurfer_) и Viktor Latypov (Vinil)
Подробнее…

Ссылка | Комментарии [49]
6 фев 2022

Развитие рендера в Path of Exile

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

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

Ссылка | Комментарии [69]
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

Форум

пересчитывание индексов при разрезе модели8 фев 20230:13BlueOrange55

Добрый вечер !

Храню модель в таком формате (vx vy vz),... ,(vx[n] vy[n] vz[n]), <разделитель> ( индекс1 .. индексN)
Индексы как и вертексы в модели не сортированы
формула индекса GL_TRIANGLES ( pi = {v3i, v3i+1, v3i+2} )
  К примеру я как-то сортирую вертексы по какому-то признаку
и у меня получается из одной модели несколько
1 | Microsoft анонсировала DirectX Raytracing (DXR)

22 | Microsoft анонсировала DirectX Raytracing (DXR)

Вопрос:
1. Как пересчитать индексы для новых моделей если известны все индексы?


и еще просто для общего развития
Так ли необходимо для быстродействия вертексы и индексы сортировать всякими графовыми алгоритмами?
(Хотел бы попробовать реализовать mesh culling)

Linux Устройства ввода6 фев 202316:20Imaginary unit

А что у нас под Линухом на текущий момент самый толковый (в плане gamedev) способ чтения состояния клавиатур, мышей, джоев и т.п. без использования сторонних либ типа GLFW, SFML, SDL2?

Cмешивание, приумножающее яркость4 фев 20238:09Atom_Upgrader

Можно ли сделать в OpenGl смешивание, которое умножит яркость цветовой компоненты, увеличив её? А то как я понял там дефолтно при смешивании и вход, и выход клампится в [0, 1]. Соответсвенно, любое умножение возможно только на числа, меньше единицы.

Правка: 8:26

Переместить объект в направлении его оси Z3 фев 20230:13Qwerqe

Необходимо через transform.position переместить машинку в направлении ее оси Z, тоесть вперед на определенное расстояние. Реализовал метод перемещения по направлению вектора velocity, но с телепортом вперед словил затуп.

Параметризованый мешь1 фев 202323:19slepov

Есть 2д сетка треугольников. Топология фиксирована и задана индексами.
Хочу варьировать положения вершин. Например для N вершин будет 2N параметров нормированых [0;1]. Но при этом надо как то следить чтобы вершины не заползали в соседние полигоны.
Обнаружить заползание наверно можно по знаку векторного произведения 2х векторов сторон. Но как его устранять - не понимаю пока.

Заползание | Microsoft анонсировала DirectX Raytracing (DXR)

Правка: 2 фев 2023 9:34

Два вопроса где взять нормальный код на с++ opengl и assimp?1 фев 202319:30Beginerok

Нет нормальной документации чтобы от и до - там пробелы с многоточиями в документации. И еще вопрос может ли библиотека работать в связке с кодом opengl версии 1.1?

Оптимизация графики1 фев 202311:11Rommma

Всем привет.

Есть вопрос что лучше использовать при построении уровня 2d(локации), использовать одну большую текстуру на уровень или использовать тайлмап(маленькие фрагменты текстуры).

Вопрос с точки зрения оптимизации памяти и загрузки оперативной памяти.

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

Какой вариант предпочтительнее?

Кто может выручить и помочь с реализацией ИИ в шутере? UE1 фев 20232:07ASGELT

Привет.
наша команда, имея кое-какой опыт при создании ПВП фпс, изучила ошибки.
и мы перешли к более простому проекту. ПВЕ фпс.

План был сделать игру за 1 месяц.
Прошло 2 недели.

Но столкнулись с тем, что самой большой трудностью , оказалось ИИ.
У нас нет человека, который мог бы помочь нам с этим делом.

Мы поставили на колеса реализацию процедурной генерации локации из модулей.
Работаем с ее визуализацией.
3Д модели персонажей и оружия в наличии.
Анимации, тоже не заставляют себя долго ждать.
Есть звукарь.
Часть игрового кода для самого игрока, тоже практически закончена.

Если кто может помочь, создать, хотя бы простых болванчиков.
Пожалуйста свяжитесь со мной в ВК или Дискорде.


RANDALL#3455 - дискорд
https://vk.com/ladrandall - вк

Я не программист, от такого затупа, я уже сам сел изучать по туториалам АИ, но перегорел еще сильнее на 2-ом уроке.
спасибо.

Куда вводить git clone на windows?31 янв 202316:02TheBestTechnolodgy

Хочется установить некую программу на Windows 10.
Прогамма здесь:

Написано вот что:

"Сначала клонируйте хранилище.

git clone https://github.com/CorentinJ/Real-Time-Voice-Cloning.git
Установите необходимые библиотеки. Обязательно используйте Python 3:

pip3 install -r requirements.txt".

Мой вопрос: куда вводить git clone в Windows?

Не издевайтесь, я это не учил. Был плотно занят другими делами.

SQL DATABASE30 янв 20239:05Rikk

⦁  Есть следующие таблицы:

Таблица Operation

id_oper  id_part  sum
1  1  10
2  2  5
3  3  25
4  1  80

Таблица Partner

id_part  name
1  Сидоров
2  Иванов


Необходимо написать SQL-запрос, который выводит результат:
name  sum
Иванов  5
Сидоров  90
  25


Как решить?
напишите пожалста решения на языке sql стандартными командами

Купить выкидные ножи по ссылке: nozheman.club/vykidnyye-nozhi/ в интеренет-магазине Ножеман . , Ищешь спортивные ставки на айфон? Попробуй это приложение