LOGOFALPROG Telegram 10
Немного технической информации про мой 2D/3D движок Judy.

Его основной целью является создание комфортных условий для работы над моими личными проектами; поэтому упор делается не на производительность и легковесность, как это обычно бывает в подобных начинаниях (хотя они тоже важны), а на удобство использования. А в моём понимании это означает единую IDE с редактором сцен и луа-скриптов со встроенным дебаггером + отдельное приложение-плеер для запуска проекта без перекомпиляции.

Поскольку мне нужна трушная кроссплатформенность (Win/OSX/Linux) с потенциальной возможностью добавлять новые платформы (консоли? андроид?) и я не готов в техническом плане идти на какие-либо компромиссы, то я пишу на С++. IDE использует Qt для интерфейсов и текстовый движок Scintilla для редактора скриптов (его же используется notepad++). Player же старается не использовать ничего лишнего: он сам создаёт окошки на каждой из платформ и всё рисует на голом GAPI.

А в качестве бекенда рендера у меня сейчас DirectX 12, Vulkan и OpenGL. Впрочем, OpenGL я собираюсь убрать, поскольку Вулкан с недавних пор более-менее официально поддерживается на маках. Шейдеры пишутся на HLSL и с помощью glslang от Khronos транслируются в SPIR-V. Но поскольку теперь появился DirectXShaderCompiler от самих Microsoft на основе clang, который умеет это делать, я планирую перевозложить эту функцию на него.

Также сейчас в проекте очень сложносочинённый рефлекшн, на основе собственного парсера с++ кода и атрибутов. Я мечтаю когда-нибудь его заменить на статическую интроспекцию, которую может быть завезут в с++20 или, дай бог, хотя бы в с++23. На основе этого рефлекшена у меня сделана сериализация с++ объектов в луа-таблицы. Этот механизм я использую для создания собственного человекочитаемого формата сцен, конфигов, файлов сохранений и даже протокола сообщений между IDE и Player'ом (это нужно для дебага луа и логов).

Из вещей, приносящих практическую пользу Judy пока ни черта не умеет. Разве что куб вывести можно. Но будем это исправлять. Сейчас я сдуваю пылинки с репозитория и обновляю Qt на всех платформах (господи, как давно я не включал мак). На этих выходных, правда, буду занят рабочим проектом, но на следующей неделе, надеюсь, наконец-то пойдут первые коммиты в движок после столь долгого перерыва.



tgoop.com/logofalprog/10
Create:
Last Update:

Немного технической информации про мой 2D/3D движок Judy.

Его основной целью является создание комфортных условий для работы над моими личными проектами; поэтому упор делается не на производительность и легковесность, как это обычно бывает в подобных начинаниях (хотя они тоже важны), а на удобство использования. А в моём понимании это означает единую IDE с редактором сцен и луа-скриптов со встроенным дебаггером + отдельное приложение-плеер для запуска проекта без перекомпиляции.

Поскольку мне нужна трушная кроссплатформенность (Win/OSX/Linux) с потенциальной возможностью добавлять новые платформы (консоли? андроид?) и я не готов в техническом плане идти на какие-либо компромиссы, то я пишу на С++. IDE использует Qt для интерфейсов и текстовый движок Scintilla для редактора скриптов (его же используется notepad++). Player же старается не использовать ничего лишнего: он сам создаёт окошки на каждой из платформ и всё рисует на голом GAPI.

А в качестве бекенда рендера у меня сейчас DirectX 12, Vulkan и OpenGL. Впрочем, OpenGL я собираюсь убрать, поскольку Вулкан с недавних пор более-менее официально поддерживается на маках. Шейдеры пишутся на HLSL и с помощью glslang от Khronos транслируются в SPIR-V. Но поскольку теперь появился DirectXShaderCompiler от самих Microsoft на основе clang, который умеет это делать, я планирую перевозложить эту функцию на него.

Также сейчас в проекте очень сложносочинённый рефлекшн, на основе собственного парсера с++ кода и атрибутов. Я мечтаю когда-нибудь его заменить на статическую интроспекцию, которую может быть завезут в с++20 или, дай бог, хотя бы в с++23. На основе этого рефлекшена у меня сделана сериализация с++ объектов в луа-таблицы. Этот механизм я использую для создания собственного человекочитаемого формата сцен, конфигов, файлов сохранений и даже протокола сообщений между IDE и Player'ом (это нужно для дебага луа и логов).

Из вещей, приносящих практическую пользу Judy пока ни черта не умеет. Разве что куб вывести можно. Но будем это исправлять. Сейчас я сдуваю пылинки с репозитория и обновляю Qt на всех платформах (господи, как давно я не включал мак). На этих выходных, правда, буду занят рабочим проектом, но на следующей неделе, надеюсь, наконец-то пойдут первые коммиты в движок после столь долгого перерыва.

BY Log of Alprog


Share with your friend now:
tgoop.com/logofalprog/10

View MORE
Open in Telegram


Telegram News

Date: |

The visual aspect of channels is very critical. In fact, design is the first thing that a potential subscriber pays attention to, even though unconsciously. Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members. Over 33,000 people sent out over 1,000 doxxing messages in the group. Although the administrators tried to delete all of the messages, the posting speed was far too much for them to keep up. How to Create a Private or Public Channel on Telegram?
from us


Telegram Log of Alprog
FROM American