LINUX.ORG.RU

Состоялся релиз Nuklear+ - библиотеки-обёртки для GUI Nuklear

 , , ,


1

2

Nuklear+ (читается как «Nuklear cross», значит «кроссплатформенный Nuklear») — это надстройка над GUI библиотекой Nuklear, которая позволяет абстрагироваться от драйвера вывода и взаимодействия с операционной системой. Нужно написать один простой код, а он потом уже сможет скомпилироваться под все поддерживаемые платформы:

  • SDL: OpenGL 3, OpenGL 2, OpenGL ES 2.0, Emscripten
  • GLFW: OpenGL 3, OpenGL 2, Emscripten
  • X11: OpenGL 3, OpenGL 2, чистый Х11 без OpenGL
  • GDI+

На хабрахабре есть статья про использование Nuklear+. Она же доступна на английском. Пример игры, написанной на Nuklear+ и портированной через Emscripten, можно увидеть тут. Так же имеется веб демо возможностей самого Nuklear.

>>> Репозиторий проекта Nuklear+

Кто пробовал этот Nuclear(+)? Какие ощущения от разработки и использования?

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

ты демку запусти - вот и будут тебе ощущения...

anonymous ()

Возможностей NodeEdit и работе с нодами в целом сабжа — достаточно, чтобы реализовать первоклассный mindmap-менеджер, который похоронит весь тот неюзабельный треш, который есть сейчас на линуксе и везде, типа XMind, VYM, FreeMind и прочее.

Bruce_Lee ★★ ()
Последнее исправление: Bruce_Lee (всего исправлений: 1)
Ответ на: комментарий от anonymous

Код-то мне демка не напишет, мне человеков спросить интересно.

Bfgeshka ★★★★★ ()

Пример игры можно увидеть тут
тут

Ой-ой, это вообще легально?

uin ★★ ()

Пагни, го писать mindmap-менеджер, это реальный шанс стать богатыми на донатах и известными в узком кругу.

Bruce_Lee ★★ ()

Что, очередная поделка не известная никому и не использумая никем кроме автора припозла пропиариться? Так нужности этой ей не добавит, следовательно ничего не изменится. Не зачем замусоривать ЛОР такими новостями.

anonymous ()

В духе nuklear,никакой документации/примеров.Сиди и читай код сам)

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

В оригинальном Nuklear есть дока, она в шапке .h файла, мне с лихвой хватило. Уже какое то время использую вместо ImGUI и вполне доволен.

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

Я вот долговато искал как вывести русские буквы.Кстати как?Мне кажется через (вроде) russian_ranger_glyph() не совсем правильно

linuhs_user ()

Эта библиотека умеет в привязки к данным? Содержит файловые диалоги, и прочие? Как там относится к wayland?

NextGenenration ★★ ()

Вот бы ещё запустили Nuklear на STM32 с (хотя бы простенькими) шрифтами.

gag ★★★★★ ()
Ответ на: комментарий от Bfgeshka

Это для внутриигрового, гуя, тащемта. Нужен там где нужно прикручивать гуй к приложению/игре на DX/OGL и рисовать в этот самый трехмерный контекст.

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

Как там относится к wayland

Относится к EGL/OpenGL. Это для встраимаего гуя.

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

Там никакой критики по отношению к freemind не написано.

Freemind — яркий образчик тех ограничений, о которых голос вопиющего в пустыне. Пользователь жестко ограничен во всём, ноду куда хочешь не передвинешь, свободных связей не построишь и т.д. Пользователь страдает, вместо того, чтобы спокойно и с удовольствием составлять.

Это претензия ко всем mind-map. Но тут есть концептуальное различие между деверьями и графами. В блендере нод редактор создан для создания графов(с циклами/контурами), в mind-map это только деревья. От чего сотня нод в mind-map вполне себе воспринимается человеком, а вот десяток шейдеров в blender уже становится очень тяжело воспринимать.

В freemind можно добавить связь между нодами указывающий стрелкой (Ctrl+L), но в итоге я отказался от таких обозначений, потому как читать получавшуюся схему было очень тяжело. Теперь делаю только локальные ссылки (Alt+L) между нодами.

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

У Freemind есть один фатальный недостаток, он может затереть открытый файл в 0 байт. Потому у меня на папку с заметками натравлен git по крону.

Aber ★★ ()

Это чтобы веб ещё больше глючил и тормозил. Какой же няшный был флеш по сравнению с этими тоннами условно рабочих масс.

Napilnik ★★★★★ ()

Так же имеется веб демо возможностей самого Nuklear.

А параметр --shell-file и кастомный html они не осилили?

andreyu ★★★★★ ()
Последнее исправление: andreyu (всего исправлений: 1)
Ответ на: комментарий от anonymous

Уже какое то время использую вместо ImGUI и вполне доволен.

А какой смысл заменять imgui на nuklear+?

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

