Комментарии 28
А вы как-нибудь учитываете DPI экрана в своём UI? Например, чтобы элементы управления имели одинаковый физический размер на любых устройствах.
В целом очень интересный проект, желаю вам творческих успехов!
В целом очень интересный проект, желаю вам творческих успехов!
+4
Кстати, только что прочитал статью и захотел спросить тоже самое.
В своё время пришлось очень сильно извращаться чтобы заставить Qt приложение выглядеть одинаково на Windows и на MacOS с ретина дисплеями. QtQuick тогда был ещё в зачаточном состоянии.
+2
Пока что размер всегда 1 к 1 в пикселях. В процессе как раз разработка решения для разных размеров. Так как графика вся растровая, то будут готовиться «паки» под разные разрешения, автоматически. То есть закидываешь все в максимальном разрешении, движок сам делает уменьшенные копии. Затем, в зависимости от реального разрешения и физического размера выбирается соответствующий «пак» с нужным размером текстур. При этом система координат уже будет не 1 к 1, ее можно будет настраивать либо как какое-то фиксированное разрешение, либо в физических единицах (дюймы, сантиметры, миллиметры).
Еще есть идея сделать векторную графику. Перед рендерингом формировать полигональные меши, без текстур, но с подкрашенными вершинами. Затем уже рисовать только меш. Причем, с ними можно провернуть тот же трюк как и с линиями, добавив «обводку с альфой» по краям
Еще есть идея сделать векторную графику. Перед рендерингом формировать полигональные меши, без текстур, но с подкрашенными вершинами. Затем уже рисовать только меш. Причем, с ними можно провернуть тот же трюк как и с линиями, добавив «обводку с альфой» по краям
0
С таким подходом у вас сразу возникнут проблемы с рендерингом на низких разрешениях. Очень часто иконка 32х32 при уменьшении до 16х16 даёт много визуальных артефактов, которые правятся только вручную.
+1
Согласен. Думаю для таких случаев сделаю возможность самому добавлять уменьшенные версии некоторых текстур. Отчасти еще хочу бороться с этим эффектом с помощью кратного уменьшения х2, х4. Учитывая это можно подготавливать графику так, чтобы она хорошо уменьшалась.
Но лучше всего конечно будет векторная графика
Но лучше всего конечно будет векторная графика
+1
Эх, где Вы были с этой статьей шесть лет назад… Статью добавил в избранное, может в будущем пригодится.
0
При запуске PetStory.exe серый экран (весь реп рядом). Это нормально?
0
Шикарная работа!
+3
Выглядит отлично! А как у вас устроен state management? А то мне после реакта ничего в голову не приходит.
+1
Ваши 9-slice спрайты, очень похожи на nine-path png, из Android. (https://habr.com/ru/post/113623/) Если вы их не подсмотрели, а сами придумали, то рекомендую ознакомиться с nine-path.
Так-же, посмотрите как в Android решена проблема с разными разрешениями. Это может натолкнуть вас на правильные мысли.
Так-же, посмотрите как в Android решена проблема с разными разрешениями. Это может натолкнуть вас на правильные мысли.
+1
Мощно! В одиночку такой редактор запилил.
+2
НЛО прилетело и опубликовало эту надпись здесь
Layout и функциональность очень напоминает Unity Editor. Но то что имплементировано с нуля — выше всяких похвал.
0
Как дела с потоками?
Классика с UI thread? Как можно из другого потока выполнить что-то в UI thread? Например добавить новую кнопку.
Классика с UI thread? Как можно из другого потока выполнить что-то в UI thread? Например добавить новую кнопку.
0
Очень похоже на Godot Engine.
0
Выглядит очень круто
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Публикации
Изменить настройки темы
Qt? ImGUI? wxWidgets? Пишем свое