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