Nuklear лишь рисует интерфейс,и еще в нем есть интерфейс для принятия команд (типо мышка,клавиатура).Вот,а nuklear+ это набор рисовалок (sdl2,x11) для nuklear и принималок команд (sdl_event к примеру)

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

SDL2 обходит Wayland, следовательно nuklear+ плевать на Wayland

fixed.

nuklear вообще плевать на всё, за это и ценят. все эти фреймворки типа гтк и кутэ писались 20 лет назад с теми представлениями о реализации пользовательского интерфейса которые были 20 лет назад, а нуклеар - это настоящее будущее, под которое не надо дизайнить целый менеджер окон чтобы оно заработало. нужно (но ещё не до конца доделано).

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

Перечисли пожалуйста подробно. Интересно очень.

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

ну нуклеар не реднерит в какие-то бекэнды, как это делают другие библиотеки, он создаёт геометрию ui из треугольников и частей текстур. т.е. интерфейс в нуклеаре - это список треугольников и координаты текстур для каждого треугольника. что с этим делать дальше - не проблема нуклеара, но любое современное железо какбы очень легко и просто рендерит треугольники с текстурами, поэтому ui элементарно, и естественным путём аппаратно-ускорено, отображается хоть в opengl, хоть в d3d11, хоть где.

например слово «привет» - это 12 треугольников, 6 квадрадов по два треугольника, левый верхний угол первого квадрата имеет координаты текстуры соответсвующей левому верхнему углу буквы «п» в текстуре со шрифтом, правый нижний угол имеет координаты соответствующие правому нижнему углу буквы «п» в текстуре и т.д.

кроме того он не совсем immediate mode gui, он только так выглядит в коде. под капотом он накапливает список команд, а потом некоторое подобие виртуальной машины эти команды интерпретирует и создаёт геометрию. т.е. теоретически, можно делать геометрию не из треугольников, а из каких-нибудь десятиугольников, если изменить виртуалочку. можно расширить виртуалку, добавить свои команды и т.д.

но есть несколько проблем. основная - оно ещё не доделано и в процессе допила, альфа-версия, всё такое. из этого вытекает масса других проблем, начиная с отсутствия каких-то необходимых фич, заканчивая мутными багами и отсутствием вменяемой документации.

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

anonymous ()

А вообще бестолковая вещь с очень уж нишевым применением. Зачем в играх мучаться с функциональным гуем - там и так проблем дофига. Нормальные приложения тоже не попишешь - не удобно. Для МК тоже не подходит - слишком жирно. Странная штука.

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

5 месяцев как в курсе о наличии, но спасибо за напоминание.

MakiseGUI — свободная библиотека графического интерфейса для микроконтроллеров (комментарий) уже воплощено?

А теперь к недостающему сравнению с ugui добавляется ещё и с Nuklear+.

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

Я не использовал Nuklear+, только Nuklear. Я не заменял ImGUI, просто попробовал новое в новом месте, получилось даже проще использовать. Это примерно как stb vs форматные либы.

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

Я не использовал Nuklear+, только Nuklear. Я не заменял ImGUI, просто попробовал новое в новом месте, получилось даже проще использовать.

В использовании imgui нет ничего сложного, легко интегрируется в любой рендерер. Неужели nuklear еще лучше/удобнее?

А по возможностям он как?

Это примерно как stb vs форматные либы.

Я использую stb для форматирования, поскольку оно с одной стороны удобно, а с другой стороны одинаково работает на всех нужных мне платформах.

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

Так точно так же работает и imgui. При этом он достаточно стабилен и широк по возможностям.

andreyu ★★★★★ ()

А зачем нужна эта программа?

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

В использовании форматных либ тоже нет ничего сложного. Так же и тут, ImGUI не сложный, но покнлючение и использование Nuklear в новый проект чуть проще. С Nuklear я таскаю везде 2 файла, с ImGUI - директорию, та же история что и с stb. Возможностей мне хватало обоих, единственная сложность что столкнулся с Nuklrear - баг с дропбоксом под которым есть элементы, они могут нажаться, при выборе элемента дропбокса. Но это не трудно было починить.

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

Так точно так же работает и imgui. При этом он достаточно стабилен и широк по возможностям.

ну может оно так и работает, но:

Dear ImGui is designed and optimised to create debug tools

не то, чтобы это было что-то плохое. наверное разработчикам отлаточных инструментов это всё тоже очень интересно.

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

Dear ImGui is designed and optimised to create debug tools

не то, чтобы это было что-то плохое. наверное разработчикам отлаточных инструментов это всё тоже очень интересно.

Это просто immediate mode gui. Как и для чего будет его использовать разработчик, сугубо его дело. Я его использую для отладки - статистика по dip count, triangles count, sources count, fps, etc. Для «читов» в рантайме.

Для игрового интерфейса есть cegui - http://cegui.org.uk
Сам не использовал, посему подробностей не знаю.

andreyu ★★★★★ ()
Последнее исправление: andreyu (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.