Из чего состоит движок для игры?
Актуальная тема для движкописателей. Из чего состоит движок? Каков его состав? Это абстрактные вопросы, и общий ответ на них есть. В данной статье сделаем смелую попытку описать состав движка для игры)
Актуальная тема для движкописателей. Из чего состоит движок? Каков его состав? Это абстрактные вопросы, и общий ответ на них есть. В данной статье сделаем смелую попытку описать состав движка для игры)
В статье рассмотрим первый этап динамического отложенного освещения (deferred shading), а именно G-буфер. Внутри есть примеры в виде скриншотов))
В данной статье рассмотрим понятие «динамическое освещение» и его методы в теории, а именно о forward render, deferred shading, Light Pre-Pass Render (LPP, deferred lighting).
Освещение один из самых важных критериев самоопределения проекта. Визуальная составляющая играет немаловажную роль, во всех игровых проектах. Освещение в целом определяет вектор направления движения проекта, его целевую аудиторию и намерения. В данной статье рассмотрим в теории методы.
Мне всегда было интересно как же создавался какой-то проект, его история создания, до определенной версии. Поэтому и мы начнем)) В статье расскажу историю разработки s4g до версии 0.9.2 с момента задумки.
При разработке SkyXEngine, перед нами на всегда вставала важная проблема — как осуществить общение dll библиотек друг с другом? Как будет происходить передача данных между библиотеками dll? Очень часто мы обходились путем прямой посылки данных в библиотеку. Но когда кода стало слишком много, мы поняли что это неправильно.
Для real-time приложений производительность очень важна, а если приложение еще и критично по времени исполнения, то производительность является ключевым фактором. Вопросам оптимизации производительности должно уделять достаточно времени. При разработке скриптового языка s4g мы не раз сталкивались с низкой производительностью. И каждый раз нам приходилось решать задачи по ускорению исполнения кода. Речь идет именно о повышении производительности C++ кода. Однако, не всегда, казалось бы очевидные приемы оптимизации, действительно ведут к оптимизации.
Типизация языка программирования в некоторых случаях может оказаться достаточно важным фактором при его выборе. Не ради сравнения, а лишь только с целью показать различия языковых возможностей стоит сказать: в языке lua намного проще выполнить некоторые действия, нежели на C++. На первый взгляд достаточно глупый пример, но с другой стороны, где лучше описывать логику на C++ или на lua? Риторический вопрос на который, каждый сам находит ответ))
Казалось бы, написал программу, и весь ее код и есть API, однако не все так просто, как кажется) Предоставляя лишний код в программный интерфейс создаются дополнительные проблемы использования, что за код, куда его девать и как с ним быть? Какой код вычленить для использования? В данной статье рассмотрим что такое API (программный интерфейс/интерфейс программирования) и его значимость.
Контекст исполнения играет большую роль на этапе исполнения кода, а правильная организация контекстов скажется на всей работе виртуальной машины в целом.