LINUX.ORG.RU

OpenGL UI на WASM

 , , ,


0

1

сделал порт https://github.com/wjakob/nanogui на GLES и wasm (это ох как непросто)

посмотреть тут https://danilw.github.io/GLSL-howto/nanogui/nanogui.html
нужен современный веббраузер
для полноэкранного режима поставьте галочку «Resize canvas»

производительность - впечатляет
я получаю 60ФПС в браузере при 15% нагрузке на ГПУ и 10% на процессор
нативно(gcc) nanogui дает 1200фпс и 2% нагрузку на CPU и 5%ГПУ

да есть еще много багов(помимо тыщи пофикшеных)
на хроме поломано «колесо мыши» при зуме на картинке будет краш(в файрфоксе работает нормально)
если резко крутить «color wheel» будет краш
(при нажатии некоторых кнопок на клавиатуре тоже краш)

билд чисто очень эксперементальный

исходники не раньше чем через 2 недели


Во-первых, есть imgui.

Во-вторых, на васме вообще грех писать гуй в игре когда вокруг html

ckotinko ☆☆☆
()
Ответ на: комментарий от andreyu

В хромом работает. Но я не понял, чем это лучше ImGUI?

andreyu ★★★★★
()

Вот какой-то странный интерфейс у этого UI:

FormHelper *gui = new FormHelper(screen);
ref<Window> window = gui->addWindow(Eigen::Vector2i(10, 10), "Form helper example");
gui->addGroup("Basic types");
gui->addVariable("bool", bvar);
gui->addVariable("string", strvar);


Иерархии виджетов не видно. Все plain-списком и добавить виджет в уже существующую группу или чайлдом к другому виджету уже нельзя?

andreyu ★★★★★
()

сначала хотел написать, что ты как раз вовремя с портом

а потом оказалось, что обе темы твои.. зачем ты, кстати, этим занялся? от скуки или пользы для? если да, то какой такой пользы? :)

aol ★★★★★
()

Молодец, теперь осталось сделать, чтобы в текстовых полях можно было вводить текст на любом языке, поддерживались контекстное меню, буфер обмена, ретина-разрешение и была доступность для незрячих.

Да, адаптивность тоже нужна.

static_lab ★★★★★
()
Последнее исправление: static_lab (всего исправлений: 1)

В фулскрин-моде нет мышиного курсора, вообще. В сысмле он не просто невидим, а его просто нет. Нельзя ничего нажать, ничего не ховерится, и самого курсора тоже нет. Хром 65

anonymous
()

на хроме поломано «колесо мыши» при зуме на картинке будет краш

А вот это работает и никакого краша нет. Хром 65

anonymous
()
Ответ на: комментарий от anonymous

По поводу этого, понял что дело в Lock\hide. Вот только неясна логика. Нахер нужен фулскрин без возможности что либо потыкать вообще? Интуитивно лок\хайд предполагает захват курсора слоем, а не скрытие его и исключение вообще возможности использовать мышь.

Если убрать галочку, все работает.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.